Wednesday, October 15, 2014

iplus1: Enrich your existing flashcards deck with new example sentences written by bilinguals


You already know all your language-learning flashcards by heart, and want new study material?
How about adding to your deck a dozen new sentences, written by bilingual people, and that match your current level?

Tatoeba is a community-maintained database of example sentences. For example:
  • 散歩しましょう。 (Japanese)
  • Let's take a walk. (English)
  • Давай прогуляемся. (Russian)
  • Bir yürüyüş yapalım. (Turkish)

iplus1 allows you to enrich your flashcards deck with sentences from Tatoeba.
Chosen sentences are those that you will like to learn: they contain words that you already know, plus one new word.

iplus1 has been developed by an American student under my mentoring, as part as a Google Summer of Code project of Tatoeba. iplus1 is open source and works fine on test servers with Anki decks, expect to see it go live soon!

Wednesday, October 8, 2014

Aegif joins the Open Invention Network

Today, Aegif has joined the Open Invention Network, following 1000 other companies like Google, IBM, RedHat, Twitter.

Besides the big names, many of the Open Invention Network members operate in the same realm as Aegif:
- Alfresco
- Liferay
- Magnolia
- Moodle
- OpenBravo
- OpenStack
- Salesforce.com
- SugarCRM
- The Document Foundation

All of these organizations have pledged to not use their patent portfolio to extort money from Linux users. The pledge actually covers Linux and a few hundred Open Source packages (details).

Aegif believes that using patents against Open Source software is harmful to innovation.
Rather than patent litigation, we believe that openness is the best way to perform business in the software field.

Friday, September 5, 2014

Alfresco Community 5.0の検索BOXとIMEの相性が悪い

こんにちは。おおたにです。

Alfresco Community 5.0.aの検索BOX(画面右上の検索ツール)ですが、4.2系から若干仕様が変わり、日本語IMEとの相性が悪いようです。具体的には、日本語変換を確定させる時にEnterキーを押すと、そのまま検索が実行されてしまいます。検索文字列を追加入力できず、とても不便です。なお、この現象はChromeでは起きず、IE、Firefoxでのみ発生します(Safariでも起きるかもしれないです)。

原因は、検索BOXのキー入力イベントの拾い方にあるようです。Alfrescoのコードを見てみると、4.2系ではEnterキーのkeydownを拾って検索を行っているのですが、5.0.aではkeyupを拾うようになっています。IMEでの日本語変換確定時のイベント発火はブラウザによって異なりますが(詳しくはこちら)、この結果として一部のブラウザで日本語変換確定時に検索も実行されてしまうようです。

これを直すには、従来のようにEnterキーのkeydownで検索を行うようにすればよいので、当該箇所(SearchBox.jsの255目くらい)を以下のように修正します。また、このSearchBox.jsを圧縮したSearchBox-min.jsも新しく作り直します。オンラインのJavaScript圧縮サービスなどを利用してください。修正部分はクライアントサイドJavaScript(静的ファイル)なので、Alfrescoの再起動は必要ありません(ブラウザのキャッシュクリアくらいは必要かも…)。

<tomcat_dir>/webapps/share/js/alfresco/header/SearchBox.js
...
DomAttr.set(this._searchTextNode, "id", "HEADER_SEARCHBOX_FORM_FIELD");
DomAttr.set(this._searchTextNode, "placeholder", this.message("search.instruction"));
// on(this._searchTextNode, "keyup", lang.hitch(this, function(evt) {
on(this._searchTextNode, "keydown", lang.hitch(this, function(evt) {
   this.onSearchBoxKeyUp(evt);
}));
...

これでChrome以外のブラウザでも日本語変換確定時に検索が行われないようになりましたでしょうか。keyupをkeydownに変更することによる副作用はまだ詳しく調査していませんが、ひとまずはこの修正で様子を見てみようと思います。

Monday, September 1, 2014

第23回Alfresco勉強会が開催されました

