[{PageViewPlugin}]
[Main], [Wiki], [GitHub], [Post cent os]

!!!Abstract
JSPWikiは、[Java]ベースのWikiエンジンです。[Tomcat]上で動きます。Braincopy.ORGでも使っているこのJSPWikiについて、調べたことを記録します。

!!!What's new
*2017年12月22日Haddockについて追記しました。
*2017年8月11日に[jspwiki portable]追加しました。

!!!Topics
*API
|気が付くとWikiEngine.pageExistsメソッドがなくなっている。最新のAPIはどうなっている!?[API|https://jspwiki.apache.org/apidocs/]
*最新状況
|2024年2月20日時点では、2.12.1が最新
|もしこれを使うのであれば[Tomcat]9.0.78が必要

!!Properties
|デフォルトのjspwiki.propertiesってどこかにあるのかな。jspwiki-mainパッケージの中のsrc/main/resource/ini/jspwiki.propertiesがある[6]。

!!Haddock
|最新状況のところで言及しているMobile向けCSSの件、ちょっと調べていると、HaddockというテンプレートをこのJSPWikiが持っていることを見つけました。早速適用してみました。やり方は、[2]にあるとおり、jspwiki-custom.propertiesにを追加して、Tomcat再起動するだけです。
{{{
jspwiki.templateDir = haddock
}}}
|これは、Bootstrap[3]というフロントエンド(HTML、CSS、JS)のFrameworkを使っているそうです。

!!Plugin
*[jspwiki plugin]
|jspwikiのplugin作ります。
*[PageViewPlugin]
|PageViewPlugin is one of CORE plugin of JSPWiki. Here is how to use this plugin.

!![jspwiki portable]
|JSPWIKIのパッケージには、[jspwiki portable]というパッケージがあります。これは、Tomcat含めたパッケージで、これだけで簡易にJSPWikiを使うことができます。使い方を少々
!!日本語を使うには
|Tomcat のserver.xmlのConnectorといところにURIEncordingの設定を追加することで、UTF8 のurl使えるようにします[5]。でも点"・"は使うとおかしなことになります。
{{{
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
     	 URIEncoding="UTF-8" />
}}}
!!不明事象対応
*JSPWikiが立ち上がらない
|Tomcatでほかのアプリは立ち上がっているけど、JSPWikiが立ち上がらない。ログを見るとWikiEngineが見つからないとか、jspwiki-custom.propertiesが見つからないとか。これにはずっと悩まされている。systemd、つまりコマンドでいうとsystemctl start tomcatで立ち上げた場合発生し、直接bin/startup.shから立ち上げると発生しない。つまりtomcatユーザで実施すると発生し、root権限で実施すると発生しない。むっちゃパーミッション問題のようにも見える。これがでたら、ひたすら、tomcatフォルダ、特にJSPWikiフォルダやtempフォルダの所有者がtomcatになっているか、パーミッションが適切になっているかを確かめよう。root権限で動かしたあとにtempフォルダにrootが作ったフォルダが残っているとそれだけで動かなくなる。気が付いたら、以下のコマンドをどんどん打とう。
{{{
sudo chown -R tomcat:tomcat *
}}}
*コンパイルできない
|結局enforcerのバージョンを3.0.0-M3に変えて解決。
|[Maven]を使ってJavaを11にして、JSPWIKIを[2.11.0.M7]でCompileしようとすると長いエラーを吐いて失敗する。[GitHub]でおとしてきたものも、[1]からダウンロードしたものも同じエラーが出た。Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce 。。。なんだろう。まずい、JAVAをjdk11にしたのが原因かと思い、1.8に戻したが、Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project jspwiki-main: Compilation failure: Compilation failure: が出て、コンパイルできない。。ちょっと本腰入れよう→[JSPWIKI Compile Error]
*[Issues of JSPWiki]
|プラグインが動かない事象の話。結局コンパイル時のバージョン違いが原因でした。
*[Search Issues of JSPWiki]
|2017年12月22日に出た事象を記録します。12月27日に一旦暫定処置で解決。再発したらまた原因から調べます。
*jspwiki-custom.propertiesファイルを読み取らない。
|設定ファイルであるjspwiki-custom.propertiesは、TomcatのlibフォルダかWEB-INF/classesフォルダなどクラスパスが通っているところに置く[4]と書いてはある.JSPWikiのアップデートなど考えると、WEB-INFは入れ替わっちゃうから、Tomcatのlibフォルダの方が望ましいかな。 置くときは、パーミッションもちゃんとみましょう。
|No jspwiki.custom.config defined for this context, looking for custom properties file with default name of: /jspwiki-custom.propertiesなどといったメッセージがでることがある。どうもちゃんと動いているけど、このIofoログが出てしまう場合が多いようだ。実際にそのプロパティファイルをいじって起動しなおして反映するか見てみるとよい。
|パーミッション関係か。Windowsでこれが発生したときは、管理者権限で実行するとうまくいく時がある。例えばTomcatをStartup.batを実行するためのPowershellを管理者権限で立ち上げるなど。
!!今後やりたいこと
*セキュリティチェック
*携帯用のページが作れないか->Haddockでとりあえず。
*[TouchGraph]的なインタフェースを用意したい->[Cytoscape]
*添付ファイル一括操作用のバッチファイルを作りたい->[FileMgrPlugin|jspwiki plugin]

!!!Reference
#[#1]Apache JSPWiki, [https://jspwiki.apache.org]
#[#2]Haddock Template, [https://jspwiki-wiki.apache.org/Wiki.jsp?page=Haddock%20Template]
#[#3]Bootstrap, [http://getbootstrap.com/]
#[#4]The Apache Software Foundation, JSPWIKI Documentation, [https://jspwiki-wiki.apache.org/Wiki.jsp?page=Documentation]
#[#5][https://qiita.com/kazuki43zoo/items/a365d194f5c4df28912f]
#[#6][Re: JSPWiki: Unable to load and setup properties from jspwiki.properties|https://www.mail-archive.com/search?l=user@jspwiki.apache.org&q=subject:%22Re%5C%3A+JSPWiki%5C%3A+Unable+to+load+and+setup+properties+from+jspwiki.properties%22&o=newest], [https://www.mail-archive.com/user@jspwiki.apache.org/msg00903.html]