AOISO-青磯-プロジェクト Wiki

プロジェクト概要

  • オープンソースなアウトラインプロセッサを開発するプロジェクトです。
  • 近日中に最初のソースをアップします。非常に暫定的なソースをアップしています。
  • とりあえず最初のα版をリリースし、ソースを整理してから、開発者のプロジェクトへの参加を募集します。それまでは草葉の陰からあたたかく見守ってください。
  • 言語に関してはいろいろ悩んだのですが、今のところPyGtkでやれるところまでやってみようと思っています。wxPythonでやることにしました。
  • ブログはこちら

サブプロジェクト

  • AOISO
    • プロジェクトが開発するソフトウェア本体です。
  • AOISOME
    • AOISOへ実装する前の部分的なコードをテストするためのプロジェクトです。つまり思いついたコードをとりあえず書いてみるプロジェクトです。
  • AOISORA
    • プロトタイプ。コードの見やすさや冗長性を軽視しとりあえず動くアプリを目指します。
    • これをリファクタリングしつつ最終的に実装したものがAOISOとなります。

スクリーンショット

現在はこんな感じです(AOISORA ver0.1.0 on Ubuntu7.10)。 aoisora-0.1.0.png

インストールと起動方法

Windows(バイナリ)の場合

  1. このサイトから、aoisora-win32-x.x.x.zipをダウンロード。
  2. 解凍後aoiso_wx.exeをダブルクリックすると起動。

Windows(ソース)を使う場合

  1. Python(2.4以降)が入っていない環境の場合、http://www.python.org/download/から最新の2.5.xのWindows installerをダウンロードしインストール。現時点では「Python 2.5.1 Windows installer」。
  2. Python 2.4を使用する場合はElementTreeとpysqlite2をインストール。
  3. このサイトからaoisora-x.x.x.tar.gzをダウンロード。
  4. 解凍ツール(+Lhacaデラックス版など)を使ってaoisora-x.x.x.tar.gzを解凍。
  5. wx版を使う場合(推奨)
    1. http://www.wxpython.org/download.php#binariesから最新のwxPython(Unicode版)をダウンロード。現時点では「wxPython2.8-win32-unicode-2.8.7.1-py25.exe」。Pythonのバージョンと合わせること。
    2. aoisora\srcディレクトリ内のaoiso_wx.pyを実行。
  6. GTK版を使う場合
    1. http://gladewin32.sourceforge.net/から最新の2.10.xのGtk+ランタイムをダウンロードしインストール。
    2. http://www.pygtk.org/downloads.htmlから、PyCairoとPyGObjectとPyGtkをダウンロードしそれぞれインストール。PyGtkはPythonのバージョンとGtkのバージョンをすでにインストールしたバージョンと合わせる。現時点では以下。
    • pycairo-1.2.6-1.win32-py2.5.exe
    • pygobject-2.12.3-1.win32-py2.5.exe
    • pygtk-2.10.4-1.win32-py2.5.exe
    1. aoisora\srcディレクトリ内のaoiso_gtk.pyを実行。
    • 「libiconv_set_relocation_prefixがiconv.dllから見つかりません」と言われる場合は、バージョンの異なるiconv.dllが複数インストールされている可能性があります。c:\windows\system32にiconv.dllがある場合はそれが先に参照されてしまいますので、リネームするなどして他のiconv.dllを見るようにしてください。もしくは最新のiconv.dllをc:\windows\system32に入れてください。

Windows(ソース)からバイナリを作るには

  1. srcディレクトリ内のmake_wx_exe.batまたはmake_gtk_exe.batを実行。
  2. distディレクトリ内に出来上がります。

Unix系

  1. wxPythonで使用する場合
    1. Python 2.4以降(2.5推奨)とそれに対応したwxPythonを導入してください。ディストリのパッケージを利用する場合は-develなどの追加パッケージも必要かもしれません。また、xrcedが必要なので入ってない場合はwxtoolsなどのパッケージも導入してください。
    2. Python 2.4を使用する場合はElementTreeとpysqlite2をインストール。
    3. このサイトからaoisora-x.x.x.tar.gzをダウンロード。
    4. 解凍後、aoisora/srcディレクトリ内のaoiso_wx.pyを実行。
  2. Gtkで使用する場合
    1. Python 2.4以降(2.5推奨)とGtk2.X(2.10推奨)、それに対応したPyGtk、Glade2を導入してください。ディストリのパッケージを利用する場合は-develなどの追加パッケージも必要かもしれません。
    2. Python 2.4を使用する場合はElementTreeとpysqlite2をインストール。
    3. このサイトからaoisora-x.x.x.tar.gzをダウンロード。
    4. 解凍後、aoisora/srcディレクトリ内のaoiso_gtk.pyを実行。

