ぐる式 (貳) より引っ越し作業中.未完.

2007年8月10日金曜日

Squeak: Pier #8 Squeak 3.9 + Seaside 2.7 メモ

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 のデータは明示的に指定して取ることになる.

  1. インストールするもの

    単に気分の問題だが,インストール時には Kom サーバは停止しておく.

    1. SIXX 0.2
    2. RSRSS-cdlm.28.mcz
    3. RRRssRenderCanvas38.st YPier-RSS で使っている RRRssRenderCanvas クラスは RSRSS-cdlm.28 とは互換性がないため,後方互換性のために入れる.
    4. Seaside2.7 UTF8Patch
    5. Seaside27-WideStringURL 39
    6. YengawaPier Extensions
      1. YPier-Breadcrumbs (パンくずリスト)
      2. YPier-Persistence
      3. YPier-ViewCounter
      4. YPier-RSS
      5. YPier-GoogleAnalytics
      6. YPier-View (Recent Changes View)
    7. その他,自前の Squeak 用パッチ. dev-patch309f, GripFix309f, GripFixTest309f, SystemWindowFix309f, TestRunnerENH309f
    8. その後,自前の Pier 用パッチ. pierPatches, ypierPatches, NRPierLibrary, NRPRKernelManager, NRPUChangePassword, nshPier, NRSetUp
  2. Seaside の初期設定

    1. admin 設定
    2. 全アプリケーションをデプロイ・モードに変更する. WAGlobalConfiguration setDeploymentMode.
    3. (examples と tests を削除)
    4. pier を除き,残ったアプリケーションに全部 WAAuthConfiguration を追加.全アプリケーションにユーザ名とパスワード設定.
  3. オリジナル Pier の初期設定

    元の Pier を消すのなら問題ないが,そのまま残すには危険過ぎるので初期セキュリティ設定を行う.まずは管理者でログイン.

    1. admin 設定.↑で NRPUChangePassword を入れてるので System Users コンポーネントを add しなくてもパスワードは変更できる.
    2. オーナー権限の編集.以下,トップ・ページから行う. change owner コマンドから current, recursive, hidden で admin を set (hidden は root からだと environments も含む). hidden を設定しておかないと, browse view から Environments が見える.
    3. (やらなくても佳いが) グループ権限の編集. change group コマンドから current, recursive, hidden で view のみ設定.その後,current, recursive で add edit change password copy edit move remove view を設定.
    4. 匿名ユーザ権限を編集. change other から current, recursive, hidden で全コマンドを不許可 (remove) にする.閲覧だけでも可能にするなら,その後 current, recursive で view のみを許可.
  4. 自前 Pier の追加

    カーネルから新規で作る前提で行く.ここに既存の Pier データをインポートして使う.

    1. Squeak 上から PRPierFrame initialize で新規カーネルを作る.名称, entryPoint (Pier アプリのパス),ポート番号を指定する.これは WAKom で起動するので停止する.
    2. 以下, Seaside から設定.
    3. 自前のライブラリ (ロゴ,スタイルシート) を使うなら Add Library: で追加する.デフォルトの PRPierLibrary は念のため削除する.
    4. YPier-RSS を使うなら Root Component: で YPRRSSPierFrame を指定する..
    5. YPier-GoogleAnalytics を使うなら Add ancestor: で YPRGoogleAnalysticsConfigration を追加する.これは外部公開直後にやった方が佳いかも知れない.
    6. 以下,上記で作った entryPoint にアクセスして設定する.
    7. まずは admin 設定.
    8. Environments からコンポーネント追加.最低 System Groups, System Users はあった方が佳い,その他, Breadcrumbs, View Counter, Version Uploder, Kernel Manager も追加.追加する方法は以下のとおり. Environments ページに移動し add で,名称を指定しタイプでコンポーネントを指定する.保存するとコンポーネント選択に遷移するので,選択する.
    9. Breadcrumbs, View Counter は widget なので, Environments ページを編集する. <br />+Breadcrumbs+<br />+View Counter+ をお好みの場所に追加する.
    10. トップ・ページで Commands から Emvironments を both に設定すると 3 カラム形式になる.
    11. System Groups でグループを追加する.管理者グループと投稿者グループに分ける.
    12. System Users でユーザを追加する.各ユーザはいずれかのグループに属さなければならない.
    13. データをインポートする.
    14. オーナー権限,グループ権限 (オリジナル Pier のときとは違って,こちらは必須),匿名ユーザ権限を編集する.ここではルート以下,オーナーは自分,グループは管理者グループ,匿名ユーザは閲覧のみとしている.指定した位置以下だけグループを投稿者グループに変更する.オーナー権限,グループ権限は add, edit, change password, copy, edit, move, remove, view とする.コンポーネントの追加, Environment, Setting, Change Owner (Group, Other) は投稿者グループであっても許可しない.
    15. カーネルのパーシステンシを設定する. YPRLoggingImagePersistency を使用する.ただし saveKernelOnFile は実行しない.書き出したいときは Preferences Browser から切り替える. Kernel Manager Widget を使う.

イメージの保存時は WAKom* と YPRLoggingImagePersistency を停止して行うとサイズが多少小さくなる.ような気がする (笑).

参考リンク

  1. Squeak-Web
  2. SCG SmallWiki: Pier
  3. Lukas Renggli: Magritte
  4. Pier 横川さんとこ
    1. Seaside2.7 UTF8Patch
    2. Pier Logging Persistency
    3. YengawaPier
    4. YengawaPier Extensions
    5. YPier-RSS

ここまで.

0 件のコメント:

コメントを投稿