-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReadMe.txt
101 lines (81 loc) · 5.57 KB
/
ReadMe.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
シン覚書(仮名)
■新Project
現在の覚え書に変わる新しいソフトの構築を行っています。
この新しいツールでは、以下の3点を主な目的に掲げて、この秋のリリースを目指します。
一応、この「シン覚書(仮名)」は現行のインターフェイスをもつ予定で、「覚え書の新バージョン」という位置づけです。
目標1.完全なソースの書き直し
97/03/20のVersion 1.00リリースから、拡張と修正を重ねてきた現在のソースはかなりのムリを内包するようになっていました。
初期の頃には考えもしなかった通信機能の追加やプラグイン(cel/dxl)の導入による拡張。さらに、多くの不具合に対応するために当てられたパッチ。これらが複雑に絡み合い、今後の機能拡張を容易ならざるモノにしているという現実は無視できません。
そこで、再度ソースを0から書き起こし、処理シーケンスの見直しと簡素化を目指します。
目標2.通信部のプラグイン化
現行の通信部は、「エントリ管理モジュール」「データ送信モジュール」「データ受信モジュール」に大別されます。
「エントリ管理モジュール」はその名の通り、ネットワーク上に存在する送信可能クライアントの認識をになっている部分で、現行ではUDP/IPのブロードキャストにより実現されています。
「データ送信モジュール」においては、「エントリ管理モジュール」により検知された送信先へのデータの送信を行っており、TCP/IPプロトコルを使用しています。さらに、現システムでは送信時に専用のスレッドを起動する事で、本体側のユーザインターフェイスに負担をかけない処理を行っています。
「データ受信モジュール」は、「データ送信モジュール」により送信されてくるデータを受信する処理をになっています。
上記の3モジュールをプラグインとして1つのコンポーネントにまとめ、本体と切り離す事により、ユーザーインターフェイスはそのままに、通信部の拡張を容易に行えるようにしようというのが、本プロジェクトの目的です。
この概念の導入により、様々な拡張が考えられえますが、以下にその例を記します。
1.他プログラムとの親和性の獲得
他のプログラムの通信シーケンスに則った実装を行う事で、様々なクライアントととして利用できるようになります。
たとえば、かの有名な"IP Message"は通信シーケンスを公開しておられますが、この通信シーケンスに則したプラグインを使用する事で、"IP Message"クライアントととして使用できるようになります。
さらに、SMTP/POP3の通信シーケンスのプラグインを作成すれば、簡易メイラとしての利用も可能になります。(これは、“email.nxl”でSMTPを実現しました。)
また、このプラグインを使用したツールを作成すれば、シン覚書(仮名)クライアントとして使用する事もできる事を示しています。
2.多様な通信プロトコルへの展開
今まではTCP/IPプロトコル環境下での利用しかできなかったのですが、プラグインの作成如何によっては、NetBEUIやIPX/SPX/AppleTalkなどのプロトコルを使用した利用も当然可能になるといえます。
さらに、シリアルポートを利用した通信プラグインを作成すれば、WindowsCE等のモバイル端末からのデータ送信も可能になります。
また、1と2の複合的な利用により、OSの異なる環境への展開や、C/S環境への適応も容易に行える事でしょう。
さらに、シン覚書(仮名)ではこの通信プラグインの複数インストールを可能にし、1アプリで多数のクライアントを賄えるシステムを目指す予定です。
加えて、このプラグインを一切インストールしなければ、スタンドアローン環境で利用にも利益になることだと考えます。
目標3.ソースコードの公開
ソースはその全てを公開する予定です。
今までフリーで公開してきたのは、それが「シェアにするほどの価値が有るか」に疑問を持った事もある一方で、「コンピュータの世界になにか貢献できれば」という思いがあったからに他なりません。
今回ソースを公開する事で、その思いをもう一歩進めたい考えです。
その一方で、ソースを公開する事により「未知のバグ」や「解法の解らない既知バグ」を、「私よりスキルのある方に委ねられるのではないか」という他力本願で邪な考えが有る事も否定はしません。
公開したソースをもとに、修正と発展がなされることを真に期待する物です。
一つの方法として、現行のソースの公開も有るのですが、目標1に書いたように現行ソースは低質(バグがあるという意味では有りません)であるため、公開する事はちょっと恥ずかしいのです。
覚え書は、OUBinderなどユーティリティを公開して下さったmasさんを初めとして、dxlを公開して下さった方々や、MLに参加して下さっている方など、本当に多くの方のご協力を得て、多様な表現を身に付ける事ができました。これは私一人では到底かなわなかった事です。
このソース公開によりその輪をさらに広げる一助になれば、と思います。
なお、このソースの全てあるいは部分的引用に関しては、覚え書および関連するソフトの動作を阻害するものでない限り、自由に行っていただいてかまわないものとします。
さらに、(そこまで考える必要があるか疑問ですが)全てあるいは部分を商用とすることも禁止しません。なので、他国語に翻訳して販売したり、機能拡張したものを販売してもOKです。ただし、その場合ベースに覚書があること、その作者が私(T.Chiba)であることを明記してください。
H10.08.29
コードには固定値を適用しています。設定はまだ読み出していない。
H10.09.16
通信関連部の実装。
H10.10.11
非popup通知などの実装。
H10.11.27
第一次αリリース
プロトコル互換の問題から、集団での移行は問題がある。前のバージョンと互換のプラグインを開発する必要ありか?
H10.12.13
ノート等のサスペンド対応を中心に行う
H10.12.20
email.nxlクリティカルな問題を修正
通信部の充実
H11.01.01
留守通知の修正
β2としてサイトでの公開
H11.01.10
email.nxlでTo列挙対応のためにnxlAPI拡張
H11.01.16
細部不具合微調整
H11.01.26
Nxlに新しいAPI追加
H11.04.27
2038年問題の解消
H11.05.28
DDEコマンドの追加:DDEPOKEによる小片の作成
"ChipBinary [/D][/R][/E][/S]"
/R は復元時の大きさ再計算
/D は復元小片を終了時削除
/E は編集画面へ渡す
/S 送信画面に渡す:未サポート
詳細は、CSOboeApp::OnDdePokeを参照の事
H11.10.30
AlphaBlend機能の試験搭載
でも正式版では無効にしておく
H11.11.18
送信先選択ツリーを展開するオプションを仮実装
OboeGaki.iniにExpandSendTree=1を追加して利用
H12.01.09
AlphaBlendの指定...を有効化するにあたり、新しい構成[AlphaBlend]を追加した
H12.09.08
お願い!アイコン取ってきて。で階層化に対応。