こんにちは。てらしたです。ちょっと報告が遅くなってしまいましたが、先日8/24(水)に第23回Alfresco勉強会が開催されました。
今回は参加者の方がまだあまりAlfrescoを触っていないとのことだったので、用意していたWorkdeskの検索テンプレートの作り方の発表は再度保留にして、より入門的な内容の発表のみにしました。Workdeskについては次回、ある程度Alfrescoを使っていてカスタマイズ等にも興味がある参加者が多い場合にご紹介したいと思います。とはいえ今回のように初心者の方が多い可能性もあるため、入門っぽい内容のものも用意しておこうかなと考えています。

Alfresco Community 5.0をインストールする

発表資料はこちら

Community Editionの最新版である5.0.aのインストーラを配布し、実際に手元の環境にインストールして起動してみよう、という内容で弊社の大谷の発表でした。Windowsの場合にハマるポイントと解決方法の紹介があったり、最後に余談として5.0の新機能の紹介もあったり、Alfresco初心者の方への内容としては非常によかったのではないかと思います。

次回の勉強会は10月15日(水)に開催予定です。たくさんの方のご参加をお待ちしております。参加申し込みはこちらからお願いします。

Wednesday, August 27, 2014

The CmisSync context menu: Check out documents, modify metadata

Context: CmisSync synchronizes documents between Alfresco and your PC:


NEW: We implemented a CmisSync context menu for Windows Explorer:


From this context menu, you can check out a document.
This will lock the document for you, so that you can edit it:



The same dialog also allows you to view metadata of the document:



You can modify the metadata, even when offline. It will be synchronized as soon as you are back online.

The document's history is also visible:



The CmisSync context menu is part of CmisSync Business, which also includes Single-Sign-On and professional support.

Friday, August 1, 2014

Liferay WEBコンテンツのストラクチャーとテンプレートの紹介

こんにちは、かわべです。本格的な夏ですが、近年は夏になると夕立を通り越したゲリラ豪雨があったりしますよね。天気が怪しいときはアメッシュを定期的にチェックして帰るタイミングを逃さないようにしているのですが、ときどき失敗してしばらく帰れなくなります。今回は雨が止むのを待つ間にブログを書くことにしました。

以前にWEBコンテンツについて紹介した際にはスルーしてしまったWEBコンテンツのストラクチャーとテンプレートについて簡単に紹介したいと思います。

WEBコンテンツのストラクチャーとテンプレートとは?

WEBコンテンツを作成する際にはストラクチャーを選択します。インストールした直後のLiferayには、タイトルとHTMLコンテンツを要素として備えたデフォルトのストラクチャーのみ存在しています。HTMLエディタで編集できるので自由度は高いですが、決まった構造のコンテンツを繰り返し作成するには手間がかかることもありますし、作成者によって違う見た目になってしまうかもしれません。同じ種類のWEBコンテンツを何度も作成する場合は、入力する要素の構造(ストラクチャー)と各要素の表示方法(テンプレート)を事前に定義しておけば、どのユーザでも簡単に同じ見栄えのコンテンツが作成できるようになります。

今回はデモ目的で作成した「社長あいさつ」というWEBコンテンツのストラクチャーとテンプレートを例として見ていきます。
とてもシンプルな例なのですが、使用するとこのようなWEBコンテンツが作成できるようになります。

では、まずはストラクチャーから追加していきます。以下の手順はすべて管理者権限のあるユーザで実行しています。

ストラクチャーの追加

「システム管理→コンテンツ→WEBコンテンツ」と移動してWEBコンテンツの管理画面へと移動し、そこから「管理→ストラクチャー」を選択すると、ストラクチャーの管理画面が表示されます。ここからストラクチャーの新規追加や、既存のストラクチャーの編集ができます。



左側にWEBコンテンツに定義できる様々な項目が用意されています。ドラッグ&ドロップで項目を追加後、設定タブで表示値などを変更してストラクチャーを作成していきます。
先ほどの「社長あいさつ」のストラクチャーは以下のような定義にしました。



「内容」はHTML、「感想をお聞かせください」はページヘのリンクとなっています(これはサイト内のページへのリンクになります)。

テンプレートの追加

