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

リリースノート

このページは最新のビルドあるいはパッチについてのリリースノートです。昔のバージョンのリリースノートについては昔のリリースノートを参照ください。

インデックス


2009/05/21(木) - ver1.22-b1のリリースノート

 ver1.22-b1差分パッチとしての提供となります。アップグレードパスはver1.21系(b4含む)からのみとします。それ以外のバージョンからの移行はサポートしません。
 ver1.21 → ver1.22b1 への主な追加・変更点は以下の通りとなります。

1. ページ名の変更が可能になった
2. カテゴリサマリー機能をサポート
3. テンプレート機能をサポート
4. 表題命令 #printtitle を実装
5. Canvasによる図形作画機能を試験実装
6. スタイルシートの修正
7. その他微調整

 パッチは、展開したフォルダを既存のver1.21の構造に上書きするだけで完了します。構成管理情報(DB系)の定義修正はありません。但し、gumiki.cgi/edgumiki.cgi の行頭のパスを変更していたり、 common.cgiによってcgi名を変更している人はその後で手修正が必要となります。
 なお、パッチ適用によって不具合が生じても責任は負いかねますので、あらかじめエクスポート機能などを用いてバックアップを取っておくことをお薦めします。

 以下、パッチの変更点の細かい情報となります。

1. ページ名の変更が可能になった
 レルム管理画面のページ情報一覧の右側に「Ren」というリンクが追加されました。ここを押下することによって、ページ名を変更することができるようになりました。

