一、monsys说明
monsys的主要功能是将jetspeed的功能与我们自已的ejb结合
jetspeed部份:
即:用jetspeed做用户管理系统,角色管理系统,组管理系统,模块管理系统
ejb部份
biz.blueskytech.jspeed.om.dataservice.BaseCoffee相当于数据持久层,将要读取的数据转成对像
biz.blueskytech.jspeed.om.dataservice.BaseJspeedCoffee是BaseCoffee的封装,使其能够以get,set方式调用,并可以让Velocity的context输出倒显示层.
数据用mysql数据库,文件在monsys/data/下面。
二,ejb的处理
biz.blueskytech.jspeed.om.databasemanage
以manage开头为底层数据库处理,如添加数据,修改数据攻能,例如:ManageCoffee,ManageUser
以server开头为数据的上一层调用,它通过调用manage实现更多的功能
如:ManageCoffee可以实现public BaseCoffee getCoffee(String column, String value)
则:ServerCoffee就可实现getCoffee(String coffeeid) getCoffee(String coffeeName)等方法。
在monsys中ejb的使用在TestAction,CoffeeAction,及UserCreateAction中
创建用户在Security最下面有个Create User test是以ejb实现的添加用户功能
三,jetspeed模块管理
创建jetspeed新模块可以不用写配置文件,只需要用系统提管的功能就可以实现添加模块的全过程
1,添加一个简单的模块的全过程:
(1)写好一个portlet:Test.vm内容为:this is my test
(2)以系统管理员登入jetspeed,帐号admin,jetspeed
(3)点击Admin菜单-->选择Portlet Browser-->查看portlet模块(在此可以参考现有的模块的配置信息)
-->选择Add Portlet添加新模块
-->Name下为新portlet模块命名,如:Test,
-->Type选择ref
-->Parent选择CustomizerVelocity
-->Class Name可不填(添加时会由Parent自动产生,产生CustomizerVelocity的相应ClassName)
-->Security可不选(是模块的权限控制)
-->Hidden 不选
-->Application 不选
-->Cached on URL可选也可不选
然后Insert Portlet添加portlet完成
(4)修改添加好的portlet模块的其他参数
添加后的portlet模块在portlet信息面版中以Imformation显示
<1>(添加)修改Media Type
-->选择Media Types
-->Media Type 下拉框选择html
-->Add Media Type
<2>(添加)修改模块分类,任意增加
<3>(添加)修改参数,可添加需要的参数
参数name为template,其值value为portlets文件下所对应的文件如Test.vm,则value值为Test
参数action为执行所对应的类,这点可参考其他的porlet模块做法。
这样就完成添加新模块的全过程。
所做的操作会自动产生配置文件在/web-inf/conf/下面的local-portlets.xreg里面
2,自已定制的portlet模块的全过程
不用写psml文件直接用jetspeed本身的模块定制功能即可:
以普通用户登入,如:bluesky,bluesky
(1)选择右上角的Customize:旁边的html定制网页风格,wml支持无线,手机等设备的网页
<1>增加菜单-->选择html-->Add Pane增加菜单-->填入Test Menu-->Apply-->Save and Apply
就完成增加菜单功能
<2>增加portlet模块
-->选择html
-->选择Test Menu
-->选择Add Portlet
-->先择自已想要的模块,CoffeeLists,HelloVelocity等,系统列出所有能够选择的模块,可翻页查找
-->然后一种Apply就可以了
返回用户首页,查看自已创建的Test Menu,就可以看到自已选择好的portlet模块
所做的操作会自动产生配置文件在WEB-INF\psml\user\bluesky下面
反复测试这两个功能可掌握jetspeed的主要结构,及模块处理方式。
里面的布局控制,界面控制,角色控制,基本上都可以通过定制,定制出来,原理与操作过程差不多。