Development Flow Configuration & Deployment HOTWAX MEDIA, INC. Apache Ofbiz Framework Quick Reference Book
Total Page:16
File Type:pdf, Size:1020Kb
Apache OFBiz Framework Quick Reference Book brought to you by: Revision 1.6.3 - ofbiz.apache.org HOTWAX MEDIA, INC. SVN rev 514251 www.hotwaxmedia.com Development Flow Configuration & Deployment Start Data Layer General Configuration Entity Group Entity Definition JNDI Servers Cache Properties entitygroup*.xml entitymodel.xml jndiservers.xml cache.properties URL Properties Debug Properties Entity ECA url.properties debug.properties eecas*.xml Security Logic Layer security.properties security.xml Service Service Definition Implementation services*.xml *Services.xml, Containers & Components *Services.java, etc. Component Load component-load.xml Containers Service ECA Service Group *containers.xml secas*.xml groups*.xml Component ofbiz-component.xml User Interface Layer Request & View Entity & Service Config Screen Widget Definitions *Screens.xml (web only) controller.xml Entity Config entityengine.xml Service Config serviceengine.xml BeanShell Form Widget *.bsh *Forms.xml Entity Field Type fieldtype*.xml Menu Widget *Menus.xml FreeMarker Tree Widget *.ftl *Trees.xml This diagram represents the recommend process for development. See the last page for a diagram that shows how the artifacts refer to each other. Copyright © 2004-2007 HOTWAX MEDIA, INC. Main Diagram page 1 page 2 Entity Definition, Group, ECA Copyright © 2004-2007 HOTWAX MEDIA, INC. Entity Definition Entity Group Entity ECA <entitymodel> [Root Element] <entitygroup> [Root Element] <entity-eca> [Root Element] <title/> [0..1] <entity-group/> [0..*] <eca/> [1..*] <description/> [0..1] </entitygroup> </entity-eca> <copyright/> [0..1] <entity-group group="string [r]" <eca entity="string [r]" <author/> [0..1] entity="string [r]"/> operation="(create|store|remove|find| <version/> [0..1] create-store|create-remove| store- Start Choice [0..*] remove|create-store-remove|any) [r]" <entity/> [1] Entity Definition: View Entities event="(validate|run|return|cache- <view-entity/> [1] check|cache-put|cache-clear) [r]" End Choice [Part of Entity Definition] run-on-error="(true|false) [o]"> </entitymodel> <view-entity entity-name="string [r]" Start Choice [0..*] <title>string</title> package-name="string [r]" <condition/> [1] <description>string</description> dependent-on="string [o]" <condition-field/> [1] <copyright>string</copyright> default-resource-name="str[o]" End Choice <author>string</author> never-cache="(true|false) [o]" <action/> [1..*] <version>string</version> auto-clear-cache="(true|false)[o]" </eca> title="s[o]" copyright="s[o]" <condition field-name="string [r]" author="s[o]" version="s[o]"> operator="(less|greater|less-equals| Entity Definition: Entities <description/> [0..1] greater-equals|equals|not-equals|is- <member-entity/> [1..*] empty|is-not-empty|contains) [r]" [Part of Entity Definition] <alias-all/>[0..*] <alias/>[0..*] value="string [o]" <entity entity-name="string [r]" <view-link/>[0..*] <relation/>[0..*] type="(PlainString|String|BigDecimal| table-name="string [o]" </view-entity> Double|Float|Long|Integer|Date|Time| package-name="string [r]" <member-entity entity-alias="str [r]" Timestamp|Boolean|Object) [o]" default-resource-name="string [o]" entity-name="string [r]"> format="string [o]"/> dependent-on="string [o]" <description/> [0..1] <condition-field field-name="str [r]" enable-lock="(true|false) [o]" </member-entity> operator="(less|greater|less-equals| no-auto-stamp="(true|false) [o]" <alias-all entity-alias="string [r]" greater-equals|equals|not-equals| never-cache="(true|false) [o]" prefix="string [o]"> contains) [r]" auto-clear-cache="(true|false)[o]" <description/> [0..1] to-field-name="string [o]" title="s[o]" copyright="s[o]" <exclude/> [0..*] type="(PlainString|String|BigDecimal| author="s[o]" version="s[o]"> </alias-all> Double|Float|Long|Integer|Date|Time| <description/> [0..1] <exclude field="string [r]"/> Timestamp|Boolean|Object) [o]" <field/> [1..*] <prim-key/> [0..*] <alias entity-alias="string [r]" format="string [o]"/> <relation/> [0..*] <index/> [0..*] name="str [r]" field="str [o]" <action service="string [r]" </entity> col-alias="string [o]" mode="(sync|async) [r]" <prim-key field="string [r]"/> prim-key="string [o]" result-to-value="(true|false) [o]" <field name="string [r]" function="(min|max|sum|avg|count| abort-on-error="(true|false) [o]" col-name="str [o]" type="str [r]" count-distinct|upper|lower)[o]" rollback-on-error="(true|false) [o]" encrypt="(true|false) [o]"> group-by="(true|false) [o]"> persist="(true|false) [o]" <description/>[0..1] <validate/>[0..*] <description/> [0..1] run-as-user="string [0..1:system]" </field> <complex-alias/> [0..1] value-attr="string [o]"/> <validate name="string [r]"/> </alias> <relation title="string [o]" <complex-alias operator="string [r]"> rel-entity-name="string [r]" Start Choice [0..*] Entity Group type="(one|many|one-nofk) [r]" <complex-alias/> [1] fk-name="string [o]"> <complex-alias-field/> [1] [based on product/entitydef/entitygroup.xml] <description/>[0..1] <key-map/>[1..*] End Choice <entitygroup xmlns:xsi="http://www.w3..." </relation> </complex-alias> xsi:noNamesp...="...dtds/entitygroup.xsd"> <entity-group group="org.ofbiz" <key-map field-name="string [r]" <complex-alias-field entity-alias="string [r]" entity="ProdCatalog" /> rel-field-name="string [o]"/> <entity-group group="org.ofbiz" <index name="string [r]" function="(min|max|sum|avg|count| entity="ProdCatalogCategory" /> unique="(true|false) [o]"> count-distinct|upper|lower) [o]" <entity-group group="ex.datawarehouse" <description/> [0..1] field="string [r]"/> entity="SomeDataWarehouseEntity" /> <index-field/> [1..*] <view-link entity-alias="string [r]" </entitygroup> </index> rel-entity-alias="string [r]" <index-field name="string [r]"/> rel-optional="(true|false) [o]"> <extend-entity entity-name="str [r]"> <description/> [0..1] <field/> [0..*] <key-map/> [1..*] Entity ECA </view-link> <relation/> [0..*] <index/> [0..*] [from product/entitydef/eecas.xml] </extend-entity> <entity-eca xmlns:xsi="http://www.w3..." xsi:noNamesp...="...dtds/entity-eca.xsd"> <eca entity="Product" Entity Definition operation="create-store" event="return"> <condition field-name="autoCreateKeywords" [from ofbiz/applications/product/entitydef/entitymodel.xml] operator="not-equals" value="N"/> <entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <action service="indexProductKeywords" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entitymodel.xsd"> mode="sync" value-attr="productInstance"/> <entity entity-name="ProductKeyword" package-name="org.ofbiz.product.product"> </eca> <field name="productId" type="id-ne"></field> <eca entity="ProductFeatureAppl" <field name="keyword" type="short-varchar"></field> operation="create-store" event="return"> <field name="relevancyWeight" type="numeric"></field> <action service="indexProductKeywords" <prim-key field="productId"/> <prim-key field="keyword"/> mode="sync"/> <relation type="one" fk-name="PROD_KWD_PROD" rel-entity-name="Product"> </eca> <key-map field-name="productId"/> <eca entity="InventoryItemDetail" </relation> operation="create-store-remove" </entity> event="return"> <view-entity entity-name="ProductPromoUseCheck" package-name="org.ofbiz.product.promo"> <action <member-entity entity-alias="PPU" entity-name="ProductPromoUse"/> service="updateInventoryItemFromDetail" <member-entity entity-alias="OH" entity-name="OrderHeader"/> mode="sync"/> <alias-all entity-alias="PPU"/> <alias entity-alias="OH" name="statusId"/> </eca> <view-link entity-alias="PPU" rel-entity-alias="OH"> </entity-eca> <key-map field-name="orderId"/> </view-link> </view-entity> </entitymodel> Copyright © 2004-2007 HOTWAX MEDIA, INC. Service Definition, Group, ECA page 3 Service Definition Service Definiton: Attributes Service ECA <services> [Root Element] [Part of Service Definition] <service-eca> [Root Element] <description/> [0..1] <attribute name="string [r]" <eca/> [1..*] <vendor/> [0..1] <version/> [0..1] type="string [r]" </service-eca> <created/> [0..1] <service/> [1..*] mode="(IN | OUT | INOUT) [r]" <eca service="string [r]" </services> optional="(true | false) [o]" event="(global-commit|global- <description>string</description> form-label="string [o]" rollback|auth|in-validate|out- <vendor>string</vendor> entity-name="string [o]" validate|invoke|commit|return) [r]" <version>string</version> field-name="string [o]" run-on-failure="(true|false) [o]" <created>string</created> string-map-prefix="str [o]" run-on-error="(true|false) [o]"> <namespace>string</namespace> string-list-suffix="str [o]" Start Choice [0..*] <service name="string [r]" form-display="(true | false) [o]"> <condition/>[1] <condition-field/>[1] engine="string [r]" <type-validate/> [0..*] <condition-service/>[1] End Choice location="str [o]" invoke="str [o]" </attribute> Start Choice [1..*] auth="(true|false) [o]" <override name="string [r]" <action/> [1] <set/> [1] End Choice export="(true|false) [o]" type="s[o]" entity-name="s[o]" </eca> validate="(true|false) [o]" field-name="string [o]" <condition map-name="string [o]" default-entity-name="str [o]" mode="(IN | OUT | INOUT) [o]" field-name="string [r]" use-transaction="(true|false) [o]" optional="(true | false) [o]" operator="(less|greater|less-equals| require-new-transaction="(true | form-display="(true | false)[o]" greater-equals|equals|not-equals|is- false) [o]" form-label="string [o]"> empty|is-not-empty|contains) [r]" transaction-timeout="str [o]" <type-validate/> [0..*] value="string [o]" max-retry="string [o:-1]" </override> type="(PlainString|String|BigDecimal| debug="(true|false) [o]">