テストに協力していただける方へ

  • aoisora-x.x.x.tar.gzの動作確認をお願いします。
  • 現時点ではまず起動するかどうかを試してください。
  • 起動する場合、「開く」や「階層付きテキストを開く」でツリーが追加されるか確認してください。
  • ノードの追加、子に追加、ノードの削除、タイトルと本文の編集が行えるかどうか確認してください。
  • ドラッグアンドドロップでノードの移動ができることを確認してください。
  • 編集後、保存が2種類(独自xml形式と階層付きテキスト)できるかどうか確認してください。現在はダイアログはでません。sample_filesというディレクトリににtest.xmlやtest.txtという名前でファイルが作られます。
  • 新規作成でリセットし保存したファイルが開けるかどうか確認してください。
  • 現在のところここまでしかできません。
  • 問題点や疑問点などがあればHelpフォーラムまたはブログに書き込んでください。なお、以下の環境についてもお書きください。
    • aoisoのバージョン
    • OS : Windows / Linux / FreeBSD / MacOSXなど。できるだけ詳しくお願いします。
    • Pythonのバージョン
    • ライブラリ(wxPython/PyGtk/Gtk)のバージョン
    • その他気になるライブラリのバージョン

開発のすすめかた(α以前)

  1. 初期リビジョンの段階ではAOISORAとAOISOMEはファイル名などをのぞいてほぼ同一です。
  2. AOISORAに追加したい機能のテストソースをAOISOMEに追加していきます。AOISOMEは暫定的なテストコード集で、基本的にリリースはしません。
  3. AOISOME上で検証したソースを元にAOISORAのコーディングを行います。
  4. AOISOMEのコードは実行できない状態でもコミットされることがあります。AOISORAは少なくとも起動はできる状態でコミットします。
  5. AOISOMEにはAOISORAにまだマージされていないソースやマージされなかったソースの断片があります。AOISORAをリリースする際にAOISOMEのすべてのソースがマージされるとは限りません。またAOISORAのバグフィックスを行った際にAOISOMEへのバックポートはされません。
  6. AOISORAに追加したコードがある程度動作するようになったらAOISORAのリリースを行います。

ロードマップ(暫定版)

  • 2007年5月中 : 最初のソース公開(AOISORA)完了
  • 2008年4月末 : AOISO α版公開、プロジェクトへの一般参加募集
  • 2008年8月 : AOISO β版公開
  • 2008年中? : AOISO 1.0リリース

仕様(案)

  • 開発/実行には以下の環境が必要(バージョンなどはあいまい)
    • Python 2.4以降
    • Python 2.4の場合はElementTree及びpysqlite2が必須(Python 2.5以降なら標準で入っている)。
    • wx版の場合
    • wxPython 2.8以降
    • Gtk版の場合
    • Glade2
    • Gtk+ 2.8以降
    • PyGtk2 2.8以降
    • POSIX準拠OSまたはWindows
    • 日本語環境
  • 文書ファイルのフォーマット
    • 独自仕様のXMLファイル
    • エンコードはUTF-8
    • 階層付きテキストにも対応
  • その他コンセプトなど
    • GUIは国際化を考慮し、初期の状態で日本語/英語に対応する。
    • Windowsユーザ向けには配布しやすい方法を考慮する。
    • クライアントアプリなので、依存ライブラリは積極的に新しいものを採用。たとえば現時点ではGtkは2.8以降としているが、開発途中でGtkは2.10以降を必須にする可能性あり。Pythonも本当はElementTreeの関係で2.5以降を必須にしたい。

詳細設計(案)

  • Eclipseのようなフォルダ指定のワークスペース方式にし、その中に複数のアウトラインドキュメントを読み込める。ワークスペースにはインポートでもリンクでもドキュメントを追加できる。
  • アウトラインドキュメントはXMLをベースとしたAOISO形式(UTF-8)の他、階層付きテキスト形式(SJIS/UTF-8)、AUTLA(あうとら)形式(SJIS)に対応する。ただしノードごとの細かな設定などはAOISO形式の場合のみ可能。他の形式の読み込みについては作者の了承が得られれば行う可能性があるが現時点ではまだ未定。
  • それぞれのアウトラインドキュメントは別エディタでの編集も可能で、その際にはAOISOが起動している必要はない。
  • AOISOを経由する場合、ノードごとにも別エディタでの編集が可能。
  • アウトラインドキュメントと別にワークスペースファイル(プロジェクトファイル?)が作られ、これは常に自動保存。
  • ワークスペースはデフォルトのものが自動起動する。
  • バックアップはワークスペース単位で行われる。
  • ワークスペースフォルダ内にドキュメントを追加してもワークスペースに追加されるわけではない。
  • ワークスペースフォルダから削除されたドキュメントはワークスペース上ではリンク切れとして表示される。
  • ワークスペースの切り替え方法はEclipseと同じ。

目下のTODO

  • 階層付きテキストファイルの文字コード判定読み込み(SJIS/UTF-8に対応予定)
  • ノードの移動
  • ショートカットの定義

開発日誌


Wiki ってなに?という方は、 Wikipedia の「ウィキ」のページ を参考にしてください。

Wiki ドキュメント