SIXX が 3.10 (YAXO XML-Parser-mir.9) に公式対応してくれれば (dev-image から sar をインストールすると, XML-Parser-mir.9 が入っているにもかかわらず,強制的に XML-Parser-mir.3 を上書きしてしまう),外部公開 Pier も Seaside 2.8 ベースに切り替えるんだが…….ってな感じで,ちょい古いメモ.
Seaside-Magma-Pier (wiki out of the box) はディスコンになったようだが,替わりに Squeak-web がアップデート継続中.今回は 3.8 ベースの YengawaPier ではなく,これ (sq3.9-7067web07.07.1 with Seaside2.7a1-mb.216) を外部公開前提で使う.これに YengawaPier に組み込まれている Extensions をいくつか入れる.
データの可搬性には SmartRefStream を使う YPRLoggingImagePersistency ではなく, SIXX 0.2b を使う.つまり,定期的に取るのはスナップショットだけで, PRKernel のデータは明示的に指定して取ることになる.
インストールするもの
単に気分の問題だが,インストール時には Kom サーバは停止しておく.
- SIXX 0.2
 - RSRSS-cdlm.28.mcz
 - RRRssRenderCanvas38.st YPier-RSS で使っている RRRssRenderCanvas クラスは RSRSS-cdlm.28 とは互換性がないため,後方互換性のために入れる.
 - Seaside2.7 UTF8Patch
 - Seaside27-WideStringURL 39
 - YengawaPier Extensions								
- YPier-Breadcrumbs (パンくずリスト)
 - YPier-Persistence
 - YPier-ViewCounter
 - YPier-RSS
 - YPier-GoogleAnalytics
 - YPier-View (Recent Changes View)
 
 - その他,自前の Squeak 用パッチ. dev-patch309f, GripFix309f, GripFixTest309f, SystemWindowFix309f, TestRunnerENH309f
 - その後,自前の Pier 用パッチ. pierPatches, ypierPatches, NRPierLibrary, NRPRKernelManager, NRPUChangePassword, nshPier, NRSetUp
 
Seaside の初期設定
- admin 設定
 - 全アプリケーションをデプロイ・モードに変更する. 
WAGlobalConfiguration setDeploymentMode. - (examples と tests を削除)
 - pier を除き,残ったアプリケーションに全部 WAAuthConfiguration を追加.全アプリケーションにユーザ名とパスワード設定.
 
オリジナル Pier の初期設定
元の Pier を消すのなら問題ないが,そのまま残すには危険過ぎるので初期セキュリティ設定を行う.まずは管理者でログイン.
- admin 設定.↑で NRPUChangePassword を入れてるので System Users コンポーネントを add しなくてもパスワードは変更できる.
 - オーナー権限の編集.以下,トップ・ページから行う. change owner コマンドから current, recursive, hidden で admin を set (hidden は root からだと environments も含む). hidden を設定しておかないと, browse view から Environments が見える.
 - (やらなくても佳いが) グループ権限の編集. change group コマンドから current, recursive, hidden で view のみ設定.その後,current, recursive で add edit change password copy edit move remove view を設定.
 - 匿名ユーザ権限を編集. change other から current, recursive, hidden で全コマンドを不許可 (remove) にする.閲覧だけでも可能にするなら,その後 current, recursive で view のみを許可.
 
自前 Pier の追加
カーネルから新規で作る前提で行く.ここに既存の Pier データをインポートして使う.
- Squeak 上から 
PRPierFrame initializeで新規カーネルを作る.名称, entryPoint (Pier アプリのパス),ポート番号を指定する.これは WAKom で起動するので停止する. - 以下, Seaside から設定.
 - 自前のライブラリ (ロゴ,スタイルシート) を使うなら Add Library: で追加する.デフォルトの PRPierLibrary は念のため削除する.
 - YPier-RSS を使うなら Root Component: で YPRRSSPierFrame を指定する..
 - YPier-GoogleAnalytics を使うなら Add ancestor: で YPRGoogleAnalysticsConfigration を追加する.これは外部公開直後にやった方が佳いかも知れない.
 - 以下,上記で作った entryPoint にアクセスして設定する.
 - まずは admin 設定.
 - Environments からコンポーネント追加.最低 System Groups, System Users はあった方が佳い,その他, Breadcrumbs, View Counter, Version Uploder, Kernel Manager も追加.追加する方法は以下のとおり. Environments ページに移動し add で,名称を指定しタイプでコンポーネントを指定する.保存するとコンポーネント選択に遷移するので,選択する.
 - Breadcrumbs, View Counter は widget なので, Environments ページを編集する. <br />+Breadcrumbs+<br />+View Counter+ をお好みの場所に追加する.
 - トップ・ページで Commands から Emvironments を both に設定すると 3 カラム形式になる.
 - System Groups でグループを追加する.管理者グループと投稿者グループに分ける.
 - System Users でユーザを追加する.各ユーザはいずれかのグループに属さなければならない.
 - データをインポートする.
 - オーナー権限,グループ権限 (オリジナル Pier のときとは違って,こちらは必須),匿名ユーザ権限を編集する.ここではルート以下,オーナーは自分,グループは管理者グループ,匿名ユーザは閲覧のみとしている.指定した位置以下だけグループを投稿者グループに変更する.オーナー権限,グループ権限は add, edit, change password, copy, edit, move, remove, view とする.コンポーネントの追加, Environment, Setting, Change Owner (Group, Other) は投稿者グループであっても許可しない.
 - カーネルのパーシステンシを設定する. YPRLoggingImagePersistency を使用する.ただし saveKernelOnFile は実行しない.書き出したいときは Preferences Browser から切り替える. Kernel Manager Widget を使う.
 
- Squeak 上から 
 
イメージの保存時は WAKom* と YPRLoggingImagePersistency を停止して行うとサイズが多少小さくなる.ような気がする (笑).
参考リンク
ここまで.
0 件のコメント:
コメントを投稿