I'm a GTD beginner (1)
GTD
は日本でも有名になりつつあります。
日本でも、優れた方々は、ずっと以前からGTD
を注目してきました。しかし、私はそれを一度も見たことがありません。
以前より既にGTD
を導入していた龍司さんや他の知人の方々は、GTD
は非常に良いと教えてくださいました。彼らは先駆者です。
私はすぐに投げ出しました。
私にとって、GTD
の入門ガイダンスはよく分からないものでした。日本語によるガイダンスが登場するまで、私は、GTD
のことを忘れることにしました。実際には、日本語のGTD
の入門書("Getting
Things Done : The Art of Stress-Free
Productivity"
の邦訳)がありましたが、私は、野球を見ることにお金を使ってしまいました。
私がビール片手にカープを応援しまくっていた間、偉大な先駆者は、翻訳とドキュメントの執筆を続けていました。そして今、私はいくつかのサイトで日本語のGTD
入門ガイダンスを手に入れることができます。特に有名な電子雑誌であるIT
メディアによる記事は、読みやすくて非常に役に立ちます。
私のようなGTD
初心者は手始めにこれらの記事を読むのではないでしょうか。
GTD
はナレッジ・ワーカーに良いと言われています。
しかし、私は、日本のプログラマがナレッジ・ワーカーなのかどうかは知りません。
龍司さんは、GTD
が解放者であると言いました。ほんとに?
IT
メディアの記事には、GTD
が欧米のナレッジ・ワーカーの間では常識だと書かれていました。
ほんとに?
私は、それを試みて、報告するつもりです。
Develop XCube_Service (2/2)
次の問題は内側のウェブサービスと、外側のウェブサービスが異なるかもしれないという可能性です。
それは重大な問題です。 XCube_Serviceには、内側のサービスと外側のサービスの違いを吸収するフィーチャーを持っています。しかし、もし開発者がそれ必要としなかったら……? 内側のXCubeサービスは外側のサイトのコンテンツを一切含めないことを要求されるかもしれません。
サービスのクラスは書きやすいなら、それは問題ではありません。 2種類のクラスを準備するのは、良い解決策でしょう。しかし、残念なことに、サービスのクラスは開発者に厳しい定義を要求します。
したがって、それは即席には書きにくいです。
恐らく、XoopsObjectHandlerはモジュールコンテンツのコンテンツをリレーすることに関しては、サービスクラスより素晴らしいメカニズムです。
もちろん、ウェブサービスに接続させるために、ハンドラを抽象化することは可能です。XoopsObjectHandlerのデザインはこのような点において、非常に優れています。
しかし、ウェブサービスへの抽象的なレイヤーは今の時代にたいへん重要です。他のモジュールのコンテンツをリレーするだけ、ということは、重要ではありません。そのような場合でも、XOOPS
Cubeは近い将来他のサイトに接続できることを要求されるでしょう。
たった1つのクラスを書くことによって、他のモジュールと他のサイトの両方にコンテンツをリレーすることが実現できれば、それは理想です。
ほとんどの開発者はXoopsObjectHandlerとXCube_Serviceの両方とも使用しないでしょう。しかし、他のモジュールか1File
HackingでXCube_Serviceをモジュールに追加することは可能です。
私たちはクラスの目的を明確にしなければなりません。それによって、クラスのコードはシンプルになります。
お気づきのように、私たちはRoadmapに示されるベータ系列に取り組んでいます。
ある複雑な因果関係によって、私たちはコードをブラッシュアップして、XCube名前空間を再設計するという並行開発をしなければなりません。XShadeとexReviewは良いテストです。
Develop XCube_Service (1/2)
XCube_Service
はXCube
名前空間のCVS
の未完成のクラスの1
つです。
このクラスには、以下の目標があります:
- 通常、このクラスは、モジュール間接続に使用されます。
- デリゲートは、一種の関数ポインタであって、このクラスとは似て非なるものです。
-
ユーザはWebサービス・アダプターへどんなXCubeサービスも適合させることができます。
-
また、ユーザはどんなXCubeサービスクライアントもWebサービスに接続することができます。
しかし、多くの問題があります。
第1
の問題はLegacy
モジュールが何をWeb
サービスライブラリとして収録するかということです。Legacy
モジュール群はGPL
であり、私たちがそのライセンスを変えることはできません。私は、それがGPL
である以上は、Legacy
パッケージがPEAR
ライブラリを直に収録することはできないと考えています。しかし、フルスクラッチ・プログラムであるXCube
名前空間はデュアルライセンスを用いてGPL
から離れることが可能です。例えば、テストBase
モジュールであるXOOPS Cube Shadeは別のライセンスを持っています。
言い換えれば、XShade
はGPL
ライブラリだけではなく、PEAR
ライブラリを持つことができるということです。
したがって、私たちは、Base
モジュール側にウェブサービスを実装するためのライブラリを持たせなければなりません。
そして、XCube
名前空間には、特定のライブラリがあるべきではないでしょう。それぞれのBase
モジュールがライブラリと、アダプターのインスタンスを作成する
Factory
のためのデリゲートを持つことが必要です。
今日、ウェブサービスに関するクラスデザインのテストためのexReviewはsf.jp
のexmodules
プロジェクトにコミットされました。このモジュールはXCube
名前空間の抽象レイヤーを伴わず、未だWeb
サービスを直接インプリメントしています。
言い換えれば、現在のXCube_Service
でウェブサービスを実装することは、困難で、間違っているのです。
決戦は名古屋 XTC 2006
私は次の金曜日、土曜日、日曜日にブログを更新しません。その理由は昨日のエントリに書きました。本日のエントリは今週最後のエントリです。私は面白いイベントを告知します。
「XOOPS Cube Tokai Conference 2006 (XTC2006) --
決戦は名古屋。でたがや! XOOPS Cube
」は名古屋で7月29日に開催されます。その長いタイトルは何ですかって? えーと、これは(おそらく)日本ではクールな表現なのです。
これは、東海の最初の XOOPS
イベントです (
東海は日本の地域のひとつであり、この前の万国博覧会によって知られています)。東海で生活する
Tom_G3X
は、このイベントを企画しました。そして、彼、及び、彼の友人は、現在、開催に備えて準備しています。
多くの開発者は、東京からのこのイベントに行くでしょう。もちろん、私も、行くつもりです。我々は、東京の我々のイベントに
Tom_G3X
を常に巻き込みました。今回は、我々の順番です。
私は、 cubson GUI
版の demo
ムービーを上映するつもりです。Cubson GUI
版は、ナンセンスな考え(
大部分のウェブ開発者が考えようとも思わない)
によって開発された奇異なソフトウェアです。そのデモムービーは、ネットで公開されません。イベントの後で、私は、このサイトで、デモムービーの代わりに
cubson GUI
版の要約を公表するでしょう。あなたがその詳細を見ることを望むならば、イベントへ出かけましょう!
誰でも無料でこのカンファレンスに入場可能です。もし、カンファレンス後の宴会に行きたいのであれば、4,000
円を実費として支払わなければなりません。カンファレンスと宴会は定員があります。これらの催しにここからアプライできます。
東海とは?
東海は、名古屋や豊田等々を持つ日本の地域です。二つの都市はよく知られています。特に、豊田市は自動車メーカーのトヨタ社の拠点として有名です。
余談ながら、私は以前東海に住んでいたことがあります。
法線マッピングとツール
法線マッピングは、以前からある技術です。多くのDirectXガイダンスブックはそれを取り上げます。しかしながら、それは、現在のゲームコンソール上で実装しにくいものでした。次世代の製品ではその実装にあたっての問題はありません。
おもしろいことに、法線マッピングに求められたコンセプトは、変遷の途にあります。私は、そのように感じます。昔、法線マッピングは、
GPU
のための省力技術であると紹介されました。しかし、次世代環境において、非常に複雑なポリゴンモデルを扱うことが容易になりました。私は、法線マッピングが
GPU
ではなく、人間のための省力技術として重視されるのではないかと考えます。
私が思うに、大部分の開発者は、背景モデルのために多くの時間を費やすことを望みません。れんが壁の表現のために、開発者は、法線マッピングを使うでしょう。そして、壁のモデルは昔同様プリミティブであり続けるでしょう。
法線マップはもはや人間の仕事ではありません。そこで、優秀なツールが必須です。多くのソフトウェアメーカーは法線マップのソリューションを市場へ投入しています。Zbrushはこのレースにおける先頭ランナーの一人です。加えて、ZBrushはテクスチャのカテゴリにおいても同様に優れていると考えているかもしれません。それは、3Dペインティングのための興味深いフィーチャーと、モデリングのための癖のあるフィーチャーを備えています。
ZBrushによるモデリングは普遍的ではありませんが、十分に興味深いです。しかし、日本の多くのデザイナーはこの普遍的ではないツールをモデリングのために使うことを望みません。ZBrush
はそのことをよく理解しています。それゆえ、彼らはZBrushと他のツールを組み合わせることを勧めるのでしょう。
Interactive Deformable Modeling Framework
DefColStudioは2005
年にSIGGRAPH
で発表されました。
これはインタラクティブな変形可能モデルのフレームワークです。
デモアプリケーションで、私たちはモデルをつまみ、振り回して、別のモデルにぶつけることができます。それは非常におもしろいです。
このデモアプリケーションは、 Bruno Heidelberger
の研究を説明するために、彼によって開発されました。
それは、インタフェースにCEGUI
、レンダリングにOpenGL
およびOGRE
を使用します。
そう、このデモはOGRE
によって作られてている成果物の1
つです。
私たちが注目すべきことは、十分なプログラミング技能を持っている研究者がCG
技術を説明するためにOGRE
を選択したということです。
言い換えれば、OGRE
には、プロトタイプのための十分なライブラリと十分なツールキットが既にあるということです。
Bruno
は、スイス連邦のチューリッヒ工科大学の研究助手であり、AGEIA
で働いています。
AGEIA
は最近、PhysX
でポピュラーになりました。
彼のプロフィールは、彼がAGEIA
の次世代ゲーム物理学に取り組むと説明します。
AGEIA
によって作られたPhysX
は次世代ゲーム物理学を実現する特殊ボードです。
恐らく、彼はPhysX
開発チームのメンバーでしょう。
OGRE
OGRE
は、レンダリングエンジンであり、私が常に見ているオープンソースプロジェクトのひとつです。それは、多くのユーザーの支持、良いツールキット、及び、詳細ドキュメントを持っています。私が
OGRE
を見始めたとき、それは、まだ正式バージョンをリリースしていませんでした。そのため、ユーザーは、
OGRE
プロジェクトの進捗を見るために、毎回ソースコードをチェックアウトし、それをコンパイルしなければなりませんでした。
OGRE
は、長い間 0.9.x
にあり、そして、公式のチーム、及び、サードパーティは、その間に様々なツールキットを開発しました。私は、
OGRE
の計画があまりにも壮大だったので、それは完成しないのではないか、と思いました。しかし、
OGRE
は、多くのツールキット、及び、オフィシャルドキュメントを伴う正式バージョンとしてリリースされました。
OGRE
は、多くの好影響を他のプロジェクトに与え、そして、 OGRE
に関するいくらかのプロジェクトもまた、始まりました。CEGUI
は、それらのなかでも最も良いプロジェクトです。OGRE
、 CEGUI
、及び、いくらかのツールキットは、容易な3Dプログラミングを趣味、もしくは他の分野へもたらします。たとえば、我々は、
SIGGRAPH
で OGRE
アプリケーションを見ることができます。これらのライブラリは、我々の考えをテストするために便利です。同様に、とあるドイツのゲーム学校は、
3
次元プログラミングを学ぶために OGRE
を使います。
しかし、 OGRE
は、アジアでポピュラーではありません。その理由は、それが UTF-8
をサポートしないので、アジアのユーザーが OGRE
で母言語を用いることができないためです。いくらかのソリューションは、提案されており、そして、
3rd party
製のパッチもあります。しかし、公式のソリューションはまだありません。このことは、今しばらくの間、
OGRE
におけるホットトピックであり続けるでしょう。
VisualStudioにおけるC++とC#の差異
C#
で書かれたソースコードはどんなものでも、美しいように見えます。一方、 C++
で書かれたソースコードは、悪く見えます。私は、さすがに C#
はよい見通しを持つ、C++より次世代の言語であると思っていました。
今朝、私は、この話題を仕事仲間と話していました。私の友人は、 GC
機能を持つ 3
次元ゲームエンジンにおいてそのプログラムが作られるならば、異なるものは僅かであろうことを指摘しました。例えば
:
[C++]
SceneNode *node =
mSceneManager->getRootNode()->createChildeNode(...);
[C#]
SceneNode node =
mSceneManager.RootNode.createChildeNode(...);
C#
は、 C++
よりスマートなように見えますが、違いはほんの僅かです。そのとき、我々は、
VisualStudio
における C++
と C#
のカラースキャナに大きな違いがあることに気づきました。 C++
は、大部分のコードが黒色で表示されるので、簡素でフラットに見えます。しかし、 C#
コードは、様々な色によって表示されます。
IDE
にとって C++
コードをパースすることは難しいかもしれません。なぜなら、 C++
は、厄介な #define
と typedef
を持っているからです。とにかく、我々は、 VisualStudio
における C++
のディスプレイが C#
より簡素であるということを知るようになりました。これは、 C++
が悪いように見える理由であるかもしれません。
我々は、なぜ今までそれに気づかなかったのでしょうか……?
Cubson First Step Guide (4)
myannounce
モジュールをテストする際、あなたは、いくらかの問題に気づくでしょう。生成されたテンプレートは、あまりにもラフです。それらは、編集されるべきです。
それでは、コントロールパネルから編集を始めましょう。XOOPS Cube Legacy
2.1
において、コントロールパネルは、テンプレートシステムを使います。コントロールパネルのテンプレートシステムは、コントロールパネルのテンプレートシステムは、ファイルベース
(
あなたが DB
テンプレートによって使うことができない )
です。あなたがテンプレートファイルを変更したとき、表示は、同時にアップデートされます。
コントロールパネルを見てください。
「メッセージ」カラムは、我々にとって不必要です。なぜなら、我々は、ビューアイコンをクリックしてメッセージを見るからです。メッセージは、リストに直接現れる必要がありません。
/admin/templates/message_list.html
を開いて、そして、それを編集してください。初めに、「メッセージ」カラムを削除してください。次に、
messsages
を表示するコードを削除してください :
<td><{$obj->getVar('message')}></td>
このページを再ロードして、そして、メッセージの除去を確認してください。
続けて、公開側のテンプレートを編集してください。リストの編集リンク、削除リンクをクリックすると、エラーが発生します。これらのリンクを削除してください。そのため、コントロールカラムは、不必要となります。メッセージカラム、及び、コントロールカラムを削除してください。そして、このテンプレートを再ロードするために、このモジュールをアップデートしてください。
我々は、テンプレートワークをちょうど終えました。それでもなお、いくらかの悪いものがあります。いくらかのメッセージをポストした後で、メッセージリストを見てください。最新のメッセージは、リストの最後に加えられます。あなたは、最新のメッセージが先頭にあることを望むでしょう。それには、アクションフィルタフォームを編集するとよいでしょう。
私は、アクションフィルタフォームに関する説明を次のステップガイドに先送りします。/forms/MessageFilterForm.class.php
を開いて、そして、下記と同様にそれを編集してください :
//
define('MESSAGE_SORT_KEY_DEFAULT',
MESSAGE_SORT_KEY_ID);
define('MESSAGE_SORT_KEY_DEFAULT',
-MESSAGE_SORT_CREATE_UNIXTIME);
同じく
/admin/forms/MessageFilterForm.class.php
を開いて、そして、それを編集してください。この作業によって、あなたは、オーダについての振る舞いを変えました。
結論
我々は、シンプルなテーブルによってシンプルなモジュールを開発しました。Cubson
は、本物のデータベースにおいてテーブル構造によるコードを生成し得ます。しかしながら、生成されたテンプレートがあまりにもラフであるので、あなたは、それらを編集するべきです。
ノート
それが
SQL
ファイルを含まないので、我々が開発したこのモジュールは、配布できません。そのため、モジュールをダウンロードしたユーザーがそれをインストールするとき、必要なテーブルは、データベースに作成されません。あなたがこのモジュールを公開するときは、
sql/mysql.sql
を書かなければなりません。
Cubson First Step Guide (3)
私は、cubson
のいくらかのバグを解消して、それを更新しました。あなたは、このサイトのダウンロード・ページからバージョン0.43
を得ることができます。
さて、myannounce
モジュールを開発することを再開しましょう。私達は、これまでにmyannounce
モジュールの管理画面機能を開発しました。今日のエントリでは、公開の機能を完了させます。それに先立ち、私達は、このモジュールの公開側の機能を確認するべきです。myannounce
モジュールは、どんな特徴を持っていますか?
- 第一に、管理者のみがコントロールパネルでメッセージを登録することができる。
- 第二に、ユーザーはメッセージのリストとメッセージの内容にアクセスすることができる。
したがって、編集機能と削除機能が、公開側で不必要です。ウィザード・コマンドは4
種類の動作によって使われる多くのファイルを生成しますので、あなたは編集機能と削除機能に関するファイルを削除するべきです。cubson
コンソール上で以下のとおりタイプしてください:
cubson> wizard message
あなたは、モジュール・ディレクトリで以下のファイル・ツリーを見るでしょう。

これらのファイルから以下のファイルを削除してください。
- .xml/message_delete.xml
- .xml/message_edit.xml
- actions/MessageDeleteAction.class.php
- actions/MessageEditAction.class.php
- forms/MessageDeleteForm.class.php
- forms/MessageEditForm.class.php
- templates/myannounce_message_delete.html
- templates/myannounce_message_edit.html
次に、あなたが取り除いたテンプレート・ファイルの名前をリストアップするxoops_vesrion.php
を開き、それらのファイルを取り除いて、添え字番号を編集してください。myannounce_message_edit.html
とmyannounce_message_delete.html
は不必要です。あなたがそれを編集しなければ、このモジュールの情報は削除されたファイルの名前を保ち続けて、いつかトラブルを起こします。以下が、正しいコードです:
//
// Templates. You must never change [cubson] chunk to
get the help of cubson.
//
//$modversion['templates'][]['file'] =
'myannounce'_xxxxx.html';
//$modversion['templates'][]['description'] =
'myannounce'_xxxxx.html';
##[cubson:templates]
$modversion['templates'][0]['file']
= 'myannounce_message_list.html';
$modversion['templates'][1]['file']
= 'myannounce_message_view.html';
##[/cubson:templates]
テンプレートをロードするために、管理画面でモジュールをアップデートしてください。最後に、あなたはあなたが昨日の登録において修正した管理画面のindex.php
と同様にindex.php
を書き直さなければなりません。index.php
を開き、「Default
」を「MessageList
」で置き換えてください。
オーケー、公開側の機能は、今まさに完成しました。アクセスして、テストしなさい。しかし、これは終わりではありません。私達は、チューニングのために作業を続ける必要があります。
Cubson First Step Guide (2)
Make-project
まず初めに、XOOPS
Cube
にプロジェクトを作りましょう。cubsonコンソール上で次のようにタイプしてください。
cubson> make-project myannounce
Myannounce
ディレクトリはあなたのXOOPS
Cube
のモジュールディレクトリに作られました。make-projectは、SQLファイルやアイコンといった付加的なファイルを追加しません。それでは、すぐに、このモジュールをインストールしてください。
Create tables
発表モジュールは管理者が掲示するメッセージを示します。
したがって、それには、以下のデータモデルがあるものとします:
- ID
- Created datetime
- Modified datetime
- Subject
- Messsage
ID
は、プライマリーキーかつ
autoincrement である数値です。
次に、Cubson
はdatatime
としてunixtime
を扱います。
もちろん、そのようなスタイルには、いくつかの問題があります。
しかし、2006
年に、私たちは、作業時間を記録するのにそれを使用することができます。
次に、 subject はvarchar
で、メッセージはテキストになります。
'{XOOPS_DB_PREFIX}_myannounce_message'
テーブルを以下同様に作成してください。もしあなたの XOOPS_DB_PREFIX
が xoops
であるなら、 xoops_myannounce_message
を作成してください:
- id int(10) not null default 0 autoincrement,
primary key
- create_unixtime int(10)
- update_unixtime int(10)
- subject varchar(255) not null
- message varchar(255) not null
Cubson
には、テーブルのための命名規則があります。
あなたはXOOPS_DB_PREFIX
とモジュール名を実体名に加えなければなりません。
次に、コントロールパネル側で基本制御コードを生成してください。
cubson> wizard -a message
List View Edit Delete が myannounce
モジュールの admin
ディレクトリに、発生されます。しかし、アドミンのフロントコントローラがまだ変更されていないので、あなたはサイドメニューからそれにアクセスすることができません。
/modules/myannounce/admin/index.php
を見てください。
これはモジュール毎フロントコントローラです。
それはAction Frame
の特徴を通してあなたの簡単なフレームワークを扱います。
このコントローラは$
actionリクエストによってロジックファイル(
action)
を呼びます。
$action
を送らないなら、それはデフォルト値を使用します。デフォルト値は「デフォルト」リテラルです。
あなたはそれを"MessageList"
に取り替えなければなりません。オーケー、"/modules/admin/index.php"
は"/modules/admin/index.php?action=MessageList
"と等しくなりました。
再び管理機能にアクセスしてください。動きましたか?
Cubson First Step Guide (1)
私たちはcubsonのチュートリアルでアナウンス・モジュールを開発しました。
cubson
の働きを学ぶために、チュートリアル生成を使用せずに、同様のモジュールを開発しましょう。
cubson
はデータ・ドリブン型のモジュールを生成することができます。したがって、cubson
を走らせる前に、あなたはデータモデルのための実体の定義を準備する必要があります。にそうしました。
XML
ファイルは、実体を定義するために役に立ちます。しかし、それは書くために多くの時間を必要とします。
私は、データベースのテーブルからそれを生成させる方法を勧めます。cubson
には、XML
と実際のデータベースのための抽象化レイヤーがあります。したがって、あなたは、データベースをXML
に変換するか、もしくは、コード生成にデータベースを直接使用することができます。
言い換えれば、通常、cubson
ユーザはデータベースを作ることから開発を始めます。
あなたが最初のチュートリアルでテーブルを作成する必要がなかった理由はチュートリアル作成コマンドがサンプルテーブルのためのSQLファイルを作成したからです。チュートリアルでは、あなたは2ステップでアナウンス・モジュールを開発しました。あなたがチュートリアル作成コマンドなしで同様のモジュールをどのように開発するかは、cubson
の手順を理解する良い手段です。
それでは、開発を始めましょう。この場合、あなたはmysql
で直接テーブルを作成しなければなりません。phpMyAdmin
は、テーブルを作成するために役に立ちます。
あなたがXSAS
かXAMPP
を使用するなら、phpMyAdmin
は既にあなたの環境にインストールされています。もしそれを持っていないなら、次回までにダウンロードしてインストールしださい。
Rapid Weaver 3.5 public beta 1
このホームページは RapidWeaver
によって作られています。 RapidWever
はmac
アプリケーションのCMS
(もしくはContents
Management Application?
)です。ユーザーは、ストレスなしでコンテンツを書いて、1
クリックだけで発行できます。
それはLAMP
ではありませんが、私はRapidWeaver
の概念からショックを受けました。
それは、デスクトップアプリケーションであるので、コラボレーション作業には向いていません。複数のユーザで
RapidWeaver
の1
つのコンテンツを作成することはできません。
しかし、ユーザが自宅で個人のコンテンツを作成するなら、それは非常に使いやすいです。
私は、RapidWeaver
に出会ったとき、XOOPS
Cube
用のWindows
アプリケーションを開発しようと計画しました。それまで、私は、XOOPS
Cube
がPHP
プロジェクトである以上、
PHP
アプリケーションしか作ってはならないと考えていました。しかし、デスクトップアプリケーションは PHP
より短期間で開発することが可能ですし、ウェブアプリケーションより使いやすいといえます。
ウェブアプリケーションには、 AJAX があります。しかし、私は、 AJAX
はまだデスクトップアプリケーションには及ばないと考えています。
ウェブ制御用アプリケーションは必ずしも XMLRPC
を実装する必要はありません。 RapidWeaver
は直接FTP
かSFTP
を扱います。私はRapidWeaver
に会うまでそのような実装アプローチを考えたことが一度もありませんでした。
あなたは、RapidWeaver
のコンセプトがiWeb
のコンセプトに似ていると思うかもしれません。しかし、RapidWeaver
はiWeb
より早く生まれたソフトです。
さて、RapidWeaver3.5
のパブリック・ベータ1
は利用可能です。この新しいバージョンには、良い特徴があります。
しかし、このバージョンは古いバージョンのいくつかのテーマを扱うことができません。
したがって、私は新機能を使用しません。
例えば、私はこのブロッグで新しいバージョンで「永久的なリンク」を使用することができます。
しかし、このテーマはそれをうまく表示することができません。
そのうえ、永久的なリンクページはサイドバーを示しません。つまり、RapidWeaver3.5
に関する新機能を使用しますと、私はXOOPS
Developers Ring
リンクを表示することができなくなってしまうのです。
しかしながら、他の特徴は十分役に立ちます。
私は既に3.2
を3.5
に取り替えました。
私は、しばらくこれを使用して、問題に遭遇するなら、バグを報告するつもりです。
XCのモジュール不足を恐れないで
Legacy
モジュールは、多くの X2JP
モジュールを機能させるために、古いバッドコードを保持します。現在のユーザーのサイトを保護することは、ニーズです。しかし、私が思うに、完璧な互換性は、マストではありません。その理由は、大部分のモジュールがセキュリティホールを持っているかもしれないことであり、そして、容易にそれらをリメイクできるということです。
私が先日 cubson
と extools
について書いたので、 cubson
のメイン・フィーチャーのことはご存じかと思います。 cubson
は、 XCube_ActionStrategy
のサブクラスとしてのシンプル・フレームワークと、その枠組みから呼ばれる様々なクラスを生成します。
cubson
は未完成品です。しかしながら、バージョン 0.42
以降、それは、あなたに XOOPS
の新しい開発スタイルを経験させることができる状態になりました。cubson
における経験のために 20
分間のあなたの自由時間をください。まず初めに、.NET Framework
と ODBC
をインストールするために、 15
分を使ってください。それから、シンプルなモジュールを作成するために最後の 5
分を使いましょう。
初めに、 cubson
を動かすために、あなたのローカル・コンピュータをセットアップしましょう。先日のエントリでインストレーション・ガイドを読みましょう。
次に、あなたのデスクトップ上で cubson
アイコンをダブルクリックしてください。 cubson
ユーザーは、最初はデータベーステーブルを設計しなければなりません。しかし、 cubson
は、チュートリアルのためにいくらかのサンプル SQL
ファイルを収録しています。従って、あなたは、今回テーブルを作成する必要がありません。では、
cubson
コンソールの上で次のようにタイプしてください。
cubson> make-tutorial
announce
このコマンドは、基本的なモジュールのディレクトリを作り、そして、チュートリアルの概念に従って、
SQL
ファイルとアイコンを追加します。
次に、生成されたモジュールをインストールしてください。もちろん、あなたは、このモジュールにおいて何もまだすることができません。しかしながら、サンプルのテーブルが、モジュール・インストールを通じて作成されました。テーブルさえあれば、
cubson
は、よく機能し得ます。cubson
コンソール上で下記のとおりタイプしてください。
cubson> wizard -a
message
いくらかのクラス、及び、テンプレートが、あなたのために生成されました。このモジュールのコントロールパネルにアクセスしてください。あなたは、リストを見て、新しいデータを作成し、そして、それを削除することができます。はい、このツールの管理ツールは完成しました。次に、公開サイドにおいてそのような機能を作成しましょう。
cubson> wizard message
同様に、いくらかのクラス、及び、テンプレートは、生成されます。あなたは、これらの新しいテンプレートを
XOOPS Cube
へロードするために、モジュールをアップデートする必要があります。それから、公開側で「
announce
」モジュールにアクセスを試みてください。
あなたは、それを仕上げるために、このモジュールのクラスとテンプレートを調整する必要があります。しかし、基本的な機能は、ほんの
2
ステップで構築されました。生成されたコードは、新しい XOOPS Cube
の特徴を最大限に利用します。それは、安全であり、そして、カスタマイズに向いています。開発を楽しんでください
!