次に、作成したストラクチャーに対応するテンプレートを作成します。ストラクチャーの管理画面から「テンプレートの管理→追加」をクリックすると、テンプレートの作成/編集画面に遷移します。



 テンプレートの記述方法としてFreeMarker、拡張可能スタイルシート言語、Velocityが選択できるようになっています。今回はFreeMarkerで作成してみましょう。といっても、Liferay 6.2でのテンプレートエディタは高機能なので、ストラクチャーの要素を表示させるのは非常に簡単です。
ストラクチャーで定義した要素は左ペインに用意されているので、必要な場所でクリックするだけで表示可能な状態でテンプレートに追加されます。



テンプレートエディタ上部のコメントにもあるように、変数やメソッドの自動補完機能も備わっています。


ストラクチャーで定義した要素以外でWEBコンテンツが持っている値(例:タイトル)を表示させたい場合は以下のように記述します。

${.vars['reserved-article-title'].data}

FreeMarkerで記述する場合、変数名にダッシュ等が含まれる場合のFreeMarkerの記述方法Velocityの変数一覧が参考になるかと思います。

さて、今回の「社長あいさつ」はhtmlのタグなども含めて、最終的に以下の内容でテンプレートを記述しました。



デフォルト値の設定

ストラクチャーを利用したWEBコンテンツの各要素にはデフォルト値を設定することができます。この機能も試してみましょう。ストラクチャーの管理画面から、今度は「デフォルト値の編集」を選択します。



表示される画面から、先ほど作成した感想リンク付きのテンプレートをデフォルトのテンプレートとして設定します。そして、「感想をお聞かせください」のリンクからは感想メールフォームのページへ遷移したいので、リンクのデフォルト値を「感想フォーム」として保存します。これは同じサイトに予め作成してあるページです。




これで準備は完了です。あとはこのストラクチャーを利用して好きなだけWEBコンテンツを作成しましょう。

ストラクチャーを利用したWEBコンテンツの作成

WEBコンテンツを作成するときに「社長あいさつ」ストラクチャーを選ぶと、デフォルト値の設定が反映された状態でコンテンツ作成画面が表示されます。






内容を適当に入力して保存し、どのように表示されるか見てみると…




こんな感じに表示されました。タイトル、内容、リンクが存在します。タイトルは<h3>要素として強調されています。また、リンク部分はテンプレートで指定したクラスに合わせてcssを適用しているので、ボタン風に表示されています。
感想リンクをクリックすると、感想フォームのページに飛ぶことができます。




ストラクチャーとテンプレートのいいところ

今回のはかなり単純な例ですが、ストラクチャー・テンプレートを適切に定義するとコンテンツ作成の手間が大幅に省けることがおわかりいただけるかと思います。もちろんストラクチャーやテンプレートを準備するユーザとコンテンツの作成者を別のユーザにすることも可能なので、コンテンツ作成者には難しい知識は必要ありません。

また、ストラクチャーは作成時に親を指定することで既存のものを拡張して作成することができます。例えば今回の「社長あいさつ」を拡張し、アイキャッチ用の写真を追加するのも簡単です。





WEBコンテンツの管理画面ではストラクチャーごとの閲覧ができますし、アセットパブリッシャーで特定のストラクチャーを持つWEBコンテンツのみを表示させるように設定することもできるので、コンテンツ管理も捗ります。





おわりに

WEBコンテンツでストラクチャーとテンプレートを利用するメリットが伝わったでしょうか。同種類のコンテンツを複数作成することが予めわかっている場合はぜひ利用してみてください!

Wednesday, July 9, 2014

Alfresco 5.0がリリースされたので早速インストールしてみた(Windows編) & 新機能の紹介を少々

こんにちは。大谷です。

今回は先日リリースされたAlfresco Community 5.0.aをWindowsにインストールする手順と、5.0.aの新機能について紹介したいと思います。インストールについてはデフォルトの簡易インストールで進めます。データベースとしてPostgreSQL、アプリケーションサーバとしてTomcatがインストールされます。


インストール手順


1. Alfrescoのダウンロードサイトからインストーラをダウンロードする。

