PortaBase 2.0

- A portable database -

1)イントロダクション
2)ファイル選択画面
3)フォーマット編集画面
4)列挙管理画面
5)列挙編集画面
6)計算値編集画面
7)画像編集画面
8)画像表示画面
9)ビュー編集画面
10)データ表示画面
11)レコード編集画面
12)レコード表示画面
13)記述画面(編集/表示)
14)ソーティング編集画面
15)フィルター編集画面
16)ビュー、ソーティング、とフィルター管理画面
17)CSVインポート
18)データエクスポート
19)設定画面
20)コマンドラインでの使い方
21)暗号化


1)イントロダクション
PortaBaseは自分でテーブルを設定し、作成し、表示し、編集することのできる小さなデータベースプログラムです。一般的な用途はメディア一覧、リファレンスチャート、TODOリスト、買い物リスト、などなどです。以下のような機能があります:
2)ファイル選択画面
PortaBaseファイルをクリックしてプログラムを起動した時を以外は、最初にファイル選択画面が表示されます。ここで"ファイル"メニュー、ツールバー、や画面のボタンから以下のオプションのいずれかを選択します:
3)フォーマット編集画面
PortaBaseファイルはそれぞれ、ユーザーが定義したフォーマットのテーブルを1つ含んでいます。このテーブルのフォーマットは一連のデータフィールドから決定されており、フィールドはそれぞれ名前、データタイプ、デフォルト値を持っています。PortaBaseファイルの新規作成時にはこのダイアログが表示され、データフィールドを定義することができます。既存のファイルのフィールドもいつでも、データ表示画面の"ファイル"メニューの"フォーマット編集"を選択し、このダイアログを使って編集できます。(メニューの構成が簡単なMaemoでは、このオプションは"ファイル"メニューの下ではなく、直接メニューに入っている。)

現在のフィールド定義が1フィールドにつき1行の形で、レコード編集画面で表示されるのと同じ順番で一覧表示されます。これらのフィールド定義は、ダイアログのボタンを使って操作することができます:
テーブルフォーマットに行った変更は、OKボタンが押されるまでは適用されません: 代りにキャンセルするのを選ぶと、変更は破棄され、元々のファイルのフォーマットが残されます。新規ファイルのフィールド定義注にキャンセルする場合、ファイル作成はアボートされます; それ以外の時は、どちらかのダイアログクローズボタンを押すとデータ表示画面に移ります。

4)列挙管理画面
PortaBaseは列挙型のフィールドタイプをサポートしています。このフィールドの値は選択可能な文字列値のセットの内の一つになります。列挙管理ダイアログを使って、列挙型の作成、編集、削除、表示順の変更ができます。

ダイアログの大部分は、現在定義されている列挙型の一覧で占められています。画面には、フォーマット編集画面と同様のボタンが一行に並んでいます:
列挙型の表示順序に行った変更を適用するには"OK"をクリック、表示順を(列挙型の追加および削除の分を除いては)変更せずに終わるにはキャンセルします。

5)列挙編集画面
このダイアログでは列挙型フィールドタイプの名前と、それに含まれる列挙値を定義することができます。このダイアログには列挙値のリストと、他の編集ダイアログの大半と同じボタンのセットがあります:
列挙名のすぐ下にはオプションの一覧を変更するためのボタンがあります:
行った変更内容を適用するには"OK"を、列挙値を変更しないで終了する(あるいは新しい列挙値の追加をキャンセルする)にはキャンセルします。

6)計算値編集画面
このダイアログで、同じレコードの他のフィールドの値からの算出値を持つフィールドを定義できます。フィールドエディタ画面で"計算編集"ボタンを押すと起動するダイアログで、フィールドタイプが"計算値"の時にのみ表示されます。このダイアログの最上部にはフィールド名、読み取り専用の1行の数式で表した現在の数式の表示部、計算結果を何桁まで表示するかを選択するスピンボックスがあります。

