OFBIZ架构

来源:互联网 发布:ubuntu.org.cn 编辑:程序博客网 时间:2024/06/05 14:59
戏说 ofbiz 权限组 角色 控制
摘要: ofbiz里面的权限管理发现大家还是有点迷惑 我举个例子来帮助大家理解吧~比如说,明年业绩好,老大带着兄弟们出去散心,问大家想要去哪里happy?钱管够!但是地点是国内旅游景点(XXX平台),A说提议要去西藏高原看蓝天白云(应用A);B说提议要去内蒙古看大草原(应用B);C说提议说要去三亚海边看海看美女(应用C)D说还是去上海野生动物园看猴子吧!(应用D:这个比较好举例子,暂且就先去动物园吧~)进动物园,首先当然需要去买门票(应用安全组),甲乙丙丁...每人一张动物园门票(给用户分配应用访问安全组),好了,大家都进了动物园!很开心~甲比较胆小(可能是后来加入的女生)不敢去看猛兽,所以离开队伍.阅读全文
posted @ 2013-02-06 14:38 把酒言欢 阅读(88) | 评论 (0) 编辑
ofbiz中用 ajax 几点注意
摘要: 1.要想用 json 类型,可在 Controller .xml 用 type="jsonjava" type="none" 返回数据放于 request 中$jq.ajax({type:"POST",url:"<@ofbizUrl>"+u+"</@ofbizUrl>?productId=" + id + "&status="+status,dataType: "json",success: function(data) {阅读全文
posted @ 2013-01-06 09:52 把酒言欢 阅读(45) | 评论 (0) 编辑
转 OFBIZ webservice简介
摘要: OFBIZ webservice简介Opentaps(OFBiz 9.04之后)中webservice用的是AXIS2,最开始自己在网上搜了好多资料,自己拿回来测试,发现都不对。后自己再找了下AXIS的资料说,那种报错很有可能是由于两个版本不对引起的,所以就决定看看OFBiz里面用的是哪个版本,当时我彻底无语了,里面两个版本的包竟然都有,真不知道是什么意思。但是我认为应该是AXIS2,OFBiz这么与时俱进的东西,应该不太可能用06年就不更新的架包。废话少说,直接说开发步骤吧:一:在项目中引入AXIS2,由于AXIS2的依赖包好几个,客户端应该不需要那么多,但是以防万一,我们把AXIS2下面l阅读全文
posted @ 2012-12-12 00:00 把酒言欢 阅读(99) | 评论 (0) 编辑
OFBIZ 账户与Party PartyRelationship关系分析
摘要: PartyAcctgPreference 账户优先表 默认有个Company的记录:INSERT INTO `party_acctg_preference` (`PARTY_ID`, `FISCAL_YEAR_START_MONTH`, `FISCAL_YEAR_START_DAY`, `TAX_FORM_ID`, `COGS_METHOD_ID`, `BASE_CURRENCY_UOM_ID`, `INVOICE_SEQ_CUST_METH_ID`, `INVOICE_ID_PREFIX`, `LAST_INVOICE_NUMBER`, `LAST_INVOICE_RESTART_DATE.阅读全文
posted @ 2012-12-08 11:51 把酒言欢 阅读(57) | 评论 (0) 编辑
转 OFBiz财务模型-金融账户
摘要: FinAccount 金融账户 FinAccountAndRole 账户和角色FinAccountAttribute 金融账户属性扩展表FinAccountAuth 授权FinAccountRole 账户角色FinAccountStatus 财务账户历史记录FinAccountTrans 财务账目交易FinAccountTransAttribute 财务账目交易属性扩展表FinAccountTransType 财务账目交易类型FinAccountTransTypeAttr 财务账目交易类型属性扩展表FinAccountType 财务账户类型FinAccountTypeAttr 财务账户类型属性阅读全文
posted @ 2012-12-08 11:45 把酒言欢 阅读(42) | 评论 (0) 编辑
OFBIZ Party Relationship 关系图
摘要: Party RelationshipPartyRelationship models relationship of party roles.PartyRelationship is directional ie. has a 'from' and 'to' side.Each PartyRelationship has a PartyRelationshipType. PartyRelationshipType has a valid from and to role that is used to constrain what roles can be as阅读全文
posted @ 2012-12-06 11:51 把酒言欢 阅读(56) | 评论 (0) 编辑
ofbiz之entity 实体解析 扩展 视图 复合列写法
摘要: ofbiz 之entity实体 1. 实体定义文件实体定义文件一般存放位置是在对应模块的entity文件夹下面,以party为例,party的实体定义文件路径为%ofbiz-home%\applications\party\entitydef\entitymodel.xml。通过对应模块的ofbiz-component.xml进行加载。 <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymod阅读全文
posted @ 2012-12-03 23:24 把酒言欢 阅读(119) | 评论 (0) 编辑
OFBiz 的Party PartyGroup主要关系
摘要: 比如说:OFBIZ中登陆时有对应的人和组织之分,比如 阿里软件的 张三登陆到OFBIZ中,这时就是涉及到下面几张表了:SELECT * FROM party WHERE party_id = 'Company';SELECT * FROM party_group WHERE party_id = 'Company'SELECT * FROM PARTY_ROLE WHERE PARTY_ID = 'Company' AND ROLE_TYPE_ID = 'CARRIER'SELECT * FROM ROLE_TYPE WHERE 阅读全文
posted @ 2012-12-03 23:23 把酒言欢 阅读(46) | 评论 (0) 编辑
OFBIZ各级菜单权限分配
摘要: 上图是整个应用中心下POS管理的菜单架构,现在需要给不同的操作员分配不同模块下的菜单权限,貌似很复杂~其实想通了后,逻辑性虽然很强,只要记住一点:万变不离其宗!最重要的原则是:OFBIZ中的 访问组件和各级菜单 权限都是严格区分的,操作员要想进入某个组件下的二级菜单,甚至三级菜单。首先需要有进入这个应用的权限、还要有最末节点上级所有菜单的权限,(因为OFBIZ里面的菜单是逐层分解的,只能有进入上级菜单的权限才能更进一步到下级!),我们不妨用个样例来解释上面的说法,如题:1、张三同学只能看到 POS管理(应用名称,虚拟)—>交易管理—>交易查询\对账单下载;所以要分配的权限组有 (注阅读全文
posted @ 2012-12-03 00:40 把酒言欢 阅读(124) | 评论 (0) 编辑
OFBIZ 条件语句是怎样炼成的?
摘要: <!-- TASK --> <if-compare field="sec_object" value="TASK" operator="equals"> <set field="taskId" from-field="parameters.taskId" default-value="${parameters.workEffortId}"/> <if-empty field="taskId"> <set阅读全文
posted @ 2012-12-02 23:00 把酒言欢 阅读(44) | 评论 (0) 编辑
OFBIZ 菜单权限 配置
摘要: 1、新加的模块分配给用户权限组 需要的权限:OFBTOOLS_VIEW 访问库存OFBiz管理程序的权限POSMGR_ADMIN POS-管理员 (新加模块管理员权限)2、分配某个模块二级菜单的权限POSMGR_ADMIN POS-管理员 (新加模块管理员权限,肯定要加,没有这个权限,连模块都进不了)SECURITY_ADMIN 在安全管理屏幕中的全部操作。(进入到模块下菜单的权限)XXXScreen.xml 代码:<screen name="showTransactionMgr"> <section> <actions> <p..阅读全文
posted @ 2012-12-02 19:52 把酒言欢 阅读(155) | 评论 (0) 编辑
转 OFBiz 菜单组件(menu-widget)指引
摘要: 菜单组件通常用于生成屏幕主菜单栏,类似于Main | Data Source | Campaign | Tracking | Segment | Contact List | Reports | Logouto 定义菜单<menu-itemname="DataSource"title="${uiLabelMap.DataSource}"><linktarget="FindDataSource"/></menu-item>name属性用于标识菜单项。title属性用于菜单显示名称,也可是uiLabel阅读全文
posted @ 2012-12-02 19:17 把酒言欢 阅读(62) | 评论 (0) 编辑
转 ofbiz瘦身[已验证,9.04-11.04 稍作修改可用]
摘要: ofbiz瘦身 由于ofbiz表特别多,并且没有很多资料供我们参考(至少中文资料是这样),学习起来不知道从那里下手。经过一晚上的学习(当然也有此然半个月的基础),终于把ofbiz的表缩小到只有66个,这样学习起来就方便多了。具体方法如下:1.在mysql中创建数据库ofbiz,修改ofbiz\framework\entity\config\entityengine.xml文件,Xml代码 <delegatorname="default"entityentity-model-reader="main"entity-group-reader="阅读全文
posted @ 2012-12-01 01:05 把酒言欢 阅读(127) | 评论 (0) 编辑
转 ofbiz 的登录机制
摘要: ofbiz 的登录比较完善,并且实现了单点登录,下面是笔者记录的ofbiz登录的基本过程.在org.ofbiz.securityext.login.LoginEvents中有静态变量保存了所有登陆的用户和用户登录的webapp.这样为单点登录提供了很大的方便.在controller.xml中登录配置:<request-mapuri="login"><securityhttps="true"auth="false"/><eventtype="java"path="org.ofb阅读全文
posted @ 2012-11-19 11:50 把酒言欢 阅读(81) | 评论 (0) 编辑
转 screen widget 框架页面生成原理初探
摘要: screen widget 本质是基于freemarker 的。 目前screen类型的view基本都是MacroScreenViewHandler.java 负责处理的。MacroScreenViewHandler.java render 方法中首先通过配置文件加载了三个类库。如下ScreenStringRenderer screenStringRenderer = new MacroScreenRenderer(UtilProperties.getPropertyValue("widget", getName() + ".name"), UtilPr阅读全文
posted @ 2012-10-25 16:28 把酒言欢 阅读(39) | 评论 (0) 编辑
转 通用模型之-party model 学习笔记
摘要: 首先分别讲了组织organization和人person。然后将这两个模型合成partyparty实体 有两个子类分别为organization,person。organization细分为法人组织,有纳税Id和非正式组织,如团队,家庭。partyType实体存放组织的类型。partyClassification 存放party和paryType多对多关系的实体 。注意这个关系实体中和party实体中对应分成了两个子类来分别对应organization classification 和 person classification(收入高低,国籍,移民……)party role type 是 r阅读全文
posted @ 2012-10-25 16:24 把酒言欢 阅读(41) | 评论 (0) 编辑
转 OFBIZ 网站或店铺视觉主题(visual Theme)设计
摘要: what why v.在ofbiz中的应用的主题是可以通过数据来配置的,在webtools 组件中的catalog, content 菜单下可分别设置店铺和网站的主题。且ofbiz在设计前端页面时,不使用table之类的html元素进行布局,而是大量使用div元素进行布局。 这样可以为一个网站或店铺设置多种不同的视觉风格,同时做到html中内容和风格的分离,提高开发效率及可维护性。how v.在ofbiz 中的ecommerce 示例中网站的主题是根据一个action 中的 service 的得到的。 而这个Service 使用mini 语言实现的。在Ecommerce 下的CommonScr阅读全文
posted @ 2012-10-25 16:11 把酒言欢 阅读(119) | 评论 (0) 编辑
OFBIZ 电子商城商品如何 进行多币种结算
摘要: 最近在研究ofbiz的电子商城应用,发现里面的商品都是用的美元计价,如果说想要把 ofbiz 电子商城进行本地化,这个计价方式肯定是要成当地的币种。也参考了一些网上的热门帖子:例如:http://blog.csdn.net/hezhipin610039/article/details/6903281大致内容如下:1货币、本地语言设置货币可以在下列配置文件中设置:${ofbizinstalldir}/framework/common/config/general.properties1)缺省货币符号(必须在Uom表中存在,用3个西文字符表示,参见种子数据的framework\common\dat阅读全文
posted @ 2012-10-24 23:36 把酒言欢 阅读(206) | 评论 (0) 编辑
ofbiz下如何实现 prototype、jQuery多库共存
摘要: 本文系原创,如需转载,请注明出处:http://www.cnblogs.com/Ivan-j2ee/archive/2012/09/28/2707099.html今天项目里需要实现 dataTables 的列表数据显示功能,而这个 dataTables 是jQuery的扩展插件,当然也用到了jQuery.js,现在要使用这个 dataTables,主要的问题就是 如何实现在 ofbiz 中 让 prototype、jQuery 这两个库共存?之前做前端开发的时候,遇到过类似的问题,当然,那不是在ofbiz这样的框架下,使用 jQuery 库自带的 jQuery.noConflict(); 即可阅读全文
posted @ 2012-09-28 14:07 把酒言欢 阅读(168) | 评论 (0) 编辑
ofbiz 常用ant命令行
摘要: run-install-extseed This loads seed, seed-initial and ext data; meant for manual/generic testing,development, or going into production with a derived system based on stock OFBiz where the ext data basically replaces the demo datarun-install-exttest This loads seed, seed-initial, ...阅读全文
posted @ 2012-09-18 21:28 把酒言欢 阅读(29) | 评论 (0) 编辑
转 OFBiz安全组
摘要: 安全组标识 描述 用户系统级别BIZADMIN 全部商业应用程序权限组,具有全部商业应用程序管理权限,不是技术人员权限。 bizadminFLEXADMIN 缓存管理组,具有全部颗粒的权限。 flexadminFULLADMIN 完全管理组,具有全部通用权限。 DemoLeadOwner DemoLeadOwner1blog_admin blog_editoradmin imageAdmin systemSECURITYADMIN 安全管理组,具有在会员管理中修改安全设置的全部权限VIEWADMIN 演示管理组,具有全部浏览权限。 demoadmin ltdadmin ltdadmin1模块级阅读全文
posted @ 2012-08-16 15:51 把酒言欢 阅读(29) | 评论 (0) 编辑
转 ofbiz权限判断语法整理
摘要: 用户的权限都是以权限组来分配的:相关的几个表如下:security_groupsecurity_permissionsecurity_group_permissionsecurity_permission_auto_grantuser_login_security_group系统中没有权限的定义,只有安全组的定义,权限都是系统初始化进去的。1、ftl内用security.hasEntityPermission <#if security.hasEntityPermission("PARTYMGR", "_CREATE", session)> 阅读全文
posted @ 2012-08-16 15:50 把酒言欢 阅读(71) | 评论 (0) 编辑
转 如何设置ofbiz的日志输出级别
摘要: 在常规状态下,ofbiz框架会将大部分的日志都输出到日志文件中。时间长了tomcat日志数量级会达到一个可怕的状态。日志文件可能上百G。这会严重影响tomcat的启动。直接导致启动失败。在ofbiz上有两个地方可以调试日志输出级别 1、webtools上,登录webtools自己去找设定日志输出的地方 2、在ofbiz的框架下找指定位置更改debug输出文件/ofbiz/framework/base/config/debug.properties 通过这两个地方的设置,可以将日志输出降低很大阅读全文
posted @ 2012-08-16 15:49 把酒言欢 阅读(24) | 评论 (0) 编辑
转 ofbiz和应用服务器结合
摘要: ofbiz本身默认使用的tomcat,你可以通过启动ofbiz目录下的startofbiz.bat(windows)或者startofbiz.sh(linux)进行启动。但是这种启动方式对于调试和监控带来不变。 如何将ofbiz和tomcat进行挂接就是一个我们要做的工作。经过我在linux下的验证。我们可以将ofbiz和tomcat融合。具体的做法是使用命令:1、安装好jdk和你所要结合的版本的tomcat6(此处用tomcat6)2、在ofbiz的根目录下java -jar ofbiz.jar -setuptomcat6,这个使用会在ofbiz根目录下生成一个setup目录3、将setup阅读全文
posted @ 2012-08-16 15:48 把酒言欢 阅读(134) | 评论 (0) 编辑
转 ofbiz的webservice接口提供(4)-支持复杂数据类型方法
摘要: 在官方网站中一个家伙提供了一个比较有意思的解决方案。 思路如下: 1、下载axis的war 2、找一个ofbiz下的项目,在他们的ofbiz-compentment.xml文件中挂载这个axis的war文件 3、在axis.war项目中添加类,引用ofbiz的degelator,调用ofbiz项目中的service(这些service可以返回各种数据类型) 4、将新添加的类作为webservice的soap接口提供出去 通过以上四步就完成了对复杂数据类型的支持。 总结上述步骤的关键点:就是将axis.war包作为我们的ofbiz的那些service的一个代理,通过axis.war中的程序调用o阅读全文
posted @ 2012-08-16 15:43 把酒言欢 阅读(53) | 评论 (0) 编辑
转 ofbiz的webservice接口提供(3)-不规范的wsdl的客户端访问代码
摘要: 针对上个模块提到的ofbiz的wsdl确实不是很规范,那么我们使用axis客户端工具生成的代码肯定不可用,这里我提供了我的客户端调用代码:[java]view plaincopyimportjava.util.*;importjava.net.*;importjava.rmi.*;importjavax.xml.namespace.*;importjavax.xml.rpc.*;importorg.apache.axis.Message;importorg.apache.axis.message.RPCElement;importorg.apache.axis.message.RPCParam阅读全文
posted @ 2012-08-16 15:41 把酒言欢 阅读(36) | 评论 (0) 编辑
转 ofbiz的webservice接口提供(2)-数据类型的局限性
摘要: ofbiz4 对于webservice的支持实在是不咋地,在官方的文档中,SOAP只是支持基础类型的数据的传入传出,这些基础的数据类型我们可以参照 org.ofbiz.service.ModelParam的java2wsdlType方法。大家可以看到这个方法的类只是支持简单的基础数据类型。如 下:[java:showcolumns]view plaincopy·········10········20··&阅读全文
posted @ 2012-08-16 15:40 把酒言欢 阅读(24) | 评论 (0) 编辑
转 ofbiz的webservice接口提供(1)-WSDL的生成
摘要: ofbiz的service:这个是ofbiz赖以骄傲的设计方式。她可以将所有内部实体对象的CRUD都使用service的方式提供,不同系统之间可以通过互相调用service来完成业务操作。这种松耦合的方式是很多框架梦寐以求的效果。在ofbiz4的文档中提到,如果想将ofbiz的某个服务开放成webservice只是需要轻轻的将我们定义service文件中的service属性中的export设定为true。例如:我的一个ofbiz项目的servicedef目录下的services.xml文件中定义了一个服务[xhtml]view plaincopy<servicename="fi阅读全文
posted @ 2012-08-16 15:39 把酒言欢 阅读(55) | 评论 (0) 编辑
ofbiz 定义
摘要: OFBiz概述OFBiz 是开放的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务 器的多层、分布式电子商务类WEB应用系统的框架。 OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。OFBiz 已经正式成为Apache的顶级项目: Apache OFBiz。OFBiz应用程序管理器你可以通过下面的地址进入管理界面,访问商店的目录管理器或OFBiz的其它功能: 8443/webtools/co...阅读全文
posted @ 2012-08-14 10:43 把酒言欢 阅读(55) | 评论 (0) 编辑
ofbiz 登录时默认进入一个指定的模块
摘要: 声明:此修改针对的是 ofbiz10.04 版本,如果因为版本不同导致修改后没有效果,本博客不负法律责任!1、进入ofbiz项目,按组合键 Ctrl + Shift + R,快速查找 ControlServlet.java 文件2、按 组合键 Ctrl + L,快速定位到 152 行,增加如下代码:if (request.getAttribute("targetRequestUri") == null) { if (request.getSession().getAttribute("_PREVIOUS_REQUEST_") != null) { ...阅读全文
posted @ 2012-08-13 16:22 把酒言欢 阅读(97) | 评论 (0) 编辑
ofbiz 的 service eca调用方式解析
摘要: ofbiz 的service eca 调用模式1. 定义文件位置 首先我们需要明白eca是什么?在执行service 的过程中,可以把调用service 的过程分为几个步骤完成。 开启事务 用户登陆验证(auth) 依照service定义对输入参数验证(in-validate) 执行service invoke(invoke) 依照service定义对执行结果进行输出验证(out-validate) 提交事务(commit) 返回最终结果(return)在执行这每个步骤之前,我们定义一个设置来运行其他一些service,这类设置就是service eca .service eca阅读全文
posted @ 2012-08-02 15:16 把酒言欢 阅读(56) | 评论 (0) 编辑
Developing Portlets
摘要: This document explains the way to setup a portlet.Entities InvolvedHow To SetupScreen SetupEntities InvolvedPortletCategory – Used to define category for portlets.PortalPortlet – All the information about a portlet is stored here.PortletPortletCategory – This associates the portlets with the logical阅读全文
posted @ 2012-07-26 15:34 把酒言欢 阅读(24) | 评论 (0) 编辑
OFBiz中JOB的运行机制
摘要: OFBiz执行后台任务的类在org.ofbiz.service.job中。 JobPoller和JobInvoker是主要的两个类,一个负责查询可以执行的Job,另一个执行Job任务。Job类图如下所示。 1.Job轮询 创建JobManager时,会创建JobPoller的一个实例。JobPoller实现了Runnable接口,以此创建线程后 通过JobManager一直轮询是否有Job需要执行,如果有奖将其放入队列中。 1publicsynchronizedvoidrun(){ 2try{ 3//wait30secondsbeforethefirstpoll 4java.lang...阅读全文
posted @ 2012-04-13 10:58 把酒言欢 阅读(75) | 评论 (0) 编辑
OFBiz中services调用机制
摘要: OFBiz业务方法里面,当执行一个service的时候,通常采用如下的方式: LocalDispatcher dispatcher = dctx.getDispatcher(); Map<String, Object> result = dispatcher.runSync(getServiceName(), getContext()); LocalDispatcher是本地调度器,实现服务的同步异步调度和定时任务的调度。与服务调度相关的类图如下: LocalDispatcher是一个接口,实例化的都是GenericDispatcher类,ContextFilter实现了Serv.阅读全文
posted @ 2012-04-13 10:55 把酒言欢 阅读(188) | 评论 (0) 编辑
原创粉丝点击