eeWikiとは
Javaにより実装されたWikiクローンのひとつです。今流行りのStrutsフレームワークをベースにView部分にVelocityテンプレートを使用して作成しています。
Wikiエンジンには、MobsterのMobwiki1.1のWikiエンジンを改造し、機能や外観はsng氏のPukiWikiをベースしています。

    * 国際化されたWikiクローンを目指しています。
    * Javaで実装されています。
    * サーブレット環境でのみ稼動します。
    * プラグイン機能により自由に機能を拡張できます。
    * ライセンスフリーなので誰でも自由に使用でき、改造も自由です。
    * i-node(UNIX系のファイルシステム)でもレスポンス低下しないことを目指し、データファイルを分散化させています。
    * ページ単位でCSSの設定が可能です。


Wikiってなあに
正式にはWikiWikiWebと呼ばれ、誰でも情報の追加・編集が出来るという不思議なWebページの集まりを指します。
このシステムを開発したのは、Ward Cunningham氏で、名前の由来はハワイ語の「迅速」からきています。
WikiWikiWeb-http://c2.com/cgi/wiki/

謝辞
eeWikiは先人の方々が作ったいろいろなWikiを参考にしています。参考にさせていただいたWikiクローンには心から感謝いたします。

    * MobWiki1.1(http://www.mobster.jp/) Wikiエンジンを流用させていただきました。
    * PukiWiki1.4(http://pukiwiki.org/) 外見や機能に関して参考にさせていただきました。
    * YukiWiki2(http://www.hyuki.com/yukiwiki/) 基本的なWikiの動作を勉強させていただきました。
    * RWiki(http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb) 作者が初めて使ったWikiクローンです。Wikiにのめりこんでしまった原因がここにあります。


ライセンス
The Apache Software License, Version 1.1ならびGNU/GPLライセンスに準じます。
Wikiエンジンに関しては、Project Mobster(http://www.mobster.jp/)のMobWikiを改造して使用していますので、基本ライセンスはMobWiki1.1ライセンス形式に準ずるものと考えます。

バグ・要望について
バグ・要望などありましたらj69@cheaptrick.jt7.netまで連絡ください。すぐには対応できないかも知れませんが...出来る限りの対応をいたします。

インストール
eeWiki-0.1pre1のインストール方法を説明します。
※今後、バージョンアップに伴い変更がありえます。

動作環境
UNIX、Windowsのプラットフォームは問いません。Tomcatサーブレットコンテナが稼動している環境であれば問題なく使用できます。
注意 JDK1.4 + Servlet API 2.3 以上の環境を必要とします。

ファイルの展開
ダウンロードしたWAR形式ファイルまたはTAR形式ファイルをwebappsのデイレクトリ下で展開します。
WAR形式の場合

    $cd $TOMCAT_HOME/webapps ($TOMCAT_HOMEは、あなたの環境により異なります)
    $mkdir eewiki-0.1
    $cd eewiki-0.1
    $cp ダウンロードしたディレクトリ/eewiki-0.1.war .
    $jar xvf eewiki-0.1.war
    $chown -R jakarta:jakarta * (オーナーは、Tomcatの実行ユーザーとしてください)

TAR形式の場合

    $cd $TOMCAT_HOME/webapps ($TOMCAT_HOMEは、あなたの環境により異なります)
    $cp ダウンロードしたディレクトリ/eewiki-0.1.tar.gz .
    $tar zxvf eewiki-0.1.tar.gz
    $chown -R jakarta:jakarta * (オーナーは、Tomcatの実行ユーザーとしてください)

Windowsの場合は、オーナーの変更は必要ありません。

実行
Tomcatが稼動していれば自動的にロードされますが、念のためTomcat Managerでロードすることをお薦めします。

初回アクセス
初回のアクセス時は、VTL（Velocity）のコンパイルのためか？VTLの変数が表示されてしまいます。ブラウザのリロードを実行してください。次回からはFrontPageが表示されるはずです。

ファイル構成
[eewiki-0.1]
  |-[META-INF]
  |-[WEB-INF]
  | |-VM_global_library.vm - Velocity設定ファイル
  | |-[dtd] - StrutsDtd
  | |-[tld] - StrutsTld
  | |-[lib] - ライブラリ
  | |-[properties]
  | | |-eewiki-conf.properties - eeWiki設定ファイル
  | | |-velocity.properties - Velocity設定ファイル
  | | |-wiki-tag.properties - テキスト整形クラスマッピングファイル
  | |-struts-config.xml
  | |-toolbox.xml
  | |-validator-rules.xml
  | |-web.xml
  | |-[classes] - クラスファイル
  | | |-ApplicationResources.properties - 日本語以外のローケルリソース
  | | |-ApplicationResources_ja.properties - 日本語ローケルリソース
  | | |-ApplicationResources_ja.txt
  | | |-mkjaprop.bat_
  | | |-[org]
  |-[css] - スタイルシート
  |-[diff] - 差分用１世代前のページデータ
  |-[doc] - ドキュメント
  |-[images] - 画像
  |-index.jsp
  |-[pages] - View
  | |-Content.vm
  | |-Create.vm
  | |-Edit.vm
  | |-Footer.vm
  | |-Header.vm
  | |-Menu.vm
  | |-Navigator.vm
  | |-Query.vm
  | |-Upload.vm
  | |-Viewpage.vm
  |-[upload] - 添付ファイルデータ
  |-[wiki] - ページデータ
  |-[src] - ソース
  |-eewiki-0.1.war - Warファイル

設定ファイル
ユーザーが自分の環境などに合わせ変更する設定ファイルは、eewiki-conf.propertiesだけとなります。
サンプル

#
# WEB_INF/properties/eewiki-conf.properties
#

#//////////////////////////////////////////////////
#管理者設定
#--パスワード
define.admin.passwd=foo

#--編集にパスワードが必要なページ
# *ですべてのページ
define.admin.lockedpage=FrontPage,Format,Format_ja,Help,Help_ja

#--編集不可能なページ
# *ですべてのページ
define.admin.fixedpage=

#データディレクトリ設定
#ディレクトリ名のみの変更は可能、パス構造は変更できない
#--Wikiデータの格納ディレクトリ
define.dir.data=wiki

#--添付データの格納ディレクトリ
define.dir.upload=upload

#--差分データの格納ディレクトリ
define.dir.diff=diff

#--スタイルシートの格納ディレクトリ
define.dir.css=css

#--イメージデータの格納ディレクトリ
define.dir.images=images

#//////////////////////////////////////////////////
#ページ関連設定
#--トップページの名前
#変更する場合は、ページの作成が必要
define.pagename.toppage=FrontPage

#--更新履歴一覧ページの名前
define.pagename.list=List

#--更新履歴ページの名前
define.pagename.new=RecentChanges

#--更新履歴ページの最大件数
define.new.maxrows=80

#--新規作成ページの名前
define.pagename.create=CreatePage

#--検索単語入力ページの名前
define.pagename.query=Query

#--添付ファイル入力ページの名前
define.pagename.upload=Upload

#--Helpページの名前
#変更する場合は、ページの作成が必要
define.pagename.help=Help

#--整形ルールページの名前
#変更する場合は、ページの作成が必要
define.pagename.format=Format

#メニュー
#--メニューページの名前
define.pagename.menu=Menu
#--メニュー（sidebar）を使用するか（true:使用する、false:使用しない）
define.page.menu=ture

#ページスタイル設定
#--スタイルシート名（拡張子.cssは不要）
define.page.style=default.ja

#Diff結果タイル設定
#--wはeeWikie独自のフォーマット、その他Diffらしいe,c,u,nが選択できる
define.diff.style=w

#//////////////////////////////////////////////////
#編集者
#--編集者名
define.modifier=J.r0ck(j69@cheaptrick.jt7.net)

#--編集者のホームページ
define.modifier.link=http://cheaptrick.jt7.net

#ページ凍結設定
#--凍結機能を有効にするか（true:使用する、false:使用しない）
define.frozen=true

#--凍結にパスワードが必要か（true:使用する、false:使用しない）
#まだ、実装していません。これについては、最近必要ないような気がしている
#define.frozen.passwd=true

#添付ファイル設定
#--添付機能を有効にするか（true:使用する、false:使用しない）
define.upload=true

#--添付可能なファイル拡張子
# *ですべての拡張子OK
define.upload.suffix=gif,jpg,png,txt

#--添付可能なファイル最大サイズ
define.upload.maxsize=51200

#--添付にパスワードが必要か（true:使用する、false:使用しない）
#まだ、実装していません。
#define.upload.passwd=true

#タグプラグイン設定ファイル
define.tag.plugin=WEB-INF/properties/wiki-tag.properties

#////////////////////////////////////////////////////


ナビゲータ
ページヘッダー部のコマンド群です。
ナビゲータは、表示されているページのタイプにより内容が変化します。
また、ページの行数が一定以上になるとフッター部にもナビゲータが現れます。

リロード
ページをリロードしなおします。Wikiは閲覧しているページを今まさに誰かが編集更新でいるかもしれません。
もしかしたら？と思ったときはリロードしてみてください。

新規
新規にページを作成します。ページ名を入力する画面に遷移しますので、そこで作成したいページ名を入力します。

編集
現在表示されているページを編集します。

凍結/解凍
凍結はページを更新不可能に、解凍はページを更新可能な状態に変更します。せっかく作ったこのページを誰にもいじられたくないときの自己主張程度に考えて使ってください。

差分
現在表示されているページの内容の変更履歴を表示します。
また、ページのソースを閲覧するのにも使用してください。

添付
添付したいファイルをアップロードします。
添付ファイル名を入力する画面に遷移します。そこで、現在アップロードされている添付ファイルの一覧を参照することが出来ます。

トップ
eeWikiのTopページに遷移します。

一覧
現在作成されている全ページのリストをページ名順に表示します。

単語検索
任意の単語が含まれているページを検索します。ページ名に単語が含まれているものも対象となります。

更新履歴
現在作成されている全ページのリストを作成日時順に表示します。

ヘルプ
このページを表示します。
編集画面
ページを編集する画面です。ナビゲータの編集をクリックすることでこの画面に遷移します。

パスワード
更新にパスワードが必要なページの場合入力が必要です。

プレビュー
編集中にレイアウトなどを確認したい場合に使用します。編集部の下に作成されるであろうコンテンツを表示します。

ページ更新
ページ編集を確定します。

テキストの整形ルールを表示する
eeWikiの整形ルールを表示します。