ファイルメーカーで商用ウェブサイトを構築する
第5回 ZDNetファイルメーカーシステム「BeforeCMS」の導入とサポート(1/2)
システムを実際に運用していくためには、ある意味、開発以上の苦労が待っています。無限とも思える修正要求に応えていくにはどうしていったらよいのか? 対応のTipsについて述べます。
MacユーザーとWindowsユーザー
ソフトバンク・ジーディーネットでは、Mac環境とWindows環境が混在しています。ZDNet Mac編集部やZDNet Products編集部のように、ウェブ制作用に各自1台ずつのMacを確保しているところもありますが、ほかの部署ではそうではありません。そこで、それぞれの編集部が担当するチャンネルによって、制作のフローやスクリプトを変えていく必要があります。
メインの制作マシンは、チャンネルごとに次のようにわかれています:
- ZDNet Mac:Macintosh
- ZDNet Products:Macintosh
- ZDNN:Windows
- ZDNet Mobile:Windows
- ZDNet Broadband:Windows
- ZDNet Enterprise:Windows(ここはcgiベースの制作システムで、BeforeCMSとはワークフローが異なる)
Macintoshの場合は、これまでも説明したように、ファイルメーカーProをインストールして、必要なファイルメーカーProのプラグイン、InterarchyやUVJ Mailer、OMEなどの外部アプリケーション、チャット用のIRcat、CHOCOA、AOL Instant Messengerといったものを必要とします。チャット用ソフトは制作システム上はなくてもかまわないのですが、ワークフローを潤滑にするうえではぜひ導入すべきです。
導入にあたっては、共有ボリュームに、必要なソフトウェアを入れておいて、そこからインストールしていきます。ユーザーのスキルによって、マニュアルを与えておけばよいか、つきっきりでやるか違いますが、ほうっておいても進まないので、ガンガンインストールしていきます。
ボリュームライセンスをとっていない製品は、個別にオンラインレジストレーションをする必要があるのですが、そこは個人でやってもらいます。フリーウェアでない場合は、ここが一番面倒かもしれません。
Macを使ったシステムについては、これまで十分に説明してきたと思うので、別の記事で、Windows版開発担当の池永が「Windowsユーザー向けのシステム開発とそのTips」解説をする予定です。
簡単なスクリプトのバグフィックス
スクリプトでファイルメーカーProプラグインや外部アプリケーションをコントロールする場合には、ローカルにファイルを保存するパスを知っておく必要があります。たとえば、ユーザーがmatsuoであれば、OME用にメールの送信用一時ファイルを保存するパスを、たとえば"Macintosh HD:Users:matsuo:Documents:OME:send"などと指定する必要があります。ソフトをインストールしたあとで、その情報を管理者は教えてもらって、スクリプトに組み込みます。ユーザー名をステータス関数で取得して、そのユーザーに合わせてパスのスクリプトを変更するのです。パス情報が必要なスクリプトには、あらかじめ作ってあったパス選択用のモジュールを組み込むのです。
そういうことを可能にするには、スクリプトの作り方を工夫する必要があります。特定用途のスクリプトで使うグローバルフィールド(一時的に使うフィールド)を、あらかじめ決めておくのです。BeforeCMSでは、AppleScript用なら「AppleScriptグローバル」、HTML作成用なら「HTMLグローバル」というふうに使い分けています。さきほどのユーザーパス用の選択スクリプトモジュールならば、AppleScriptグローバルを出力先に使ったものを作ってあります。
そうすれば、「tel application xxxx」+「save file to alias "ユーザーのパス"」+「end tell」といったスクリプトを作ることができるのです。
ユーザーによって、使っているソフトのバージョンが異なる場合も、同じようにユーザーごとのバージョン違いを吸収するスクリプトを用意しておきます。ある人は古いAnarchieを使っていたり、ある人はInterarchyの4.1を、ある人は5.0.1を使っている場合は、そのようにAppleScript用の出力を置き換えます。
この工夫は、BeforeCMSが進んでくるにしたがって発生したさまざまな問題に対処する上で、非常に役立ちました。スクリプトを変更する必要はさまざまな場面で起きてきます。バージョンアップだけではなく、ユーザーの持っているハードディスクボリューム名や、サーバの変更、スクリプトのバグフィックスなどに対処するためのパッチなど、さまざまな用途に適用できます。
AppleScriptのパッチを例に説明しましょう:
- AppleScriptグローバルを初期化:「テキスト挿入」で「」を追加
- AppleScriptグローバルを出力先にしたスクリプトモジュールを実行
- AppleScriptグローバルを出力先にしたパッチモジュールを実行
- AppleScriptグローバルを、AppleScriptとして実行
パッチモジュールでは、計算フィールドを使って、Substitute関数で置き換えます。たとえば、AppleScriptのなかに、Interarchyという項目があって、これをInterarchy 4.1に置き換えたい場合(AppleScript対応ソフトの中には、バージョンによってアプリケーション名が変わってしまう場合があります)、「Substitute(AppleScriptグローバル,"Interarchy","Interarchy 4.1")」というふうに置き換えます。このときに、If文でユーザー名を調べて、特定のユーザーはこの置き換えを行うというふうにすれば、特定ユーザーのみ、パッチをあてることができます。
AppleScriptを使うファイルメーカーProスクリプトの最後に、このパッチモジュールを入れておくことで、今後修正がでてきた場合にでも、このパッチモジュールに置き換えスクリプトを追加するだけで対応できます。
このパッチモジュールと、HTMLの徹底的なサブモジュール化によって、新しいチャンネルやインデックスの作成が大幅に効率化できました。
[松尾公也, ITmedia
]
Copyright © ITmedia, Inc. All Rights Reserved.
前のページ | 1/2 | 次のページ