Friday, October 25, 2013

NTLM SSO with Alfresco 4.2 and Active Directory

Do you have an Active Directory server, and want to set up Single-Sign-On (SSO), so that everyone in the domain can log into Alfresco without providing their credentials? Then this article is for you!

What you will need

Obviously, you need to download Alfresco, if you don't have it already. The newer the better, but I guess the instructions below would work for any Alfresco above 3.2.

While downloading, find and take note of the information below, you will need it:
  1. Name of the Active Directory server (let's say it is kate)
  2. Name of the domain (let's say it is aegif.local)
  3. Name of the domain administrator (let's say it is Administrator)
  4. Password of the domain administrator (let's say it is thepassword)
  5. For tests, you will also need a machine that belongs to the domain, different from the domain server itself.
Now let's get started!

Set up Alfresco

Install Alfresco on the Active Directory server, and run it once to check that it works.
If you have not specified any particular port, then Alfresco is running on port 8080. If you have chosen a different port, just adapt the occurrences of 8080 in the following.

Add the following lines at the top of file tomcat\shared\classes\alfresco-global.properties :

authentication.chain=passthru1:passthru,ldap-ad1:ldap-ad,alfrescoNtlm1:alfrescoNtlm
ldap.authentication.active=false
ldap.authentication.userNameFormat=%s@aegif
ldap.authentication.java.naming.provider.url=ldap://kate:389
ldap.synchronization.java.naming.security.principal=Administrator@aegif
ldap.synchronization.java.naming.security.credentials=thepassword
ldap.synchronization.groupSearchBase=cn\=Users,dc\=aegif,dc\=local
ldap.synchronization.userSearchBase=cn\=Users,dc\=aegif,dc\=local
synchronization.import.cron=0 0 5 * * ?
ntlm.authentication.sso.enabled=true
passthru.authentication.defaultAdministratorUserNames=Administrator
passthru.authentication.useLocalServer=true
passthru.authentication.domain=
passthru.authentication.servers=
  1. Replace aegif with your domain name minus the .local part
  2. Replace kate with your the name of your Active Directory server.
Note: The above supposes that Alfresco is on the same server as Active Directory. If not, just replace the last 3 lines with these ones:

passthru.authentication.domain=aegif
passthru.authentication.servers=aegif\\nameoftheactivedirectoryserver
passthru.authentication.defaultAdministratorUserNames=Administrator

Set up Alfresco Share

Open tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml

Find the block that says <config evaluator="string-compare" condition="Remote"> (it is towards the end)
Delete this entire block, and also delete the <!-- and --> commenting around it.
Instead, paste this:


   
      
         alfrescoCookie
         Alfresco Connector
         Connects to an Alfresco instance using cookie-based authentication
         org.alfresco.web.site.servlet.SlingshotAlfrescoConnector
      
      
         alfresco
         Alfresco - user access
         Access to Alfresco Repository WebScripts that require user authentication
         alfrescoCookie
         http://kate:8080/alfresco/wcs
         user
         true
      
   


Configure the domain server

Logged as the administrator of the domain, press Win+R and execute gpedit.msc .
Gpedit is the group policy editor, with which you can modify policies for the whole domain. With this tool, we will just need to modify a single parameter.

In the tree in the left pane, select Local Computer Policy > Windows Settings > Security Settings > Local Policies > Security Options.
A long list of items with similar names will appear in the  right pane. Select Network Security: LAN Manager authentication level.

A dialog will appear.
In the dropdown box, set the value to Send LM & NTLM - use NTLMv2 session security if negotiated, as highlighted below:


Press OK and quit the policy editor.

Configure each client

Yes, you will need to perform the following on ALL client machines :-/

Open Internet Explorer (you know, that tool you use to download Firefox)
Click Tools > Internet options > Security > Local intranet > Sites > Advanced.


You will get the dialog below:


If you want to access your Alfresco server via HTTP (not HTTPS), then you might need to first uncheck Require server verification (https:) for all sites in this zone.

Type in the protocol and machine name of your Alfresco server, as seen above, then press Add and close.

Other browsers like Firefox and Chrome also have settings for this.

Test

That's all, time to test!
Open http://kate:8080/alfresco in Internet Explorer.
It should show your documents immediately, without asking for for any username/password.

Troubleshooting

If things don't go as well as expected:

1) Read alfresco.log and spot any exception.

2) Run the LDAP queries (ldap.synchronization.groupSearchBase and ldap.synchronization.userSearchBase) in an LDAP browser like Apache Directory Studio.
Nicolas Raoul

Tuesday, October 15, 2013

海外へソフトウェアを売る:海外のお客さんにとって便利かつ、手数料が少ない支払い方法?

イージフはCmisSyncという120USドルのソフトウェアを海外に売って初めたら、支払いの選択を検討しました。完璧な方法がないので、選択肢を下記に説明します。


銀行振込

銀行振込は海外のお客様にとって一番不便な選択肢です。

ヨーロッパ人はヨーロッパ内へ振込をするとき、IBAN("国際講座番号")という便利なシステムに慣れていて、金額と相手の番号だけ入れたら終了です。米国だとRTNという似てるシステムがあります。IBANは最近アジア、アフリカと中米に普及していますが、残念ながらまだ全世界ではありません。
特に、日本ではSWIFTコードという古い仕組みしかなく、IBANはまだ使用できません。

海外のお客様にとっての不便ポイント:
1.カザフスタンへ振込は30秒で終わりますが、銀行員は日本への振込経験がなく、振込をするのは難しいです。私が銀行で手続きした際は、銀行員が混乱してしまい、色々な資料を書かされました。
2.外国人は、日本の名前と住所を書くのは苦手です。文字を書き間違えることが多く、振込がうまく行きません。8つの情報も必要です:受取人取引銀行名、受取人取引支店名、受取人口座名義、会社住所など、銀行支店住所まで必要とします。一般の米人にとっては、これはありえません。

逆に、弊社にとっては一番楽な方法です:銀行口座を持ってるだけでできます。ただし、書き間違いの際に、サポートの手間が掛かります。

銀行振り込みの手数料は、固定の部分が大きいので、120USドルの場合は不利です。
送金手数料、海外電信手数料、為替取扱手数料など掛かります。お客様側の手数料もあり、弊社側の手数料もあります。

結論:
金額が大きい場合、もしくは一回のみの場合には、便利です。
120USドルの商品を大量に売りたい場合は、お勧めしません。手間が掛かり、買わないお客様もいます。

VisaやMastercardクレジットカード

海外のお客様にとって一番便利な方法です。
ソフトウェアをインターネットで買うと、クレジットカードの番号を聞かれます。

VisaとMastercardだけで、世界中で対応できます。
しかし、この2社と契約を結ぶ必要もあり、支払いの為のウェブページを作る必要もあり、手間が掛かります。手数料も掛かります。

クレジットカード会社の上に、まとめてサービスを提供してる会社もあります。もちろん、手数料が更に掛かります。
例えば、イプシロンという会社がVisa、Mastercard、Diners、American Express、JCBを扱っていていますが、手数料は約8%掛かります。

結論:
手数料は高いですが、たくさん売る場合は必要な方法になります。

ペイパル

会社にとっても、お客様にとっても、比較的に簡単な方法です。

振込やクレジットカードと違って、手数料は弊社が払います。
手数料が銀行振込より低いです:基本は3.9% + $0.30 USDです。

例:
・取引手数料:ドル取引の場合3.9%+0.3USD
・換算レート:本日のTTM96.94円に対して94.8円
・出金手数料:5万円未満の場合250円
なので、一回ずつなら6%+0.3USDぐらいになります。

ペイパル法人アカウントを作るのは難しいくありませんが、
・ 色々な資料を送る必要があります。
・手続きは、取締役か代理人がを行えます。
・テスト振込と郵便で確認されます。
・およそ一週間ほど掛かります。

Bitcoin

大幅に、手数料が低い方法です:0.06% (銀行振り込みはその100倍ぐらい)

bitcoinをもらったら、そのまま保存するか、簡単に日本円に変換もできます。
MT.GOXという世界一大きいBitcoin取引所は東京の渋谷にあります。

しかし、 Bitcoinを使うお客様が少ないです。特に、企業ではほとんど使用されていません。
弊社にとっては、設定はクレジットカードより簡単です。

結論

銀行振り込みとペイパルでめて、売上が上がりそうの場合はクレジットカード、という戦略をお勧めします。
他の方法やアイディアがあれば、ぜひ nicolas.raoul@aegif.jp へご連絡ください!(日本語の対応も可能です)
Nicolas Raoul

Monday, October 7, 2013

Alfresco 4.2.dの新機能というか改善点

こんにちは。旅行のスケジュールがなかなか決まらないおおたにです。

来る10/18(金)~10/20(日)に弊社社員旅行で北海道の富良野~美瑛~白金あたりに行くのですが、まだ全然計画を立てていません。娘(2歳)を連れて行くので、トイレ的な何かとか、そもそも子供も喜びそうなところを探すとか、ある程度は予定を組んでおくべきなのですが…。

さて、今回は8月末にリリースされたAlfresco Community 4.2.dの新機能や改善点などを紹介しようと思います。なお、当エントリはこちらの記事を参考にしています(一部補足もあり)。では、早速見てみましょう。


Shareヘッダがかっこよくなった!


いきなり見栄えの話で恐縮ですが、Shareのヘッダがかっこよくなりました。モノトーンですっきりしました。「マイファイル」「共有ファイル」というメニューも新しく登場しましたが、これらについては後述します。



また、注意点としては、これまではshare-config-custom.xmlでヘッダ表示内容をカスタマイズできたのですが(デフォルト設定はshare-config.xmlに記載されている<config><header>セクション)、当バージョンではこの設定ではカスタマイズできません。webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\share\imports\share-header.lib.jsでハードコードされているので、これを変更することになります(将来的には設定ファイルで変更できるようになりそうですが…)

ちなみに、インストールしてみたもののヘッダ表示が文字化けもしくは崩れちゃいますよという方はこちらの記事「Alfresco 4.2.dがリリースされたので早速インストールしてみた」を参照してみてください。


ドキュメントライブラリがかっこよくなった!


はい。かっこよくなったシリーズ第2弾です。 ドキュメントライブラリに限りませんが、アイコンが一新されたりして流行のフラットデザイン風になっています(ヘッダの変更もその一環のように思われます)。もちろんデザインの変更だけでなく、いくつかの機能追加がなされています。



1. スライド表示

これまで、「詳細表示」「シンプル表示」「ギャラリービュー」の3種類の表示がありましたが、新たにスライド表示」が加わりました。画面右上の「オプション」から「スライドの表示」をクリックすると以下のような画面になります。新たに「全ウィンドウ表示」や「全画面表示」機能も追加されているので、それと合わせると、簡易スライドショー的な使い方ができます(ESCキーで元のサイズの表示に戻ります)。



2. テーブル表示

ついにコンテンツのテーブル表示ができるようになりました!これたくさん要望いただいていて、実際にカスタム実装されていた方もいるような機能なのですが、やっと標準機能で対応されたようです。「オプション」から「表の表示」「オーディオの表示」「メディアの表示」を選択するとテーブル表示に切り替わります。



3種類のオプションがあるところから容易に察することができますが、表示列のカスタマイズや表示形式の追加が簡単に行えます。具体的にはshare-config-custom.xmlで設定することになります(デフォルト設定はshare-documentlibrary-config.xmlの<config evaluator="string-compare" condition="DocumentLibrary"><doclist><view-renderers>セクションで定義されています)。"table"というidのview-rendererがデフォルト表示に対応するようですので、これを参考にしてカスタムプロパティの表示を追加するなどすればよいと思います。

3. 表示形式の保存

これ地味に便利な機能なんですが、ユーザごと、フォルダごとに好きな表示形式を保存することができるようになりました。これまでは一度詳細表示に切り替えると全てのフォルダが詳細表示になってしまいましたが、画像フォルダはギャラリービューにしたいなど、特定のフォルダのみ特定の表示形式に固定することができます。「オプション」の「このフォルダのデフォルトとして○○を設定する」から表示形式を固定することができます。


マイファイルと共有ファイル


かっこよくなったシリーズはこれくらいにしておいて、便利になったシリーズに移ろうと思います。第1弾はマイファイルと共有ファイルです。それぞれShareのヘッダから直接アクセスすることができます。

Alfrescoには2つの使い方、サイトとリポジトリというものがあります(くわしくは「Alfresco 4.0の使い方 - 準備編(2) - リポジトリとサイトの準備をしよう」を参照) 。サイトを利用していると、チーム単位での情報共有はできるのですが、個人毎のチームに属さないコンテンツの管理、チームをまたいだ情報共有などを行うために一工夫必要でした。そのためにリポジトリを使うという手段もあるのですが、リポジトリのルートフォルダには各種システムフォルダが見えてしまうため(もちろん一般ユーザはリードオンリーですが)、実運用的にはイマイチ、という状況でした。

マイファイルは、自分だけが参照・管理できるコンテンツを格納することができます。この実体は何かというと、既存のAlfrescoにも存在するユーザホームフォルダになります。これまではリポジトリ経由でないとアクセスできませんでしたが、そのフォルダにShareヘッダから直接アクセスできるようになりました。これでリポジトリを一般ユーザに晒さなくてもユーザホームフォルダを活用できるようになります(ユーザホームフォルダの実体はCompany Home/User Homes/以下に生成されるユーザID名のフォルダ)。

共有ファイルは、全員がアクセスできる全ユーザ共有のフォルダスペースになります。このフォルダを使うことでサイトに囚われないコンテンツ共有を実現することができます。ただ、デフォルトでは全ユーザ書込み可能なので、管理者がフォルダを作成して各フォルダに権限設定するなどして、通常のファイルサーバと同様のアクセス権管理を行う必要があります。この機能も、リポジトリを一般ユーザに晒さずに実施することができます(共有ファイルの実体はCompany Home/Sharedフォルダ)。

ちなみに、Shareヘッダの「リポジトリ」リンクは、share-config-custom.xmlに以下の内容を追記すると隠ぺいすることができます(管理者は設定に関わらず表示されます)。
<config evaluator="string-compare" condition="RepositoryLibrary">
   <visible>false</visible>
</config>



ユーザ毎のごみ箱機能


地味に便利になったシリーズ第2弾はごみ箱機能です。これまでは管理者権限を持つユーザだけが、ファイルを1つずつ復旧もしくは削除するだけの簡易的なごみ箱機能しか提供されていませんでしたが、当バージョンからはユーザ毎のごみ箱機能が追加されました。しかも複数ファイル選択してまとめて復旧/削除したりできます!画面右上のユーザ名のプルダウンから「マイプロファイル」をクリックし、「ごみ箱」タブをクリックしてください。



さいごに


上記以外にも設定ファイルでカスタマイズできる項目が増えていたり、便利なREST APIが追加されていたり、細かいところでパフォーマンス改善がはかられていたりと、様々なエンハンスメントが行われているようです。あとは、エントリ「Alfresco 4.2.dから追加されたCSRF Policyをひとまず無効にする 」にあるようなセキュリティ対策も4.2.dで新規実装されています(記事では盛大に無効っちゃってますが…)。これを機会に是非皆様もAlfresco Community 4.2.dを試してみてはいかがでしょうか。

Wednesday, October 2, 2013

Alfresco勉強会#18 振り返り

こんにちは。自動車保険の更新時期が近づいてきて不眠気味の大谷です。

生命保険とか医療保険みたいに乗り換えるとペナルティがある(契約時期が若いほど安い)ものだと基本継続で良いのですが、自動車保険は見直すたびに他社が安いので毎回それなりの労力をかけて5社~10社程度オンライン見積もりで比較して最安値のところを見つけています。これまで一度も継続したことないんですが、自動車保険って乗り換えのお客さんに裏で値引きした金額を提示してたりするんでしょうか?自動車保険に安寧の地はあるのだろうか…

さて、少し遅くなってしまいましたが、さる9/25(水)に第18回Alfresco勉強会が開催されました。今回は2つの発表がありましたので、それぞれ簡単に紹介したいと思います。


1. Alfrescoのバックアップとリストア

資料はこちらです。

はい、自分の発表です。Alfresco4でのバックアップとリストアの方法について簡単に(というかエッセンシャルな部分を)紹介しました。

バックアップの対象となるデータがDBとファイルシステム(コンテンツのファイル実体)、全文検索インデックスの3つで、コールドバックアップとホットバックアップでそれぞれどのようにバックアップ/リストアを行うのかという内容です。ホットバックアップ時の3データのバックアップ順序がとても重要です。


2. パフォーマンスチューニングのさわり

資料はこちらです。

続いて弊社戸谷からの発表で、Alfrescoについての(一部はもっと一般的なJavaアプリケーションにも共通する)パフォーマンスチューニングの概論が紹介されました。

この手の話はなかなかまとまった情報として存在しないので、とても重宝する内容じゃないかと思います。パフォーマンスに影響を及ぼす要素とAlfresco上での具体的なイベント、それらへの対処方法が説明され、一部はAlfrescoでの実際の設定項目が紹介されました。話の中で一番意外だったのは、搭載メモリを出来るだけたくさんJVMのヒープ領域に充てるのではなく、必要量を実践的に決定し、残りをディスクキャッシュとして有効活用できるようにする、という点でした。


次回、第19回Alfresco勉強会は11/27(水)19時を予定しています。Alfrescoについて発表をしたいよ、という方を含め、たくさんのご参加をお待ちしております。

Friday, September 20, 2013

Alfresco 4.2.dから追加されたCSRF Policyをひとまず無効にする

こんにちは、かわべです。
今回はAlfresco4.2.dから新規追加されたCSRF filterについて紹介します。内容はこちらの記事(英語)を参考にしています。

CSRFとは?


CSRF(クロスサイトリクエストフォージェリ)とは、悪意ある人間の細工によって、サイトの閲覧者が意図しない操作を本人も気づかないまま実行させるものです。CSRF対策のひとつにサイト内で発行するトークンを利用する方法があり、Alfresco Shareでもこの方法でCSRF対策を行うようになりました。

ユーザがShareでログインし、ページが遷移するごとに新規トークンが生成されます。Share上からHTTPリクエストを行う場合、そのページで生成されたトークンをリクエストへ埋め込みます。このトークンをチェックすることで、外部から送り込まれた不正なリクエストでないことを判断することができるという仕組みです。org.alfresco.web.site.servlet.CSRFFilterが実際の処理を行うクラスです。

さて、参考記事には「CSRF filterがカスタムコードに影響を与えることはそれほど多くありません」とあるのですが、4.2.dで動作確認中、CSRF filterが原因でカスタムモジュールが正常に動作しないということがありました。出力されたエラーログと、CSRF filterを簡単に無効にする方法を見てみましょう。

CSRF filterによるCSRF攻撃検知


正常に動作しなかったのは、認証のために連携したLDAPサーバのパスワードをShare上から変更するためのダッシュレットです。これは過去にaegifで作成したものです。




フォームで入力したパスワードをLDAPサーバへ送信して更新する…というものなのですが、パスワードを変更しようと送信ボタンをクリックしたところ、失敗してしまいました。




share.logを確認してみると…エラーが出ています。

(抜粋)
17:44:16,125 INFO  [org.alfresco.web.site.servlet.CSRFFilter] Possible CSRF attack noted when comparing token in session and request header. Request: POST /share/page/components/dashlets/ldaputil
17:44:16,166 ERROR [org.alfresco.web.site] javax.servlet.ServletException: Possible CSRF attack noted when comparing token in session and request header. Request: POST /share/page/components/dashlets/ldaputil


ダッシュレットからのPOSTリクエストがCSRFだと疑われてしまい、処理が実行されなかったようです。

CSRF Policyをとりあえず無効化する


せっかく追加された新機能、最大限に活用したいところですが、とりあえずコードには手を入れずにモジュールを動かしたい場合もあるかと思います。今回は定義ファイルを変更することでfilterを無効化する方法を紹介します。変更する定義ファイルはshare-config-custom.xmlです。

<tomcat_dir>/shared/classes/alfresco/web-extension/share-config-custom.xml

ここに、以下の定義を追加します。

<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
   <filter>
      <rule>
         <request>
            <method>POST|PUT|DELETE</method>
            <session>
               <attribute name="_alf_USER_ID">.*</attribute>
            </session>
         </request>
         <action name="assertReferer">
            <param name="always">false</param>
         </action>
         <action name="assertOrigin">
            <param name="always">false</param>
         </action>
      </rule>
   </filter>
</config>

replace=trueとなっているため、元のCSRF Policy定義はすべて上書きされます。
(ちなみに、元のCSRF Policy定義は 
<tomcat_dir>/webapps/share/WEB-INF/classes/alfresco/share-security-config.xml
にあります。)

新しい定義に置き換えることで、リクエストに伴うトークンの比較は行われなくなります。ただし、RefererとOriginがリクエストヘッダに存在する場合、そのチェックは引き続き行います。

share-config-custom.xmlを変更したら、Alfrescoを再起動して、同じダッシュレットからもう一度LDAPパスワードの変更を試してみます。

今度はCSRF filterに引っかかることなく、無事にパスワードが変更できました。



注意!


今回ご紹介した方法ではデフォルトのCSRF Policyを弱めることになります。本来は発行されたトークンを正しく利用するよう、カスタムモジュールを変更することが推奨されているという点にご注意ください。具体的な変更方法は、最初にリンクした記事を参考にしてみてください。

Tuesday, September 10, 2013

Alfresco 4.2.dがリリースされたので早速インストールしてみた

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

週末(と言っても先々週)に青森旅行に行き、十和田湖や奥入瀬あたりを散策してきたのですが、見事に暴風&土砂降りで思い描いた自然とはいまいち触れ合えませんでした。ただ、八戸で食べた寿司はとてもおいしかったので、旅行としてはそれなりに満足したものとなりました。


ついにリリースされたAlfresco Community 4.2.d


さて、そんな奥入瀬に宿泊しているタイミングでついにリリースされましたAlfresco Community 4.2.d! 現実世界に戻ってきて仕事がひと段落ついてからインストールしてみたところ、あれ、なんかおかしい?(インストールはこちらあたりを参照してください)


Shareのヘッダが表示されない?文字化けしてる?


まずは手元のWindowsにインストールしてアクセスしてみたところ、見事にShareのヘッダが表示されませんでした。




テストのために、CentOSにもインストールしてアクセスしてみたところ、Shareのヘッダは表示されたものの、文字化けしたりしなかったりでした(自分の環境では正常だったのですが、他のメンバの環境では文字化けしました…)。サービス起動か起動スクリプト直叩きかによって結果が異なったりする模様です。こうなると俄然環境変数周りが怪しくなってくるのですが、詳しい話はそのうち誰かがしてくれるはずです。ちなみに一応つたない(怪しい)英語でJIRAに報告済です…。



ちなみに、正常に表示されるとこんな感じです。マイナーバージョンアップなのにヘッダが劇的にかっこよくなってます!(まあそのためにこんな問題が発生してるんですが…)




ワークアラウンドはJAVA_OPTSでのデフォルトエンコーディング指定


ちょっと調べてみると、ヘッダのhtmlを生成するJavaScriptコードに文字化けしたリソースが入っていることが確認できました(ちなみに文字化けしないものは全て\uxxxxエスケープされてます)。なので、ワークアラウンドとしてJavaの起動オプションJAVA_OPTSでデフォルトエンコーディングをUTF-8に指定してみます。

LinuxやMacOSのインストーラを利用した場合は <tomcat_dir>/scripts/ctl.sh のJAVA_OPTSに"-Dfile.encoding=UTF-8"を追加し、Windowsインストーラを利用した場合は、以下のコマンドを実行して起動オプションに"-Dfile.encoding=UTF-8"を追加します。

<tomcat_dir>/bin/tomcat7w.exe //ES//AlfrescoTomcat 



Alfrescoを再起動すると、ヘッダが正しく表示されるようになるはずです。


さいごに


今回はヘッダ表示がうまくいかない場合のワークアラウンドの紹介だけになってしまいましたが、次はAlfresco Community 4.2.dの新機能を見ていく予定です。既に英語圏のblogでは色々紹介されているのですが、実際に触ってみた感じなどを日本語で紹介できればと思います。

Thursday, September 5, 2013

Liferay Social Networkingアプリケーションの紹介

はじめまして。こんにちは。かわべと申します。
先日aegifに新規メンバとして参加し、この度めでたく初ブログ記事を書くことになりました。何卒よろしくお願いします。

さて、この記事ではLiferayのSocial Networkingというアプリケーションを紹介します。このアプリケーションを追加することによって、LiferayでもFacebookライクなソーシャル機能をポートレットで実現することができるようになります。ソーシャル機能、とだけ聞いてもピンとこないかもしれませんが、最後まで読むとイメージを掴んでいただけると思います。ではアプリケーションのインストールから始めましょう。

Social Networkingアプリケーションの追加


Social NetworkingにもCommunity Edition(CE), Enterprise Edition(EE)がありますが、ここではEEを利用して説明していきます。(CEでも同様の手順でインストールが可能です)

まず、管理者でログインし、コントロールパネルからマーケットプレイスへと移動します。そこから"Social Networking EE"というアプリケーションを選択、ダウンロードします。以上でアプリケーションの追加は完了です。

一見何も変化はありませんが、ひとまずサイトのトップページにでも移動してみます。そこで、ページ上部の「追加」から「詳細」を選択し、追加ポートレット選択画面を表示します。デフォルトの設定では「Wiki」「コミュニティ」などのカテゴリが上から並んでいるはずですが、その中で「ソーシャル」のカテゴリをクリックして開くと…ここにSocial Networkingアプリケーションのダウンロードによって追加可能となったポートレットが並んでいます。



追加前・追加後の比較画像がないので、変化が…わからないですね!(すいませんスクリーンショットを取り忘れました)

さて気を取り直して追加可能となったポートレットについて。Social Networkingのポートレットはその機能によって
  • サイトページに追加するもの
  • ユーザの公開ページに追加するもの
の2種類に大別されます。それぞれ見ていきましょう。


サイトページに追加するもの

Map, Meetups, Members, Members' Activities


・Map
Mapはユーザの現在位置を表示することができます。
ただし、実際にMapポートレットを追加してみるとわかりますが、Mapを利用するためにはマーケットプレイスから更にポートレットを追加する必要があります。今回は割愛しますが、設定方法はこちらに解説されています。

・Meetups
日時、参加者数の上限、参加費などを指定してイベント(Meetup)を作成することができます。現状ではイベントを作成可能なのは管理者のみとなっています。イベントに対してはユーザそれぞれが参加・不参加の意思表示をすることができ、管理者は参加者を把握できます。




・Members
サイトメンバの一覧を表示します。メンバ名をクリックすると、そのメンバの公開ページへと移動します。




・Members' Activities
サイトメンバの直近のアクティビティを表示します。


ユーザの公開ページに追加するもの

Summary, Friends, Friends' Activities, Wall


ユーザの公開ページに追加するポートレットはFriends機能に関連するものです。Facebookを利用したことがある方には馴染みのあるものだと思いますが、Friends機能はユーザ間で密なコミュニケーションを取ることを容易にしてくれます。

・Summary
ユーザがポータルに登録している情報の一部を、簡単な自己紹介として表示します。他のユーザと友人になりたい場合は、友人になりたいメンバの公開ページにアクセスし、Summaryから友人申請をすることができます。




友人申請を受けた場合、その通知はリクエストというポートレット(「ソーシャル」カテゴリに最初から存在しています)に表示されます。友人機能を利用するためにはこちらのポートレットも追加しておきます。




・Friends
Friendsポートレットには、友人になったユーザがリスト表示されます。

・Friends' Activities
友人の直近のアクティビティを表示します。

・Wall
友人であるユーザ同士は、互いのWallにコメントを記入することができます。気軽なコミュニケーションツールとして利用できます。



おわりに


Social Networkingのポートレットを設置することで、使い勝手のよいソーシャルなページを作成することができるでしょう。もちろん他のポートレットと同様、表示権限の設定などを行うこともできるので、要件に合わせて設定してみてください。