Liferay Portletを読み解く

Similar documents
intra-mart WebPlatform/AppFramework

C#の基本

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

基礎からの MySQL 改訂版 は Windows10 や Windows8.1 にも対応しています Windows10 および Windows8.1 をお使いの読者が 基礎からの MySQL 改訂版 を読み進めると きの補足説明 1. 基礎からの MySQL 改訂版 の Windows10 および

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

storage-sdk-Java

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

Microsoft Word - XOOPS インストールマニュアルv12.doc

Java言語 第1回

intra-mart Accel Platform — intra-mart Sphinxドキュメント ビルド手順書   第2版  

利用者

Java Bridgeを利用した他言語によるデータロード&プロットデモ

Eclipse マニュアル <作成目的> Eclipse のインストール方法などを紹介したページはいろいろありますが 専門用語がわからない初心者でもわか りやすく Eclipse のインストール方法 基本操作などをまとめたマニュアル作成を目的としています <目次> 1 Eclipse のインストール

ADempiere (3.5)

intra-mart 販売管理パッケージ

無料で多機能な OSS の ETL ツール Kettle を使ってみよう! 情報政策課技術職員金森浩治 1. はじめにデータ処理を行うにあたって非常に便利なツール ETL 本稿では OSS の ETL Kettle の機能とその使用方法を紹介します 2. 用語説明 2.1 OSS とは? OSS と

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

Windowsユーザでも 手軽に作れるiPhoneアプリ

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

IOWebDOC

[給与]給与奉行LANPACK for WindowsNTのサーバーセットアップのエラー

WebOTXマニュアル

無償コンパイラ(JDK(Java Development Kit))を用いたJavaプログラムの実行方法

PowerPoint プレゼンテーション

Prog2_6th

Webアプリケーションでのlog4j利用ガイド

HeartCoreインストールマニュアル

Web AppBuilder for ArcGIS (Developer Edition) インストールガイド

PowerPoint プレゼンテーション

24th Embarcadero Developer Camp

SystemDirector Developer's Studio(V3.2) 適用ガイド

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

Microsoft Word - tutorial3-dbreverse.docx

Steinberg 社 - VST3 対応シンセサイザービルド環境テンプレート (Windows 版 ) Quick 説明書 はじめにこの度は Steinberg 社 - VST3 対応シンセサイザービルド環境テンプレートをダウンロードして下さり 誠にありがとうございます 本説明書はビルド環境テンプ

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

Microsoft Office Visioによる 施設管理について

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

Windows への opensource COBOL 環境の構築手順 0. 前提条件当手順は Windows へ opensource COBOL 環境を構築する手順である 手順確認時の OS と時期は以下の通りである OS Windows 8.1(64bit) 時期 2018/09 1. 構築手

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

Java言語環境Java2SEついて

Intel MPI Library Linux

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

MotionBoard Ver. 5.6 パッチ適用手順書

intra-mart ワークフローデザイナ

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

Cuoreテンプレート

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

CMS Designerインストール手順

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

ポートレットを使ってみよう

◎phpapi.indd

DigiCert EV コード署名証明書 Microsoft Authenticode署名手順書

17章 プログラムの提供

ch2_android_2pri.indd

PowerPoint プレゼンテーション

intra-mart Accel Platform

10th Developer Camp - B5

SVF Ver 環境設定 パッチについて

Transcription:

LIFERAY PORTLET を読み解く 日本 Liferay ユーザグループ林田敦

自己紹介 林田敦 社会人 1 年目 某社でOSSに関する業務に従事 FB : http://www.facebook.com/atsushi.hayashida.5 OSS 活動 学生時代は日本 Android の会神戸支部に所属 先輩に連れられて丸の内 MongoDB 勉強会に参加

アジェンダ 1. Liferay Portal の簡単なご紹介 2. Liferay Portlet を読み解く

始める前に ice break

皆さんのリテラシを教えてください Liferay に触ったことありますか? 1. 情強だから開発できる 2. 情弱だから触ったことない 3. Liferay って何? 4. 情強とか情弱って何?

セミナーの趣旨 3 番が多いことを想定しています Liferay って何? そもそも OSS 自体あまり知らない という方が対象 インストール方法から ゆっくり解説していきます 目標 Liferay Portletの中身をざっと理解する Liferay Portletを自作するための足がかりを得る そのために スクリーン上で一緒にソースを読みます

セミナーの注意点 Liferay 初心者の Liferay 初心者による Liferay 初心者のためのセミナー 初心者おいてけぼりなセミナーはやりたくない! 初心者でも OSS を盛り上げたい! 情強な方々は 情弱な我々を救ってください

Liferay Portal の簡単なご紹介 1 st section

Liferay Portal って何? ポータル? www にアクセスするときの入口となるウェブサイトのこと 例 :Yahoo! JAPAN Google... Liferay は 企業情報ポータル等で使われます 企業内の散らばっているデータを集約表示したり ユーザや役職に応じた最適画面を作成したり もちろんオープンソースです LGPL ライセンス

