原文: Extending Project WebSynergy's Tables

Project WebSynergy 

私達は、最近 プロジェクト WebSynergy のコニュニティフィーチャーでセマンティック化の作業を始めました。

そのことに関しては、私の ブログ を読んでください。

これを行うため、新規のカラムを追加したり、新規のテーブルを作成したり、既存のテーブル構造を拡張しなければなりませんでした。

このブログでは、プロジェクト WebSynergy の ServiceBuilder フレームワークを使うことでどの様に簡単にできるかを説明します。

例として、ontologyId カラムを既存のBlogsEntry テーブルに追加してみます。
また、新規に BlogsEntryOntologyMapping テーブルも追加してみましょう。 

好きな IDE (NetBeans を勧めますが) で
<synergy-workspace>\e2demo\synergy\liferay\patch\portal-impl\src\com\liferay
\portlet\blogs\service.xml

を開いてください。

それぞれの <entity> タグは DB 内のテーブルに対応しています。

"OntologyId" カラムを BlogsEntry テーブルに追加するために、
<entity name="BlogsEntry"> </entity> タグに以下を追加してください。

<column name="ontologyId" type="String" />

また、追加したカラムに対応する finder メソッドも追加します。
これを使い、コーラーは、ontologyId に対応した、ブログエントリを得ることができます。

        <finder name="OntologyId" return-type="Collection">
            <finder-column name="ontologyId" />
        </finder>
これは、BlogsEntryPersistence内と BlogsEntryPersistenceImpl内で findByOntologyId() を生成します。

新規 BlogsEntryOntlogyMapping テーブルを追加するために、以下を追加してください。

 <entity name="BlogsEntryOntlogyMapping" local-service="true" remote-service="true">
        <column name="entryId" type="long" primary="true" />
        <column name="ontologyId" type="long" />
    </entity>

次に、getBlogEntriesByOntologyId()BlogsEntryLocalServiceImpl クラスに追加する必要があります。

public List getBlogEntriesByOntologyId(String ontologyId) throws SystemException{ 

             List blogtnriesList = blogsEntryPersistence.findByOntologyId(ontologyId);

return blogtnriesList;

blogsEntryPersistence.findByOntologyId(ontologyId) 行で、コンパイルエラーが発生します。
これは、BlogsEntryPersistence インターフェースにメソッドがまだ追加されていないのが理由です。

しかし、この時点では気にしないでください :)

これらの変更後、
<synergy-workspace>\e2demo\synergy\liferay\portal\portal-impl へ コマンドプロンプトで cd し
以下の ant スクリプトを実行します。

ant build-service-portlet-blogs 

これは、ブログに関係のある、全てのサービス、util、persistence と  factory クラスを作成します。

<synergy-workspace>\e2demo\synergy\liferay\portal\portal-service\src\com\liferay\portlet\blogs \service\persistence\BlogsEntryPersistenceを開くと、findByOntologyId() が新たに生成されていることがわかると思います。

<synergy-workspace>\e2demo\synergy\liferay\portal\portal-service\src\com\liferay\portlet\blogs\ service\BlogsEntryLocalServiceBlogsEntryLocalServiceUtilを開くと、getBlogEntriesByOntologyId() が新たに生成されていることがわかると思います。

これで、BlogsEntryLocalServiceUtil .getBlogEntriesByOntologyId()ポートレットクラスや jsp から BlogsEntryLocalServiceUtil .getBlogEntriesByOntologyId() を呼び出すことができ、
特別な ontologyId を適用した、ブログエントリを得ることができます。

次は、スクリプトを変更します。

このために、開く前に、ant build-db をコマンドプロンプトで実行します。

<synergy-workspace>\e2demo\synergy\liferay\portal\sql\portal-tables.sql<synergy-workspace>\e2demo\synergy\liferay\portal\sql\create-*.sql を開きます。

スクリプトが適切に変更された事がわかります。

変更が DB (MySQL, HSQL, etc)に反映される様に、
lPortal データベースd下へ既存のテーブルをドロップし、サーバーを再起動します。
ontologyId カラムが BlogsEntry テーブルに追加され、 BlogsEntryOntologyMapping テーブルが作成されます。

プロジェクト WebSynergy のテーブル拡張はこの様に簡単です。この例を他の機能、ウィキやブックマーク等に応用できます。

 


原文: Voice-over Screencast to Demonstrate the Simple API for Workflow (SAW) Plug-in OpenPortal にて SAW のフィーチャーとして、様々なワークフローエンジンと相互作用するヒューマンワークフローを実行できる、一般的なワークフロー API が提案されています。 この一般的なワークフロー API は、Java Composite Appication Platform Suite に対する、デフォルトとして提供されます。現在、 ワークフロー API、ワークフロータグライブラリ、サンプルポートレット、そして開発者用 IDE に対するツールプラグインが SAW ホームページにて提供されています。