ダイアログの大部分は多くのファイルエクスプローラにも似た、ツリー状に現在の計算式を表示するウィジェットで占められています。ツリー上のノードはそれぞれ、他のフィールドの値、定数,または演算子のいずれかを表示しています。計算式を編集するには、(もし既にあれば)ツリーからノードを選択し、ダイアログのボタンを使用します:
通常は、例えば"+"などの演算子ノードの追加から始め、その引き数(それ自身も引き数を持った演算子ノードでも構いません)を追加します。ボタンは、現在選択されているノードに対してそのアクションが実行できる時には、自動的に更新されます; 許可されないアクションは、例えば次のようなものです:
以下は蛇足ですが:
7)画像編集画面
画像フィールドにはJPEGまたはPNG画像ファイルから読み込んだ写真が保持されます。データベース上のフィールドにインポートする画像ファイルを選択すると、この画面が表示され、データベースに保持する画像のコピーにちょっとした変更を加えることができます。画面上部には以下のコントロールがあります:
PortaBase開発の元だったザウルス上のメモリが限られていたことから、大きすぎる画像は弾かれます。JPEG画像では6,400×4,800ピクセルを超えるものはインポートできませんし、800×600以上のものは最大でもこのサイズに縮小されます。同様に、PNG画像では800×600ピクセル以上のものはインポートできません。PortaBaseのZaurus版が開発中止になったので、この制限は近い内になくなります。

"OK"を押して表示されている状態で画像を保存するか、あるいはキャンセルして変更せずに終了します。

8)画像表示画面
画像表示画面は画像フィールドの一つに含まれている画像を表示するためのシンプルな画面です。データ表示画面から起動され、左矢印キーで現在のフィルター中の前のレコードの同じフィールドの画像が、同様に右矢印で次のレコードの画像が表示されます。画像をダブルクリックするとフルスクリーンモードで表示されます; ビューアを閉じるにはフルスクリーン画像を再度クリックします。

9)ビュー編集画面
データ表示画面でのデータベースの内容をブラウズでは、データ"ビュー"の1つを見ることになります。ビューはデータベース内のフィールドのサブセットで、指定した並び順、表示幅で表示されます。データベースはデフォルトで、レコード編集画面で表示されるのと同じ順序でデータベース内のすべてのフィールドを表示する"全てのフィールド"ビューを持ちます。

ビューはビュー編集ダイアログを使って定義されます。ダイアログの最上部にはビューの名前が入ったテキストボックスがあります; これを変更するとビューがリネームされます。これに続いて、このビューに切り替えた時にデフォルトで使用されるソーティングとフィルターを選択できるドロップリストがあります; "デフォルトソーティングなし"や"デフォルトフィルタなし"を選択すると、現在のソーティングとフィルタがそのまま変更されずに使われます(この設定は、よく使うビュー、ソーティング、フィルターの組み合わせがあるとき、ビューを選択して、それからソーティング、それからフィルターと選択していく必要をなくしてくれます)。この下にはデータベース内のすべてのフィールドを表示した表があり、各フィールドのわきにはこのフィールドがこのビューでの表示対象になっているか否かを示すチェックボックスがあります。表中内での選択されている行の位置を上下させ、ビューでのカラムの順序を変更するための"上げる"と"下げる"ボタンもあります。"OK"を押して現在表示されている設定を受け入れるか、あるいはキャンセルして変更前の状態のままにします(あるいは新しいビューの追加をキャンセルします)。

10)データ表示画面
これはこのアプリケーションのメインの画面で、ここでデータベースの内容をブラウズし、他のダイアログの大半を起動することができます。この画面上には以下があります:
レコード表示・操作部
データ表示画面画面の大部分は一つのビューを使って、データベース内のレコードの一部を表示している表で占められています。使っているフィルターにパスする全部のレコードをスクロール出来る; 要求時ページングのおかげで大きいファイルでも遅くなることはない。通常、レコード上でクリックするとレコード表示画面が起動されます。設定画面でこのオプションを外した場合でも、レコードが選択された状態でスペース、Enter/Return、あるいはCtrl-Rを押すとその画面は起動されます。

設定画面で"データ表示にページを使う"を選択した場合、画面の下部にそのためのコントロールがあります。画面左下のスピンボックスには現在のビューで1度に表示するレコード数を示しています; この値は好きな正数に変更することができます(表の表示部の右側にスクロールバーが表示されないような小さい値に設定すると、ちょっとだけ横方向の空間が広がります)。"ページごとのレコード数"ボックスの右側には、ページナビゲーション用のボタンがあります。この数字が振られたボタンのいずれかをクリックすることで、そのレコードページに移動できます; 現在のページは押された状態で表示されています。前の5ページ、または次の5ページのボタンを表示させるには、端にある矢印ボタンをクリックします。

データ表示部のセルをクリックし、そのまま0.5秒かそれ以上してから離すと、特別な機能が実行されます。ノートフィールドのセル上でこれを行った場合、記述画面(表示)でノートの内容が表示されます。イメージフィールドのセル上で行ったときは、そのセルに含まれている画像が画像表示画面で表示されます。他のタイプのフィールド上でこれを行った場合、クリックしたレコードを対象としてレコード編集画面が起動されます。

フィールドラベル
フィールドラベル行にはフィールド名関連の情報を提供するいくつかの追加機能があります。現在のビューでフィールド表示幅を変更するには、二つのフィールドラベル間の境界(あるいは、最後のカラムであれば右端)をクリックし、望みの位置までドラッグします。フィールドラベルをクリックするとそのフィールドの内容の昇順でソートされます; 再度そこをクリックすると降順でソートされます。フィールドをクリックし0.5秒かそれ以上そのままにしてから放すと、そのフィールドのサマリー情報を含むダイアログが表示されます; サマリは現在のフィルターを通過したものだけが対象になっています。

ファイルメニュー
"ファイル"メニュー(Maemo版では唯一のメニュー)にはデータベース全体に適用されるオプションが含まれています。以下があります:
レコードメニュー
"レコード"メニューにはここのレコードに適用されるアクションが含まれています。以下があります:
小さい画面をうまく使うために、Maemo版はこのメニューを表示しません。同等な機能はツールバーとレコード表示画面のボタンを通じて使えます。

ビューメニュー
"ビュー"メニューではビューの選択と管理ができます。このメニューの先頭部には3つのオプションがあります:
メニュー内のこれらの項目より下は現在のデータベースに定義されている全てのビューのリストで、現在表示されているものの隣にチェックがついています。別のビューに切り替えるには、表示したいものをこのメニューから選択します。

小さい画面をうまく使うために、Maemo版はこのメニューを表示しません。同等な機能はツールバーから起動させるビュー管理画面を通じて使えます。

ソートメニュー
"ソート"メニューでは、ソーティング(表示順)の設定の選択と管理ができます。このメニューの先頭部には3つのオプションがあります:
メニュー内のこれらの項目より下は現在のデータベースに定義されている全てのソーティングのリストで、(ソーティングを使用しているときは)現在使用されているものの隣にチェックがついています。レコードのソート方法を変更するには、使用したいソーティング設定をこのメニューから選択します。もし現在のビューで表示されているフィールドの1つでソートしたいだけであれば、代りに"フィールドラベルのクリックでのソート"機能を使う方が早いでしょう。

小さい画面をうまく使うために、Maemo版はこのメニューを表示しません。同等な機能はツールバーから起動させるソーティング管理画面を通じて使えます。

フィルターメニュー
"フィルター"メニューには、表示対象にするデータレコードを選択するためのオプションがあります。このメニューの先頭部には4つのオプションがあります:
メニュー内のこれらの項目より下は現在のデータベースに定義されている全てのフィルターのリストで、(フィルターを使用していれば)現在表示されているものの隣にチェックがついています。別のフィルターに切り替えるには、表示したいものをこのメニューから選択します。

小さい画面をうまく使うために、Maemo版はこのメニューを表示しません。同等な機能はツールバーから起動させるフィルター管理画面を通じて使えます。

ツールバーボタン
共通的に使われる操作に素早くアクセスするためのボタンを配したツールバーがあります。以下がそうです:
11)レコード編集画面
レコード編集画面、レコードを追加する時や編集する時に表示されます。データベースのフィールド1つ1つが、1行になります; 左側はフィールド名です; それから右側は現在の値です。データレコードを追加する時には、デフォルト値が表示されます; 既存のデータレコードを編集する際は、現在の値が表示されます。以下はデータタイプに併せたより確実なデータ入力をするためのコメントです:
決めた値に編集し終えたら、"OK"を押して現在表示されている設定を受け入れるか、あるいは"X"/"キャンセル"を押して(レコード追加時であれば)レコード追加をキャンセル、または(レコード編集時であれば)変更前の値に戻します。

12)レコード表示画面
レコード表示画面は1レコード内の全データを閲覧するのに便利なようにデザインされたダイアログです。レコード編集画面と同様、左側にはフィールドラベルが、右側にはその値があります。ただし、値を編集することはできず、折り返し表示されますので横方向にスクロールさせなくても全体を見ることができます。ノートの内容は先頭の数語が表示されるのではなく、全文が表示されます。デフォルトでは、現在のビューに含まれているフィールドだけが(ビューで指定された順番で)表示されます; これ以外のフィールドの組み合わせで見るには、画面下部のドロップリストから適当なものを選択します。画面下部の矢印パッドにある左向き、あるいは右向きの矢印(又は矢印キー)を押すと、現在の表示されているレコードを変更することができます。画面下部に他のボタンもいくすかあります:
13)記述画面(編集/表示)
"ノート"フィールドタイプは(短い1行のテキストにより適する"文字列"タイプとは対照に)複数行からなる一かたまりのテキストです。この大きなサイズのカラムの長所はその(とてもシンプルな)ダイアログです。レコード編集画面とフィールド編集画面のデフォルト値の設定部のどちらでも、ノートの値はノートのアイコンと(納まる分だけの)ノートの内容の先頭部が含まれたボタンとして表示されます。全文を表示または編集するにはボタンを押します; 全画面の記述編集ダイアログが現れ、ノートの現在の記述が表示されます。"OK"をクリックして行った変更を適用するか、キャンセルして変更前の状態に戻すことができます。

ノートフィールドはデータ表示画面でも少し特別な扱いがされます。ノートフィールドのフィールドラベルにはこれがただの文字列フィールドではないことを示すノートのアイコンが含まれます。フィールドの各セルは納まる限りのノートの内容を表示します。これらのセルを押し0.5秒かそれ以上そのままにしてから放すと、読取り専用の状態で記述画面が表示されます。"OK"をクリックしてもキャンセルしても、これを閉じてデータ表示画面に戻ります。

14)ソーティング編集画面
データ表示画面のフィールドラベルのクリックは、データベースの内容を一つのフィールドでソートする便利な方法です。しかし、時にはフィールドの組み合わせでソートしたいと思うでしょう; フィールドAの内容でソートし、フィールドAの値が等しいグループ内ではフィールドB、などというように。これをする時や、現在のビューでは表示されていないフィールドでソートするには、ソーティングを定義する必要があります。

ソーティングは、ビュー編集画面に非常によく似たソーティング編集ダイアログで定義されます。ダイアログの先頭はこのソーティングの名前を含むテキストボックスです: これを変更するとこのソーティング名が変更されます。この下にはデータベース内の全てのフィールド名が表示されている表で、それぞれの隣にはソート対象であるか否かを示すチェックボックスがあります。このチェックボックスをクリックすることで、それをソート条件のセットに加えたり、セットから削除することができます。チェックがされたセルの、表中の3番目のフィールドはソート順が"昇順"か"降順"と表示されています; 逆にするにはこの表示をクリックします。表中で選択されている行を上下に動かす"上げる"と"下げる"のボタンもあり、ソートでこのフィールドが使われる順番を変更できます。チェックされたフィールドの内最上段にあるものでまずソートされ、このフィールドが同じ値のレコードはチェックされたフィールドの内、次に高い位置にあるもので、というふうにソートされます。"OK"をクリックして現在表示されている設定を適用するか、キャンセルして元の値に戻します(あるいは新しいソーティングの追加をキャンセルします)。