Liferay Portal って何? 特徴 多機能 90 以上のポートレット ( 部品群 ) 高い操作性 マウスを使った直観的な操作が可能 デザインのアレンジが容易 高い拡張性 ポートレット ( 部品 ) 単位での開発が可能 JSR286(Javaポートレットの標準仕様 ) 準拠 SDKが用意されている

Liferay Portal を構築してみる 今回の環境 Windows7(64bit 版 ) Liferay はバージョン 6.1.1 を利用

Liferay Portal を構築してみる ローカルで Liferay Portal を構築してみよう 1. www.liferay.com から liferay-portal-6.1.1-ce-ga2 (Bundled with Tomcat) の zip ファイルをダウンロードして解凍 2. 解凍したディレクトリ中の tomcat-7.0.27/bin/ startup.bat を起動 3. 以上

PRACTICE Liferay を実際に構築して 操作してみよう! 前提条件 Liferay 本体の zip はダウンロードして解凍済 操作内容 startup.bat を実行して Liferay を起動する 起動した Liferay をちょっとだけ触ってみる 確認事項 Liferay が簡単に起動可能であること GUI で簡単に操作できること

Liferay Portlet を読み解く 2 nd section

Liferay Portlet って何? Liferay Portal の画面を構成するパーツ ガジェットみたいなもの Liferay Portal 自由に配置可能 Liferay Portlet Liferay Portlet Liferay Portlet Liferay Liferay Portlet Liferay Portlet Liferay Portlet Liferay Portlet Portlet

PRACTICE Portlet を操作してみよう! 操作内容 Liferay 上で Portlet を追加する Portlet の編集を行う 確認事項 多数の Portlet が用意されていること Portlet の追加や編集が簡単に行えること

自作ポートレットを作ってみる まずはポートレットを作ってみよう 1. www.liferay.com から liferay-plugins-sdk-6.1.1 (SDK) をダウンロードして解凍 2. コマンドプロンプトを起動し SDK 中の portlets ディレクトリ ( ポートレットを作る場所 ) へ移動 3. コマンド create.bat hello-liferay Hello Liferay を実行 4. 以上 ポートレット名 ポートレットタイトル

自作ポートレットを作ってみる ですが 失敗します 1 回目 :ant コマンド (Java 用のメイクツール ) が無い 手動で ant をインストール ( ダウンロードして解凍後 PATH 通す ) 2 回目 :ECJ(Eclipse の独自 Java コンパイラ ) が無い 自動的にインストールされるので もう一回コマンド実行 3 回目 :Tomcat のパスが違う SDK の build.properties ファイルを以下のように修正 app.server.dir=${project.dir}/../bundles/tomcat-7.0.27 app.server.deploy.dir=${app.server.dir}/webapps app.server.dir=[liferay のインストールディレクトリパス ]/tomcat-7.0.27 app.server.deploy.dir=[liferay のインストールディレクトリパス ]/deploy

自作ポートレットを作ってみる これで ポートレットが作成できる 1. コマンド create.bat hello-liferay Hello Liferay を実行 2. portlets/hello-liferay-portlet ディレクトリができあがる ( これがポートレットの実体 ) 3. 以上

PRACTICE Portlet を作ってみよう! 前提条件 ant コマンドと ECJ はインストール済 build.properties ファイルは修正済 (tomcat のパス ) 操作内容 hello-liferay-portlet を作成する - SDK で create.bat hello-liferay Hello Liferay を実行 確認事項 簡単に Portlet が作成できること - SDK の portlet ディレクトリ以下に hello-liferay-portlet ディレクトリが自動的に作成される

Liferay Portlet を読み解く 早速 自作ポートレットの中身を覗いてみよう hello-liferay-portlet/ build.xml docroot/ JSP ファイル WEB-INF/ js/ css/ icon.png view.jsp ant 用の定義ファイルカスタムタグの動作定義ファイル tld/ (src/) liferay-plugin-package.properties liferay-display.xml liferay-portlet.xml portlet.xml Java のソースコード 設定ファイル群

Liferay Portlet を読み解く 各設定ファイルの内容 (WEB-INF の中身 ) liferay-plugin-package.properties 本プラグインパッケージの情報 liferay-display.xml インストール後に表示されるポートレットのカテゴリ定義 liferay-portlet.xml Liferay ポートレット情報定義 (css や js icon などへの PATH) portlet.xml ポートレット情報定義 ( 初期画面 タイトル resource など )

PRACTICE ソースを読んでみよう! 操作内容 portlet を構成する各ファイルのソースを読む - view.jsp - 設定ファイル群 (~.xml ~.properties) 確認事項 ファイル構成や各ファイルの意味を知る

