FlexibleShare updated

FlexibleShare extends FlexibleDashboard (dashboard framework, BI charting, reporting pods) with FlexSpaces doc management pods (Alfresco backend) and adds additional Flex pods for Share collaboration (Alfresco Share backend). All three of these projects are open source. FlexibleShare has been updated to use code from the latest versions of FlexSpaces and FlexibleDashboard, and the Share pods have added site selection drop downs.  Also added an  Alfresco Add-Ons page for FlexibleShare.

The doc management portion now has support for Alfresco 4.0, and a new preferences dialog for easier setup of server domain/port and API key setup of optional semantic auto-tagging with the OpenCalais Integration for Alfresco. The default config in the flexibleShareAirPods.xml just has the combined multi-view FlexSpaces pod shown in the top left. This screenshot also shows the available search, tasks, and local files pods (the all repository doc lib pod is not shown). In the AIR version, files from the local files pod can be copied into a doc lib view via drag/drop. Also in the AIR version, multi-select files can be copied via drag / drop from the desktop into a doc lib view,  copied out via drag/drop, or the native desktop clipboard can be used to copy/paste of files between the desktop and a doc lib   (AIR can do more than the HTML5 drag in available in some browers).

flexibleshareairbld4-33percent.png

The Share collaboration wiki, blog, discussions, doclib Flex pods are now more usable out of the box with added drop-downs to select Share site to work with (instead of setting the share site shortName in the pods xml file). More work is needed to hook up the calendar pod to load Share site calendar info (and an add event dialog is not available yet). Although the calendar pod is able to load iCalendar files, more work is needed to get it to work with the iCalendar data available from the Alfresco “slingshot” /calendar/eventList?site={shortName}&format=calendar webscript.

flexiblesharesharepods2.png

Planned for FlexibleShare:  calendar pod hookup with Share sites,   multiple repository support,  support for CMIS repositories, drag/drop copy between repositories, support for Alfresco Cloud repositories, multi-repository search,  Solr facets search navigation,  support for Apache Stanbol semantic auto-tagging / semantic search,  mobile/touch?, and a port/translation to HTML5 / CSS / JavaScript (FlexSpaces, CMIS Spaces, FlexibleDashboard, FlexibleShare).

Steve Reiner
Integrated Semantics
@stevereiner on twitter

Flexible Dashboard, FlexibleShare, and Flexible Liferay updates

  FlexibleDashboard

FlexibleDashboard

FlexibleDashboard is a dashboard application / framework focused on the uses of dashboards for BI / Reporting / Charting. It started with esria dashboard code and evolved from there, adding flexmdi cascading / tiling (esria pod drag/drop in tile mode), more pods, pods in Flex modules, Spring ActionScript configurable pods, and both Flex+Browser and Flex+Air versions. 

Additional pods beyond the esria charting pods include: JasperReports viewer, BIRT Report viewer, OLAP pivotable grid with XMLA datasource support and MDX query editor (from Grebulon sourceforge project), Pentaho Charts, GridPod, ChartGridPod, calendar, and iframe html. The AIR version has additional Flex+AIR pods: webkit HTML, web browser, Google gadgets, Liferay portlet gadget, and a local files browser.

In February, FlexibleDashboard was ported from Flex 3 to Flex 4 in build3, including a first pass of using spark controls instead of halo controls. I got mostly through porting the esria dashboard part, then discovered code by Greg Lafrance (who later wrote a 4 part Adobe devnet series of articles part1, part2, part3, part4)  that helped me port the remaining parts of the esria code in FlexibleDashboard. I also used a skin from flexdevtips for pod windows.  Instead of porting the full flexmdi code to Flex 4 / spark, all the style setting code was removed, and just the basic parts were ported.

In April, build 4 of FlexibleDashboard added having pods built in separate flex modules and instead of having the esria style hardcoded switch on pod type to pod class, the module path is listed in the pods xml files on each pod. 

Build 4 also introduced having each use of a pod/module configurable separately with Spring ActionScript in a separate context xml file (in src/spring-actionscript/ dir). This is currently used in 3 differently configured GridPods and in one ChartGridPod.  A similar approach could be used with other Flex frameworks that support modules (Parsley, etc.).  The GridPods and ChartGridPod  just reference a data service interface IDataService, and the particular data service implementation is configured and injected / autowired with Spring ActionScript. 

Build 4 also has 3 simple data service class implementations (SoapDataService, XmlDataService, RemoteObjectDataService) which get data via BlazeDS (or from LCDS).  The shared ChannelSet for the grid pods is configured in src /spring-actionscript/ application-config.xml   The esria dashboard like config is still in data/ FlexibleDashboardPods.xml (or in data/ FlexibleDashboardAirPods.xml for the AIR version).

 FlexibleShare

FlexibleShare

FlexibleShare adds the following to FlexibleDashboard: FlexSpaces pods for Alfresco document management along with Flex based collaboration pod front ends (wiki, blog, calendar, doc lib, discussions) to an Alfresco Share backend.  FlexibleShare was ported from Flex 3 to Flex 4 in May.  The additional pods are now in Flex modules too.

FlexibleLiferay

FlexibleLiferay extends FlexibleDashboard to provide a Flex portal container for Liferay.  The Flex+AIR client is able to get all of the places/layouts, tabs, and portlets you would normally see as a Liferay portal user and display them using a Flex based container with an HTML control for each portlet (doesn’t support pure Flex/Flash portlets yet).

