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

FlexibleDashboard now has Mobile AIR support for iOS/iPads and Android Tablets

FlexibleDashboard, an open source dashboard project for BI dashboards/mashups, etc., now has a Flex Mobile AIR version in addition to Desktop (Desktop AIR and Flex in browser) versions. An Android build is available for download, and the iOS version can be built from the common source.

FlexibleDashboard used the esria dashboard as a starting point and evolved it with added flexmdi cascade/tile (esria pod drag/drop in tile mode), more pods, both Flex in Browser and Flex+AIR versions, port from Flex 3 to Flex 4,  and pods in separate Flex modules. Example pods using Spring ActionScript to have different configs for individual pods and config of a simple IDataService with either SOAP, XML, or RemoteObject BlazeDS datasources (see GridPod and ChartGridPod) were also added.

FlexibleDashboard has the following pods: esria charting pods with quietly scheming animation (line, bar, pie charts),  JasperReports viewer, BIRT Report viewer, OLAP pivotable grid with XMLA datasource support and MDX query editor (from Grebulon sourceforge project), Pentaho Charts sample, a simple BlazeDS data pod, Flex SWF pod, Calendar, HTML viewing (IFrame, AIR HTML, mobile StageWebView versions),  and some AIR only (Desktop and Mobile) pods (HTML browser, Google gadgets, Liferay portlet widget, and Local Files browser).

For mobile, only the bare minimum was done: pod min/max/close button hit areas was increased and mobile versions of pods displaying HTML were created (the snapshot feature of the flexcapacitor WebView Flex UIComponent StageWebView wrapper helped to support cascading mode html pods with only the topmost being in StageWebVeiw mode and the other being in bitmap snapshot mode.) Other pods were unchanged and don’t have mobile specific UI (but stuff still works, even  mx chart drill down with touch).  Also, the original app projects were split into separate app / library / modules projects to facilitate sharing with the new mobile app / library projects.

It took an error message on iOS about not being able to load module SWF (Duh!) to get me to change the mobile project to link pod code instead of loading modules. Android Mobile AIR was able to load modules, but mobile Flex app projects in Flash Builder doesn’t have module setup and won’t build the app using framework RSL even though its in the UI. So I ended up just having a single mobile app project for both iOS and Android that doesn’t use modules (desktop AIR and in-browser Flex app projects still use modules).

Plan in the future to have some sort of HTML5/JS Dashboard project like FlexibleDashboard   (with web app and PhoneGap mobile app variations).  Also plan to add support for semantic data sources / semantic data integration, and more visualization support.

Steve Reiner

Integrated Semantics

@stevereiner on Twitter

FlexSpaces Mobile

FlexSpaces (open source Flex / desktop AIR application for Alfresco ECM) has been ported to Flex Mobile.

Here is a video of FlexSpaces Mobile for Alfresco running on an iPad2:

Here is a video of FlexSpaces Mobile for Alfresco running on an Android Tablet (ASUS Transformer):

FlexSpaces Mobile has the full features of desktop FlexSpaces AIR (creation and editing features, not just browsing and viewing).

The cool thing is FlexSpaces Mobile supports multiple mobile platforms from the same codebase (and has mostly the same code-base as the desktop AIR and browser versions).

Used Flash Builder 4.5.1 and Flex 4.5.1. (need to try with Flash Builder 4.6 / Flex 4.6 pre-release ).

All the features work (except favorites which should work if add at least one shortcut through the regular Alfresco client). More work still todo (performance, polish, etc.). Also need to add a preference dialog (for desktop version too) so things that are now in FlexSpacesConfig.xml can  be set without repackaging (or at least be able to set the repository url in the login dialog).

Changes for mobile have not been checked into the FlexSpaces google code project yet. Think FlexSpaces Mobile will be free and open source too. Also should have a commercial license / premium version too.

FlexSpaces doesn’t use CMIS (uses custom webscripts) so it can expose all the capabilities of Alfresco, not just what is in CMIS.

CMIS Spaces Mobile, based on FlexSpaces Mobile, is also up and running on Flex Mobile 4.5.1. This can support all repositories that support CMIS (Alfresco, Nuxeo, Microsoft SharePoint, EMC Documentum, IBM FileNet, OpenText, Adobe ADEP / Day CRX, etc.) Look for a future blog post with videos of CMIS Spaces Mobile in the near future.

These mobile apps are geared to the larger screens found on tablets (and desktops).  Having layouts for smart phones is not planned (some things could be done easily: tree navigation panel can be hidden already, smaller / less toolbar icons could be used. Other things would be more work: dialogs would need smaller layouts, multi-pane sections (version history, workflow attachments, etc.) would need to be done as overlays.

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 Portlets updates

 FlexSpaces 04 05 2011

FlexSpaces (Flex+AIR, Flex+Browser, portlets) RIA clients for Alfresco ECM

In March, FlexSpaces (Google Code, Alfresco Forge) was finally ported from Flex 3 to Flex 4. A first pass of moving from halo controls to spark controls was made, and it has a new look with the spark theme. In April the “04 05 2011” version of FlexSpaces added the optional capability to use Alfresco Share form xml configurations to configure view/edit mode Flex forms in a new tabbed properties dialog, thus supporting custom types, aspects, etc. See the readme-form-config.txt in the distributions for how to enable and use this configuration capability.  This version also changed to have the advanced search and properties dialogs resizable using skins from flexdevtips.    

In May, the portlets to run FlexSpaces in portals were updated. To keep them from getting outdated as quickly, they are now wrappers that reference a separate install of the “in-browser” non AIR version of FlexSpaces (that can be updated separately). The older FlexSpaces Liferay portlet supported Liferay 5.x, the new one supports Liferay 6.x.  This is available in the Liferay community plugins catalog. The FlexSpaces portlet and gadget for the GateIn portal were both updated. The FlexSpaces portlet for the original JBoss portal was also updated.

CMIS Spaces (Flex+AIR, Flex+Browser, portlet) RIA clients for content servers supporting the CMIS standard (Alfresco, IBM, EMC, Nuxeo, Microsoft SharePoint, Adobe Day CRX, etc.)

In April, CMIS Spaces, based on FlexSpaces, was ported from Flex 3 to Flex 4. CMIS Spaces has both atompub rest binding support (default, with more features hooked up in the UI) and web services SOAP binding support (optional, with only navigation and search features can be used through the UI, although the full featured data access backend code is present). Note that the ActionScript code for all the CMIS SOAP binding APIs was re-generated with FlashBuilder 4 / Flex 4.1 SDK / fiber (and this improved things to not have repeated code for types across the multiple CMIS SOAP web services).

In May, a Liferay 6.x wrapper portlet for using CMIS Spaces in a Liferay portal was introduced. This portlet references a separate install of the “in-browser” version of CMIS Spaces. Having these two parts allows CMIS Spaces, like Flex Spaces, to be updated separately and avoids the portlet getting out of date. The CMIS Spaces portlet is also in the Liferay catalog.