このスクリーンキャストでは、以下の事を学べます:

  1. どの様にヒューマンワークフローと Java Composite Application Platform Suite ワークフローエンジンが相互作用するか。
  2. どの様に NetBeans IDE に SAW プラグインを追加するか。
  3. どの様に SAW プラグインのドラッグアンドドロップを使い、簡単な web アプリケーションを作成するか。
  4. どの様にタスク ID ベースのタスクを表示する簡単な SAW ポートレットを作成するか。

 

原文: Semantic Community Portal in Project WebSynergy

   WebSynergy

 Semantic Web

プロジェクト WebSynergy のコミュニティフィーチャーとして セマンティック化が可能になりました。これは、そのプレビューバージョンです。
これは Web3.0実現へ向けての最初のステップです。

セマンティックウエブとはどんなものでしょう??
セマンティックウエブは、ウエブコンテンツは、自然言語においてばかりか、マシンによって情報を処理するため読んだり利用されるフォーマットにおいても表現される、といったワールドワイドウエブの拡張を含んでいます。 それは w3c で推奨です。

人はブログを読み書きする際、意味するところがわかりますが、マシンは意味するところはわかりません。

マシンにとって人間の様に、テキストから同じ様な情報を解読する程知的になるには、マシンに提供されるある種の情報が必要です。この "特別な" 情報は今までタグフォーム内のメタタグ、microformats あるいは、他の意味付けで提供されていました。 テキストにメタデータを構造的に、科学的つける非常に多くの方法は ontology と呼ばれるものです。

プロジェクト WebSynergy のコミュニティフィーチャーは、ブログエントリ、ウィキページそしてメッセージボードの追加ができます。

プロジェクト WebSynergy でどのようにしてコミュニティを作成するかは、私の ブログ を参照してください
セマンティックコミュニティポータルのアイデアに関しては、ここを見て下さい。

プロジェクトIn a Project WebSynergy コミュニティでは、community, ブログエントリやウィキページを作成するとき、オプションで、ontology 要素(メタデータの役割を果たす)を関連付けることができます。
ブログエントリを表示するとき、他の意味的に関連するブログエントリやウィキページが表示されます。 関連するエントリの検索は、検索キーワードでなく、意味的な検索が reasoner で行われます。 意味的 reasoner は関連する ontology 要素を推測し、関連した ontology 要素が与えられたブログエントリやウィキページを探します。

セマンティックコミュニティポータルの例は、スクリーンキャストで見れます。

原文: community javaone2008 websynergy

 

 このブログは、プロジェクト WebSynergy で、コミュニティを作成する手順を記載しています。

  1. プロジェクト WebSynergy に admin@example.com/adminでログインします。
    カーソルを"Welcome Admin User" メッセージ上に移動し Add Application 上でクリックします。
  2. Add Application ウインドウ内に表示される、Community セクション下の Communities を選択します。あるいは、search content テキストボックス 内で"communities"とタイプします。 "Add" をクリックするか、ポートレットをタブにドラッグアンドドロップします。コミュニティポートレットがタブに追加されます。
  3. Add Community ボタンをクリックします。
  4. 名前 (例えば Synergy) と入力し、Save をクリックします。 指定した名前でコミュニティが作成されます。
    "Available Communities" サブタブをクリックします。
  5. 先ほど作成したコミュニティに対して、"Actions" ボタンをクリックし、"Manage Pages" を選択します。
    コミュニティページ名 (例えばMySynergyPage ) を入力し、"Add Page"をクリックします。
  6. View Pages をクリックします。
    このコミュニティページに対して、どんなポートレットでも追加することができます。例えば、
        ブログポートレット
        ブログアグリケーターポートレット
        ウィキポートレット
        メッセージボードポートレット
  7. すべて、これらのポートレットは Add Application ウインドウの Colloboration セクション下にあります。
作成した "MySynergyPage"には、ユーザーがブログ、ウィキそしてメッセージボードを追加/表示できます。 



原文: Expense Report Widget showcasing SAW in Project WebSynergy

プロジェクト WebSynergy に付随してデリバーされた経費報告書ウィジェットは、SAW (ワークフロー用の単純な API)を使かって、一般的なワークフローシナリオをモデルにしています。 組織では、社員が経費報告書を提出し、マネージャーが承認あるいは拒否します。 提出されると、報告書がワークフロープロセス(JavaCAPS のようなワークフローエンジンにて)を起動し、関係するマネージャの未決済タスクになります。 マネージャーが報告書を承認/拒否すると、報告書はワークフロープロセスの次のステップに進みます。