15)フィルター編集画面
このダイアログでは、データ表示画面で表示されるレコードを選択するためのフィルターを定義することができます。フィルターは"count = 1"のような単純なものも、"いずれかのテキストフィールドが'java'を含み、chapters > 10、pages <= 400、instockがチェックされているもの"のようなより複雑なものにもできます。"フィルター"メニューからフィルターを選ぶと、データ表示画面は定義された条件にマッチするものレコードを対象とするように表示が更新されます。

ダイアログの先頭はこのフィルターの名前を含むテキストボックスです; これを変更するとこのフィルター名が変更されます。この下はフィルターを構成する条件のリストです; レコードがフィルターをパスするには、この全ての条件を満たさなければいけません。"追加"、"編集"、"削除"、"上げる"、"下げる"を使って、基本的にはフォーマット編集画面と同じ要領で条件を編集することができます。ただし、フィールド編集画面ダイアログの代りに、"追加"、"編集"ボタンで条件編集ダイアログが起動します。このダイアログでは、比較に使われるフィールド、使用する比較条件、比較する固定値を選択することができます。テキストの比較には、大文字小文字を区別するか否かを表わすチェックボックスもあります。1フィールドで比較する代わりに、"テキストフィールド"を選択することもできます; レコード中のいずれかの文字列またはノートフィールドの値が条件を満たしていれば、そのレコードは条件を満たしていると見なされます。"OK"をクリックして現在表示されている設定を適用するか、キャンセルして変更前の状態のままにします(あるいは新しいフィルターの追加をキャンセルします)。

16)ビューソーティング、とフィルター管理画面
ツールバーにはビュー、ソティング、とフィルターを管理する画面を起動させる三つのボタンがあります。この三つの画面はほぼ同じで、違うのは管理する項目の種類だけ。どれにも以下があります:
17)CSVインポート
PortaBaseはCSV(カンマ区切りテキスト)ファイルからデータレコードをインポートすることができます。これにより、表計算や他のデータベースソフトからエクスポートされたデータをインポートすることができます。やり方は以下の通りです:
  1. データをインポート先になるPortaBaseファイルを開きます。新規ファイルにインポートしたい時は、あらかじめ新しいファイルを作成し、インポーとするデータに合ったフィールド構造を定義します。
  2. データ表示画面の"ファイル"メニューから"インポート"を選びます。ファイルセレクタが現れ、インポートしたいファイルを1つ選択します。CSVファイルは、開かれているデータベースファイルと同じカラム数で、各カラムの値は定義されているカラムのタイプに合っていなければいけません。
  3. インポートされるファイル内のレコードがデータベースに追加されます。この手順を繰り返すことで、他のファイルからさらにレコードを追加することも、同じファイルを再度インポートして同じレコードを追加することもできます。
備考:
  1. 真偽フィールドの値は0か1でなければなりません。
  2. 日付フィールドはYYYYMMDD、YYYY/MM/DD、YYYY-MM-DD、YYYY.MM.DDのいずれかの形式にします。
  3. 時間フィールドはHH:MM:SS、HH:MM:SS AM、HH:MM、HH:MM AMのいずれかの形式か、00:00からの経過秒にします。空白と-1は"None"として処理されます。
  4. 計算値フィールドは0で残しておきます; 実際の値はインポートの間に計算されます。
  5. 画像フィールドは空(画像をロードしないのであれば)または適切な画像ファイルへの相対または絶対パスを入れます。
18)データエクスポート
PortaBaseは現在、2つの形式: CSVとXMLでのエクスポートをサポートしています。データインポートとは逆に、この操作でデータベースの内容を表計算、テキストエディタ、他のデータベースプログラムなどに移すことができます。以下が現在のデータベースをエクスポートする手順です:
  1. データ表示画面の"ファイル"メニューから"エクスポート"を選択します。
  2. ドロップリストからエクスポートしたいファイルの形式を選択します。CSVでエクスポートした場合、現在のフィルタをパスしたレコードだけがエクスポートされます。XMLでエクスポートした場合、データベース構造(カラム定義やビュー、フィルターなどを含みます)もエクスポートされます; ファイルサイズはデータファイルの2倍以上になると思いますので、ストレージに十分な空き要領があるか確認してください。
  3. 作成するCSVまたはXMLファイル名を入力します。
  4. エクスポートを完了するには"OK"をクリックして、操作をアボートするにはキャンセルします。
