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.

CMIS Spaces source code checked in, CMIS / AtomPub ActionScript API notes

The source code for CMIS Spaces (both Flex+AIR and Flex+Browser) is now checked into
http://code.google.com/p/cmisspaces/

(2191 files, including 6 language translations, although some of the files for FlexSpaces parts (workflow, wcm) are not used in CMIS Spaces)

Previous blog post covers what is working at this point and some setup info https://integratedsemantics.org/2009/03/02/cmis-spaces-flexair-early-preview-download-available/

There are 4 Flex Builder projects:
1. CMISSpaces (for CMIS Spaces Flex+Browser)
2. CMISSpacesAir (for CMIS Spaces Flex+AIR)
3. FlexSpaces (some modifications to FlexSpaces base code for CMIS, don’t need to build, dir is just used by CMISSpaces, CMISSpacesAir)
4. FlexSpacesAir (some modifications to FlexSpaces AIR base code for CMIS, don’t need to build, dir is just used by CMISSpacesAir)

Notes on the CMIS “client api” (client side service/data api) used in the code:
1. main part is in CMISSpaces/src/org/integratedsemantics/cmisspaces/cmis/atom
This consists of CMISAtomClient, extended cmis entry and feed classes, port of Alfresco’s Abdera extension classes CMISObject, CMISProperty, etc. to ActionScript
2. CMISAtomClient extends AtompubClient from as3atompub. The modified code from as3atompub is in CMISSpaces/src/org/coderepos (modified to work with newer version of as3httpclientlib
/sockets HttpClient (in org/httpclient) and to work without sockets using HttpClient2 in org/integratedsemantics/util)
3. CMIS Spaces also has Cairngorm events/commands/delegates api in org/integratedsemantics/cmisspaces/control that uses CMISAtomClient / AtompubClient

Also there are two other Atom related ActionScript libs out there
1. as3syndicationlib
2. NoteTag Kiwi AtomProtocol Library

Also a CMIS Atom Flex library project has started