モデル駆動開発によるPloneのプラグイン開発(1)

モデル駆動開発による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 を選択します.

papyrus

PyDevインストール

Pythonの開発ツールをインストールします.

Help > Install New Software を選択し, ~http://pydev.org/updates/~ を入力してPyDevを選択します.

pydev

AGX Eclipse Plugin のインストール

PyDev同様に ~Install New Software~ を選択し, ~http://agx.me/updates~ を入力して ~MDSD~ にチェックをしインストールします.

agx

モデリング環境の準備が出来ました.