This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch 
ecomify-OFBIZ-11468_Convert_ShipmentReceiptServices-squashed
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git

commit db463e7517450e54a32b63fef834ff209a39eeb1
Author: Aditya Sharma <adityasha...@apache.org>
AuthorDate: Mon May 25 19:46:04 2020 +0530

    Documented: datamodel markdown migration to asciidoc (OFBIZ-11574)
    
    * Documented: datamodel markdown migration to asciidoc
    (OFBIZ-11574)
    
    - DATAMODEL_CHANGE migration to asciidoc and add a included in
    developer_manual
    - Readme migration to asciidoc
    
    * Documented: theme/README.md change theme/README.adoc but with very
    simple content
    (OFBIZ-11574)
    
    README.md  has been migrated to asciidoc as doc/themes.adoc previously
    but remove README.md has been forgot.
    In this commit README.md is removed and a new README.adoc is created
    with only a brief component definition and link to the theme
    documentation (and developer-manual which included theme.adoc)
    
    * Documented: datamodel markdown migration to asciidoc
    (OFBIZ-11574)
    
    Added new field parentGlXbrlClassId taking reference from 
DATAMODEL_CHANGES.md which was added with OFBIZ-10613 and missing in adoc file
    
    Co-authored-by: holivier <holiv...@apache.org>
---
 applications/datamodel/DATAMODEL_CHANGES.adoc | 416 ++++++++++++++++++++++++++
 applications/datamodel/DATAMODEL_CHANGES.md   | 402 -------------------------
 applications/datamodel/README.adoc            |  36 +++
 applications/datamodel/README.md              |  14 -
 docs/asciidoc/developer-manual.adoc           |   2 +
 themes/README.adoc                            |  28 ++
 themes/README.md                              | 314 -------------------
 7 files changed, 482 insertions(+), 730 deletions(-)