The basic idea was for a Flex Portal, instead of starting from scratch, leverage the server side and services of an existing portal. Another use case is for views from an existing portal can be included in a larger enterprise Flex application.  Note that FlexibleDashboard and FlexibleShare can also display individual Liferay portlets in a configurable pod using the Liferay widget, just not whole existing portal layouts.

Recently FlexibleLiferay was ported from Flex 3 to Flex 4. The server side code was changed from Liferay 5.x ext environment code to a simpler web plugin for Liferay 6.x. The FlexibleLiferay client uses BlazeDS/AMF to remote to Java APIs provided in the web plugin. Built versions of the AIR client and the server piece (web plugin) are now available (previously there was only code available in the svn).

FlexSpaces, CMIS Spaces, and FlexibleShare now LGPL, product plans

The community versions of FlexSpaces, FlexSpaces portlets, CMIS Spaces, and CMIS Spaces portlets (coming) are now LGPL instead of GPL. FlexSpaces supports both Alfresco and Adobe LiveCycle Content Services ES2LiveCycle Mosaic ES2 tiles for FlexSpaces and CMIS Spaces are also planned. The community version of FlexSpaces has very full featured support for doc management, search,  start workflow, task list (Alfresco only), and some wcm (Alfresco only). It even supports semantic auto-tagging using Calais.

An enterprise version of  FlexSpaces (including portlets, tiles) with a commercial license, support, and additional features will also be available.  An expanded enterprise version of CMIS Spaces (including portlets, tiles) is also in the works.

FlexibleShare is now LGPL instead of GPL.  FlexibleDashboard and FlexibleLiferay have been LGPL for awhile. These are in the early stages, experimental. FlexibleShare adds a Flex portal interface around FlexSpaces doc management pods, Flex UI pods for Alfresco share collaboration, and some sample BI/reporting pods. Plan to also add pods for CMIS Spaces into FlexibleShare. FlexibleShare and its base project FlexibleDashboard need to have modularity support added (loading of modules). They need to be flexible.  FlexibleLiferay, a Flex+AIR front end to Liferay, gets its modularity support already from Liferay with each portlet (pure Flex or regular portlet) being a separate war file. FlexibleDashboard needs to have its BI/reporting support expanded beyond samples.

FlexSpaces Alfresco Forge , FlexSpaces Google Code

CMIS Spaces Alfresco Forge , CMIS Spaces Google Code

FlexibleShare Alfresco Forge , FlexibleShare Google Code

FlexibleDashboard Google Code

FlexibleLiferay Google Code

Steve
integratedsemantics.com
twitter.com/stevereiner

FlexibleDashboard, FlexibleShare, FlexibleLiferay

FlexibleDashboard+AIR

FlexibleDashboard (new google code project)
1. Has both Flex+Browser and Flex+AIR versions
2. Based on the non doc mgt code from FlexibleShare
3. Based on esria dashboard / adobe flex devnet dashboard sample with added flexmdi cascade/tile (esria pod drag/drop in tile mode)
4. Flex+Browser pods: line, bar, pie charts, form, todo list, JasperReports viewer, Pentaho dashboard, BlazeDS samples, external Flex app SWFLoader, calendar, iframe html (iframe has not hiding issues)
5. Flex+AIR additional pods: webkit HTML, web browser, Google gadgets, Liferay portlets, local files browser

FlexibleShare
1. Now has Flex+Browser in addition to Flex+AIR
2. Adds Alfresco, Alfresco Share, LiveCycle Content Services features to FlexibleDashboard

FlexibleLiferay+AIR

FlexibleLiferay (new google code project)
(Flex+AIR based portal container application for Liferay)
1. Can display regular Liferay portlets (JSR-168, JSR-286, HTML/Ajax etc.)
2. All of Liferay backend, standards it supports can be leveraged
3. Can display Flex portlets (swfs) without html wrapper (no need for special handling of restarting when resize portlet) from within a portlet war
4. Leverage Liferay app catalog to also manage Flex portlets
5. Leverage Liferay security / authentication (ldap, sso, etc.) to also manage Flex portlets
6. Flex portlets can take advantage of AIR specific features (native desktop file drag / drop, native clipboard, local files, offline db)
7. No Flex+Browser version yet due to iframe issues

FlexibleLiferay Implementation:
1. Uses BlazeDS to remote to some Java Apis added via Liferay Ext environment (used Liferay 5.2.3)
2. Built on top of FlexibleDashboard

FlexibleLiferay Implemented:
1. Sign in (Login dialog), Sign out
2. My Places menu
3. Display of tabs for pages in selected place
4. Display of a Liferay pod (uses HTML with Liferay widget) for each portlet in selected page

Updated the look of FlexSpaces, CMIS Spaces, and FlexibleShare

I released new builds of FlexSpaces, CMIS Spaces,  and FlexibleShare. These have a new ‘look” (with added skinning of menus/tabs,  and expanded/changed style files):

FlexSpaces 0.92

FlexSpaces+AIR 0.92 ( Alfresco Forge , Google Code )  (Tested with Alfresco 3.2, Adobe LiveCycle Content Services ES 8.2.1)

CMIS Spaces build 8

CMIS Spaces +AIR build 8 ( Alfresco Forge , Google Code ) (Tested with Alfresco 3.2)
Note: CMIS Spaces build 8 is for the CMIS 0.61 spec. I will do a new build soon for the CMIS 0.62 spec.

FlexibleShare build 2

FlexibleShare +AIR build 2 ( Alfresco Forge , Google Code ) (Tested with Alfresco 3.2, Adobe LiveCycle Content Services ES 8.2.1)