First FlexibleShare prototype sneak peak

Here is a screencam of an early prototype of FlexibleShare, an open source Flex  based portal container / dashboard with Flex based pods for open source enterprise SW (Alfresco ECM, Alfresco Share,  reporting/BI, BPM, portals):

FlexibleShare prototype

This will initially focus on Flex+AIR, and later will have Flex+Browser support.  Also plan to enable the pods to be used as Adobe Genesis Tiles.  (Note: the Flex based pods for Alfresco ECM will support Adobe LiveCycle Content Services ES too).

Overview of  the prototype:

The prototype currently uses the Esria dashboard sample (inside a Flex+AIR application) as its portal container (also looking at the Anvil project to provide more modular support for loading Flex portlets).

Alfresco ECM / FlexSpaces tab:
The first tab in the prototype screencam has pods based on FlexSpaces (Doc Lib, Search, Tasks, WCM, Local Files). The cool thing in AIR is that desktop drag / drop into the Doc Lib and WCM pods just “works”. The Local Files pod takes advantage of AIR apis to access local files and drag / drop from it into the Doc Lib and WCM pods works too.  FlexSpaces support for Calais integration semantic tagging is also supported if enabled.

Flex-ification of Alfesco Share tab:
This tab has the early beginnings of some Flex UI (blog, wiki, discussions, site doc lib, calendar) for Alfresco Share backend. For the calendar, I am using code based on Ely’s interactive calendar. For the overall Share dashboard and Share site dashboards, using the AIR webkit HTML control to display them (so Ajax Surf dashlets can be used in them). Update: for blog, wiki, discussions, now working on more specific UI  instead of FolderViews (instead will have post/comment tree,  selected item content viewer pane, etc.) Update: Later will look into pods for individual Surf dashlets.

JasperReports tab:
This tab is using a modified version of the flex based JasperReports flash viewer to display jrpxml files.

Charts tab:
This has left in pods from the ESRIA dashboard sample. These use the Quietly Scheming chart animation effects.

Pentaho tab:
This is based on a Flex version of the Pentaho dashboard sample.

Liferay tab:
This runs Liferay in a AIR webkit HTML control. Update: later will look into pods for individual Liferay portlets.

CMIS:
Update: Will look into pod for CMIS api repositories with drag / drop from desktop and with Alfresco pods

Adobe Genesis MAX 2008 presentation recording now on Adobe TV

Adobe TV added about 50 more MAX 2008 presentation recordings today including:

Genesis MAX 2008 presentation recording. This recording has both a presentation and a demo in it. (Genesis MAX 2008 presentation slides on SlideShare)

Also see my previous blog post on Adobe Genesis / Flex Portals / Open Source / FlexibleShare

FlexSpaces now refactored to use the presentation model pattern

The  flexspaces google code svn now has flexspaces+browser and flexspaces+air refactored to use the “presentation model” presentation design pattern. This will be in flexspaces 0.9.

Presentation model links:
Paul Williams: Presentation Patterns – Presentation Model
Max Milan Presentation – Flex Development with Cairngorm

Previously the component dir of FlexSpaces had components using either the Supervising Presenter design pattern or the Passive View design pattern (this is still available in the Alfresco forge in the 0.8 flexspaces source downloads). With the refactoring, the component package dir has been replaced with “presmodel” and “view” package directories. Still use Cairngorm with UM extensions in the control dir as before.

The flexspaces google code now also has some some cleanup work done: 1. model locator modularized to  just be a locator of model classes. 2. The xml parsing of data coming back from web scripts has been moved to the delegates. These now return models and/or value objects.

I am finally getting around to adding support for Prana (now Spring ActionScript) to allow xml configuration of various things in flexspaces (attributes to show in properties / folder grids / advanced search, etc.) This is not in google code yet (will be in flexspaces 0.9).

Steve

Calais Integration for Alfresco / Geo-Tagging / FlexSpaces part 2

FlexSpaces Geo-Tagging

Here is a screencam video of FlexSpaces 0.8 (which is ready for release). This new screencam shows auto-tagging, semi-automatic tag suggesting,  multiple semantic tag clouds, and automatic geo-location tagging (displayed on a Google map). It uses the Calais Integration  forge project for Alfresco and the Open Calais service.

This map, uses the Google Map Flash API (Flex), displays markers where there is location info provided in the semantic tags  (location info from Calais via the Calais integration).  When you click on a marker, it works just like a tag cloud,  and drives search results.

(Note: the previous part 1 post  also showed showed auto-tagging and multiple semantic tag clouds in FlexSpaces).

FlexSpaces with the semantic tagging / Calais features can be run in 4 different ways:

  • FlexSpaces+AIR with Adobe AIR (1.1, 1.5)
  • FlexSpaces+Browser in FireFox, IE, Chrome browsers (with Flash 9.x, 10.x)
  • FlexSpaces site page components inside Alfresco Share
  • FlexSpaces views as portlets in a portal (such as Liferay, JBoss, etc.)

FlexSpaces supports Alfresco Enterprise/Labs 2.x/3.x, Adobe LiveCycle Content Services ES (currently have just been testing FlexSpaces 0.8 and the semantic / Calais features with Alfresco Enterprise 3.0).

FlexSpaces 0.8 will have the following new Flex based components (and Cairngorm non ui apis): node semantic tag properties editor, auto-tag action, tag suggestion dialog, semantic tag cloud, semantic tag category tree, general Google map, semantic geo-tag map.

Steve

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 ecmarchitect.com
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 liferay.com
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 test@liferay.com (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)

Steve