diff --git a/applications/datamodel/DATAMODEL_CHANGES.adoc 
b/applications/datamodel/DATAMODEL_CHANGES.adoc
new file mode 100644
index 0000000..ca21746
--- /dev/null
+++ b/applications/datamodel/DATAMODEL_CHANGES.adoc
@@ -0,0 +1,416 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+= Data Model Changes
+The Apache OFBiz® Project
+Release 17.12
+
+Apache OFBiz follows *The Universal Data Model* by **Len Silverston**, with a 
grain of salt.
+
+The following file contains information about the data model changes in the 
Apache OFBiz.
+ The detailed description of migration scripts specified here can be found at
+ https://cwiki.apache.org/confluence/x/LoBr[Revisions Requiring Data Migration 
- upgrade ofbiz] page.
+
+== Changes with OFBiz Trunk (Upcoming Branch)
+
+=== Entity Changes
+*Added 1 new entity*
+
+1. ProdPromoCodeContactMech
+
+*Removed/Deprecate 1 entity*
+
+1. ProductPromoCodeEmail
+
+=== Field Changes
+[cols="<,^,^,^,>",options="header",]
+|=======================================================
+|Entity                 |Field   |Action |IsPK |Revision
+| GlXbrlClass | parentGlXbrlClassId | Added | No | 36a123a
+|=======================================================
+
+
+=== Migration Scripts
+1.  Migration service migrateProductPromoCodeEmail is implemented to migrate 
the
+    ProductPromoCodeEmail entity to ProductPromoCodeContactMech. +
+    (More detail at 
https://issues.apache.org/jira/browse/OFBIZ-5426[OFBIZ-5426])
+
+== Changes with OFBiz 17
+Field types `id-ne`, `id-long-ne` & `id-vlong-ne` has been removed. Use `id`, 
`id-long` and `id-vlong`
+instead (detailed description at 
https://issues.apache.org/jira/browse/OFBIZ-9351[OFBIZ-9351]).
+
+
+=== Entity Changes
+No changes
+
+=== Field Changes
+[cols="<,^,^,^,>",options="header",]
+|=======================================================
+|Entity                 |Field   |Action |IsPK |Revision
+|MarketingCampaignPrice |fromDate |Added |Yes |R1805961
+|MarketingCampaignPrice |thruDate |Added |No |R1805961
+|MarketingCampaignPromo |fromDate |Added |Yes |R1805961
+|MarketingCampaignPromo |thruDate |Added |No |R1805961
+|MarketingCampaignRole |fromDate |Added |Yes |R1805961
+|MarketingCampaignRole |thruDate |Added |No |R1805961
+|Product |manufacturerPartyId |Removed |No |R1804408
+|SecurityGroupPermission |fromDate |Added |Yes |R1812383
+|SecurityGroupPermission |thruDate |Added |No |R1812383
+|=======================================================
+
+=== Migration Scripts
+1.  Updated sql-type for date-time and time field in fieldtypemysql.xml file 
at commit R1793300 +
+    __Update msyql sql-type for datetime field-type to support Fractional 
Seconds in Time Values
+    Please upgrade mysql to at least 5.6.4 or higher.__ +
+    After upgrade run `generateMySqlFileWithAlterTableForTimestamps` service, 
groupName is required field for
+    this service. +
+    It will generate sql file with alter query statement for date-time and 
time field
+    at location `$\{ofbiz.home}/runtime/tempfiles/.sql` +
+    You can use execute sql statement from any of the mysql batch command.
+
+
+== Changes between OFBiz 9 to OFBiz 16
+
+=== Entity Changes
+*Added 77 new entities*
+
+1.  JobRequisition
+2.  ProductAverageCostType
+3.  WorkEffortSurveyAppl
+4.  WorkEffortIcalData
+5.  WebSiteContactList
+6.  WebAnalyticsType
+7.  WebAnalyticsConfig
+8.  UserLoginSecurityQuestion
+9.  UomGroup
+10. TrainingRequest
+11. ThirdPartyLogin
+12. TestFieldType
+13. TestingSubtype
+14. TestingStatus
+15. TestingRemoveAll
+16. TestingItem
+17. TestingCrypto
+18. SystemProperty
+19. ShipmentGatewayUsps
+20. ShipmentGatewayUps
+21. ShipmentGatewayFedex
+22. ShipmentGatewayDhl
+23. ShipmentGatewayConfig
+24. ShipmentGatewayConfigType
+25. ReturnContactMech
+26. QuoteNote
+27. ProductPromoContent
+28. ProductPromoContentType
+29. ProductGroupOrder
+30. ProductCostComponentCalc
+31. CostComponentCalc
+32. PayPalPaymentMethod
+33. PaymentGroupType
+34. PaymentGroup
+35. PaymentGroupMember
+36. PaymentGatewayConfig
+37. PaymentGatewayConfigType
+38. PaymentGatewayWorldPay
+39. PaymentGatewaySecurePay
+40. PaymentGatewaySagePay
+41. PaymentGatewayOrbital
+42. PaymentGatewayEway
+43. PaymentGatewayCyberSource
+44. PaymentGatewayAuthorizeNet
+45. PaymentGatewayIDEAL
+46. PaymentContentType
+47. PaymentContent
+48. OAuth2LinkedIn
+49. OAuth2GitHub
+50. JobManagerLock
+51. JobInterviewType
+52. JobInterview
+53. JavaResource
+54. InvoiceNote
+55. InvoiceItemAssocType
+56. InvoiceItemAssoc
+57. InvoiceContentType
+58. InvoiceContent
+59. GlAccountCategoryType
+60. GlAccountCategoryMember
+61. GlAccountCategory
+62. GitHubUser
+63. FixedAssetTypeGlAccount
+64. FacilityContent
+65. ExcelImportHistory
+66. EmplLeaveReasonType
+67. EbayShippingMethod
+68. EbayConfig
+69. CountryAddressFormat
+70. ContentSearchResult
+71. ContentSearchConstraint
+72. ContentKeyword
+73. CheckAccount
+74. AgreementFacilityAppl
+75. AgreementContentType
+76. AgreementContent
+
+*Removed 8 entities*
+
+1.  DepreciationMethod
+2.  FixedAssetMaintMeter
+3.  OagisMessageErrorInfo
+4.  OagisMessageInfo
+5.  SalesOpportunityTrackingCode
+6.  SimpleSalesTaxLookup
+7.  TestBlob
+8.  WorkEffortAssignmentRate
+
+
+=== Field Changes
+[cols="<,^,^,^,^",options="header",]
+|=================================================================
+|Entity              |Field           |Action |IsPK |Revision
+|AcctgTransAttribute |attrDescription |Added  |No   |NA
+|AcctgTransEntry |inventoryItemId |Added |No |NA
+|AcctgTransTypeAttr |description |Added |No |NA
+|BenefitType |parentTypeId |Added |No |NA
+|BenefitType |hasTable |Added |No |NA
+|BudgetAttribute |attrDescription |Added |No |NA
+|BudgetItemAttribute |attrDescription |Added |No |NA
+|BudgetItemTypeAttr |description |Added |No |NA
+|BudgetStatus |changeByUserLoginId |Added |No |NA
+|BudgetTypeAttr |description |Added |No |NA
+|CommunicationEventRole |statusId |Added |No |NA
+|CommunicationEventType |contactMechTypeId |Added |No |NA
+|ContactListCommStatus |partyId |Added |No |NA
+|ContactListCommStatus |messageId |Added |No |NA
+|ContactListCommStatus |changeByUserLoginId |Added |No |NA
+|ContactMechAttribute |attrDescription |Added |No |NA
+|ContactMechTypeAttr |description |Added |No |NA
+|DeductionType |parentTypeId |Added |No |NA
+|DeductionType |hasTable |Added |No |NA
+|DocumentAttribute |attrDescription |Added |No |NA
+|DocumentTypeAttr |description |Added |No |NA
+|EmploymentApp |approverPartyId |Added |No |NA
+|EmploymentApp |jobRequisitionId |Added |No |NA
+|EmploymentAppSourceType |parentTypeId |Added |No |NA
+|EmploymentAppSourceType |hasTable |Added |No |NA
+|EmplPositionClassType |parentTypeId |Added |No |NA
+|EmplPositionClassType |hasTable |Added |No |NA
+|EmplPositionType |parentTypeId |Added |No |NA
+|EmplPositionType |hasTable |Added |No |NA
+|EmplPositionType |partyId |Removed |No |NA
+|EmplPositionType |roleTypeId |Removed |No |NA
+|FinAccountAttribute |attrDescription |Added |No |NA
+|FinAccountTransAttribute |attrDescription |Added |No |NA
+|FinAccountTrans |glReconciliationId |Added |No |NA
+|FinAccountTrans |statusId |Added |No |NA
+|FinAccountTransTypeAttr |description |Added |No |NA
+|FinAccountTypeAttr |description |Added |No |NA
+|FinAccountStatus |changeByUserLoginId |Added |No |NA
+|FixedAsset |acquireOrderId |Added |No |NA
+|FixedAsset |acquireOrderItemSeqId |Added |No |NA
+|FixedAssetAttribute |attrDescription |Added |No |NA
+|FixedAssetTypeAttr |description |Added |No |NA
+|GlAccount |externalId |Added |No |NA
+|GlAccount |openingBalance |Added |No |NA
+|GlReconciliation |createdDate |Added |No |NA
+|GlReconciliation |lastModifiedDate |Added |No |NA
+|GlReconciliation |statusId |Added |No |NA
+|GlReconciliation |openingBalance |Added |No |NA
+|InventoryItemAttribute |attrDescription |Added |No |NA
+|InventoryItemStatus |changeByUserLoginId |Added |No |NA
+|InventoryItemTypeAttr |description |Added |No |NA
+|InvoiceAttribute |attrDescription |Added |No |NA
+|InvoiceItemAttribute |attrDescription |Added |No |NA
+|InvoiceItemTypeAttr |description |Added |No |NA
+|InvoiceStatus |changeByUserLoginId |Added |No |NA
+|InvoiceTypeAttr |description |Added |No |NA
+|InvoiceTermAttribute |attrDescription |Added |No |NA
+|JobSandbox |currentRetryCount |Added |No |NA
+|JobSandbox |tempExprId |Added |No |NA
+|JobSandbox |currentRecurrenceCount |Added |No |NA
+|JobSandbox |maxRecurrenceCount |Added |No |NA
+|JobSandbox |jobResult |Added |No |NA
+|OrderAdjustment |amountAlreadyIncluded |Added |No |NA
+|OrderAdjustment |isManual |Added |No |NA
+|OrderAdjustment |oldPercentage |Added |No |NA
+|OrderAdjustment |oldAmountPerQuantity |Added |No |NA
+|OrderAdjustment |lastModifiedDate |Added |No |NA
+|OrderAdjustment |lastModifiedByUserLogin |Added |No |NA
+|OrderAdjustmentAttribute |attrDescription |Added |No |NA
+|OrderAdjustmentTypeAttr |description |Added |No |NA
+|OrderAttribute |attrDescription |Added |No |NA
+|OrderItem |supplierProductId |Added |No |NA
+|OrderItem |cancelBackOrderDate |Added |No |NA
+|OrderItem |changeByUserLoginId |Added |No |NA
+|OrderItemAttribute |attrDescription |Added |No |NA
+|OrderItemShipGroup |facilityId |Added |No |NA
+|OrderItemShipGroup |estimatedShipDate |Added |No |NA
+|OrderItemShipGroup |estimatedDeliveryDate |Added |No |NA
+|OrderItemShipGrpInvRes |priority |Added |No |NA
+|OrderItemShipGrpInvRes |oldPickStartDate |Added |No |NA
+|OrderItemTypeAttr |description |Added |No |NA
+|OrderTermAttribute |attrDescription |Added |No |NA
+|OrderPaymentPreference |track2 |Added |No |NA
+|OrderPaymentPreference |swipedFlag |Added |No |NA
+|OrderPaymentPreference |lastModifiedDate |Added |No |NA
+|OrderPaymentPreference |lastModifiedByUserLogin |Added |No |NA
+|OrderShipment |shipGroupSeqId |Added |No |NA
+|OrderTypeAttr |description |Added |No |NA
+|PartyAcctgPreference |orderSequenceEnumId |Removed |No |NA
+|PartyAcctgPreference |quoteSequenceEnumId |Removed |No |NA
+|PartyAcctgPreference |invoiceSequenceEnumId |Removed |No |NA
+|PartyAcctgPreference |oldOrderSequenceEnumId |Added |No |NA
+|PartyAcctgPreference |oldQuoteSequenceEnumId |Added |No |NA
+|PartyAcctgPreference |oldInvoiceSequenceEnumId |Added |No |NA
+|PartyAcctgPreference |orderSeqCustMethId |Added |No |NA
+|PartyQual |infoString |Removed |No |NA
+|PartyQual |institutionInternalId |Removed |No |NA
+|PartyQual |institutionPartyId |Removed |No |NA
+|PartyQual |partyQualId |Removed |No |NA
+|PartyRate |percentageUsed |Added |No |NA
+|PartyRate |rate |Removed |No |NA
+|PartyResume |contentId |Added |No |NA
+|PaymentAttribute |attrDescription |Added |No |NA
+|PaymentGatewayResponse |gatewayCvResult |Added |No |NA
+|PaymentMethod |finAccountId |Added |No |NA
+|PaymentTypeAttr |description |Added |No |NA
+|PerfRatingType |parentTypeId |Added |No |NA
+|PerfRatingType |hasTable |Added |No |NA
+|PerfReview |payHistoryRoleTypeIdTo |Removed |No |NA
+|PerfReview |payHistoryRoleTypeIdFrom |Removed |No |NA
+|PerfReview |payHistoryPartyIdTo |Removed |No |NA
+|PerfReview |payHistoryPartyIdFrom |Removed |No |NA
+|PerfReview |payHistoryFromDate |Removed |No |NA
+|PerfReviewItemType |parentTypeId |Added |No |NA
+|PerfReviewItemType |hasTable |Added |No |NA
+|PersonTraining |trainingRequestId |Added |No |NA
+|PersonTraining |workEffortId |Added |No |NA
+|PersonTraining |approverId |Added |No |NA
+|PersonTraining |approvalStatus |Added |No |NA
+|PersonTraining |reason |Added |No |NA
+|PostalAddress |houseNumber |Added |No |NA
+|PostalAddress |houseNumberExt |Added |No |NA
+|PostalAddress |cityGeoId |Added |No |NA
+|PostalAddress |municipalityGeoId |Added |No |NA
+|PostalAddress |geoPointId |Added |No |NA
+|PosTerminal |terminalName |Added |No |NA
+|PosTerminalInternTx |reasonEnumId |Added |No |NA
+|Product |releaseDate |Added |No |NA
+|Product |originalImageUrl |Added |No |NA
+|Product |inventoryItemTypeId |Added |No |NA
+|Product |shippingWeight |Added |No |NA
+|Product |productWeight |Added |No |NA
+|Product |diameterUomId |Added |No |NA
+|Product |productDiameter |Added |No |NA
+|Product |virtualVariantMethodEnum |Added |No |NA
+|Product |defaultShipmentBoxTypeId |Added |No |NA
+|Product |lotIdFilledIn |Added |No |NA
+|Product |orderDecimalQuantity |Added |No |NA
+|Product |weight |Removed |No |NA
+|Product |taxCategory |Removed |No |NA
+|Product |taxVatCode |Removed |No |NA
+|Product |taxDutyCode |Removed |No |NA
+|ProductAttribute |attrDescription |Added |No |NA
+|ProductAverageCost |productAverageCostTypeId |Added |No |NA
+|ProductAverageCost |facilityId |Added |No |NA
+|ProductContent |sequenceNum |Added |No |NA
+|ProductKeyword |keywordTypeId |Added |No |NA
+|ProductKeyword |statusId |Added |No |NA
+|ProductRole |sequenceNum |Added |No |NA
+|ProductStore |balanceResOnOrderCreation |Added |No |NA
+|ProductStore |defaultTimeZoneString |Added |No |NA
+|ProductStore |oldStyleSheet |Added |No |NA
+|ProductStore |oldHeaderLogo |Added |No |NA
+|ProductStore |oldHeaderRightBackground |Added |No |NA
+|ProductStore |oldHeaderMiddleBackground |Added |No |NA
+|ProductStore |styleSheet |Removed |No |NA
+|ProductStore |headerLogo |Removed |No |NA
+|ProductStore |headerRightBackground |Removed |No |NA
+|ProductStore |headerMiddleBackground |Removed |No |NA
+|ProductStorePaymentSetting |paymentCustomMethodId |Added |No |NA
+|ProductStorePaymentSetting |paymentGatewayConfigId |Added |No |NA
+|ProductStoreShipmentMeth |shipmentCustomMethodId |Added |No |NA
+|ProductStoreShipmentMeth |shipmentGatewayConfigId |Added |No |NA
+|ProductStoreShipmentMeth |allowancePercent |Added |No |NA
+|ProductStoreShipmentMeth |minimumPrice |Added |No |NA
+|ProductTypeAttribute |attrDescription |Added |No |NA
+|QuoteAdjustment |lastModifiedDate |Added |No |NA
+|QuoteAdjustment |lastModifiedByUserLogin |Added |No |NA
+|QuoteAttribute |attrDescription |Added |No |NA
+|QuoteItem |leadTimeDays |Added |No |NA
+|QuoteRole |fromDate |Added |Yes |NA
+|QuoteRole |thruDate |Added |No |NA
+|QuoteTerm |termDays |Added |No |NA
+|QuoteTerm |textValue |Added |No |NA
+|QuoteTerm |description |Added |No |NA
+|QuoteTermAttribute |attrDescription |Added |No |NA
+|QuoteTypeAttr |description |Added |No |NA
+|RequirementAttribute |changeByUserLoginId |Added |No |NA
+|RequirementStatus |changeByUserLoginId |Added |No |NA
+|ResponsibilityType |parentTypeId |Added |No |NA
+|ResponsibilityType |hasTable |Added |No |NA
+|ReturnAdjustment |createdByUserLoginId |Added |No |NA
+|ReturnAdjustment |lastModifiedDate |Added |No |NA
+|ReturnAdjustment |lastModifiedByUserLogin |Added |No |NA
+|ReturnHeader |supplierRmaId |Added |No |NA
+|ReturnItemResponse |finAccountTransId |Added |No |NA
+|ReturnStatus |changeByUserLoginId |Added |No |NA
+|SalaryStep |fromDate |Added |Yes |NA
+|SalaryStep |thruDate |Added |No |NA
+|SalaryStep |createdByUserLoginId |Added |No |NA
+|SalaryStep |lastModifiedByUserLogin |Added |No |NA
+|SalesOpportunity |nextStepDate |Added |No |NA
+|ServiceSemaphore |lockedByInstanceId |Added |No |NA
+|ShoppingListItem |modifiedPrice |Added |No |NA
+|SkillType |parentTypeId |Added |No |NA
+|SkillType |hasTable |Added |No |NA
+|SupplierProduct |shippingPrice |Added |No |NA
+|SupplierProduct |supplierCommissionPerc |Removed |No |NA
+|TaxAuthorityRateProduct |isTaxInShippingPrice |Added |No |NA
+|TerminationType |parentTypeId |Added |No |NA
+|TerminationType |hasTable |Added |No |NA
+|TestingNodeMember |extendFromDate |Added |No |NA
+|TestingNodeMember |extendThruDate |Added |No |NA
+|TimeEntry |planHour |Added |No |NA
+|Timesheet |approvedByUserLoginId |Added |No |NA
+|TrainingClassType |parentTypeId |Added |No |NA
+|TrainingClassType |hasTable |Added |No |NA
+|UnemploymentClaim |thruDate |Added |No |NA
+|UserLogin |externalAuthId |Added |No |NA
+|UserLogin |userLdapDn |Added |No |NA
+|UserLogin |disabledBy |Added |No |NA
+|ValueLinkKey |createdByUserLogin |Added |No |NA
+|WebSite |visualThemeSetId |Added |No |NA
+|WebSite |hostedPathAlias |Added |No |NA
+|WebSite |isDefault |Added |No |NA
+|WebSite |displayMaintenancePage |Added |No |NA
+|WebSitePathAlias |fromDate |Added |Yes |R1738588
+|WebSitePathAlias |thruDate |Added |No |R1738588
+|WorkEffort |tempExprId |Added |No |NA
+|WorkEffort |sequenceNum |Added |No |NA
+|WorkEffortAttribute |attrDescription |Added |No |NA
+|WorkEffortAssocAttribute |attrDescription |Added |No |NA
+|WorkEffortAssocTypeAttr |description |Added |No |NA
+|WorkEffortContactMech |fromDate |Added |Yes |NA
+|WorkEffortContactMech |thruDate |Added |No |NA
+|WorkEffortFixedAssetAssign |availabilityStatusId |Added |No |NA
+|WorkEffortPartyAssignment |assignedByUserLoginId |Added |No |NA
+|WorkEffortPurposeType |parentTypeId |Added |No |NA
+|WorkEffortStatus |reason |Added |No |NA
+|WorkEffortTypeAttr |description |Added |No |NA
+|WorkOrderItemFulfillment |shipGroupSeqId |Added |No |NA
+|=================================================================
diff --git a/applications/datamodel/DATAMODEL_CHANGES.md 
b/applications/datamodel/DATAMODEL_CHANGES.md
deleted file mode 100644
index 9836db0..0000000
--- a/applications/datamodel/DATAMODEL_CHANGES.md
+++ /dev/null
@@ -1,402 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-Apache OFBiz® Data Model Changes
-=============
-Apache OFBiz follows **The Universal Data Model** by **Len Silverston**, with 
a grain of salt.
-
-The following file contains information about the data model changes in the 
Apache OFBiz.
-The detailed description of migration scripts specified here can be found at 
[Revisions Requiring Data Migration - upgrade 
ofbiz](https://cwiki.apache.org/confluence/x/LoBr) page.
-
-# Changes with OFBiz Trunk (Upcoming Branch)
-
-## Entity Changes
-**Added 1 new entity**
-1. ProdPromoCodeContactMech
-
-**Removed/Deprecate 1 entity**
-1. ProductPromoCodeEmail
-
-## Field Changes
-
-| Entity  | Field  | Action | IsPK | Revision |
-|:------------- |:---------------:|:---------------:|:---------------:| 
-------------:|
-| GlXbrlClass | parentGlXbrlClassId | Added | No | 36a123a |
-
-
-## Migration Scripts
-1. Migration service migrateProductPromoCodeEmail is implemented to migrate 
the ProductPromoCodeEmail entity to ProductPromoCodeContactMech. (More detail 
at [OFBIZ-5426](https://issues.apache.org/jira/browse/OFBIZ-5426))
-
-# Changes with OFBiz 17
-Field types "id-ne", "id-long-ne" & "id-vlong-ne" has been removed. Use "id", 
"id-long" and "id-vlong" instead (detailed description at 
[OFBIZ-9351](https://issues.apache.org/jira/browse/OFBIZ-9351)).
-
-## Entity Changes
-No changes
-
-## Field Changes
-
-| Entity  | Field  | Action | IsPK | Revision |
-|:------------- |:---------------:|:---------------:|:---------------:| 
-------------:|
-| MarketingCampaignPrice | fromDate | Added | Yes | R1805961 |
-| MarketingCampaignPrice | thruDate | Added | No | R1805961 |
-| MarketingCampaignPromo | fromDate | Added | Yes | R1805961 |
-| MarketingCampaignPromo | thruDate | Added | No | R1805961 |
-| MarketingCampaignRole | fromDate | Added | Yes | R1805961 |
-| MarketingCampaignRole | thruDate | Added | No | R1805961 |
-| Product | manufacturerPartyId | Removed | No| R1804408 |
-| SecurityGroupPermission | fromDate | Added | Yes | R1812383 |
-| SecurityGroupPermission | thruDate | Added | No | R1812383 |
-
-## Migration Scripts
-1. Updated sql-type for date-time and time field in fieldtypemysql.xml file
-R1793300 "Update msyql sql-type for datetime field-type to support Fractional 
Seconds in Time Values
-Please upgrade mysql to at least 5.6.4 or higher.
-After upgrade run 'generateMySqlFileWithAlterTableForTimestamps' service, 
groupName is required field for this service,
-It will generate sql file with alter query statement for date-time and time 
field at location "${ofbiz.home}/runtime/tempfiles/<groupName>.sql"
-You can use execute sql statement from any of the mysql batch command.
-
-# Changes between OFBiz 9 to OFBiz 16
-
-## Entity Changes
-**Added 77 new entities**
-
-1. JobRequisition
-2. ProductAverageCostType
-3. WorkEffortSurveyAppl
-4. WorkEffortIcalData
-5. WebSiteContactList
-6. WebAnalyticsType
-7. WebAnalyticsConfig
-8. UserLoginSecurityQuestion
-9. UomGroup
-10. TrainingRequest
-11. ThirdPartyLogin
-12. TestFieldType
-13. TestingSubtype
-14. TestingStatus
-15. TestingRemoveAll
-16. TestingItem
-17. TestingCrypto
-18. SystemProperty
-19. ShipmentGatewayUsps
-20. ShipmentGatewayUps
-21. ShipmentGatewayFedex
-22. ShipmentGatewayDhl
-23. ShipmentGatewayConfig
-24. ShipmentGatewayConfigType
-25. ReturnContactMech
-26. QuoteNote
-27. ProductPromoContent
-28. ProductPromoContentType
-29. ProductGroupOrder
-30. ProductCostComponentCalc
-31. CostComponentCalc
-32. PayPalPaymentMethod
-33. PaymentGroupType
-34. PaymentGroup
-35. PaymentGroupMember
-36. PaymentGatewayConfig
-37. PaymentGatewayConfigType
-38. PaymentGatewayWorldPay
-39. PaymentGatewaySecurePay
-40. PaymentGatewaySagePay
-41. PaymentGatewayOrbital
-42. PaymentGatewayEway
-43. PaymentGatewayCyberSource
-44. PaymentGatewayAuthorizeNet
-45. PaymentGatewayIDEAL
-46. PaymentContentType
-47. PaymentContent
-48. OAuth2LinkedIn
-49. OAuth2GitHub
-50. JobManagerLock
-51. JobInterviewType
-52. JobInterview
-53. JavaResource
-54. InvoiceNote
-55. InvoiceItemAssocType
-56. InvoiceItemAssoc
-57. InvoiceContentType
-58. InvoiceContent
-59. GlAccountCategoryType
-60. GlAccountCategoryMember
-61. GlAccountCategory
-62. GitHubUser
-63. FixedAssetTypeGlAccount
-64. FacilityContent
-65. ExcelImportHistory
-66. EmplLeaveReasonType
-67. EbayShippingMethod
-68. EbayConfig
-69. CountryAddressFormat
-70. ContentSearchResult
-71. ContentSearchConstraint
-72. ContentKeyword
-73. CheckAccount
-74. AgreementFacilityAppl
-75. AgreementContentType
-76. AgreementContent
-
-**Removed 8 entities**
-
-1. DepreciationMethod
-2. FixedAssetMaintMeter
-3. OagisMessageErrorInfo
-4. OagisMessageInfo
-5. SalesOpportunityTrackingCode
-6. SimpleSalesTaxLookup
-7. TestBlob
-8. WorkEffortAssignmentRate
-
-
-## Field Changes
-
-| Entity  | Field  | Action | IsPK | Revision |
-|:------------- 
|:---------------:|:---------------:|:---------------:|:---------------:|
-| AcctgTransAttribute | attrDescription | Added | No | NA |
-| AcctgTransEntry | inventoryItemId | Added | No | NA |
-| AcctgTransTypeAttr | description | Added | No | NA |
-| BenefitType | parentTypeId | Added | No | NA |
-| BenefitType | hasTable | Added | No | NA |
-| BudgetAttribute | attrDescription | Added | No | NA |
-| BudgetItemAttribute | attrDescription | Added | No | NA |
-| BudgetItemTypeAttr | description | Added | No | NA |
-| BudgetStatus | changeByUserLoginId | Added | No | NA |
-| BudgetTypeAttr | description | Added | No | NA |
-| CommunicationEventRole | statusId | Added | No | NA |
-| CommunicationEventType | contactMechTypeId | Added | No | NA |
-| ContactListCommStatus | partyId | Added | No | NA |
-| ContactListCommStatus | messageId | Added | No | NA |
-| ContactListCommStatus | changeByUserLoginId | Added | No | NA |
-| ContactMechAttribute | attrDescription | Added | No | NA |
-| ContactMechTypeAttr | description | Added | No | NA |
-| DeductionType | parentTypeId | Added | No | NA |
-| DeductionType | hasTable | Added | No | NA |
-| DocumentAttribute | attrDescription | Added | No | NA |
-| DocumentTypeAttr | description | Added | No | NA |
-| EmploymentApp | approverPartyId | Added | No | NA |
-| EmploymentApp | jobRequisitionId | Added | No | NA |
-| EmploymentAppSourceType | parentTypeId | Added | No | NA |
-| EmploymentAppSourceType | hasTable | Added | No | NA |
-| EmplPositionClassType | parentTypeId | Added | No | NA |
-| EmplPositionClassType | hasTable | Added | No | NA |
-| EmplPositionType | parentTypeId | Added | No | NA |
-| EmplPositionType | hasTable | Added | No | NA |
-| EmplPositionType | partyId | Removed | No | NA |
-| EmplPositionType | roleTypeId | Removed | No | NA |
-| FinAccountAttribute | attrDescription | Added | No | NA |
-| FinAccountTransAttribute | attrDescription | Added | No | NA |
-| FinAccountTrans | glReconciliationId | Added | No | NA |
-| FinAccountTrans | statusId | Added | No | NA |
-| FinAccountTransTypeAttr | description | Added | No | NA |
-| FinAccountTypeAttr | description | Added | No | NA |
-| FinAccountStatus | changeByUserLoginId | Added | No | NA |
-| FixedAsset | acquireOrderId | Added | No | NA |
-| FixedAsset | acquireOrderItemSeqId | Added | No | NA |
-| FixedAssetAttribute | attrDescription | Added | No | NA |
-| FixedAssetTypeAttr | description | Added | No | NA |
-| GlAccount | externalId | Added | No | NA |
-| GlAccount | openingBalance | Added | No | NA |
-| GlReconciliation | createdDate | Added | No | NA |
-| GlReconciliation | lastModifiedDate | Added | No | NA |
-| GlReconciliation | statusId | Added | No | NA |
-| GlReconciliation | openingBalance | Added | No | NA |
-| InventoryItemAttribute | attrDescription | Added | No | NA |
-| InventoryItemStatus | changeByUserLoginId | Added | No | NA |
-| InventoryItemTypeAttr | description | Added | No | NA |
-| InvoiceAttribute | attrDescription | Added | No | NA |
-| InvoiceItemAttribute | attrDescription | Added | No | NA |
-| InvoiceItemTypeAttr | description | Added | No | NA |
-| InvoiceStatus | changeByUserLoginId | Added | No | NA |
-| InvoiceTypeAttr | description | Added | No | NA |
-| InvoiceTermAttribute | attrDescription | Added | No | NA |
-| JobSandbox | currentRetryCount | Added | No | NA |
-| JobSandbox | tempExprId | Added | No | NA |
-| JobSandbox | currentRecurrenceCount | Added | No | NA |
-| JobSandbox | maxRecurrenceCount | Added | No | NA |
-| JobSandbox | jobResult | Added | No | NA |
-| OrderAdjustment | amountAlreadyIncluded | Added | No | NA |
-| OrderAdjustment | isManual | Added | No | NA |
-| OrderAdjustment | oldPercentage | Added | No | NA |
-| OrderAdjustment | oldAmountPerQuantity | Added | No | NA |
-| OrderAdjustment | lastModifiedDate | Added | No | NA |
-| OrderAdjustment | lastModifiedByUserLogin | Added | No | NA |
-| OrderAdjustmentAttribute | attrDescription | Added | No | NA |
-| OrderAdjustmentTypeAttr | description | Added | No | NA |
-| OrderAttribute | attrDescription | Added | No | NA |
-| OrderItem | supplierProductId | Added | No | NA |
-| OrderItem | cancelBackOrderDate | Added | No | NA |
-| OrderItem | changeByUserLoginId | Added | No | NA |
-| OrderItemAttribute | attrDescription | Added | No | NA |
-| OrderItemShipGroup | facilityId | Added | No | NA |
-| OrderItemShipGroup | estimatedShipDate | Added | No | NA |
-| OrderItemShipGroup | estimatedDeliveryDate | Added | No | NA |
-| OrderItemShipGrpInvRes | priority | Added | No | NA |
-| OrderItemShipGrpInvRes | oldPickStartDate | Added | No | NA |
-| OrderItemTypeAttr | description | Added | No | NA |
-| OrderTermAttribute | attrDescription | Added | No | NA |
-| OrderPaymentPreference | track2 | Added | No | NA |
-| OrderPaymentPreference | swipedFlag | Added | No | NA |
-| OrderPaymentPreference | lastModifiedDate | Added | No | NA |
-| OrderPaymentPreference | lastModifiedByUserLogin | Added | No | NA |
-| OrderShipment | shipGroupSeqId | Added | No | NA |
-| OrderTypeAttr | description | Added | No | NA |
-| PartyAcctgPreference | orderSequenceEnumId | Removed | No | NA |
-| PartyAcctgPreference | quoteSequenceEnumId | Removed | No | NA |
-| PartyAcctgPreference | invoiceSequenceEnumId | Removed | No | NA |
-| PartyAcctgPreference | oldOrderSequenceEnumId | Added | No | NA |
-| PartyAcctgPreference | oldQuoteSequenceEnumId | Added | No | NA |
-| PartyAcctgPreference | oldInvoiceSequenceEnumId | Added | No | NA |
-| PartyAcctgPreference | orderSeqCustMethId | Added | No | NA |
-| PartyQual | infoString | Removed | No | NA |
-| PartyQual | institutionInternalId | Removed | No | NA |
-| PartyQual | institutionPartyId | Removed | No | NA |
-| PartyQual | partyQualId | Removed | No | NA |
-| PartyRate | percentageUsed | Added | No | NA |
-| PartyRate | rate | Removed | No | NA |
-| PartyResume | contentId | Added | No | NA |
-| PaymentAttribute | attrDescription | Added | No | NA |
-| PaymentGatewayResponse | gatewayCvResult | Added | No | NA |
-| PaymentMethod | finAccountId | Added | No | NA |
-| PaymentTypeAttr | description | Added | No | NA |
-| PerfRatingType | parentTypeId | Added | No | NA |
-| PerfRatingType | hasTable | Added | No | NA |
-| PerfReview | payHistoryRoleTypeIdTo | Removed | No | NA |
-| PerfReview | payHistoryRoleTypeIdFrom | Removed | No | NA |
-| PerfReview | payHistoryPartyIdTo | Removed | No | NA |
-| PerfReview | payHistoryPartyIdFrom | Removed | No | NA |
-| PerfReview | payHistoryFromDate | Removed | No | NA |
-| PerfReviewItemType | parentTypeId | Added | No | NA |
-| PerfReviewItemType | hasTable | Added | No | NA |
-| PersonTraining | trainingRequestId | Added | No | NA |
-| PersonTraining | workEffortId | Added | No | NA |
-| PersonTraining | approverId | Added | No | NA |
-| PersonTraining | approvalStatus | Added | No | NA |
-| PersonTraining | reason | Added | No | NA |
-| PostalAddress | houseNumber | Added | No | NA |
-| PostalAddress | houseNumberExt | Added | No | NA |
-| PostalAddress | cityGeoId | Added | No | NA |
-| PostalAddress | municipalityGeoId | Added | No | NA |
-| PostalAddress | geoPointId | Added | No | NA |
-| PosTerminal | terminalName | Added | No | NA |
-| PosTerminalInternTx | reasonEnumId | Added | No | NA |
-| Product | releaseDate | Added | No | NA |
-| Product | originalImageUrl | Added | No | NA |
-| Product | inventoryItemTypeId | Added | No | NA |
-| Product | shippingWeight | Added | No | NA |
-| Product | productWeight | Added | No | NA |
-| Product | diameterUomId | Added | No | NA |
-| Product | productDiameter | Added | No | NA |
-| Product | virtualVariantMethodEnum | Added | No | NA |
-| Product | defaultShipmentBoxTypeId | Added | No | NA |
-| Product | lotIdFilledIn | Added | No | NA |
-| Product | orderDecimalQuantity | Added | No | NA |
-| Product | weight | Removed | No | NA |
-| Product | taxCategory | Removed | No | NA |
-| Product | taxVatCode | Removed | No | NA |
-| Product | taxDutyCode | Removed | No | NA |
-| ProductAttribute | attrDescription | Added | No | NA |
-| ProductAverageCost | productAverageCostTypeId | Added | No | NA |
-| ProductAverageCost | facilityId | Added | No | NA |
-| ProductContent | sequenceNum | Added | No | NA |
-| ProductKeyword | keywordTypeId | Added | No | NA |
-| ProductKeyword | statusId | Added | No | NA |
-| ProductRole | sequenceNum | Added | No | NA |
-| ProductStore | balanceResOnOrderCreation | Added | No | NA |
-| ProductStore | defaultTimeZoneString | Added | No | NA |
-| ProductStore | oldStyleSheet | Added | No | NA |
-| ProductStore | oldHeaderLogo | Added | No | NA |
-| ProductStore | oldHeaderRightBackground | Added | No | NA |
-| ProductStore | oldHeaderMiddleBackground | Added | No | NA |
-| ProductStore | styleSheet | Removed | No | NA |
-| ProductStore | headerLogo | Removed | No | NA |
-| ProductStore | headerRightBackground | Removed | No | NA |
-| ProductStore | headerMiddleBackground | Removed | No | NA |
-| ProductStorePaymentSetting | paymentCustomMethodId | Added | No | NA |
-| ProductStorePaymentSetting | paymentGatewayConfigId | Added | No | NA |
-| ProductStoreShipmentMeth | shipmentCustomMethodId | Added | No | NA |
-| ProductStoreShipmentMeth | shipmentGatewayConfigId | Added | No | NA |
-| ProductStoreShipmentMeth | allowancePercent | Added | No | NA |
-| ProductStoreShipmentMeth | minimumPrice | Added | No | NA |
-| ProductTypeAttribute | attrDescription | Added | No | NA |
-| QuoteAdjustment | lastModifiedDate | Added | No | NA |
-| QuoteAdjustment | lastModifiedByUserLogin | Added | No | NA |
-| QuoteAttribute | attrDescription | Added | No | NA |
-| QuoteItem | leadTimeDays | Added | No | NA |
-| QuoteRole | fromDate | Added | Yes | NA |
-| QuoteRole | thruDate | Added | No | NA |
-| QuoteTerm | termDays | Added | No | NA |
-| QuoteTerm | textValue | Added | No | NA |
-| QuoteTerm | description | Added | No | NA |
-| QuoteTermAttribute | attrDescription | Added | No | NA |
-| QuoteTypeAttr | description | Added | No | NA |
-| RequirementAttribute | changeByUserLoginId | Added | No | NA |
-| RequirementStatus | changeByUserLoginId | Added | No | NA |
-| ResponsibilityType | parentTypeId | Added | No | NA |
-| ResponsibilityType | hasTable | Added | No | NA |
-| ReturnAdjustment | createdByUserLoginId | Added | No | NA |
-| ReturnAdjustment | lastModifiedDate | Added | No | NA |
-| ReturnAdjustment | lastModifiedByUserLogin | Added | No | NA |
-| ReturnHeader | supplierRmaId | Added | No | NA |
-| ReturnItemResponse | finAccountTransId | Added | No | NA |
-| ReturnStatus | changeByUserLoginId | Added | No | NA |
-| SalaryStep | fromDate | Added | Yes | NA |
-| SalaryStep | thruDate | Added | No | NA |
-| SalaryStep | createdByUserLoginId | Added | No | NA |
-| SalaryStep | lastModifiedByUserLogin | Added | No | NA |
-| SalesOpportunity | nextStepDate | Added | No | NA |
-| ServiceSemaphore | lockedByInstanceId | Added | No | NA |
-| ShoppingListItem | modifiedPrice | Added | No | NA |
-| SkillType | parentTypeId | Added | No | NA |
-| SkillType | hasTable | Added | No | NA |
-| SupplierProduct | shippingPrice | Added | No | NA |
-| SupplierProduct | supplierCommissionPerc | Removed | No | NA |
-| TaxAuthorityRateProduct | isTaxInShippingPrice | Added | No | NA |
-| TerminationType | parentTypeId | Added | No | NA |
-| TerminationType | hasTable | Added | No | NA |
-| TestingNodeMember | extendFromDate | Added | No | NA |
-| TestingNodeMember | extendThruDate | Added | No | NA |
-| TimeEntry | planHour | Added | No | NA |
-| Timesheet | approvedByUserLoginId | Added | No | NA |
-| TrainingClassType | parentTypeId | Added | No | NA |
-| TrainingClassType | hasTable | Added | No | NA |
-| UnemploymentClaim | thruDate | Added | No | NA |
-| UserLogin | externalAuthId | Added | No | NA |
-| UserLogin | userLdapDn | Added | No | NA |
-| UserLogin | disabledBy | Added | No | NA |
-| ValueLinkKey | createdByUserLogin | Added | No | NA |
-| WebSite | visualThemeSetId | Added | No | NA |
-| WebSite | hostedPathAlias | Added | No | NA |
-| WebSite | isDefault | Added | No | NA |
-| WebSite | displayMaintenancePage | Added | No | NA |
-| WebSitePathAlias| fromDate | Added | Yes | R1738588 |
-| WebSitePathAlias| thruDate | Added | No | R1738588 |
-| WorkEffort | tempExprId | Added | No | NA |
-| WorkEffort | sequenceNum | Added | No | NA |
-| WorkEffortAttribute | attrDescription | Added | No | NA |
-| WorkEffortAssocAttribute | attrDescription | Added | No | NA |
-| WorkEffortAssocTypeAttr | description | Added | No | NA |
-| WorkEffortContactMech | fromDate | Added | Yes | NA |
-| WorkEffortContactMech | thruDate | Added | No | NA |
-| WorkEffortFixedAssetAssign | availabilityStatusId | Added | No | NA |
-| WorkEffortPartyAssignment | assignedByUserLoginId | Added | No | NA |
-| WorkEffortPurposeType | parentTypeId | Added | No | NA |
-| WorkEffortStatus | reason | Added | No | NA |
-| WorkEffortTypeAttr | description | Added | No | NA |
-| WorkOrderItemFulfillment | shipGroupSeqId | Added | No | NA |
diff --git a/applications/datamodel/README.adoc 
b/applications/datamodel/README.adoc
new file mode 100644
index 0000000..7d37a7d
--- /dev/null
+++ b/applications/datamodel/README.adoc
@@ -0,0 +1,36 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+= Datamodel component
+The Apache OFBiz® Project
+Release 17.12
+
+This OFBiz component contains all entity definitions used in the various 
components in the base and plugins stack.
+
+== more information
+For more information about this component visit the product page in the OFBiz 
WIKI,
+which can be found at 
https://cwiki.apache.org/confluence/display/OFBIZ/Datamodel
+
+For information about datamodel change read documentation 
DATAMODEL_CHANGES.adoc.
+It's included in Developer manual > chapter Entity Engine
+
+== issues
+JIRA issues related to this component can be found at 
https://issues.apache.org/jira/browse/OFBIZ/component/12330107
+
+== commits
+Committed revisions can be viewed at 
https://svn.apache.org/viewvc/ofbiz/trunk/applications/datamodel/
diff --git a/applications/datamodel/README.md b/applications/datamodel/README.md
deleted file mode 100644
index c042237..0000000
--- a/applications/datamodel/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-<img src="http://ofbiz.apache.org/images/OFBiz-logo.png"; alt="Apache OFBiz" />
-
-# Datamodel component
-This OFBiz component contains all entity definitions used in the various 
components in the base and plugins stack.
-
-## more information
-For more information about this component visit the product page in the OFBiz 
WIKI, 
-which can be found at 
https://cwiki.apache.org/confluence/display/OFBIZ/Datamodel
-
-## issues
-JIRA issues related to this component can be found at 
https://issues.apache.org/jira/browse/OFBIZ/component/12330107
-
-## commits
-Committed revisions can be viewed at 
https://svn.apache.org/viewvc/ofbiz/trunk/applications/datamodel/
\ No newline at end of file
diff --git a/docs/asciidoc/developer-manual.adoc 
b/docs/asciidoc/developer-manual.adoc
index 740fd97..56118ef 100644
--- a/docs/asciidoc/developer-manual.adoc
+++ b/docs/asciidoc/developer-manual.adoc
@@ -217,6 +217,8 @@ 
include::../../framework/webapp/src/docs/asciidoc/webapp.adoc[leveloffset=+1]
 
 === Supported databases
 
+include::../../applications/datamodel/DATAMODEL_CHANGES.adoc[leveloffset=+2]
+
 == Service Engine
 
 === Declaration and Implementation
diff --git a/themes/README.adoc b/themes/README.adoc
new file mode 100644
index 0000000..e159ee3
--- /dev/null
+++ b/themes/README.adoc
@@ -0,0 +1,28 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+= Apache OFBiz Themes
+The Apache OFBiz® Project
+Release 17.12
+
+This OFBiz component contains all elements needed to manage theming in OFBiz.
+
+== more information
+All detailled documtation are in file `../docs/themes.adoc` +
+This detailled documentation is included in Developer manual > chapter Widget 
System
+
diff --git a/themes/README.md b/themes/README.md
deleted file mode 100644
index 0582954..0000000
--- a/themes/README.md
+++ /dev/null
@@ -1,314 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-Apache OFBiz Themes
-====================
-
-# What is a theme
-A Theme is an ofbiz component that defines all elements necessary to render 
all information generated by the screen engine through an embedded technology. 
-Currently themes presents in Apache OFBiz use html5/jquery/css to do that.
-
-To realize that, a theme can define some properties, among them some can be 
necessary. It can define its own ftl macro to render the different modelScreen 
elements and can define its own screen decorator to prepare the final user 
screen structure for the technology used by the theme.
-
-# How to define it
-A theme is a standard component, present in the directory themes or plugins 
with a file definition present on widget/Theme.xml and support the 
[widget-theme.xsd](http://ofbiz.apache.org/dtds/widget-theme.xsd)
-
-To offer the possibility for end users to select the theme through the "Select 
Theme Screen", the theme need to load the entity VisualTheme and one or more 
entries related to this theme.
-
-# Structure of Theme.xml
-The theme definition file help OFBiz to know what specific rendering the Theme 
want to use.
-It's composed by two definition elements and four optional blocks
-
-## Main definition
-The First mandatory element is one or several visualThemeId related to the 
theme
-Defined like that
-```xml
-    <visual-themes>
-        <visual-theme id="MY_THEME"/>
-    </visual-themes>
-```
-You need to define in the database an entry in VisualTheme Entity for each 
visual-theme id defined.
-```xml
-<entity-engine-xml>
-    <VisualTheme visualThemeId="MY_THEME" visualThemeSetId="BACKOFFICE" 
description="My theme - Example (based on flatgrey)"/>
-</entity-engine-xml>
-```
->_Note_: a theme component can load one or more visual theme id. Usually only 
one is present.
-
-The second important (but not mandatory) element is **implements**
-```xml
-   <extends location="component://common-theme/widget/Theme.xml"/>
-```
-This element indicates that your theme copies from the extend theme all 
information not present in its file definition.
-If this element isn't present in your theme, you will need to define all 
information present in common-theme to be sure that OFBiz misses nothing for a 
correct run. Otherwise some functionnalities can be broken...
->_Note_: It's highly recommended to extend the common-theme to be sure that 
your theme works correctly and to surcharge only what you need.
-
-The four following blocks are optionnal if you define an extends theme
-## General properties
-This block contains all properties that the screen engine can use to prepare 
the rendering and that the theme can implement
-```xml
-    <widget-properties><!--Transversal properties relative to ofbiz widget 
component-->
-        <default-view-size value="20"/>
-        <autocompleter
-                default-view-size="10"
-                default-min-lenght="2"
-                default-delay="300"
-                display-return-field="true"/>
-        <lookup
-                position="topleft"
-                width="640"
-                height="500"/>
-        <layered-modal
-                width="800"
-                height="600"/>
-    </widget-properties>
-```
-
-## Theme's specific properties
-This block contains all properties specific to this theme. In general these 
are some properties present on ftl template, that are initialized by the theme 
and can be surchaged by another theme through the extends elements.
-```xml
-        <property name="jgrowlPosition" value="center" 
type="String"/><!--possible value: top-left, top-right, bottom-left, 
bottom-right, center-->
-        <property name="jgrowlWidth" value="800" type="Integer"/>
-        <property name="jgrowlHeight" value="" type="Integer"/>
-        <property name="jgrowlSpeed" value="100" type="Integer"/>
-```
-## Ftl macro library
-This block defines for each technology implemented by the screen engine where 
it can find the macro library for each model (Screen, Form, Tree, Menu)
-```xml
-   <templates><!-- Freemarker template use by this theme to render widget 
model-->
-        <template name="screen" type="html" content-type="UTF-8" 
encoding="none" encoder="html" compress="false">
-            <template-file widget="screen" 
location="component://common-theme/template/macro/HtmlScreenMacroLibrary.ftl"/>
-            <template-file widget="form" 
location="component://common-theme/template/macro/HtmlFormMacroLibrary.ftl"/>
-            <template-file widget="tree" 
location="component://common-theme/template/macro/HtmlTreeMacroLibrary.ftl"/>
-            <template-file widget="menu" 
location="component://common-theme/template/macro/HtmlMenuMacroLibrary.ftl"/>
-        </template>
-        ...
-   </templates>
-```
->_Note_: If you want surcharge some macros, you can just create the desired 
macros and import the others from common-theme (at the top of file) like that : 
```<#include 
"component://common-theme/template/macro/HtmlFormMacroLibrary.ftl"/>```
-
-## Screen library
-This block defines where OFBiz can find all official screens definitions in 
framework/common
-
-Normally, you don't need to change this file except if you need to define a 
default screen style that doesn't exist  OOTB. If you need to extend an 
existing one, you have to do it in the theme directory.
-
-To define a new default screen style, you have to add it in this file, and 
point to the screen decorator in common-theme to define your default screen 
style as the default one.
-
-```xml
-     <common-screens><!--list all common screen and decorator global to each 
application that each theme can be surcharge or not and use the screen present 
on common theme-->
-        <structural-decorator 
default-location="component://common-theme/widget/CommonScreens.xml">
-            <screen name="GlobalDecorator"/>
-            ...
-        </structural-decorator>
-        <embed-decorator 
default-location="component://common-theme/widget/CommonScreens.xml">
-            <screen name="FindScreenDecorator"/>
-        </embed-decorator>
-        <general-screen 
default-location="component://common-theme/widget/CommonScreens.xml">
-            <screen name="geoChart"/>
-            ...
-        </general-screen>
-    </common-screens>
-```
-Screens are separated in three types :
-* structural-decorator : contains all decorators that organise the screens 
structures
-* embed-decorator : decorator used only on sub screens
-* general-screen : list all generic inter applications screens
-# The common-theme
-This is the root theme that contains all information to ensure a good basic 
theme for OFBiz.
-Currently it keeps all old themes system for backward compatibility with ftl 
template managed by the entity **VisualThemeResource**
-
-# Create your own theme
-As a theme is a component, you can create a new theme like a plugin. 
-
-After creating a component, you can add the two minimal information :
-
-* Theme.xml file in **plugins/my-theme/widget/** with minimal information :
-```xml
-<theme name="my-theme"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-theme.xsd";>
-    <visual-themes>
-        <visual-theme id="MY_THEME" display-name="My Theme"/>
-    </visual-themes>
-</theme>
-```
-
-
-* your data file to add your visual theme in **plugins/my-theme/data/**
-```xml
-<entity-engine-xml>
-    <VisualTheme visualThemeId="MY_THEME" visualThemeSetId="BACKOFFICE"/>
-</entity-engine-xml>
-```
-The presence of VisualTheme entity helps to indicate which theme is available 
in your instance, specially helpful for tenant installations.
-
-To display your theme in OFBiz theme library, you can complete the information 
on each visual theme like
-```
-<theme name="my-theme"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-theme.xsd";>
-    <visual-themes>
-        <visual-theme id="MY_THEME" display-name="My Theme">
-            <description>My new funny theme under nice tecnno</description>
-            <screenshot location="/mytheme/screenshot1.png"/>
-            <screenshot location="/mytheme/screenshot2.png"/>
-        </visual-theme>
-    </visual-themes>
-</theme>
-```
-
->_Note_: **display-name** and **description** support the 
flexibleStringExpander syntax
-
-## extends common-theme
-This is a first step to understand how the theme system works. With your new 
theme, you can try to surchage different elements.
-To start, extends the common-theme :
-```xml
-<theme name="my-theme"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-theme.xsd";>
-    <visual-themes>
-        <visual-theme id="MY_THEME" display-name="My Theme">
-            <description>My new funny theme under nice tecnno</description>
-            <screenshot location="/mytheme/screenshot1.png"/>
-        </visual-theme>
-    </visual-themes>
-    <extends location="component://common-theme/widget/Theme.xml"/>
-</theme>
-```
-Now your theme should be operational, but without particularity.
-
-You can surcharge a ftl macro, to do this create your own ftl macro file in 
**plugins/my-theme/templates/macro/HtmlFormMacroLibrary.ftl** with
-
-```ftl
-<#include "component://common-theme/template/macro/HtmlFormMacroLibrary.ftl"/>
-
-<#macro renderDisplayField type imageLocation idName description title class 
alert inPlaceEditorUrl="" inPlaceEditorParams="">
-    <#if description?has_content>
-    *###*${description?replace("\n", "<br />")}**<#t/>
-    <#else>
-        *#&nbsp;#*<#t/>
-    </#if>
-</#macro>
-```
-Now indicate to your theme that you want use this library
-```xml
-<theme name="my-theme"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-theme.xsd";>
-    <visual-themes>
-        <visual-theme id="MY_THEME" display-name="My Theme">
-            <description>My new funny theme under nice tecnno</description>
-            <screenshot location="/mytheme/screenshot1.png"/>
-        </visual-theme>
-    </visual-themes>
-    <extends location="component://common-theme/widget/Theme.xml"/>
-    <templates>
-        <template name="screen" type="html" content-type="UTF-8" 
encoding="none" encoder="html" compress="false">
-            <template-file widget="form" 
location="component://my-theme/template/macro/HtmlFormMacroLibrary.ftl"/>
-        </template>
-    </templates>
-</theme>
-```
-and check the result when you select your theme. The result isn't really 
interesting but it's to understand how it works.
-
-## create from scratch
-TODO...
-
-# Backware compatibility with OFBiz 16.11 and above
-## How themes worked before
-Before the theme management by model definition, all configurations have been 
present in the database through entity **VisualTheme** and 
**VisualThemeRessource**.
-These ressources were loaded in a **layoutProperties** variable and used 
directly by decorator screens and ftl templates.
-
-## Now with the common-theme
-All this logic is still present in the common-theme template to keep backward 
compatibility, but the VisualThemeRessource is now useless and properties have 
been migrated to the Theme definition in the part **theme-properties**
-### Example with BlueLight
-The blue light theme has been these properties in VisualThemeRessource :
-
-```xml
-    <VisualTheme visualThemeId="BLUELIGHT" visualThemeSetId="BACKOFFICE" 
description="BlueLight Theme: breadcrumbs, drop-down menus and rounded 
corners"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_NAME" resourceValue="BLUELIGHT" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_IMAGE_URL" resourceValue="/images/ofbiz_logo.png" 
sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_SHORTCUT_ICON" resourceValue="/images/ofbiz.ico" 
sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_SCREENSHOT" resourceValue="/bluelight/screenshot.jpg" 
sequenceId="01"/>
-
-    <!-- CSS references -->
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_STYLESHEET" resourceValue="/bluelight/style.css" 
sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HELPSTYLESHEET" resourceValue="/bluelight/help.css" 
sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_DOCBOOKSTYLESHEET" 
resourceValue="/bluelight/webapp/bluelight/docbook.css" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_STYLESHEET" 
resourceValue="/common/js/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css"
 sequenceId="02"/>
-
-    <!-- Javascript references -->
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/jquery-1.11.0.min.js" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/jquery-migrate-1.2.1.js" sequenceId="02"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/ui/js/jquery-ui-1.10.3.min.js" 
sequenceId="03"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.js"
 sequenceId="05"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/datetimepicker/jquery-ui-timepicker-addon.min-1.4.3.js"
 sequenceId="07"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/fjTimer/jquerytimer-min.js" 
sequenceId="09"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/mask/jquery.mask-1.14.13.min.js" 
sequenceId="10"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/jeditable/jquery.jeditable-1.7.3.js" 
sequenceId="11"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/jquery/plugins/validate/jquery.validate.min.js" 
sequenceId="12"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/plugins/OpenLayers-2.13.1.js" sequenceId="13"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/util/OfbizUtil.js" sequenceId="15"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/util/fieldlookup.js" sequenceId="16"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/plugins/date/date.format-1.2.3-min.js" 
sequenceId="17"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/plugins/date/date.timezone-min.js" sequenceId="18"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/util/miscAjaxFunctions.js" sequenceId="19"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/util/selectMultipleRelatedValues.js" sequenceId="20"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" resourceValue="/common/js/util/util.js" 
sequenceId="21"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" 
resourceValue="/common/js/plugins/date/FromThruDateCheck.js" sequenceId="22"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_JAVASCRIPT" resourceValue="/bluelight/dropdown.js" 
sequenceId="30"/>
-
-    <!-- ftl references -->
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_HDR_TMPLT_LOC" 
resourceValue="component://bluelight/template/Header.ftl" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_FTR_TMPLT_LOC" 
resourceValue="component://bluelight/template/Footer.ftl" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_NAV_OPEN_TMPLT" 
resourceValue="component://bluelight/template/AppBarOpen.ftl" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_NAV_CLOSE_TMPLT" 
resourceValue="component://bluelight/template/AppBarClose.ftl" sequenceId="01"/>
-    <VisualThemeResource visualThemeId="BLUELIGHT" 
resourceTypeEnumId="VT_MSG_TMPLT_LOC" 
resourceValue="component://bluelight/template/Messages.ftl" sequenceId="01"/>
-```
-Now it's just
-```xml
-    <VisualTheme visualThemeId="BLUELIGHT" visualThemeSetId="BACKOFFICE"/>
-```
-And on theme definition
-
-```xml
-    <theme-properties>
-        <!--javascript lib-->
-        <property name="VT_HDR_JAVASCRIPT['add']" 
value="/bluelight/dropdown.js" sequenceId="30"/>
-        <!--Css style-->
-        <property name="VT_STYLESHEET['add']" value="/bluelight/style.css"/>
-        <property name="VT_HELPSTYLESHEET['add']" value="/bluelight/help.css"/>
-        <property name="VT_DOCBOOKSTYLESHEET['add']" 
value="/bluelight/webapp/bluelight/docbook.css"/>
-        <!--template location-->
-        <property name="VT_HDR_TMPLT_LOC" 
value="component://bluelight/template/Header.ftl"/>
-        <property name="VT_FTR_TMPLT_LOC" 
value="component://bluelight/template/Footer.ftl"/>
-        <property name="VT_NAV_OPEN_TMPLT" 
value="component://bluelight/template/AppBarOpen.ftl"/>
-        <property name="VT_NAV_CLOSE_TMPLT" 
value="component://bluelight/template/AppBarClose.ftl"/>
-        <property name="VT_MSG_TMPLT_LOC" 
value="component://bluelight/template/Messages.ftl"/>
-    </theme-properties>
-```
-Values with **/images/...** have been moved to the common-theme that bluelight 
extends, the theme definition keeps only what the theme adds to the extended 
theme.
-
->_Note_ property name supports the FlexibleMapAccessor syntax, so you can 
continue to populate a list (VT_STYLESHEET['add']), reset a list 
(VT_STYLESHEET[]) or add an element on the top list (VT_STYLESHEET[+0]) because 
some time the order libraries loading is important
-
-### Migrate you own theme
-Easily, create you Theme.xml and move your VisualThemeResource in 
**theme-properties** like in the BlueLight example above.
-Maybe you will need to update your template because the modelTheme return 
ressources not always as list. So :
-`<property name="VT_HDR_TMPLT_LOC" 
value="component://bluelight/template/Header.ftl"/>` -> return a String with 
`component://bluelight/template/Header.ftl`
-`<property name="VT_STYLESHEET['add'] value="..."` -> return a List<String>
-

Reply via email to