自作ポートレットをデプロイしてみる デプロイって? アプリを配置して 実際にポートレットを追加できる状態にすること Tomcat バンドルの Liferay の場合 Tomcat の webapps ディレクトリ ポートレットをデプロイする方法 コマンドプロンプトを起動し SDK 中の portlets/helloliferay-portlet ディレクトリへ移動 コマンド ant deploy 実行 以上

自作ポートレットをデプロイしてみる すると Liferay にデプロイされる ant により Liferay の deploy/ 下に war ファイルとしてデプロイされる Liferay 起動中は Liferay により自動的に tomcat- 7.0.27/webapps/ 下に展開される 必要なファイル群も自動的に配置してくれる

PRACTICE 自作ポートレットをデプロイしてみよう! 操作内容 Liferay を停止する SDK 中の portlets/hello-liferay-portlet ディレクトリへ移動する コマンド ant deploy を実行する Liferay を起動する確認事項 war ファイルが Liferay の deploy/ 下にデプロイされること Liferay 起動後 ポートレットが Liferay の tomcat- 7.0.27/webapps/ 下に展開されること

PRACTICE 自作ポートレットを画面に追加してみよう! 操作内容 Liferay 上で自作ポートレットを画面に追加する 確認事項 自作ポートレットも同じように画面に追加できること

カスタマイズしてみる ( その 1) 要件 ログインユーザ名を表示したい 例 : Hello, a-hayashida! ログインユーザ名

カスタマイズしてみる ( その 1) 方法 1. view.jsp に以下のコードを追加 <%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> <liferay-theme:defineobjects /> Hello, <%= user.getscreenname() %>!<br> 2. 以上

カスタマイズしてみる ( その 1) Tips: ログインユーザ名の取得 liferay-theme.tld からソースコードを追ってみる defineobjects で呼び出される DefineObjectsTag クラス liferay-portal-src-6.1.1-ce-ga2 util-taglib src com liferay taglib theme DefineObjectsTag.java DefineObjectsTag クラスでは JSP の pagecontext にログインユーザのインスタンスを user として setattribute する pagecontext.setattribute("user", themedisplay.getuser());

PRACTICE ポートレットをカスタマイズしてみよう!1-1 前提条件 Liferay 本体のソースはダウンロード済み操作内容 liferay-theme.tld のソースを確認 defineobjects で呼び出される DefineObjectsTag.java のソースを確認確認事項 pagecontext にログインユーザを user として setattribute していること - pagecontext.setattribute("user", themedisplay.getuser());

PRACTICE ポートレットをカスタマイズしてみよう!1-2 前提条件 view.jsp は修正済 - <%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> - <liferay-theme:defineobjects /> - Hello, <%= user.getscreenname() %>!<br> 操作内容 view.jsp のコードを確認する デプロイしてポータルの画面で確認する確認事項 JSP をカスタマイズすることで ポートレットの画面をカスタマイズすることが可能であること

カスタマイズしてみる ( その 2) 要件 足し算したい 例 : + 6

カスタマイズしてみる ( その 2) 方法 1. calc-portletの作成 2. Actionクラスの作成 calc-portlet/docroot/web-inf/src/calc.java を作成 3. JSP の修正 view.jsp の修正 4. 設定ファイルの修正 portlet.xml を修正

カスタマイズしてみる ( その 2) Tips:Action クラスの利用 Action クラス doview メソッド ポートレットを表示する際に実行される processaction メソッド JSP の Form から Action として呼ばれた際に実行される portlet.xml の変更点 <portlet-class> で Action クラスを指定する JSP からは <portlet:actionurl /> で取得できる

カスタマイズしてみる ( その 2) Tips: メソッド間のデータ受け渡し ActionResponse と RenderRequest を利用する void ActionResponse.setRenderParameter(String key, String value) String RenderRequest.getParameter(String key)

PRACTICE ポートレットをカスタマイズしてみよう!2 前提条件 calc-portlet は作成済 Action クラスは作成済 view.jsp portlet.xml は修正済操作内容 Action クラス view.jsp portlet.xml のコードを読む デプロイしてポータルの画面で確認する確認事項 Action クラスの doview メソッドと processaction メソッドの実装方法 Action クラスを利用したポートレットが動作すること

おわりに ending

以上 お疲れ様でした! 本セミナーで学んだこと Liferay Portal の概要と構築方法 Liferay Portlet の基本 作成する方法 ファイル構成 ファイルの内容 Liferay Portlet のカスタマイズ JSP のみのカスタマイズ Action クラスを使うカスタマイズ これであなたも Liferay Portlet 開発者です!

LIFERAY PORTLET を読み解く ご清聴ありがとうございました! 日本 Liferay ユーザグループ 林田敦

参考資料 LGPL ライセンス概要 ( 引用 :wikipedia) 社内など私的組織内部や個人で (private) 利用するにあたってのソースコード改変 再コンパイルには制限がない LGPL で頒布されたプログラムを再頒布する際にはソースコードを公開する必要がある