Gumiki::Official Site
大小さまざまな規模のWebサイトをブラウザ上から容易に構築できるCMSシステム"Gumiki"の公式サイトです

昔のリリースノート

インデックス


Gumiki ver1.19.1のリリースノート(2007/11/29)

 #include系の機能にバグがあると報告をいただいたので、この不具合を直す修正を行ったものをv1.19.1として取り急ぎパッチリリースしました。
 gumiki.cgi と edgumiki.cgi だけのミニセットです。ver1.19の当該ファイルに上書きすればパッチ完了します。

 もう少し様子を見て、安定したものをver1.19+フルセットとしてVectorにアップする予定でいます。

Gumiki ver1.19のリリースノート(2007/11/22)

 1.19系がようやく安定しましたので、無印の1.19をリリースします。今回はフルセットでの提供となり、パッチリリースはありません。不具合などが発生すれば一通り直して1.19+としてパッチを出す予定ですが、一応これが1.1系の最終形と言えます。

差分対応方法
 ver1.19betaを既にお使いの方は、今回のアーカイブに含まれているスタイルシートフォルダ(/css)と gumiki.cgi、edgumiki.cgiを上書きするだけでパッチ完了となります。
 ver1.17b3〜ver1.18系の方は、上記ファイルの上書きの他に、database/system.dat の転送が必要になります(パーミッションは他のdatファイルと合わせます。766等)。

 これ以前のバージョンをお使いの方は、このver1.19を新規に導入して手作業でデータ移動した方が色々良いかもしれません。

ver1.19beta→ver1.19の改訂内容
 v1.19betaの安定版ということで、機能レベルでの新規追加はそんなにありません。
 ただし、今回の公開に合わせて今まで既に実装していたものの仕様公開していなかった機能についての情報も開放することになりました。リファレンスページに12月中に順次情報を追加していこうと思います。

●改訂内容
1. IEでのキャッシュバグの修正
2. 管理者ホスト設定の有効範囲の強化
3. メンテナンスURLのシステムコンフィグ化
4. コメント表示命令でトリップキーが丸見えだった不具合の修正
5. #系命令が大文字小文字どちらでも認識するようになった
6. #printcsvpage命令の追加
7. スパムチェック強化
8. ページ一覧のソート対応
9. スタイル微調整
10. 添付ファイルを追加したときに自動的に最終ページに移動するように修正

1. IEでのキャッシュバグの修正
 IEの「インターネット一時ファイル」設定でデフォルトの「ページを自動的に確認する」にしているとキャッシュが働きページの作成および編集が正常に行われないという事象をver0.1〜ver1.19betaの全てのバージョンで確認しました。この問題について修正したものです。
 この1点だけでも重要なので、できればGumikiを利用されている方はアップデートをお薦めします。

2. 管理者ホスト設定の有効範囲の強化
 完全一致だと使いにくかったので部分一致に対応しました。カンマで区切って複数記述することもできます。また、サービス停止中レルムは通常のユーザがアクセスするとエラーになるか特定のURLにリダイレクトされますが、管理者は普通にアクセスが可能です。この際タイトルバーに「普通のユーザでは見られませんよ」という意味の「φ」のマークが付くようになっています。

3.メンテナンスURLのシステムコンフィグ化
 システムコンフィグで、「サービスが停止している時にアクセスしたユーザに対してリダイレクトするURL」を指定することができるようになりました。ここを空欄にした場合は規定のエラーメッセージを表示するようになっています。
 なお現在、サービスの停止はレルム単位でのみ設定可能であり、ワールド全体でのサービス制御は行っていませんのでご注意ください。

4.コメント表示命令でトリップキーが丸見えだった不具合の修正
 #commentrecentで表示される投稿者名なのでトリップキーが丸見えだったため修正しました。

5.#系命令が大文字小文字どちらでも認識するようになった
 従来は#系命令(#h1 とか #commentとか…)は小文字限定でしたが、大文字(#H1とか#COMMENT)を使っても認識するようになりました。但し作法的には従来通り小文字を使うことをお薦めします。

6.#printcsvpage命令の追加
 添付ファイルとして登録したCSVを読み込み(検索したりして)表にする#printcsvというコマンドは既に公開していましたが、#printcsvpage を使うと、ページそのものをCSVとして認識し、これを表形式で出力することができるようになりました。要するにExcelを使わずGumiki単体だけで簡単な単一データベース管理ができるようになったわけですが、活用方法については改めて紹介しようと思います。

7.スパムチェック強化
 スパムチェック機能がver1.19betaで提供済みですが、Gumikiの画面を介さない機械的投稿をブロックするように強化されました。

8. ページ一覧のソート対応
 システムコンフィグで、ページ一覧の表示順序をID順か更新日順かを選べるようになりました。ページ数が多くなってきた場合に更新日順を使うと便利になると思います。

9. スタイル微調整
 cssファイル群の微調整を行いました。
 また、ver1.19対応用のプラグインスタイル2種類も公開しましたのでそちらも合わせてご利用ください。(プラグインスタイルは、 /css/plugin/ の下にファイルを置けば有効になります)

Gumiki ver1.19betaパッチのリリースノート (2007/8/24)

 8ヶ月ぶりのパッチとなります。ver1.19正式版は後日フルセットとして提供予定です。今回のパッチはver1.18→ver1.19専用です。
 今回のリリースの主目的は、スパムに悩まされている管理者の負担を軽減できるようフィルタリング機能を提供することにありましたが、ついでに色々機能を強化しました。