このウィジェットは、簡単な JavaCAPS ワークフロープロセスで統合されています。 もし、ワークフローエンジンが利用できない場合、SAW は設定を参照しながら、ワークフローエンジンの無効を呼び出します。 もし、ワークフローエンジンの呼び出しがエンジンの設定なしにできるなら、システムエラーとします。

 ワークフローの他に、このウィジェットは以下の機能があります: 

  •  JMaki - JMaki Yahoo データベースの利用
  •  Ajax リクエスト(報告書の詳細を表示するため)のための JSR286 ポートレットServeResource 機能 の使い方

このウィジェットに関してもっと知るにはここをクリックしてください....

ここには、ウィジェットのステップバイステップのスクリーンキャストがあります。

原文: CMS on Project WebSynergy

     プロジェクト WebSynergy発表 で, 多くのインターネット、エンタープライズアプリケーションのアグリゲーションやプレゼンテーションのソリューションは、正しい方向に向かい出した様です。アプリケーションに対する多くの要望は、良いコンテンツ管理システム(CMS) です。どの様に プロジェクト Mirage が、WebSynergy で応用、利用されているか このエントリー を参照してみてください。

原文: Portal Pack NetBeans Plug-in for WebSynergy

WebSynergy プラグインのプレビュー版が Portal Pack プロジェクトサイトから利用可能になりました。この NetBeans プラグインはポートレットの開発と新しい WebSynergy 上への配備をサポートし、 Liferay と一緒に動作します。 詳しくは ここ を読んでください...

 

原文: Cross-Platform Inter-Widget communication Demo @ JavaONE 200

JavaONEProjectWebSynergy, はポータルという用語を再定義したものです。これは、ウィジェットプラットホームであり、Ruby や PHP といった、他のプログラムや web テクノロジーをネイティブにサポートします。Java, Ruby そして PHP ウィジェットはポータルページ上に共存するだけでなく、相互にコミュニケートします。そして、これらすべては、NetBeans プラグイン Portal Pack を使って簡単に作成できます。

このことに関しての詳細はここを読んでください。. ちょっと待って、百聞は一見にしかず、もし San Francisco やベイエリアにいるなら JavaONE 2008 ブースに来てください。
 

2008年

05月14日

原文: OpenPortal @ JavaOne 2008

今年の JavaOneSan Francisco で5月の第1週にあります。  OpenPortal コミュニティ は、今年は注目の的となり Sun's Portal ServerPortal Server 7.2 リリースの新機能と今後に関してのディスカッションを行います。release and beyond.  見逃さないでください!  また、皆さんを CommunityOne へ(申し込み/参加は無料)招待します。  GlassFish もi年間無料イベントとして "GlassFish UnConference"を主催します。    これらにすべてに、期待してください。  立ち寄って声をかけて下さい。:)

原文: WSRP 2.0 specification approved by OASIS

リモートポートレット用の Web サービス(WSRP) の仕様のバージョン 2.0 が OASIS 標準 として承認されました。 以下が承認された仕様へのリンクです。


  1. HTML: http://docs.oasis-open.org/wsrp/v2/wsrp-2.0-spec-cs-02.html
  2. PDF: http://docs.oasis-open.org/wsrp/v2/wsrp-2.0-spec-cs-02.pdf
  3. XML Schema: http://docs.oasis-open.org/wsrp/v2/wsrp-2.0-types.xsd
  4. WSDL:

OpenPortal WSRP プロジェクト は、上記の必要な全ての機能と仕様で定義されているオプションの主な機能を実装し マイルストーン 3 バイナリ がダウンロード可能です。

 

原文: Yahoo Suggest and Search Portlet in Portlet-Repository

porlet-repository に Suggest and Search ポートレットの追加がありました。これは、JSR286 ポートレットで、ユーサーの入力した単語に対して Yahoo Contextual Search  と  Yahoo Web Search サービス API をベースに web (Ajax と serveResource を利用し)から、検索に関連した提案を提供します。   ポートレットは、サービスに対し REST クライアントコールをし、XML/JSON フォーマットの結果を解析し、ユーザーに表示します。 

これは、オープンソースポートレットコンテナ 2.0 でテストしてきました。詳細は、ここの blog の投稿 と wiki ページ を参照してください。

 

原文: OpenPortal Portlet Container 2.0 RC1 released

Portlet Container 2.0 RC1OpenPortal Portlet Container 2.0 (JSR 286 仕様を実装) の最初のリリース候補がダウンロード可能になりました。

新機能をテストする為のサンプルが利用できます。

RC1前にインストールした Portlet Container 2.0 Beta2 をアンインストールすることをお薦めします。

