http://code.google.com/p/flexibleshare/
近日,开源的企业内容管理(ECM)系统供应商Alfresco发布了FlexibleShare+AIR Build1 版:一个基于Flex的开源的dashboard/portal容器,用来做文档管理、协作、商业智能/图形展示/报表;对于从事门户开发、内容管理系统开发,而又想迁移到Flex平台的开发者来说,这也许是个好消息,Alfresco为大家做了基础工作,并已经有了完整框架可以使用,这又是对Flex向薄弱领域发展的积极探索。
FlexibleShare从字面意思就能看出,这个是一个可配置、可插拔的模块系统的简称,它是Alfresco的另一个Flex表现层应用FlexSpaces的门户形式,及通过模块化的整合方式来使用FlexSpaces的各种系统;FlexibleShare的技术架构依赖两个关键部分,一个是LCDS,一个是Anvil项目,这是一个开源的Flex门户框架,2008年年底创建,Anvil的设计目的是为了使开发企业级Flex项目更加容易,并提供了一个门户环境来运行Flex应用。现在Anvil已经成为如何构建企业应用的典型案例,并正在努力使它更简单、更方便的创建Flex应用的定制环境。
Anvil项目的源码可以在SourceForge上下载到,目前该项目处于起步阶段,版本是0.5.1。下载了这个30兆的.zip包,解压后就能看到里面的例子和源码了,而且有一个getting-started.txt文档来供上手;这个编译环境需要几个环境变量设置,做过Java开发的都比较熟悉,FLEX_HOME环境变量指的是FlexSDK的路径,根据指南,访问 http://localhost:8080/anvilPortal/AnvilPortal.swf(我的环境是Tomcat5.5,使用FF3访问,IE7不行)就可以看到这个小例子了。根据例子来看Anvil采用了FlexMDI框架,并将其改造,将其中的某个系统作为模块动态加载进来成为一个MDI窗口。
编者点评:Anvil的价值有两个:一个是将应用和模块的编译通过自动化的方式进行构建,一个是提供了应用程序管理Module的方式,这是目前开发大型Flex应用所必须要解决的问题,我想这个框架对于企业级开发Flex项目来说,是很有参考价值的;跟这个类似的项目还有flex-shell,是RIAForge上的一个开源项目,它同样解决了类似问题,而且对于不同用户权限的管理提供了丰富的控制;最后还要说明的是,基于Flex的CMS系统究竟价值何在,是否是最好的选择,还需进一步探讨,但是至少从技术上讲可以做到,至于其他方面,比如性能、体验等问题,只能亲眼看到才能做出评价了。