パッチの適用方法
 注意:パッチ適用によって不具合が発生してもデータ損失の責任は負いかねます。パッチ作業前は予めフォルダ全体のフルバックアップを取得しておくことをお勧めします

 解凍したファイルの構成を基本的には現在動いているver1.18構成に上書きすることになります。
 その後、database/m_system.dat ファイル(今回の新設)に対して、書き込みのパーミッションを付与してください(他のdatabase内の.datファイルと同じ属性)。

パッチ概要
【新規機能】
1.カテゴリ別に新着ページ群を表示する #includecategory命令を追加
2.rss出力にカテゴリ指定が可能に
3.投稿でのNGワード設定
4.スパム投稿ブロック機能
5.ページロック機能搭載(暫定版)
6.ページインクルード機能の強化

【微調整とバグ修正】
7.管理者ホスト(※サービスを停止しているページやレルムを編集、閲覧できる)に複数のホストが設定できなかったバグを修正しました。
8.指定レルムの最終更新日を出力する #lastdate 命令を追加
9.日記作成用リンクの追加
10.多重ページ作成の抑制

1.カテゴリ別に新着ページ群を表示する #includecategory命令を追加
 指定したカテゴリのページ群を連結して表示します。
 従来の#categoryList命令が、そのままページ本体として表示できるようになったものと考えると良いでしょうか。多少ブログライクな運用ができるようになったと言えます。たとえば料理に関するページを雑多に沢山作成したとします。それらのページのカテゴリに「料理」を設定しておき、別のページから
 #includecategory 料理
 このように記述することで、料理に関するページを自動取得して一覧表示します。(新しいものが一番上となります)
 なおこの際、取り込まれるページは枠で表示され、枠の右上に「編集」リンクが自動的に付与されます。編集権限を持つ人はここから直接ページの編集ができるようになります。
 #includecategory 料理 10 title
 この命令は、表示件数の指定が可能です。また、第3引数に"title"と付与することで、各ページのタイトルを斜体で表示します。

2.rss出力にカテゴリ指定が可能に
 従来の #rss 命令は、現在のレルムにおける新着情報をRSSとして出力するものでしたが、第1引数にカテゴリを指定することで、そのカテゴリを持つページに限定したRSSを配信することができるようになりました。
(例)
#rss 料理

3.投稿でのNGワード設定
 ワールドトップ画面の一番下に「システムコンフィグ」ページが新設されました。このページでNGワード設定が可能となります。
 NGワードとして指定された文字列を掲示板やコメントから投稿しようとすると失敗します。荒らしやスパム防止にお使いください。

4.スパム投稿ブロック機能
 「システムコンフィグ」には、スパムフィルタを2つ提供しました。
 「スパム自動ブロック」は、スパム特有の記号や文字列を自動検知して投稿を防ぐ機能です。
 「特定ホスト自動ブロック」は、スパム元となりやすい .net や .com などからのホストの投稿を禁止するものです。
 NGワードと合わせることで、95%程度のスパムをブロックすることができるようになりますが、本来スパムになるべきでない書き込みもブロックしてしまうことがありますので留意しておいてください。
 なお、掲示板のあるページの先頭行あたりに、
 #result box1
 という記述を追加しておくことで、投稿成功/失敗のメッセージが出力されるようになります。(box1はただのスタイル名であり、別のスタイルを当てる事も可能です)

5.ページロック機能搭載(暫定版)
 レルム管理ページから、任意のページにロックをかけることができます。
 ロックの掛かったページには鍵のアイコンが付与され、ページの編集および削除ができなくなります。
 現在は暫定実装であり、正式リリースの時に丁寧な解説を作る予定です。ともあれこの機能の実装により、複数人での管理においてもいたずらにページの内容を変更されるリスクは減らす事ができるようになりました。

 ≪暗号共通鍵≫
 ロックをかけるための共通の鍵です。edgumiki.cgi内に定義されていますので必要に応じて変更してください。

 ≪任意設定鍵≫
 ロックをかける人が自由に設定するパスワードとなります。当然アンロックのためにもこの鍵が必要となります。
 なお、edgumiki.cgiには解除用のマスターキーが定義されています。管理責任者はこのマスターキーを適切に設定してください。任意設定鍵にマスターキーを入力すれば、ロックをかけた人の鍵を知らなくても解除が可能になります。

6.ページインクルード機能の強化
 #includeあるいは#includetext で他のページを挿入する機能は従来からありましたが、オプションを追加しました。
 #include インクルードするページ
 従来の記法です。
 #include インクルードするページ edit
 第二引数に"edit"と書くと、ページの右上に「編集」リンクが付与され、編集権限を持っている人はここからダイレクトにインクルード先のページの編集が可能となります。なお、編集後に、「そのページを確認する」か「親のページを確認する」かを選べるようになっています。
 #include インクルードするページ editbox
 "edit"と似ていますが枠の中に表示します。