このリリースでは、ベータ2から、いくつかの追加機能と拡張そして修正があります..

  • コンテナイベントのサポート
    • 現在、ログイン/ログアウトのイベントはサポートされていますが、今後さらに追加されます。課題 66 の例をチェックしてみてください。
  • ロールのサポート
  • JAXB に対してのイベントペイロードの整列/不整列
  • ポートレットとして、ビジュアルウエブコンポーネットを実行可能にするフィックス
  • WSRP 2.0 をサポートするためのいくつかの拡張

課題リスト は、追加の機能/拡張の詳細そしてフィックスを含んでいます。

Netbeans ポートレットパック 2.0 ベータ 3 は利用可能で、開発者がポートレットコンテナ 2.0 RC1 上で、ポートレットの開発、配備、そしてテストを手伝ってくれます。

もし、OpenPortal ポートレットコンテナの使い方に関して質問や、コメント、提案、要求がある場合には、users@portlet-container.dev.java.netエイリアスに参加することをお薦めします。

OpenPortal ポートレットコンテナ RC1 を使用中に問題が発生した場合には、issues@portlet-container.dev.java.netに報告してください。

原文: OpenPortal WSRP version 2.0 milestone 3 available

OpenPortal WSRP プロジェクト v2 マイルストーン 3 のダウンロードができました。  OpenPortal WSRP プロジェクトバージョン 2.0 は機能が完成し、OASIS WSRP 仕様が認められれば、いつでも OASIS WSRP 仕様 準拠になります。

OpenPortal WSRP v2 マイルストーン 3 は以下の機能のプレビューで、一部はOASIS WSRP バージョン 2.0 仕様で定義されています。

  1. WSRP 2.0 getResource
  2. WSRP 2.0 キャッシング
    1. マークアップキャッシング
      1. Expiration マークアップキャッシング
      2. Validation マークアップキャッシング
    2. リソースキャッシング
      1. Expiration リソースキャッシング
      2. Validation リソースキャッシング
  3. Tomcat 5.5 サポート
  4. 最新のWSRP 2.0 スキーマへ移行されたコード

プロジェクトダウンロードページから OpenPortal WSRP バージョン 2.0 マイルストーン 3 をダウンロードできます。

 

これが OpenPortal WSRP Project からの最後の主要なマイルストーンビルドです、今後のマイルストーンには、WSRP バージョン 2.0 実装に対して主要な新機能の追加はなく、むしろポートレット管理、CC/PP 等のWSRP バージョン 2.0 の機能を実現する為のプラグイン的な拡張方法を提供します。 

以下が、このマイルストーンに関連するドキュメントの一部です。

  1. Whats new in milestone 3
  2. WSRP installation on Glassfish
  3. Milestone 3 preview document
  4. WSRP installation on Tomcat
  5. WSRP User Guide

引き続き、OpenPortal WSRP バージョンversion 2.0 プロジェクトの今後のマイルストーンに注目してください。もし、これからのアナウンスを継続してトラックし、 OpenPortal WSRP プロジェクトに参加したい場合には、announce@wsrp.dev.java.net エイリアスに登録してください。

もし、OpenPortal WSRP プロジェクトの利用方法に関しての質問やコメント/提案/リクエストがある場合には、users@wsrp.dev.java.net エイリアスに参加することをお薦めします。

OpenPortal WSRP バージョン 2.0 マイルストーン 3 を試用中に問題を発見した場合には、issues@wsrp.dev.java.net にレポートしてください。

原文: OpenPortal @ Sun Tech Days Hyderabad Feb 27,29

Sun Tech Days Hyderabad私は、皆さんが、もっと OpenPortal Portal Server に関して知りたいと思っていると確信しています。どのように OpenPortal Portal Server が動き、どのようにコンテンツを扱い、ワークフローがあるのか。将来の機能など。
 これらに関してもっと知るには、以下の @ Sun Tech Days @ Hyderabad のセッションに注目してください。

  1. OpenPortal Portal Server
  2. OpenPortal Consumables.

OpenPortal を知る絶好のチャンスです。!!! 参加しましょう!!!

原文: Voice-over Screencast to Demonstrate WSRP Feature in Sun Java System Portal Server

Sun Java System Portal Serverリモートポートレット用の Web サービス(WSRP) 機能 をデモした音声付きスクリーンキャストがあります。 このスクリーンキャストでは、Sun Java System Portal Server で WSRP プロデューサ、コンシューマ、そしてチャネル/コンテナの作成方法を説明しています。

さらに、Sun Java System Portal Server で Netunity プロデューサからリモートポートレットをどのようにコンシュームするかによって、互換性についても説明しています。

すぐ、スクリーンキャストを見て、OpenPortal WSRP バージョン 2.0 のスクリーンキャストを見てください。