Knowledge

オープンソースで情報共有のサービス「Knowledge」を作っています。ブログでは、サービスの説明や開発で得た情報などを書いていきます。https://information-knowledge.support-project.org

Knowledge - Release 0.5.0 リリースしました

はじめに

  • 0.5.0 にバージョンアップしました

変更点

  • 投稿があったことをメール通知や、デスクトップ通知(Websocket + NotificationAPI)する #22
  • パスワードを忘れたユーザにパスワード初期化URLのメールを送るようにする #2
  • メールアドレス(ログインID)の変更の際の確認メールを送信 #25
  • コメントも検索の対象にしました #6
  • 管理者によるインデックスの検索インデックスの再構築の機能を作りました #26
  • データベースをPostgresqlに切り替えることが出来るようにしました #9
  • トップページのデザインを変更しました
  • 多言語用のリソースファイルのエンコードUTF-8にしました(native2asciiでのユニコードエスケープの必要無し)
  • ナレッジの公開先を「グループ」か「指定のアカウント」で選択出来るようにしました

今回の便利になったところ

  • ユーザへの投稿の通知が出来たので、メール代わりにこのサービスでメッセージをやりとりできます
  • 今までコメントの内容は検索の対象だったのですが、検索出来るようになりました

データベース系の変更について

インデックスの再構築について
  • 本アプリでは、データはDB(初期ではH2SQL Database)に格納します
  • キーワード検索は、全文検索インデックス(Apache Lucene)を使います
  • 今回の変更で、コメントも検索対象に変更しましたが、検索インデックスにコメントが登録されていません
  • そこで、DBに登録されているデータをインデックスに入れなおす機能を作りました(管理者機能)
  • 登録されているナレッジの番号を範囲指定して実行すると、インデックスを再構築します
  • 再構築したナレッジはコメントも検索対象になります
データベースの変更
  • 簡単に利用できるために、Knowledgeでは起動時に内部DB(組み込みデータベース)を起動しています
    • これにより、データベースのインストールや設定は必要無しで利用できるようにしています
  • ただ、もっとちゃんとデータを管理したいという管理者のために、組み込みDB以外も対応してみました
  • 管理者機能で、データベースの接続先変更の機能から、組み込みDB以外のDBに接続できます
  • 対応しているDBは、Postgresqlです
  • 組み込みDBで登録してきた、今までのデータも、Postgresqlへデータ移行も出来ます

お願い

  • どうせ公開するならグローバルに!と思い、他言語化対応しています
  • ですが、英語のメッセージが非常に怪しいです(ほぼGoogle翻訳
  • /src/main/resources/ に言語毎の文字列のファイルがあります
  • 「appresource.properties」が英語のファイルなのですが、もし英語が得意な人で協力していただける人いましたら、メッセージの修正をお願いしたいです
  • 日本語は「appresource_ja.properties」にあります

  • 英語の文字を確認する

  • 日本語の文字を確認する

  • また、他の言語にも対応できます

  • 例えばフランス語に対応する場合「appresource_fr.properties」を作成し、「/src/main/resources/appconfig.xml」の languages に追加します
  • よかったら多言語化に協力をお願いします