9.日記作成用リンクの追加
 レルム管理ページの「このレルム内にページを新規作成する」のところに、こっそり"日記作成用"というリンクが追加されています。こちらを押下することで、日記目的でのページ作成ができます。
 この際、自動的にカテゴリの所に「Diary」という文字が付与されるのがポイントで、日記をまとめて出力したいページに「#includecategory Diary」という記述をすることで日記ページがそれっぽく実現できるようになります。
 但し、作成した日付順ではなく更新した日付順で表示される仕様のため、ちょっと微妙かもしれません(・・;

Gumiki ver1.18フルセットのリリースノート (2007/3/10)

 久々のアップデートであるver1.18はフルセットの形での公開です。
 差分のみの公開はありません。差分適用されたい方は、v1.17b3状態にしていただいてから、今回のフルアーカイブの中に含まれている gumiki.cgi、edgumiki.cgi および /css フォルダだけ取り出して上書きすれば問題なく適応完了すると思います。

ver1.17b3以降のアップデート項目は以下の通り。

1. サービス停止中のレルム内のページを、管理者が自由に閲覧、編集可に
2. サービス停止中のレルムのページにアクセスした場合、特定のページにリダイレクトする機能
3. ページ削除時、ページについていたコメント情報を編集ログに転写(※編集ログを有効にしている場合のみ)
4. CoolFeedのテキストエリアフォーム版を用意
5. 存在確認付きリンクである[/ページ名/]の記法の実装。
6. #status 命令の新規追加

 詳細については近いうちに書きます。

Gumiki ver1.17b3パッチのリリースノート(2006/12/22)

 ver1.17b→ver1.17b3専用の小型のパッチです。他のバージョンからの適用はできません。後日公開予定のver1.17フルセット版の最終候補版でもあります。

更新 - gumiki.cgi
更新 - edgumiki.cgi
更新 - auth.cgi
更新 - /css 内、ad_blue.css と ad_green.css

 解凍したファイルは、ver1.17bの構成に上書きすればパッチ当ては完了します。今回の主な変更点は以下の通りとなります:

1. 一部スタイルシートの修正
2. 不正対策
3. 掲示板機能の調整と強化
4. #recent一覧ページの経過時間表示
5. #commentrecent機能
6. #printcsv機能の一部強化

1. 一部スタイルシートの修正
 ad_blue.cssとad_green.cssの2つのスタイルシートを、クロスブラウザ対応として調整しました。

2. 不正対策
 ver1.17bで実装された掲示板のトリップ機能について、成りすましができないような対策を施しました。また、URLアドレスを弄って不正な操作がされないように一部機能でのブロック処理を施しました。

3. 掲示板機能の調整と強化
 掲示板の書き込み限界を1000件としました。また、カテゴリ一覧出力と連動しての擬似フロートスレッド掲示板機能の利便性を向上させました。あと、若干掲示板テキストエリアのサイズなどが変わりました。

4. #recent一覧ページの経過時間表示
 #recentで出力される更新ページ一覧にマウスを当てると、そのページ名と共に、現在までの経過時間を表示してくれるようになりました。
 なお、#recentのintervalオプションは変更の可能性を匂わせていましたが現在の表示仕様で確定となりました。

5. #commentrecent機能
 現在のレルムにおける最新の掲示板投稿やコメント投稿をダイジェスト表示するようになりました。ブログではサイドメニューに付与されているおなじみの機能です。ただし仮実装ですので、今後表示の仕方が変わったりオプションに対応するようになることでしょう。
 これにより、複数の掲示板やコメントフォームを設置しているサイトについて、その更新情報がすぐに分かるようになります。
 将来的には他レルムでの情報も引っ張ってこれるようにする予定です。

追記:仮実装だけあって早速バグを発見orz
 表示リスト数を設定できるつもりで居ましたが、対応していませんでした。現在は最新10件分固定となっています。足切り文字数については現在指定できませんが、これも対応の予定です。

6. #printcsv機能の一部強化
 読み込むcsv内のテキストに、[[]]がある場合はGumikiページと同様にリンクが張られるような機能を搭載しました。

 今回のパッチでgumiki.cgiのソースコードは100kを越えました。多少コードをスリム化することはできるにしても、軽さを失わないツールでありたいと思うので、今後はあまり手を加えない方針とするか、あるいは記法そのものをプラグインで追加できるように改良するかになることでしょう。

Gumiki ver1.17bパッチのリリースノート(2006/12/7)

 ver1.17パッチは差分パッチで提供します。なお、スタイルシートのいくつかの互換性問題の確認が取れていない事もあり、ベータ版とします。アップデートの際は可能なら以前の構成のバックアップを取っておく事をお薦めします。

更新 - gumiki.cgi
更新 - edgumiki.cgi
更新 - auth.cgi
更新 - /css ディレクトリ
更新なし - /app_mod ディレクトリ
更新なし - sql-engine.pl

 パッチ元対象はver1.12+以降であり、それ以降の更新ファイルも全て含んでいます。common.cgi設定ファイルは今回も更新はありませんので、元の構成に上書きするだけでいけると思います。なお今回だけZip.pmがおまけに添付されています。
 安定したらver1.17としてフルセットをリリースします。
 肝心のパッチファイルは現在準備中です。7日夜〜8日夜までには公開されるものと思います。
 ver1.15+から今回のパッチまでの変更点は以下の通りです。

1. スタイルシートとレイアウトの調整 (ver1.17b)
2. 検索機能の強化 (ver1.17a)
3. #setmes, #printmes命令 (ver1.17a)
4. リファラチェック (ver1.17b)
5. RSS機能の改善 (v1.16rc3)
6. 望ましくないページ名の置き換え処理 (ver1.16rc2)
7. コメント機能のぷち強化 (ver1.16rc2)
8. #start_rem, #start_space, #start_field 範囲命令の追加 (ver1.16rc2)
9. gzip暫定対応(ver1.16rc2)
10. #permalink命令, #copyright命令 (ver1.16rc2)
11. #tooltip命令 (ver1.16rc2)
12. スタイルシートのプラグイン化 (ver1.16rc2)
13. Gumiki認証用ログイン機能&#printlogin 命令 (ver1.17b)

 とまぁ、案外あります。一通り簡単に紹介していきます。

1. スタイルシートとレイアウトの調整
 IEのフォントサイズを普段「中」のままのユーザも多いようで、そうすると現在のGumikiは少々本文の文字が大きめなのです。ついでにIE以外のブラウザでは一部レイアウトが乱れる問題も以前からありましたので、スタイルを色々と調整しています。調整されていないスタイルもありますがご了承ください。また、既に運用されている方で、以前の方が良いと思われた場合は差し戻してお使いください。
※ad_blue, ad_green の本文サイズはやや小さくなりました。

2. 検索機能の強化
 検索命令 #search において、そのページについたコメント&掲示板データも検索対象となりました。ついでに検索に要した時間も表示されます。

3. #setmes, #printmes命令
 #setmesでメッセージを詰め込み、#printmesでそれを出力します。タグも認識します。これは、ページ毎に、メニューの一部の領域に何か違った文章(ページ内の注釈など)を載せる場合を想定されたものです。

4. リファラチェック
 直リンクを禁止する類の命令が追加されました。
#checkrefer (URL)
 Gumiki系ページ以外から遷移してきた場合、URLのページに転送されます。
#checkroute (URL)
 違うドメインから遷移してきた場合、URLのページに転送されます。

5. RSS機能の改善
 IE7やFirefox等で標準搭載されているRSSフィードボタンに対応しました。
 また、フィードの出力に関して、#rssfeedflag という命令を追加しました。これを付けない普段のRSSフィード出力はページの頭からとなりますが、これを指定しておくと、この命令の後からフィードデータを出力するようになります。
 あと、エントリの出力数や足切り文字数を gumiki.cgi の設定項目で簡単に変更できるようにしておきました。

6.望ましくないページ名の置き換え処理
 Gumikiはページ名をそのままアドレスの一部として使っていますが、URLには不適な文字が色々存在します。 ' " & > < / ? # などがあたります。今まではこれをチェックしていませんでしたが、そうした文字が自動的に安全な文字に置き換えられるようになりました。
 ただし、「\」という文字はPerlの仕様上置き換えができませんでした。この文字はページ名には使わないようお願いします。

7.コメント機能のぷち強化
 #comment に 投稿者ホスト名を表示するhostオプションが追加されました。

8.範囲命令の追加
#start_rem 〜 #end_rem: この範囲の記述はすべて無視されます。
#start_space 〜 #end_space: この範囲においては、入力された半角空白はそのまま空白として表示されるようになります。
#start_field 〜 #end_field: 括りブロックを生成します。

9.gzip暫定対応
 Webサーバがgzipでのページ転送に対応している場合にgzipでページを送れるように対応しました。ただしデフォルトではチェックはオフになっています。gumiki.cgiの設定項目$gzipPathを正しく設定することで動作するようになります。
 gzip転送を行うことで、本来の機能とは違うのですがIE7における「リロード等すると、時々ページが真っ白になる」という不具合を回避できる利点があります。

10. #permalink と #copyright命令
 現在の自分自身のページアドレスを紹介しやすい形で表示するPermalinkを表示する命令#permalinkを追加しました。
 また、クレジットフッタの文字列を書き換える#copyright命令を追加しました。
 この2つの用法はリファレンスを参照してください。

11. >tooltip<タグの追加
 ツールチップ(小さなテキストのポップアップ)に対応するようになりました。

12. スタイルシートのプラグイン化
 css/ の下に plugin/ というフォルダを作りそこにスタイルシートを置いておくと、レルム管理画面からのスタイルシート設定の一覧に自動的に追加されます。
 そのプラグイン用スタイルシートも今回のパッチと同時に公開されました。
 なお、基本セットのファイル数を削減する目的で、いままでは標準添付していたスタイルのいくつかはプラグインスタイルに分離される予定です。

13. Gumiki認証用ログイン機能&#printlogin 命令
 Gumiki認証を使っていることが前提です。(.htaccess系の認証では使えません)
 common.cgi内のauthTypeに属性値 3 が追加されました。基本的な認証タイプはauthType=0の、閲覧=開放、編集=pass1 と同一ですが、この値に設定した場合、一度管理ページに入って認証を受けない限りは閲覧ページの管理ヘッダが出なくなります。これで不用意に閲覧者に管理メニューのリンクをクリックされる事もなくなることと思います。
 ただしこの場合、最初わざわざ管理ページにアドレス手打ちで移動しないと認証が行われない(管理ヘッダが出ないから閲覧ページから移動できない)ことになりますので、#printlogin という命令が追加されています。
 これを埋め込んでおくと、現在のレルム管理のページに移動するリンクが表示されるようになります。認証を受けた後はこのリンクは自動的に非表示になります。

その他の追加
掲示板投稿時、アドレスにsageと書いた場合はタイムスタンプは更新されません。
#categorylist に floatオプションが追加されました。これを活用することで、フロート掲示板もどきも実現することができます。
管理画面を操作する際、はじめにarchive.zipがあればそれを消去するようにしました。
掲示板投稿時、トリップ機能に対応するようになりました。(トリップ記号は#です)

Gumiki ver1.15+パッチのリリースノート(2006/11/6)

 ver1.15+は差分パッチで提供しています。
 パッチ元対象は ver1.12+ あるいは ver1.14 となります。
 なお、今回のパッチは安定版ではありませんので自己責任で導入ください。ver1.15〜ver1.16は11月中旬頃でのリリースを考えていたのですが、バグの報告も頂いたため、とりあえずそちらのバグ修正のために急いでのリリースとなりました。

更新 - gumiki.cgi
更新 - edgumiki.cgi
更新 - sql-engine.pl
更新 - /css ディレクトリ
新規 - /app_mod ディレクトリ

 cssディレクトリはスタイルシートの更新とJavaScriptファイルの追加です。
 app_modディレクトリが今回より新設されました。アプリケーションルート(cgiの置いてあるところ)の直下にこの名前のディレクトリを作成し配置してください。まあ要は今までの構成に全部上書きすれば大丈夫なはずです。
 今回の機能更新点の一覧は以下の通りとなります。

1. ページのアウトライン(見出し)出力機能
2. RSS取り込み機能
3. ページ新属性「インデックス無し」の追加
4. Zipアーカイブ機能
5. スタイル命令の拡張
6. 文字化けバグ修正
7. その他の修正

1. ページのアウトライン(見出し)出力機能
 「#outline」で、ページの見出しを自動的に目次化して出力することができるようになりました。だいぶ重宝できると思います。詳しくはリファレンスを参照ください。
2. RSS取り込み機能
 外部のRSSフィードを取得して出力できるようになりました。RSSリーダーのように活用することができます。但し現在はRSS1.0しか対応していません。
 詳しくはリファレンスを参照ください。

3. ページ新属性「インデックス無し」の追加
 従来、ページ作成/編集の時に、ページの公開/非公開の設定ができましたが、新たに「インデックス無し」という属性を設定することができるようになりました。この3者の特徴をまとめると以下のようになります。

コンテンツ公開ページを完全にオープンなものとして扱います。
#recent などの最新ページ一覧に表示されます。#searchの検索機能で引っかかります。#rss のフィードでの出力対象となります。
インデックス無しページそのものは公開していますが、他のページからリンクされてくるか、他のページから取り込まれることを想定しています。この場合、#recent、#search、#rss などでは見えないようになります。
コンテンツ非公開主に書きかけのページを置く場所として用います。
ページが第3者に見られないように、管理者だけが知っているキーで蓋をします。当然 #recent、#search、#rss などからも見えません。

4. Zipアーカイブ機能
 サーバにZip.pmモジュールがインストールされている場合、ワールドトップページの下のほうから、サイトのアーカイブを取得できるようになりました。これは、全ページのテキスト情報とページ定義情報、ログ情報の全てを含み、zipファイルでアーカイブしたものです。サイトデータのバックアップとして定期的に取得、保管しておくことをお薦めします。
 なお、Zip.pmが使用不能な状態では、アーカイブ取得のリンクは表示されません。
 自分のサーバ上でZip.pmが使えるかどうかについては、バックヤード右下のクレジットに[Zi]という文字があるかどうかで確認ができます。
 外部からZip.pmモジュールを持ってきた場合は、app_mod ディレクトリの下に配置してください。

5. スタイル命令の拡張
 <color>タグと<backcolor>タグが追加されました。文字の色と背景色を操作できるようになります。
 また、スタイルシートにdiv.indentを追加しました。div命令ですので、"#div indent" 〜 "#enddiv"のブロックで扱ってください。#div box1の派生版のようなものです。

6. 文字化けバグ修正
 行末に特定の文字(2バイト目が\x7cであるもの)が来ると文字化けする事象を修正しました。
 また、"ー"の後にリンク記号(ダブルスクウェアブラケット)を用いた場合に文字化けする事象を修正しました。

7. その他の修正
 #rss命令で出力する文字列が、純粋にテキストだけになりました。
 バックヤードの見栄えを少し調整しました。
 CSV出力機能のバグを修正しました。

その他
 今回の目玉の一つであるRSS取込機能の実装のために外部のライブラリ(フリーソフト)を2つ用いています。(今回のパッチに付属しています)
 一つはRoy Hooper氏のHTTP:Liteです。#rssload 命令では、これを用いて外部サーバからrssファイルを取得しプロキシ用に使います。
 もう一つは、http://www.kawa.net/様で公開されているAjax通信処理ライブラリであるJKL.ParseXMLです。#rssload および #myrssload の両方で用いています。

Gumiki ver1.14リリースノート(2006/10/24)

 ver1.12+の安定改良版であるver1.14を、パッチではなくてフルセットの形でリリースしました。
 ver1.12+からアップグレードされる場合は、gumiki.cgi と edgumiki.cgi のファイルを差し替えるだけで問題ありません。
 ver1.10からのアップグレードは、ver1.12+アップグレード手順を参考に行ってください。
 ver1.00以前からのアップグレードについては、元のverの /database と /text の中のファイルを1.14の構成の中に上書きしたほうが多分楽だと思います。

Gumikiタグの解釈で、大文字小文字を区別しなくなる(従来は英小文字固定)
URLエスケープ付きページリンクタグ<eslink>の追加
管理者自身はアクセスログ、アクセスカウンター、逆リンクの記録対象外になる
検索機能を用いた場合、その検索キーがアクセスログに書きこまれるようになった
HTMLLintの点数上げのための出力コード調整

 変更点は以上の通りで、ver1.12+から無理に上げるほどの必要性はないような気もします。要するに、パッチパッチで当てるのが大変な人用にフルセットとして提供しようというものです。
 2006/7/31のver1.0フルセット版と比べると、初期導入の労力が軽減されたうえに独自認証の仕組みが増え、より多くのユーザ様にお使いいただけるようになったと思っています。
 あとはドキュメント系の拡充ですねぇ…(・・;

Gumiki ver1.12+パッチのリリースノート(2006/10/14)

 ver1.10→v1.12+を対象とした差分パッチです。
 他のバージョンからあてるとファイルの不整合が起きたりしますのでご注意ください。
 なお、これのフルセット版をv1.13としてVectorに登録予定です。(フルセット版の登録まで2週間程度かかります)

 以下、変更項目を。

Jcode.pmが導入されているにも関わらずエンコードURL文字列を認識しなかった問題の対応
 凡ミスでした。今回はこの修正目的が主で、あとはついでに更新した項目みたいなものです。
画像版茶色スタイルシートの配置の修正
 これだけ他と配置ディレクトリ構成が違っていたので統一しました
逆リンクの除外フィルタが無効になっていた
 修正しました。
スタイルシート微修正
 殆ど全てのスタイルシートに修正が入っています。
拡張スタイルシートのHeader振分け
 従来基本スタイルはHeaderを必要とせず、拡張スタイルシートはHeaderをレイアウト的に必須としてきましたが、今回の変更から、拡張スタイルシートは、Headerなしでも運用できるようになります。
#td2命令の導入
 #td2タグは、隔行で色を振り分けてくれるようになります。
#yspace命令の導入
 <space>命令は横空白でした。#yspace で縦空白を作ることができます。
RSS出力の改善
 RSSタグに出力するページ本文情報に、タグは出力されないようになりました。
任意コメントフォーム対応
 従来のコメント機能は、ページ1つにつき1個、しかも掲示板と共用でしたが、今回から任意のラベルを使って1つのページに複数のコメントフォームを使うことができるようになりました。ただしレルムもまたぎワールドユニークなラベル扱いとなるため、
コメント管理は煩雑になります。あまり推奨しない機能ですが、ブログのように各日付毎にコメントフォームを設置したいという要望に答えられるようになりました。
 従来の使い方は、 #comment または #comment 行数 でしたが、今回は、 「#comment 行数 ラベル名」 という書式になります。
 なお、ブログっぽくはじめはコメントフォームを閉じている状態にさせたい時は、ページの頭のほうで 「#setproperty surface on」 と書いておく必要があります。
※注意:↑は試験実装です。将来的に若干の調整が行われる可能性があります。将来のアップデートで動きが変わることがありえますのでその点ご了承ください。
common.cgiからバージョン情報を退避
 common.cgiはユーザ別設定なのに、今まではバージョン情報も格納していたせいで、パッチのたびにこのファイルも更新されてしまっており、導入ユーザは毎回手直しする羽目になるということから、バージョン情報は退避させました。今後common.cgiはどうしても必要なデータの増減があったときにだけ差分につけることにします。

Gumiki ver1.10パッチのリリースノート(2006/10/4)

 Vectorに公開したVer1.0以降、久しぶりのアップデートです。今回はver1.0からの差分パッチとして提供の形となります。フルセット版のver1.10も追ってVectorの方に登録しますが、2−3週間くらい後になると思います。
 このパッチに含まれるファイルは以下の通りです。

ファイル名区分説明パーミッション例
gumiki.cgi更新閲覧用モジュール755
edgumiki.cgi更新編集管理用モジュール755
auth.cgi新規Gumiki認証モジュール440
database/editlog.dat新規編集ログ666
common.cgi更新と名称変更共通設定データ440

 設定を変更する箇所(※)を変更した上で、然るべき場所に配置し、必要ならパーミッションを設定してください。なお、今回からcommon.plはcommon.cgiにリネームされました。以前のcommon.plは消去してください。
 繰り返しますが、今回のパッチはver1.0に当てるためのものです。ver0.98rc3以前のバージョンからのアップデートは、一旦ver1.0のほうにアップグレードしてから改めて行ってください。

※主な設定変更箇所(※今まで変更せずに動かしてる方は今回もそのままで大丈夫です)
[1] gumiki.cgi 及び edgumiki.cgiの先頭行のperl実行パス
[2] common.cgi 内の $masterFolder
[3] あとは必要に応じて(後述するGumiki認証の設定などがあります)

 以下、ver1.0→ver1.10での更新一覧および新規機能の解説に入ります。

更新点一覧(箇条書き)
コメント一括削除フォームのレイアウトを調整(v1.00)
隠しページからこっそりリンクを貼りたい場合の<hwarp>タグの追加(v1.01)
コメントの開閉機能(v1.02)
編集ログ記録機能(v1.03)
csv出力機能のXSS問題の修正(v1.03)
簡易検索機能:同レルム限定のほか、任意のレルムも指定可能(v1.04)
&nbsp; &lt; &gt; で2度保存するとエスケープ元文字に戻ってしまうバグの修正(v1.04)
Jcode.pm有無の自動判別化。ソースへのコメントアウトが不要に(v1.04)
#if #createbutton命令の追加による分岐インタラクティブ機能の実装(v1.04)
コメント規制ホスト一覧の完全一致→部分一致に変更(v1.04)
掲示板のreadonly属性の実装(v1.04)
realmIdだけ指定した場合、そのレルムのトップページを参照するようになった(v1.04)
ヘルプという名前のページを作ると管理メニューに自動的に表示されるようになった(v1.04)
削除したコメントの復活(v1.05)
Gumiki認証の実装(v1.10)
TopPageやMenu、Headerというページが存在しない時、ページ一覧から、これらの作成ができるリンクを自動表示するようにした(v1.10)
その他細部調整(v1.10)

Gumiki認証
 Cookieを用いた認証に対応するようになりました。今回の更新の目玉です。
 従来のGumikiは、管理ページなどに第3者にアクセスされないようにする認証機構として、Apacheなどが提供する.htaccess(.htpasswd)による基本(Basic)認証でファイルやフォルダに認証をかけて運用することを前提としてきました。今回のver1.10からは、Gumiki本体に独自認証システムを導入しまして、.htaccessを使わなくても認証制御ができるようになりました。(以下、Gumiki認証と呼びます)
 もちろん従来のBasic認証方式でもそのまま継続運用できます。
 Gumiki認証を利用するには common.cgi ファイルを編集する必要があります。デフォルトでは使用しない設定になっています。
### 以下は、.htaccessが使えない環境の人のための認証設定です。
$useGumikiAuth = 0;
$authType = 0;
$authPass1 = "pass1";
$authPass2 = "pass2";

 common.cgiに上記箇所があると思います。それぞれ以下の説明に従って値を設定すればGumiki認証を活用することができるようになります。

要素名意味用途
$useGumikiAuthGumiki認証を使うかどうか0:Gumiki認証を使わない
1:Gumiki認証を使う
$authType認証パターン0:閲覧はフルアクセス、編集系ページのみ、パスワード1での認証をかけます。
1:閲覧、編集ともにパスワード1での認証をかけます。
2:閲覧にパスワード1での認証を、編集にパスワード2での認証をかけます。
$authPass1認証パスワード1パスワード文字列は任意に設定してください。
$authPass2認証パスワード2パスワード文字列は任意に設定してください。

 以上を設定の上Gumikiにアクセスした場合、Gumikiシステムは必要に応じて、クライアントのCookieを読み取ります。Cookieに適切なパスワードがまだ保存されていなかった場合、認証のためのパスワード入力画面を表示します。
 なお、クライアントユーザがブラウザ設定やツールで、Cookieを拒否する設定にしていた場合、常にログインは失敗します。

Gumiki認証の問題点
 Gumiki認証はあくまでもシステム制御のcgiに認証機構を導入するだけです。Basic認証にあるような、フォルダ単位の認証は対応できません。そのため、物理ファイルの在り処が知られている場合、直にアドレスを叩かれた場合に中身が見られてしまうことになります。これを防ぐために、データファイルのパーミッションは一段厳しくする必要があります。

更新点一覧のいくつかに解説
隠しページからこっそりリンクを貼りたい場合の<hwarp>タグの追加(v1.01)
 使い方は<warp>タグと同じですが、リンク先にリンク元を通知させないようにできます。といってもGumikiが何か特別なことをしているわけではなく、common.cgi内$hidebaseに記述された、クリックジャンプの機能を間借りしているだけです。

コメントの開閉機能(v1.02)
 #setproperty surface,on とページ内に記述することで、そのページのコメントフォームは閉じられた状態にすることができるようになりました。コメント機能は欲しいけど、すぐにコメント本文を見せたくないという時に用います。ブログでよく使われている機能ですね。

編集ログ記録機能(v1.03)
 common.cgi内$saveEditLogを"on"にすることで機能します。編集管理ページでの操作内容がeditlog.datというログファイルに記録されるようになります。複数人で編集管理を行っている場合にあるといいかなと思い搭載したもので、デフォルトではこの機能はoffになっています。

csv出力機能のXSS問題の修正(v1.03)
 Gumikiはだいぶ前からCSVファイルを読んで表示したり、検索して表示する機能がこっそりありました。この機能を正式に公表するにあたり、不正な入力ができないような対処を施しました。

簡易検索機能:同レルム限定のほか、任意のレルムも指定可能(v1.04)
 #search で、Gumikiページの検索ができるフォームを設置することができるようになりました。

&nbsp; &lt; &gt; で2度保存するとエスケープ元文字に戻ってしまうバグの修正(v1.04)
Jcode.pm有無の自動判別化。ソースへのコメントアウトが不要に(v1.04)
 ver1.00まで存在していた、Jcode.pmの有無でコメントアウトを付けたり外したりしてもらう作業が不要になりました。自動的に有無を確認し活用します。もちろんPerl4あるいはJcode.pm未設置状況では、ページ名のUnicode認識はできません。

#if #createbutton命令の追加による分岐インタラクティブ機能の実装(v1.04)
コメント規制ホスト一覧の完全一致→部分一致に変更(v1.04)
掲示板のreadonly属性の実装(v1.04)
realmIdだけ指定した場合、そのレルムのトップページを参照するようになった(v1.04)
ヘルプという名前のページを作ると管理メニューに自動的に表示されるようになった(v1.04)
削除したコメントの復活(v1.05)
Gumiki認証の実装(v1.10)
TopPageやMenu、Headerというページが存在しない時、ページ一覧から、これらの作成ができるリンクを自動表示するようにした(v1.10)
その他細部調整(v1.10)
 #系の命令に引数をつけなかった時に不自然な文字が出力されてしまう問題の修正など、細かいバグの修正を行いました。

Gumiki ver0.98rc3パッチのリリースノート(2006/7/24)

 ver0系列の最終リリース候補版です。問題が出ない限り、こちらをVer1.0として正式なリリースとします。
 差分提供となっています。Ver0.98rcあるいはVer0.98rc2の構成フォルダに上書きしてください。

基本スタイルの青、緑、薄茶に画像版のスタイルを新規追加
 単に壁紙を当てただけですが、一気にサイトがCoolになると思います。なお、今後の新規スタイルは別途ライブラリとして提供していく予定です。
 Ver0.98rc2に引き続いて一覧からスタイルを選択できるのですぐに新スタイルを確かめる事ができます。
非公開でページを保存した後、そのページをすぐに確認できなかった不具合の修正
<mark2>タグの追加
<pt8>および<pt9>タグの追加
ワールドトップ画面で、停止中レルムが一目で分かるように色付け
<open>、<myname>、<myself2>タグの追加
#includetext命令の追加

Gumiki ver0.98rc2パッチのリリースノート(2006/7/18)

 先日のrc版から実装したつもりの掲示板削除機能にバグがあったため、こちらのバグフィクスを行いました。パッチは差分のみなので、0.98rc版に上書きする形でお願いします。ついでにいくつか実装追加しました。

新規スタイル3種を追加。画像を使ったカラフルなバージョンです。
スタイルを一覧から選べるようにした
掲示板削除機能のバグ修正
ダウンロード管理の削除機能実装
RSS出力で、停止中のレルムや存在しないレルムを指定するとエラー出力
編集画面のキャンセルボタンで発生する不具合の修正

 今回、triblack.css/triantiq.css/triorange.css というスタイルを追加しました。但しこれらは、white.cssと同じようにHeader(必要ならFooter)を必要とするスタイルです。これらのスタイルでのページ作成方法は、トピックガイドに記述しておくことにします。

 なお、今回新規追加の3つのスタイルはまだFix Versionではありません。今後必要に応じて手直しされていきます。

Gumiki ver0.98rcのリリースノート(2006/7/14)

 ver0.97は非公式でのみ配布済みでして、今回一足飛びにver0.98rcのリリースです。
 フルセットで提供しています。ver0.97以前から差分で更新したい場合は、common.pl、gumiki.cgi、edgumiki.cgi、スタイルシート全部の上書きのほか、databaseフォルダにdlcont.datというファイルが新規に加わっていますので、こちらをパーミッション666で新規に転送する必要があります。
 ver0.96→ver0.98rcでの更新点は以下の通り。

テーブル命令のバグの修正とそれに伴うスタイルシートの一斉修正
テーブル装飾命令に #tf(最初のセルだけヘッダ扱い)を追加
テーブル装飾命令で、nowrap属性を自由に設定できるようにした
ダウンロード管理機能の実装
作業中上書き機能の仮実装
アクセスログ解析
逆リンクログ解析の調整
掲示板の投稿者による削除機能
その他いくつかの新規命令

 ver0.96以降の新規機能などについては殆どリファレンスに反映されていません。近日中にこちらも整備する予定です。

Gumiki ver0.96のリリースノート(2006/4/8)

 フルセットで提供していますが、更新されたファイルは common.pl、gumiki.cgiおよび edgumiki.cgiと一部のスタイルシートだけです。それらだけ手動で差分更新しても構いません。
 v0.94a→v0.96の更新点は以下の通り。

Perl5用に変更
UTF-16にエンコードされたURLを受け取る事ができる
RSS試験対応
リンクタグの簡略化
スタイルシートの微調整
管理ページ(バックヤード)の調整

 今回のリリース以降、GumikiはPerl5用となります。Perl4はそのままでは動きません。なぜこうなったかと言いますと、Perl4はUnicode(UTF-8/UTF-16)に対応していないためです。Gumikiのページ名には日本語をつけることがあり、そうするとページアドレスにも日本語が含まれるのですが、これらはGoogle等から捕捉されるとき、自動的にUTF-16にURLエンコードされて登録されます。従来のv0.94aですとそのエンコードアドレスを復元できずにページがおかしくなってしまいました。ページアドレスをid方式にして迂回することもできますが使い勝手が悪いので、これを修正するためにJcode.pmを使う事になり、結果的にPerl4を棄ててPerl5用アプリで今後はやっていくことになりました。但し、Perl5用コードはたったの2行しかありません。

(gumiki.cgi の上のほう)
### 以下の2行の実行はJcode.pmがインストールされているPerl5が必要です
### Perl4の場合はコメントアウトしてください
use Jcode;
my $name = jcode($name)->sjis;

 この2行をコメントアウトすれば、v0.96もPerl4のまま運用することができます。しかし勿論それだと、URLエンコードされたアドレスを認識しなくなります。

 また今回からRSSに仮対応しています。ただし、RSSに無理やり適合させようとしているだけであり、本来のRSSの用途を一部果たしていませんし、設定的にRSS機能を拒否する仕組みが現在のところありません。活用方法については後日ここに追加します。
 その他の新機能についても時間がある時に説明します。少々お待ちください(・・;

 なお新規インストール時、レルム作成からやるのは大変という話があり、次のフルセットからは、予め枠だけ用意されたレルムを1つ付属させようと考えています。

Gumiki ver0.94aのリリースノート(2006/2/11)

 今回の更新ファイルは、common.pl, edgumiki.cgi, gumiki.cgi, sql-engine.pl および css/フォルダの標準スタイルシート群です。現在のGumiki構成に上書きするような形をすればパッチは当たります(設定をいじってる人はそこだけ再修正が必要ですが)。
 0.93aのアップデートを飛ばしてしまった分、更新項目は多いです。

管理ページ(バックヤード)にスタイルを適用
管理ページのログ解析機能強化
管理ページの添付ファイル一覧にページ送り機能を追加。v0.92aで実装した添付ファイル一覧の簡易表示機能は一旦中止。
標準スタイルシートを6種類に拡張。従来の青茶緑に加え、yellow.css, pink.css, white.cssを追加。このうちwhite.cssは特殊。また、従来のスタイルシートも若干更新されています。
掲示板のページ送り機能追加
色々な新規命令(<myself>, #pr, #print_version, #back.. )
CSV検索表示機能の実装。(#printcsv命令。まだ使用方法は書いていません)

Gumiki ver0.92aのリリースノート(2006/1/28)

注意:文字化け対処のために、改行抑止記号であった行末の半角「¥」が使えなくなってしまったため、半角「|」を使うように仕様修正
common.pl ファイルを追加。cgiと同じフォルダに755あたりで置いておいてください
レルム管理のファイル一覧/1レルムのファイルアップ数が多くなると自動的に簡易表示モードになる。このしきい値はedgumiki.cgiで設定可能
#end_page命令の追加
#setproperty命令の追加
<idlink>命令の追加

Gumiki ver0.91aのリリースノート(2006/1/26)

メインとなるcgiファイル2つだけの差分。プロパティの値を変更している人は差し替える際に注意のこと→そのうちプロパティ部分だけ別ファイルで提供しておいたほうがいいかも。考えておきます
行末に文字化けが発生する事があった件の一応の対処。ただしShift_JISで統一している以上、まだ問題が完全に対処しきれたと思っていません。
管理ページの添付ファイルアップロードボックスを、添付ファイル一覧の上に移動
アクセスカウンターに書き込まれるデータが狂っていたバグを修正
#start_source〜#end_source内での空行が無視されていた不具合を修正


リリースノート