2. カテゴリサマリー機能をサポート
 カテゴリー単位のページの取り込み(#includecategory)や、カテゴリ別ページ一覧出力(#categorylist)に続いて、カテゴリ単位のサマリー表示(#categorysummary)を実装しました。ニュースサイトらしきものを作るときに一応使えるかと思います。

3. テンプレート機能をサポート
 Wikiでいうテンプレートと意味合いは多少違うのですが、あるページにテンプレートデータを作成しておき、これを #loadtemplate 命令で別のページから取り込む事ができます。
 別ページの取り込みというと#include命令が存在しますが、このテンプレート機能は#includeの拡張命令みたいなものです。「テンプレート側のページに{$0} {$1} {$2} という暫定データを埋め込んでおき、呼び出すときにその部分を任意の文字列で置換して出力することができる」という機能です。
 たとえばRPGのモンスター図鑑みたいなものを作る場合、レイアウトをテンプレートとして作成しておけば、

#loadtemplate (テンプレートページ名) スライム HP:7 AP:6 特殊能力:逃げる アイテム:やくそう

#loadtemplate (テンプレートページ名) スライムベス HP:8 AP:7 特殊能力:なし アイテム:やくそう

 このように書くだけでレイアウト付きで表示させることができるようになるわけです。 

4. 表題命令#printtitleを実装
 通常、ページの最上部には<h1>タグによる見出し(ページ名)が自動的に表示されますが、よりコンテンツタイトルらしい見出しを設置したい(ZDNetの記事のような)人のために #printtitle 命令を提供しました。

ページタイトル
このページの簡単な説明
著作表示とか初出とか。右の更新日時は自動で付与されます / Update: 2009/05/21 21:47:27

 (↑)のような表題ブロックが容易に作れるようになりました。

5. Canvas機能を試験実装
 今回の目玉。図表を作画表示できる機能で、HTML5.0で採用されているCanvas機能を取り込みました。Canvasを用いた作画は普通、JavaScriptコードを描く必要があるのですが、これを平易なGumiki記法で作画できるようになりました。
 Canvas系の基本メソッドには用意されていない楕円作画、文字表示をサポートし、また、応用的な使い方であるツリーモデルを作成できるようになりました。
 命令セットなど詳細については別途リファレンスを用意してあります。→Canvas機能について

 なお、Canvas機能を基本サポートするブラウザはメジャーどころではFirefox3、Opera9のみです(ChromeやSafariも大丈夫かも)。しかしInternetExplorerは6〜8のいずれもサポートされていません。しかし IE6〜8でこのCanvas機能をエミュレーションするGoogleお手製ライブラリ「ExplorerCanvas」というものが存在しており、今回のパッチの /app_mod フォルダにはこのライブラリを試験的に収録しています。
 /app_mod に excanvas.js ファイルがあるか無いかをGumikiは自動的に調べています。このライブラリをインポートすることで、ほんの少しだけ負荷が掛かりますので、Canvas系機能を使う予定がないのであれば、パッチ適用の際には excanvas.js は抜いて適用しても構いません。

6. スタイルシートの修正
 #printtitleやスクロールボックスの実装のために各スタイルシートを修正しました。また、各スタイルシートの記述がだいぶ長くなり、再生産性が悪くなってきていたため、今回より共通的な記述は common.cssというファイルに逃がすようにしました。
 なお、既に自身でカスタムスタイルを作成されている方は今回のパッチによって表示が崩れるということはありませんが、Canvas系命令をはじめ、#printtitle や #start_scroll など、今回実装されたものを正常に表示させるためには、個別に修正が必要となります。単に common.css をスタイルシートの頭からインポートするだけで済むかもしれませんが、記述の相違でおかしくなる場合もありますのでご了承ください。

7. その他微調整
編集画面からはTimeStampを変更せずに更新することができましたが、新規作成時にはそういった機能がありませんでした。今回から「sage登録」というチェックボックスが付与されました。これを選んで登録すると、PC的な起算初期日である1970年1月1日のタイムスタンプが付与されます。それによって、 #recent 系の更新ページ一覧に表示されるのを避けることができるようになりました。
#start_scroll 〜 #end_scroll の追加。巷のサイトではよく「ライセンス条文」のところで使われている、領域をスクロールボックスで括る命令です。
任意のレルム、任意のカテゴリ別の最終更新時間を表示する #lastdate2 を実装しました。

8. 補足
 今回のパッチはページ名の変更機能、Gumiki Canvas命令、#printtitle命令を使いたい人向きです。システムの安定性やスパム対策などは特に改善されていません。安定性の高いバージョンも数ヶ月内に別途リリース予定です。

2008/11/19 - Gumiki ver1.21-b4リリースノート

 1年ぶりの新バージョンの公開となります。
 今回、≪ver1.21簡易インストーラ版≫と≪ver1.21空サイト版≫の2種類を提供しています。初めてお使いになる方は前者を、アップデート目的でダウンロードされる方や、簡易インストーラ版で導入がうまくいかない方は後者を用いてください。機能の違いはありません。

1. 導入手順


簡易インストーラ版の導入(新規導入者向け)
 簡易インストーラは今回はじめて搭載されました。従来版のファイルが90を越えており、初期導入時に面倒が多くなってきたため、多くのファイルをZipで圧縮しており、cgi上でこれらを解凍しながらインストールしてくれるものです。このインストーラの導入により、初期ファイルは13個と大変スリムになりました。但し、各種プロバイダ上で問題なく使えるかという検証は現在進行形です。さくらインターネット+FFFTP環境のみ確認済です。

1. 元のアーカイブを解凍します。Gumiki/ ディレクトリ直下に いくつかのファイルと、さらにその下に app_mod/ ディレクトリが出来上がっていると思います。この構成そのままFTPでアップロードすることになります。
2. gumiki.cgi edgumiki.cgi forinit.cgiを開き、先頭行の「#!/usr/bin/perl」を、環境のPerl配置場所に合わせてください。(多くのプロバイダはこのままでも動くとは思います)
3. 必要があればcommon.cgiを変更してください(後ででも構いません)
4. アップロードします。
5. Gumiki/ ディレクトリ直下の *.cgi、*.plのファイルパーミッションを755に設定してください。
6. ブラウザからこのディレクトリ上の forinit.cgi というファイルを実行してください。自動でインストールが行われます。

 なお、セットアップ完了後はインストール用ファイルである forinit.cgi および css.zip というファイルは不要になります。残ってても悪さはしませんが、消して問題ありません。

空サイト版の導入(新規導入/差分導入)
 こちらは従来形の構成です。差分適用させたい人はこちらのアーカイブを解凍してください。ファイルのパーミッションについては、

ルートディレクトリの *.cgi と *.pl -> 755
/database ディレクトリの *.dat -> 766
/text ディレクトリの *.dat -> 766

 あたりを設定してください。新規導入の場合は(perlのパスを設定した上で)全ファイルをFTPにアップロードし、上記のようにパーミッションを設定した上で、ブラウザから gumiki.cgi にアクセスし、ページが見られて編集を試してみて反映を確認できればインストール完了となります。

空サイト版の差分適用の手順
 ver1.21は従来のGumikiと互換性があるので差分適用は可能です。但しver1.19系からの差分適用のみサポート対象とします。

0. 差分適用に失敗してデータが破損しても責任は負いかねますので、あらかじめバックアップを取っておくことをお薦めします。
1. ルートディレクトリにある *.cgi、*.pl を上書きしてください。
2. gumiki.cgi、edgumiki.cgiの先頭行のPerl格納パスを必要があれば変更してください。common.cgi を自分の環境に合うように修正してください。
3. app_mod/ および css/ フォルダの内容を上書きしてください。
 なお、wakakusaやcoolshadeのpluginスタイルはver1.21より基本セットに収録されたため、plugin/ 以下にそれらのプラグインスタイルを入れていた場合は消しておいてください。自作のプラグインスタイルはそのままで構いません。
4. 従来の database/ 内の .dat ファイル(構成管理情報)を見比べてください。m_system.dat や entry.dat、entry_summary.dat など、従来に足りないファイルについてのみ既存環境に追加し、パーミッション766を与えてください。従来既にあるdatファイルを上書きすると環境が壊れますので注意してください。

2. 前バージョンからの改良・変更点概要

 ver1.19.1からの変更点は以下の通りです。

01. 簡易インストーラ対応
02. エントリーシステム仮実装
03. 領域の表示/非表示スイッチ
04. アクセスログ記録処理の強化
05. アーカイブ機能の強化
06. スタイルシート追加および変更
07. 構成管理情報のバックアップ/リストア機能
08. その他細かい修正点

 

3. 変更点詳細解説

01. 簡易インストーラ対応
 既に触れたように、簡単にGumikiを新規導入できるようなインストーラを付属しました。

02. エントリーシステム仮実装
 アンケートページ、エントリーページのような、ユーザの登録を受け付ける画面機能を支援し、情報を管理するための機構を実装しました。ただし仮実装ということで仕様などは将来変更の可能性があります。
 
 入力画面のレイアウトそのものはGumiki記法で作成する必要があります。値チェックのロジックをJavaScriptで提供しています。サーバサイドでは取り立ててチェックはしないため、ショッピングサイトなどには活用しないようお願いします。
 ユーザが登録したエントリー情報は、ワールドトップの「エントリー管理」から参照できます。登録時に規定のメールアドレスにメールを送信する機能があります。
 エントリー画面の作成手順と管理画面の詳細については別途トピックガイドの項で後日説明する予定です。

03. 領域の表示/非表示スイッチ
 開閉項目の実装要望がありましたので基本機能に追加しました。

記述例:

#openclose open1 +隠れている領域を開いたりまた閉じたり
#customdiv open1 style="display:none"
#div box1
 こんな風に任意のコンテンツを
 開閉できるようになりました。
#enddiv
#enddiv

+隠れている領域を開いたりまた閉じたり
 この機能を実現するために行頭命令 #customdiv、#opencloseを追加しました。
 開閉対象となる領域を #customdiv 〜 #enddiv で括ります。その際、#customdivの第1パラメータに領域名を付けてください。領域名は半角英数字が推奨されます。第2パラメータは style="display:none" と書いてください。第2パラメータを省略した場合は、最初に表示されていてクリックすることにより閉じるタイプの領域となります。
 #customdiv だけでは領域の定義しかやってませんので、あとは開閉リンクを作る必要があり、それが #openclose 命令です。第1パラメータが対象の領域名、第2パラメータはリンク文字列です。

技術解説
 従来の #div にも 名前を定義できますが、これはclassを指定するものです。特定のオブジェクトに操作するには idを指定しないといけないため、これを可能にするため、#customdiv という行頭命令を追加することとなりました。

04. アクセスログ記録処理の強化
 従来のアクセスログ取得命令である #accesslog には、ログがたまっていくとシステム全体のレスポンスが悪くなるという問題が存在していました。今回、高速版である #accesslog2 を用意しました。お手数ですが、従来版の #accesslog を使用されている方は置き換えることを推奨します。新方式だと、ログの分量に伴うパフォーマンスの減少が20分の1程度に抑えられるようになります。

05. アーカイブ機能の強化
 ver1.15で導入したZipアーカイブ機能が正式なものとなり、かつ強化されました。
 今回のビルドにはZip.pmを付属しているので設定なしにお使いできます。ワールドトップからこの機能を実行できます。

 ワールド全体のユーザデータ(ページ、構成管理情報、添付ファイル)か、レルム1つのページデータをZipファイルに圧縮して取得することができます。またその際に添付ファイルの圧縮の有無を選択できるようになりました。
 ただし復元機能は提供していませんので、こちらは必要時は手動で行ってください。

 Wiki系システムは一般にデータをサーバ上にしか持たないため、何かの折に消えたり破損してしまうと大変なことになります。定期的にこの機能でバックアップを取っておくことをお薦めします。

06. スタイルシート追加および変更
 Gumiki付属のスタイルシートについて見直しを行いました。Type3のスタイルシートという概念を追加しました。
 ver1.19.1以前のスタイルシートのうち、実用性が乏しいと判断した「薄茶(画像付)」「triorange」「triantiq」を廃止しました。
 プラグインスタイルとして提供していた「若草」「CoolShade(画像なし)」を追加しました。
 新規スタイルシート「CoolShade(画像あり)」「シンプルブルー」「ハードグレイ」「フロントブルー」を追加しました。
 既存のスタイルシートについても細部調整を行いました。Firefoxもレイアウト確認ブラウザの中に含めました。
 これらの新しいスタイルシートの体系についてはスタイルガイドを参照ください。

07. 構成管理情報のバックアップ/リストア
 ワールドトップ画面に追加されました。database/ 直下の*.datファイル(構成管理情報)をバックアップ/復元することができるようになりました。
 構成管理情報にはページデータのファイル(text/直下)や添付ファイル(upload/)は含まないため、リストアを行うとデータの結びつきが失われる場合がありますので注意してください。

 アクセスが集中し、構成管理情報が稀に破損するという事象が発生しているため、回避ではなく対応策として準備した機能です。ページを色々追加したあとでまめにバックアップを取っておくことをお薦めします。リストアによって、バックアップを取った時点の構成管理情報に巻き戻ります。
 バックアップおよびリストア作業を行う際は、削除固定PASSの入力が必要となります。これはログファイルの削除を行うときと同じもので、common.cgiに記述されている
$deletePassword のことです。

08. その他細かい修正点
 この他、細かいレベルで色々な修正が施されています。

データベースの脆弱性問題が確認されたため修正を施しました。
スパムブロック対象ドメインに .ru を追加しました。
ワールドトップ画面の「レルム一覧」で停止中レルムは灰色表示されていましたが、システムコンフィグ設定によって、非表示とすることもできるようになりました。
BBSの順列表示に対応。#bbs命令の第2パラメータとなるオプション値に"straight"と記述することにより、上が古く下が新しい書き込みで表示されるようになると共に、投稿フォームも下に表示されるようになりました。また、age機能である"useage"も公開。
コメント投稿にアンカーレス(>>)が付けられるようになりました
Gumikiページの最短アドレスとして、vrpパラメータが実装されました。http://xxx/gumiki.cgi?vrp=1,2 などと書くと(区切り文字はカンマかアンダースコアのどっちか)、レルムID=1、ページID=2のページを見るという意味に解釈されます。また、このvrpパラメータ形式のパーマリンクは「#permalink short」で書き出せます。
#status 命令が、規定のステータス以外にも何でも記述し表示できるようになりました。
管理者のホスト情報を登録しておくことにより、管理メニューバー(Home | レルム管理 | ページ編集 のこと)を、管理者の自分だけに表示させることができるようになりました。
更新一覧やアウトラインの項目頭に付与される「」のミニ画像を変更できるようになりました。色合いが合わないときなどに。



TopPage