Re: svn commit: r1866286 - in /ofbiz/ofbiz-framework/trunk/applications/product: config/ minilang/shipment/issuance/ minilang/shipment/receipt/ minilang/shipment/shipment/ servicedef/
Great, thanks so much Nicolas! Best regards, Swapnil M Mane, ofbiz.apache.org On Mon, Sep 2, 2019 at 8:54 PM Nicolas Malin wrote: > Hi all, > > With this last commit, I think we finish the conversion for CRUD in > mini-lang to entity-auto :) > > \o/ > > Now next step mini-lang to groovy ! > > Cheers, > > Nicolas > > On 9/2/19 5:13 PM, nma...@apache.org wrote: > > Author: nmalin > > Date: Mon Sep 2 15:13:47 2019 > > New Revision: 1866286 > > > > URL: http://svn.apache.org/viewvc?rev=1866286=rev > > Log: > > Improved: Convert Shipment Crud simple service to entity-auto > > (OFBIZ-6996) > > I converted all available shipment entities crud currently on simple > service to entity-auto service : > > * ItemIssuanceRole > > * ShipmentItem > > * ShipmentPackageContent > > * ShipmentPackageRouteSeg > > * ShipmentRouteSegment > > * QuantityBreak > > > > I also transformed a simple method call to a permission service: > checkCanChangeShipmentStatus, who check for a shipment is it on good status > for the change. > > With this last conversion, the permission control set on the service > definition instead of core service > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml > > > > Modified: > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml?rev=1866286=1866285=1866286=diff > > > == > > --- > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > (original) > > +++ > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > Mon Sep 2 15:13:47 2019 > > @@ -1489,6 +1489,10 @@ > > åˆ›å»ºå¿«é€Ÿæ·»åŠ å ˜åž‹æ•°æ ®æ—¶å > ‘生交易错误:${errMessage}。 > >xml:lang="zh-TW">æ–°å»ºå¿«é€Ÿå¢žåŠ è®Šåž‹è³‡æ–™æ™‚ç™¼ç”Ÿäº¤æ˜“éŒ¯èª¤: > ${errMessage}. > > > > + > > +Cannot perform this operation when the > shipment [${testShipment.shipmentId}] is in the > ${testShipmentStatus.description} [${testShipment.statusId}] > status." > > +Impossible de réaliser l'opération > demandée quand l'expédition [${testShipment.shipmentId}] est dans le > statut ${testShipmentStatus.description} [${testShipment.statusId}] > > + > >key="variantevents.variantProductId_required_but_missing_enter_an_id"> > > variantProductId wir benötigt, fehlt > aber, bitte geben Sie eine ID für die neue Produktvariante an. > > variantProductId is required but missing, > please enter an id for the new variant product. > > > > Modified: > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml?rev=1866286=1866285=1866286=diff > > > == > > --- > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > (original) > > +++ > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > Mon Sep 2 15:13:47 2019 > > @@ -22,10 +22,6 @@ under the License. > > xmlns="http://ofbiz.apache.org/Simple-Method; > xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method > http://ofbiz.apache.org/dtds/simple-methods.xsd;> > > > >short-description="Create ItemIssuance"> > > - > > - method-name="checkCanChangeShipmentStatusPacked" > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > - > > - > >value-field="newEntity"/> > >field="newEntity.itemIssuanceId"/> > >result-name="itemIssuanceId"/> > > @@ -64,48 +60,9 @@ under the License. > > > >result-name="affectAccounting"/> > > > > - short-description="Update ItemIssuance"> > > - > > - method-name="checkCanChangeShipmentStatusPacked" > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > - > > - > > - value-field="lookedUpValue"/> > > - > > - > > - > > - short-description="Delete ItemIssuance"> > > - > > -
Re: svn commit: r1866286 - in /ofbiz/ofbiz-framework/trunk/applications/product: config/ minilang/shipment/issuance/ minilang/shipment/receipt/ minilang/shipment/shipment/ servicedef/
Congratulations and thanks Nicolas! Jacques Le 02/09/2019 à 17:24, Nicolas Malin a écrit : Hi all, With this last commit, I think we finish the conversion for CRUD in mini-lang to entity-auto :) \o/ Now next step mini-lang to groovy ! Cheers, Nicolas On 9/2/19 5:13 PM, nma...@apache.org wrote: Author: nmalin Date: Mon Sep 2 15:13:47 2019 New Revision: 1866286 URL: http://svn.apache.org/viewvc?rev=1866286=rev Log: Improved: Convert Shipment Crud simple service to entity-auto (OFBIZ-6996) I converted all available shipment entities crud currently on simple service to entity-auto service : * ItemIssuanceRole * ShipmentItem * ShipmentPackageContent * ShipmentPackageRouteSeg * ShipmentRouteSegment * QuantityBreak I also transformed a simple method call to a permission service: checkCanChangeShipmentStatus, who check for a shipment is it on good status for the change. With this last conversion, the permission control set on the service definition instead of core service Modified: ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml Modified: ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml?rev=1866286=1866285=1866286=diff == --- ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml Mon Sep 2 15:13:47 2019 @@ -1489,6 +1489,10 @@ å建快éæ·»å ååæ°æ®æ¶åç交æé误ï¼${errMessage}ã æ°å»ºå¿«éå¢å è®åè³ææç¼ç交æé¯èª¤: ${errMessage}. + + Cannot perform this operation when the shipment [${testShipment.shipmentId}] is in the ${testShipmentStatus.description} [${testShipment.statusId}] status." + Impossible de réaliser l'opération demandée quand l'expédition [${testShipment.shipmentId}] est dans le statut ${testShipmentStatus.description} [${testShipment.statusId}] + variantProductId wir benötigt, fehlt aber, bitte geben Sie eine ID für die neue Produktvariante an. variantProductId is required but missing, please enter an id for the new variant product. Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml?rev=1866286=1866285=1866286=diff == --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml Mon Sep 2 15:13:47 2019 @@ -22,10 +22,6 @@ under the License. xmlns="http://ofbiz.apache.org/Simple-Method; xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd;> - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - - @@ -64,48 +60,9 @@ under the License. - - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - - - - - - - - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - - - - - - - - - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - - - - - - - - - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - - - - - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - @@ -132,9 +89,6 @@ under the License. - - xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> - @@ -464,7 +418,7 @@ under the License. - +
Re: svn commit: r1866286 - in /ofbiz/ofbiz-framework/trunk/applications/product: config/ minilang/shipment/issuance/ minilang/shipment/receipt/ minilang/shipment/shipment/ servicedef/
Hi all, With this last commit, I think we finish the conversion for CRUD in mini-lang to entity-auto :) \o/ Now next step mini-lang to groovy ! Cheers, Nicolas On 9/2/19 5:13 PM, nma...@apache.org wrote: Author: nmalin Date: Mon Sep 2 15:13:47 2019 New Revision: 1866286 URL: http://svn.apache.org/viewvc?rev=1866286=rev Log: Improved: Convert Shipment Crud simple service to entity-auto (OFBIZ-6996) I converted all available shipment entities crud currently on simple service to entity-auto service : * ItemIssuanceRole * ShipmentItem * ShipmentPackageContent * ShipmentPackageRouteSeg * ShipmentRouteSegment * QuantityBreak I also transformed a simple method call to a permission service: checkCanChangeShipmentStatus, who check for a shipment is it on good status for the change. With this last conversion, the permission control set on the service definition instead of core service Modified: ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml Modified: ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml?rev=1866286=1866285=1866286=diff == --- ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml Mon Sep 2 15:13:47 2019 @@ -1489,6 +1489,10 @@ å建快éæ·»å ååæ°æ®æ¶åç交æé误ï¼${errMessage}ã æ°å»ºå¿«éå¢å è®åè³ææç¼ç交æé¯èª¤: ${errMessage}. + +Cannot perform this operation when the shipment [${testShipment.shipmentId}] is in the ${testShipmentStatus.description} [${testShipment.statusId}] status." +Impossible de réaliser l'opération demandée quand l'expédition [${testShipment.shipmentId}] est dans le statut ${testShipmentStatus.description} [${testShipment.statusId}] + variantProductId wir benötigt, fehlt aber, bitte geben Sie eine ID für die neue Produktvariante an. variantProductId is required but missing, please enter an id for the new variant product. Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml?rev=1866286=1866285=1866286=diff == --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml Mon Sep 2 15:13:47 2019 @@ -22,10 +22,6 @@ under the License. xmlns="http://ofbiz.apache.org/Simple-Method; xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd;> - - - - @@ -64,48 +60,9 @@ under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -132,9 +89,6 @@ under the License. - - - @@ -464,7 +418,7 @@ under the License. - + @@ -565,8 +519,9 @@ under the License. - - + + + Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml?rev=1866286=1866285=1866286=diff == --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml
Re: [VOTE] [RELEASE] Apache OFBiz 16.11.06 - second attempt
+1, thanks Jacopo. Everything seems good! -- Thanks & Regards Pawan Verma Technical Consultant *HotWax Systems* *Enterprise open source experts* http://www.hotwaxsystems.com On Fri, Aug 30, 2019 at 1:55 PM Akash Jain wrote: > +1 > > Thanks and Regards > -- > Akash Jain > > On Tue, Aug 27, 2019 at 3:18 PM Jacopo Cappellato < > jacopo.cappell...@gmail.com> wrote: > > > This is the second vote thread to release a new bug fix release for the > > release16.11 branch. > > This new release, "Apache OFBiz 16.11.06" will supersede all the previous > > releases from the same branch. > > The release files can be downloaded from here: > > > > https://dist.apache.org/repos/dist/dev/ofbiz/ > > > > and are: > > > > * apache-ofbiz-16.11.06.zip > > * KEYS: text file with keys > > * apache-ofbiz-16.11.06.zip.asc: the detached signature file > > * apache-ofbiz-16.11.06.zip.sha512: checksum file > > > > Please download and test the zip file and its signatures (for > instructions > > on testing the signatures see > http://www.apache.org/info/verification.html > > ). > > > > The preview of the Release Notes can be found at: > > https://ofbiz.apache.org/release-notes-16.11.06.html > > > > Vote: > > [ +1] release as Apache OFBiz 16.11.06 > > [ -1] do not release > > > > In order to provide enough time to discuss and test the candidate files, > > this vote will be open for at least 10 days. > > > > For more details about this process please read > > http://www.apache.org/foundation/voting.html > > > > Best Regards, > > Jacopo Cappellato > > >
Re: [VOTE] [RELEASE] Apache OFBiz 16.11.06
Now that Nicolas has implemented the Bintray approach on 16.11, I propose to delete the binary and script files that are available in Bintray: in this way the release branch will be the same as our release files and we will have a more solid way to test that the init script works well. Any objections? Jacopo On Wed, Aug 21, 2019 at 1:49 PM Nicolas Malin wrote: > Nice review, It's ok for me > > Thanks Jacopo > > Nicolas > > On 8/21/19 10:07 AM, Jacopo Cappellato wrote: > > Thank you! > > In rev. 1865605 I have updated the README files and improved some of the > > messages (and comments) in the script. > > Please have a look and let me know what you think. > > > > Jacopo > > > > On Tue, Aug 20, 2019 at 6:29 PM Nicolas Malin > > wrote: > > > >> Ok it's down on bintray :) > >> > >> I also update shasum fingerprint at revision 1865546, and manage to > >> download gradlew when it's not present. > >> > >> Cheers, > >> > >> Nicolas > >> > >> On 8/19/19 12:58 PM, Jacques Le Roux wrote: > >>> Le 18/08/2019 à 17:01, Jacques Le Roux a écrit : > Le 18/08/2019 à 15:20, Jacopo Cappellato a écrit : > > On Sun, Aug 18, 2019 at 10:48 AM Jacques Le Roux < > > jacques.le.r...@les7arts.com> wrote: > > > >> Le 18/08/2019 à 08:51, Jacopo Cappellato a écrit : > >>> We could either add some notes about it to the README or consider > the > >>> > >>> Bintray approach introduced by Nicolas also for this release > branch. > >>> > >> The Bintray approach sounds fine with me. We then need to update the > >> README.md > >> > > It would be great if Nicolas, or anyone else, could backport > > Nicolas' patch > > to the 16.11 release branch. > We need 1st to upload the 2.13 there. I don't know exactly how to do > that. It would be good to have the steps in the RM wiki page > > Jacques > > >>> I committed the files in the branch. Still needs to upload in Bintray > >>> > >>> Jacques > >>> > >>> >
Re: svn commit: r1866255 - in /ofbiz/ofbiz-framework/trunk/framework: security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.j
Hi, sy-password-and-JWT.adoc slipped in inadvertently. Not a big deal it's a WIP part of OFBIZ-10751, to be continued... Jacques Le 02/09/2019 à 09:05, jler...@apache.org a écrit : Author: jleroux Date: Mon Sep 2 07:05:08 2019 New Revision: 1866255 URL: http://svn.apache.org/viewvc?rev=1866255=rev Log: Improved: Unknown request [images]; this request does not exist or cannot be called directly. (OFBIZ-11152) Gives an advice to reassure users about the seriousness of the issue This issue can be easily reproduced by going to example/control/FormWidgetExamples Other backend components are less concerned but it happens sometimes in them too. It's quite hard to understand what's happening. This is a sequel of OFBIZ-10895 Added: ofbiz/ofbiz-framework/trunk/framework/security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc (with props) Modified: ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java Added: ofbiz/ofbiz-framework/trunk/framework/security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc?rev=1866255=auto == --- ofbiz/ofbiz-framework/trunk/framework/security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc (added) +++ ofbiz/ofbiz-framework/trunk/framework/security/src/docs/asciidoc/_include/sy-password-and-JWT.adoc Mon Sep 2 07:05:08 2019 @@ -0,0 +1,76 @@ + +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. + + += Passwords and JWT (JSON Web Tokens) usage +== How are set and used passwords and JWT in Apache OFBiz +The Apache OFBiz Project +Release 17.12 + +:imagesdir: ../../themes/common-theme/webapp/images/img/ +ifdef::backend-pdf[] +:title-logo-image: image::OFBiz-Logo.svg[Apache OFBiz Logo, pdfwidth=4.25in, align=center] +:source-highlighter: rouge +endif::[] + +=== Passwords + +Demo and seed passwords are stored in files loaded through security ofbiz-component.xml. To know more about that be sure to read: + + +* https://cwiki.apache.org/confluence/display/OFBIZ/Apache+OFBiz+Technical+Production+Setup+Guidehttp://url[The technical production setup guide] notably "Initial Data Loading" and "Security Settings" sections +* https://cwiki.apache.org/confluence/display/OFBIZ/How+to+secure+your+deploymenthttp://url[How to secure your deployment] + +[CAUTION] +These configuration steps are not to be neglected for the security of a *production environment* + +=== JWT usage + +https://en.wikipedia.org/wiki/JSON_Web_Token[As says Wikipedia]: + +JSON Web Token (JWT) is an Internet standard for creating JSON-based access tokens that assert some number of claims. + + + +We currently use JWT in 2 places: + +. To let users safely recreate passwords (in backend and frontend) +. To allow SSO (Single Sig-on) jumpings from an OFBiz instance to another OFBiz instance on another domain, by also using https://en.wikipedia.org/wiki/Cross-origin_resource_sharing[CORS] ( +Cross-origin resource sharing) on the target server + + + How to secure JWT +When you use JWT, in order to sign your tokens, you have the choice of using a sole so called secret key or a pair of public/private keys:https://jwt.io/introduction/. + +You might prefer to use pair of public/private keys, but by default OFBiz uses a secret key. Remains the way how to store this secret key. + +. The first idea which comes to mind is to use a property in the security.properties file. It's safe as long as your filesystem is not compromised. +. You may also pick a SystemProperty entity. It's safe as long as your DB is not compromised. +. We recommend to not use an environment variable to pass the uuid as those can be considered weak: + +http://movingfast.io/articles/environment-variables-considered-harmful/ + https://security.stackexchange.com/questions/49725/is-it-really-secure-to-store-api-keys-in-environment-variables + + + += Properties + +The _security.properties_ file introduce two properties that control impersonation feature : + +=== Last but not least +Be sure to read
Re: Advance OFBiz tutorials
Hello Swapnil. +1 for the suggestions. One video tutorial for each of these topics will help greatly. I think some of the critical topics that we can add are mentioned below. I think these are critical tools to learn as an OFBiz developer and then gradually you pick up the other ones - Webtools Usage -- Logging -- Import/Export -- Cache Maintenance -- Entity Engine --- Entity Data Maintenance --- Entity SQL Processor -- Service Engine --- Service Reference --- Job List --- Schedule Job --- Run Service - OFBiz Deployment Environment and Best Practices -- Dev or Local -- Staging / Dev Testing -- UAT -- Production Best regards, Pranay Pandey On Sat, Aug 31, 2019 at 11:22 PM Swapnil M Mane wrote: > Hello team, > > In the year 2017, we revamped the OFBiz tutorial [1] and simplified it for > new adopters. > In this process, by design, we removed some advance topics to make the > tutorial simpler. > > Now, we are planning to write tutorials on following advance OFBiz topics, > -- ECA (Event Condition Action) > -- Group Service > -- Service Interface > -- Extending an existing OOTB Entity > -- Ajaxify the Request > > If you want any topic to be consider, please let us know. We will plan to > include that topic in our roadmap. > Also, if you willing to help in this effort, you are most welcome. > > [1] > > https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide > > Best regards, > Swapnil M Mane, > ofbiz.apache.org >