ECM, BI, and AI / Semantic Tech Open Source, HTML5/JS, Angular, Alfresco, CMIS, BI, Visualization, AI, Semantic Search, SPARQL/RDF/OWL

30. November 2008

Liferay + FlexSpaces + Alfresco

HOW TO: FlexSpaces in Liferay IFrame portlet

liferay iframe flexspaces

screencam video demo

I just tried a quick test of running FlexSpaces+Browser in a Liferay IFrame portlet. It worked! All features of flexspaces worked:

  • Doc library, search, tasks, wcm views
  • Drag/drop of files between dual panes, internal cut/copy/paste between spaces
  • File upload, file download, file viewing, preview, play video
  • Checkin, checkout, edit, cancel checkout, update, make versionable, version history panel
  • Icon, thumbnail, grid list, cover flow view modes
  • Search, advanced search, tag cloud, category navigation
  • Create space, properties edit, tags/categories edit
  • Make pdf, make flash, start workflow
  • Coming flexspaces 0.8 features with Calais integraion (auto-tag, manual semantic tag properties edit, multiple semantic tag clouds)

Issues noticed: works best when portlet maximized, when not, doesn’t use full portlet area, when switching portlet between regular and max size looses login, liferay dialog not always on top of iframe/flash. Things might work better with the Liferay Flash portlet.

(Update 8/16/09: Added short term state save/restore in SharedObject of ticket/doclibPath/tabIndex in FlexSpaces. Now works much better (don’t loose login, view state when resize portlet. Used Liferay Flash portlet instead of IFrame portlet. Also Liferay dialogs z order was fine. Also would work with flexspaces webapp installed in either Liferay tomcat or in Alfresco tomcat (just different Flash portlet swf url config) )

Didn’t try more integrated approaches yet:
Webscripts as Liferay portlets on
Full Integration of Liferay 5.1.2, Alfresco 3.0 E, SSO, LDAP
Use Liferay Flash portlet instead of iframe portlet

Config used: Alfresco enterprise 3.0 in one tomcat, Liferay 5.1.2 in another tomcat, windows vista

How to:
0. Install Alfresco enterprise or labs
1. Normal install of flexspaces+browser flexspaces dir in alfresco tomcat webapps area, flexspaces+browser 0.7
2. Flexspaces webscripts installed in alfresco, flexspaces 0.7 webscripts
3. Install separate liferay + tomcat bundle from
4. I changed all the ports in liferay tomcat conf/server.xml to start with 9 instead of 8 (9080, etc.) to not conflict with tomcat running alfresco
4. Start alfresco tomcat
5. Start liferay tomcat and login (password: test)
6. With liferay “Add application” add a IFrame portlet from the Sample category
7. Configure the portlet to have the source url: http://localhost:8080/flexspaces/FlexSpaces.html
8. Title of portlet can be changed to “FlexSpaces” by clicking on “IFrame” text in the title and editing
9. If portlets of the FlexSpaces individual views instead of all 4 views in one portlet, (or 2 views only in one portal, etc.) the srcUrl args doclib=true&search=true&tasks=false&wcm=false to FlexSpaces.swf can be used like in the flexspaces 0.7 page site components for share (See FlexSpaces Share integration blog post with screenshots)



  1. hi Steve and thanks for your tutorial,
    iam still new in this field, my question is how ca i install FlexSpaces webscripts in alfresco ?

    i integrated flexspaces into an iframe, but i couldn’t login ( i used ‘admin’ as a user and password)

    how can i fix this problem ?

    Comment by wajdi — 2. March 2009 @ 07:43

  2. From flexspaces doc/webscripts/readmeWebScripts.txt
    Server Web Scripts Installation
    1. Install unzipped integractedsemantics webscripts dir in the repository data dictionary webscripts extension folder
    or in a webscript extension classpath folder
    (Easy way: In web client use the Import action and import into /Company Home/Data Dictionary/Web Scripts Extensions/
    Folder inside it will be unzipped automatically)

    Comment by admin — 2. March 2009 @ 09:22

  3. At step 5, liferay server stops when detects some port is already in use. i´ve used 8080 y 9080, like in the fourth step, and I´ve killed all processes different from alfresco and liferat.
    Is there any conflict in the use of some port between liferay and alfresco?

    Comment by luis — 12. July 2009 @ 14:03

  4. in my liferay tomcat/conf/server.xml I changed 8005 -> 9005, 8080 -> 9080, 8009 -> 9009, 8082 -> 9082 (and left the server.xml in alfresco tomcat/conf alone)

    Comment by admin — 12. July 2009 @ 14:23

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress