モデル駆動開発によるPloneのコンテンツ開発は,ArchgenXMLというツールで以前からできました.しかし,これは,Archtypesベースのコンテンツしか作成することができません.近年は,Dexterityベースのものに置き換わりましてArchgenXMLでは難しくなってしまいました.しかし,このツールの後継としてAGXが開発されています.
AGXは,UML2ダイアグラムからPythonコード,Ploneプラグイン,Dexterityベースのプラグインを作成することができます.モデル作成には,Eclipse + Papyrusを用います.
ツールの開発は最近あまり活発ではないが,興味のあるツールの一つなので,インストールを行い,Ploneプラグインの作成について探って行きたいと思います.
AGXの環境構築をする
今回インストールには,Ubuntu 14.04を用いています.
共有ライブラリのインストール
$ sudo apt-get install python-dev libxml2-dev libxslt1-dev
lxmlが必須なので ~libxml2-dev libxslt1-dev~ をインストールします.
Virtualenvによる仮想環境の作成
$ mkdir agx && cd agx $ virtualenv python27 $ . ./python27/bin/activate
pipで agx.dev
インストールします.
(python27)$ pip install agx.dev
関連パッケージがインストールされます.
インストールの確認
(python27)$ agx -i AGX 1.0a2 (Reincarnation) Installed generators: agx.generator.buildout (1.0a1) agx.generator.dexterity (1.0a1) agx.generator.generator (1.0a1) agx.generator.plone (1.0a1) agx.generator.pyegg (1.0a1) agx.generator.sql (1.0a1) agx.generator.uml (1.0a1) agx.generator.zca (1.0a1)
AGXのインストールができました.
モデリングの環境構築をする
Ecripseのダウンロード
Junoバージョンのモデリングツールをダウンロードします.
Papyrus のインストール
EclipseのUMLモデリングツールの一つであるPapyrusをインストールします.
Help > Install Modeling Components を選択します.
PyDevインストール
Pythonの開発ツールをインストールします.
Help > Install New Software を選択し, ~http://pydev.org/updates/~ を入力してPyDevを選択します.
AGX Eclipse Plugin のインストール
PyDev同様に ~Install New Software~ を選択し, ~http://agx.me/updates~ を入力して ~MDSD~ にチェックをしインストールします.
モデリング環境の準備が出来ました.