2. インストーラを実行する。

3. インストーラの言語を指定する。



4. 次へをクリックし、インストールの種類を「簡易」に設定して次へをクリックする。


5. インストール先フォルダを指定して次へをクリックする。デフォルトではC:\Alfrescoにインストールされます。


6. 管理者パスワードを入力し、次へをクリックする。


7. 次へをクリックするとインストールが開始する。無事インストールされることを確認する。


以上でインストール完了です。alfrescoPostgreSQL、alfrescoTomcatの2サービスが追加されているはずです。これらのサービスを起動し、しばらくしてブラウザで http://localhost:8080/share にアクセスして以下のログイン画面が表示されて、管理者用のパスワードを入力してログインに成功したら準備完了です。




もしうまく動作しない場合は、 C:\Alfresco\tomcat\logs\alfrescotomcat-stderr.yyyy-mm-dd.log を確認してみてください。以下のようなログが出力されている可能性があります。

 2014/07/02 11:48:20 org.apache.catalina.core.StandardContext listenerStart
 致命的: クラス org.alfresco.web.app.ContextListener のアプリケーションリスナの設定中にエラーが発生しました
 java.lang.UnsupportedClassVersionError: org/alfresco/web/app/ContextListener : Unsupported major.minor version 51.0 (unable to load class org.alfresco.web.app.ContextListener)


この場合は、コマンドプロンプトで以下のコマンドを実行します。

 c:\alfresco\tomcat\bin\tomcat7w //ES//alfrescoTomcat

以下のようにTomcatのサービス設定ダイアログが表示されるので、JavaタグのJava Virtual Machineのパスが C:\Alfresco\java\jre\bin\server\jvm.dll になっていることを確認し、異なる場合は修正してください。上記エラーが出ている場合は、既存のJavaインストール(しかも1.6以下)を指していることが多いです。



修正したらAlfrescoサービスを再起動し、ブラウザでアクセスしてログイン画面が表示されることを確認します。


Alfresco 5.0の新機能


続いて、Alfresco 5.0の新機能について見ていきましょう。大きく分けると検索機能の強化とプレビュー機能の強化が挙げられます。

検索機能の強化


Alfresco 5.0での一番大きな変更点が、検索機能の強化になります。主な機能強化は以下のとおりです。
  • ファセット検索と検索結果の絞り込み
  • 検索文字列を複数指定した場合の挙動がOR検索からAND検索に変更
  • 検索結果画面からのコンテンツアクション実行
  • インスタント検索(画面右上の検索ボックスでのリアルタイム検索結果表示)



ファセット検索はもちろん大きな機能強化なのですが、個人的にはAND検索とアクション実行が嬉しいところです。これまで要件としてよく出てきていた内容で、ありがちなカスタマイズ項目だったりしました。

プレビュー機能の強化


Alfresco 5.0ではプレビューの機能も大幅に強化されています。主な変更点は以下のとおりです。
  • プレビューがHTML5ベースとなり、Flashが不要になった
  • プレビューでの検索やPDF形式でのダウンロード
  • 動画の疑似ストリーミング(プログレッシブダウンロード)



Flashが不要になったことで、より多くのクライアントでプレビュー機能を利用できるようになりました。また、大容量の動画ファイルをダウンロードすることなく再生できるようになったため、このようなメディアファイルを管理する環境での使い勝手も大きく向上するものと思われます。

その他の新機能


  • リッチテキストエディタの改善
  • サイトマネージャ
これまでは各サイトを訪問してサイトの設定を変更する必要がありましたが、Alfresco 5.0では管理者向けにサイトの一覧と簡単な管理を行えるUIが追加されました。



その他にも細かいところで様々な改善がなされていたりしますが、主要な機能強化は以上になります。

(2014/12/01追記) その後5.0.bがリリースされてさらにいくつかのエンハンスメントがなされています。詳しくは「Alfresco 5.0.bの機能紹介」を参照してください。


本エントリは以上になりますが、いかがでしたでしょうか。まずはAlfresco 5.0をインストールし、簡単に触ってみて使用感を確認していただければと思います。