19)設定画面
このダイアログでPortaBaseアプリケーション全体の設定ができます。"OK"をクリックして現在の全てのタブの設定を適用するか、キャンセルして変更前の状態で終了します。タブには以下があります:
Maemo 5版ではこの画面はタブの代わりに、全てのオプションが入っているスクロール出来るリストを使用します。

全般
"全般"タブには以下のオプションがあります:
日付と時刻
"日付と時刻"タブには以下のオプションがあります:
表示
表示タブの"フォント"セクションでは使用できるフォントと、それで使用できるフォントサイズからいずれかを選択できます。このフォントは(別のものが選択されるまでは、(アプリケーションを修了し再起動したとした後も含め)PortaBase中の全てのテキストで使用されます。例えばデフォルトフォントでは日本語の文字を表示出来なかったら違うのを選択したり、画面によりを多くの文字を入れるためにもっと小さいフォントを選択するといったことができるでしょう。(システムと違うフォントを使うのが苦手なMac OS Xではこのオプションは表示されません。)

"レコード色"セクションにはデータ表示画面、フォーマット編集画面、ビュー編集画面、ソーティング編集画面の行の背景に使われる色を選択するための2つのボタンがあります。各ボタンは現在の色を表示しています; どちらかをクリックすると使用したいほかの色を選択するための色選択画面が起動されます。(システムのテーマによって色が支配されているMaemo 5ではこのオプションは表示されません。)

20)コマンドラインでの使い方
PortaBaseはLinux/UNIXのターミナルやDOSプロンプトから使用し、グラフィカル・インターフェース抜きでデータをインポート/エクスポートすることができます。これは、PortaBaseのデータファイルを生成し、更新し、その他の操作をするようなスクリプトを書く時には非常に便利です。"portabase -h"を実行すると、使い方の説明が表示されます; 概要としては、以下ができます:
暗号化済みファイルからのデータの抽出、暗号化済みファイルへのレコード追加、暗号済みファイルの生成には、変換コマンドの直後(以下に示す他のオプションの前)に-p passwordと入力します。

"toxml"または"tocsv"とエクスポート元になるPortaBaseファイル名の間に、以下のオプションを入れることができます:
PortaBaseのXMLフォーマットと、これを使った便利な使い方(HTMLへの変換など)の詳細は、PortaBaseのホームページ(http://portabase.sourceforge.net)をご覧ください。

21)暗号化
パスワードなどのように取り扱いに注意を要する情報を守るといった要求に答えるため、PortaBaseデータファイルを暗号化することができます。暗号化されたファイルは、ファイル作成者が設定したパスワードを入力することでアクセスできるようになります(このパスワードは後から、"ファイル"メニューの"パスワード変更"で変更することができます)。このパスワードは覚えられる程度に易しいものにせざるを得ないため、これが暗号化使用時に最大の弱点になります; 良いパスワードを選ぶことが重要です。パスワードは以下のガイドラインに従うべきです:

セキュリティ及び実装上の理由から、暗号化されたファイルの入力内容は一度にメモリに保持されます; したがって暗号化されたファイルは暗号化されていないファイルほど大きなサイズにすることはできません。数百から2、3千レコードのファイルは問題なく扱えますが、数千のデータレコードがある場合はそうは行かないと思います(Maemoの場合です; より多くのメモリを積んだデスクトップコンピュータであれば、はるかに大きな暗号化されたファイルを扱えます)。

PortaBaseでの暗号化の詳細(使用しているアルゴリズムなども含む)は、PortaBaseのホームページ(http://portabase.sourceforge.net)をご覧ください。

----
Copyright 2002-2004,2010 by Jeremy Bowman.
(jmbowman@alum.mit.edu)
----
長い間和訳してくれたTSUKAMOTO Makio (walrus@digit.que.ne.jp)に感謝します。