読者です 読者をやめる 読者になる 読者になる

高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

TMemo2.0のファイル構造について

プログラミング

ふと思いついたので、TMemo2.0のファイル構造について考えてみます。実はどうやって保存するかとか、まったく決まってないんですよね(^^ゞとりあえず今までの一階層カテゴリじゃなくて、多段ディレクトリ階層にしようだとか、だとか、その程度しか決まってないんです。まだまだマインドマップがやっと書けるかどうか という状態。
TMemo1.xは、実は(Vectorソフトレビューにも書いていますが)紙*1に影響を受けて作られています。
今回は、Femoや、FreeMind(――というか、マインドマップ)。そして、先日のWebサイト移転のあいさつ回り中に聞いた、SEPATAというソフトを足してnで割った感じで行こうかと思っています。SEPATAは話に聞いた時既に存在していなかったので、もはや記事を読んで想像するしか術はないですが、ああいうふうに、複数のメモをどんどんつなげて、アイディアを練りだしていくことも出来る。ついでに、もうネットではかなり有名ですが、タグ管理と日付管理。これらがあれば、メモ帳としては必要十分なものが出来るんじゃないかな…と。

ファイル管理について、今、二つのアイディアがあります。
一つは、今まで通り実ファイルとしてメモを保存していく方法。もちろん、ディレクトリ構造はちゃんとしておくとして。もう一つは、SQLiteを使う方法です。
検索や、OperaのM2のようなアクセスポイントを作ったりするには、断然SQLiteのほうが便利。高速だろうし、手間もかからない。
でも、添付ファイルはどこにおこうかとか、ディレクトリ構造はどうやって表現しようかとか、いろいろ問題がつきまとう。DBではどう頑張っても二次元データしか表現できませんからねえ(無理にやろうとすると、テーブルが増えたりしてきれいじゃないし)。
そうやってみるとXMLはなんて使いやすいことか、三次元データだろうが四次元データだろうが、ほとんど見やすさを損なわずに書けるのだから。

さて、SQLiteを使わない場合は、今まで通り実ファイルになります。とはいえ結局内部になんちゃってデータベースみたいな仕組みを作って、実ファイルパスを意識せずに使えるようにするんでしょうけど(いちおう、前回もやっていたので)。
こっちは管理しやすいし、移動もさせやすい代わりに、検索などはやっぱりちょっと複雑。まあ、所詮はローカルファイルの検索なので、そんなに遅くはならないかもしれませんけどね。
あとは、ファイル操作などの処理が結構複雑になるというのもあります。前回はそれでさんざん泣かされましたからねえ(実ファイルのディレクトリ構造もいじるとなれば、より煩雑になりそうだし…)。


さて、どうするか…と言ったところですねえ、なんだかんだ言って前もずいぶん考えていた気がしますけど。


もちろん、Webを使った複数PCでの共有なども考えています…とはいえWebDAVサービスに接続してアップロードするだけ…というような程度ですが。バックアップも、すべてのノードか、それとも特定ノード以下か。場所を指定してコピーできるような機能があると良いですね(USBメモリなどのリムーバブルメディアも、もちろん対象)。
ついでに、次期バージョンから(今バージョンはどうするかは、まだ決めていません)SourceForge.jpあたりにでも登録しようかな と。さっきまで言った機能のすべて、わたし一人で実装できるとは思っていませんので。

*1:Justsystemが販売中の、ネタの種の大元