日本Qtユーザー会WebSiteのコンテンツについて

#はじめに
[12日目の記事](https://qiita.com/helicalgear/items/ba97890ac7b5ddf8d9ed)でqt-projectへのコントリビューションの話を書いたんだけど、関連っぽいネタとしてユーザー会WebSiteのコンテンツへのコントリビューションについてちょっと書いてみる。

#日本Qtユーザー会のWebSite
@hermit4さんの[13日目の記事](https://qiita.com/hermit4/items/5156203201694966c9e4)ではQtWebServiceベースで動いていると紹介されているんだけど、現時点で厳密にはその前身であるSilkで動いてる。

- http://www.qt-users.jp/

QtWebServiceへの移行は今作業中で、クリスマスまでに間に合ってカレンダーの枠が空いてたら記事にするかも(笑)
SilkについてはQtWebServiceに移行したので開発は中止されてるけど、@task_jpさんの[5日目の記事](https://qiita.com/task_jp/items/74b67bd85dc0e92a40e6)にもある通りQtWebServiceはソースが公開されてpatch歓迎の状態だし、サイトのコンテンツも同じく次に紹介するユーザー会が運営するサービスで全部公開されていて、オープンに修正が可能になっている。

#日本Qtユーザー会のgitサーバー
日本Qtユーザー会が公開しているgitサーバー

- http://git.qt-users.jp/

本家が公開しているQtのソースのmirrorと、ユーザー会／ユーザー会メンバが公開しているアプリやツールのソースが閲覧／取得できる。

#日本Qtユーザー会のGerritサーバー
本家([12日目の記事](https://qiita.com/helicalgear/items/ba97890ac7b5ddf8d9ed)で紹介した https://codereview.qt-project.org/ )と同じGerritを使ったコードレビューのシステム。

- http://codereview.qt-users.jp/

ユーザー会／ユーザー会メンバが公開しているアプリやツールの変更管理をしている。
[qt-project.org](https://codereview.qt-project.org/)はQtアカウントを作ってSing InするんだけどこちらはGithubのアカウントでSign Inするようになっている。

#コントリビューションのしかた
基本的なpatchの投げ方は[12日目の記事](https://qiita.com/helicalgear/items/ba97890ac7b5ddf8d9ed)で紹介したqt-projectと同じ。
違うのは上に書いた通り、コードレビューシステムにはGithubのアカウントを使ってSign Inするってところぐらい。

Sign Inしてしまえば後の設定（SSH-Keyの登録や.ssh/configの書き方）はそのまま"qt-project.org"を"qt-users.jp"に読み替えて貰えれば大丈夫。かんたんだよ。

#動作確認など
Silkを動かすにしてもQtWebServiceをビルドするにしても基本的にqthttpserverが必要なので、ビルド＆インストールしておこう。

```console:qthttpserver
# git clone ssh://codereview.qt-users.jp/qthttpserver.git
# cd qthttpserver
# qmake
# make
# sudo make install
```

Silkはとりあえずコンテンツの確認したいだけならビルドするだけでOK

```console:Silk
# git clone ssh://codereview.qt-users.jp/silk.git
# cd silk
# qmake
# make
```

コンテンツを取り寄せる。

```console:"www.qt-users.jp"のコンテンツ
# git clone ssh://codereview.qt-users.jp/qt-users.jp/www
```

コンテンツの中のwwwconfig.qmlを別の場所(例えば$HOME)にコピーして、Config{}の一行目で定義しているrootを、手元の環境に合わせて書き換える。

```qml:wwwconfig.qml(例：$HOMEの直下でcloneした場合)
Config {
    property string root: ''/home/hogehoge/www"
```

コンテンツを変更したり追加したりした後、下のようにSilkを起動してみる。

```console
# ./silk/bin/silk -config /home/hogehoge/wwwconfig.qml
```

あとはブラウザでlocalhost:8008にアクセスして実際にどう表示されるのか確認できる。
問題なく表示されることが確認できたらcommit&pushしてみよう。

参考までにQtWebServiceのソース取得は以下の通り。

```console:QtWebService
# git clone ssh://codereview.qt-users.jp/qtwebservice.git
```

#今年自分がやったコンテンツの変更
特にメンテナーを買って出ている訳ではないんだけど、日曜大工ならぬ日曜プログラミングしかやらない（職業プログラマではない）おっさんで大してユーザー会に貢献できるスキルもないので、気がついた時にちょこっとお手伝いすることにしている。
まぁ、だいたいは@IoriAYANE師匠がリリースしたQt関連書籍をユーザー会WebSiteで紹介するのがメインなんだけど(笑)

- [Fix the link of related book: ISBN 978-4-04-891512-0](http://codereview.qt-users.jp/#/c/1001/)
- [Add the information of "The Qt Company Japan"](http://codereview.qt-users.jp/#/c/1005/)
- [Add new Qt-Related Book.](http://codereview.qt-users.jp/#/c/1011/)
- [Stop retrieving the data from the zusaar because of the service termination.](http://codereview.qt-users.jp/#/c/1012/)
- [Add new Qt related book written by IoriAyane.](http://codereview.qt-users.jp/#/c/1038/)

#ということで・・・
実のところ、日本Qtユーザー会のWebSiteはコンテンツが不足している。
コンテンツの管理や追加は手の空いたヒトがボランタリーにやっている感じなんだけど、だいたいみんな忙しいのと、そもそも関わっているヒトがユーザー会の中でも限られているので、あまり多く検討できてない。
なので「ユーザー会のサイトにこんなのあったらいいな」というアイディアがあったら是非教えて欲しいし、できれば具体的なコンテンツ（コード）を投げてもらえるとものすごくありがたい(笑)