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 件のコメント:
コメントを投稿