We could put it on the wiki and just refer to the URL in PosSyncSettings.xml.
----- Original Message ----- From: "Jacques Le Roux" <[EMAIL PROTECTED]> To: user@ofbiz.apache.org Sent: Thursday, August 7, 2008 11:21:21 AM (GMT-0700) America/Denver Subject: Re: Problems while PUSH and PULL entity sync process in POS I had no time to review completly yet; but I even wonder if we should not put it in trunk. I will review and let you know. Anyway as a page in Wiki will be good Jacques From: "Jacques Le Roux" <[EMAIL PROTECTED]> > Vince, > > Please put in a new page under the POS page > http://docs.ofbiz.org/display/OFBIZ/POS+System > > Thanks > > Jacques > > From: "Vince M. Clark" <[EMAIL PROTECTED]> >> Sure. Any suggestion on where I should put it? >> >> ----- Original Message ----- >> From: "BJ Freeman" <[EMAIL PROTECTED]> >> To: user@ofbiz.apache.org >> Sent: Thursday, August 7, 2008 10:09:06 AM (GMT-0700) America/Denver >> Subject: Re: Problems while PUSH and PULL entity sync process in POS >> >> Vince could you put this in the wiki >> TIA. >> >> >> Vince M. Clark sent the following on 8/7/2008 6:27 AM: >>> Ajey >>> >>> Not sure if it matters but in the serviceengine.xml file I only change the >>> enity-sync-rmi, not the others. >>> >>> Below is a PosSyncSettings.xml file that includes fairly detailed notes on >>> what to load where (POS vs. MCS) and in what order. >>> Hope it helps. When I modified this file it was the same approach you are >>> taking, a POS terminal and MCS with no per store >>> servers. So it should be exactly what you are trying to do. >>> >>> I would also suggest that as you are going thru the learning process use a >>> dev environment that you can wipe clean and start >>> over many times if necessary. You will need to get used to how >>> synchronization is triggered and it helps if you can clean out >>> the sync settings on all machines (POS, PSS, MCS) and start over. >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <!-- >>> 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. >>> >>> 2007-12-05 vclark Notes >>> EntiyGroup >>> EntityGroup and EntityGroupEntry records are only loaded on Master Central >>> Server (MCS). >>> When the "PULL" sync occurs those records are copied down to the POS >>> terminal. This >>> allows for changes to be made on MCS and propogate down to terminals. >>> Both sets of EntityGroup records (5501 and 5506) are reused across >>> terminals. No need >>> to have separate EntityGroup records for each terminal. >>> >>> EntitySync (PULL) >>> EntitySync record is loaded on MCS. >>> entitySyncId must be unique for each terminal so we use the POS terminal >>> ID. >>> >>> EntitySync (PUSH) >>> EntitySync record is loaded on POS terminal. >>> Can use the same enitySyncId since it is loaded on each terminal, not MCS. >>> >>> RecurrenceRule, RecurrenceInfo, RuntimeData >>> Both of these sets of records are loaded on the POS terminal. This >>> initiates >>> PUSH and PULL transfers and these are always initiated from the terminals, >>> not MCS. >>> >>> Step by Step Instructions >>> 1. Setup POS terminal with clean checkout from trunk >>> 2. In startofbiz.sh/bat set RMIIF to localhost (uncomment the line.) >>> 3. Create empty ofbiz database and populate with seed data (ant >>> run-install-seed). Note that for testing/learning you can load >>> demo data as well. For a production environment you will need to only load >>> seed, then do all of your organization specific setup >>> such as accounting, facilities, stores, etc. >>> 4. framework/service/config/serviceengine.xml - enity-sync-rmi set to MCS. >>> 5. Start POS terminal in standard mode (web interface) >>> 6. Load EntitySync record for PULL on MCS. >>> 7. Load XML on POS terminal to trigger PULL sync >>> 8. Load EntitySync PUSH on POS terminal. >>> 9. When pull is finished, load XML to trigger PUSH >>> 10. Shutdown OfBiz on POS terminal >>> 11. pos-containers.xml on POS client - set xui session id = <facilityId-pos >>> terminal number> ex. 10020-1. >>> 12. pos-containers.xml on POS client - set faclility ID = <facilityId) ex. >>> 10020. >>> >>> --> >>> <entity-engine-xml> >>> >>> <!-- MCS->POS Per Store Server to POS Terminal >>> This data is loaded on the Master Central Server --> >>> <EntityGroup entityGroupId="5501" entityGroupName="POS: Per Store Server to >>> POS Terminal"/> >>> <!-- these are used to update sync settings on the POS terminals from the >>> central server --> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.entity.group" applEnumId="ESIA_INCLUDE"/> >>> <!-- this is the general product information needed for pricing, >>> promotions, basic product info, etc --> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.product" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.price" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.promo" applEnumId="ESIA_INCLUDE"/> >>> <!-- org.ofbiz.product.category is needed for certain promotions, probably >>> won't be used much for category browsing in the >>> POS --> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.category" applEnumId="ESIA_INCLUDE"/> >>> <!-- org.ofbiz.party.party may be needed for certain promotions --> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.party.party" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.pos.PosTerminal" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.storage" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.store" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.accounting.tax" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.security.login" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.security.securitygroup" >>> applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.party.contact" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5501" >>> entityOrPackage="org.ofbiz.product.inventory" applEnumId="ESIA_INCLUDE"/> >>> >>> <!-- POS->MCS Per Store Server to Central Server --> >>> <EntityGroup entityGroupId="5506" entityGroupName="POS: Per Store Server to >>> Central Server"/> >>> <!-- org.ofbiz.party.party may be needed for order related information, >>> like party roles or contact info etc --> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.party.party" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.party.contact" applEnumId="ESIA_INCLUDE"/> >>> <!-- all order and related information, including payment, etc info --> >>> <EntityGroupEntry entityGroupId="5506" entityOrPackage="org.ofbiz.order" >>> applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.accounting.invoice" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.accounting.payment" applEnumId="ESIA_INCLUDE"/> >>> <!-- include inventory and issuance info --> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.shipment.issuance" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.product.inventory" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.pos.PosTerminalLog" applEnumId="ESIA_INCLUDE"/> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.pos.PosTerminalState" >>> applEnumId="ESIA_INCLUDE"/> >>> <!-- include POS transactions --> >>> <EntityGroupEntry entityGroupId="5506" >>> entityOrPackage="org.ofbiz.pos.PosTerminalInternTx" >>> applEnumId="ESIA_INCLUDE"/> >>> >>> >>> <!-- Some examples of EntitySync settings for pulling and pushing data >>> around --> >>> <!-- POS example meant to be used for pushing data from POS to MCS --> >>> <EntitySync entitySyncId="POSPUSH" runStatusId="ESR_NOT_STARTED" >>> syncSplitMillis="600000" >>> targetServiceName="remoteStoreEntitySyncDataRmi" >>> keepRemoveInfoHours="24" forPushOnly="Y"/> >>> <EntitySyncIncludeGroup entitySyncId="POSPUSH" entityGroupId="5506"/> >>> >>> <!-- POS example meant to be used for pulling data from MCS to POS --> >>> <!-- NOTE: for pulling setup the EntitySync record lives on the server the >>> data is pulled from and should ONLY BE USED FOR ONE >>> CLIENT! --> >>> <EntitySync entitySyncId="<POS Terminal ID>" runStatusId="ESR_NOT_STARTED" >>> syncSplitMillis="600000" >>> keepRemoveInfoHours="24" forPullOnly="Y"/> >>> <EntitySyncIncludeGroup entitySyncId="<POS Terminal ID>" >>> entityGroupId="5501"/> >>> >>> <!-- POS Push Scheduled Service --> >>> <!-- >>> <RecurrenceRule recurrenceRuleId="POSPUSH" untilDateTime="" >>> frequency="MINUTELY" intervalNumber="5" countNumber="-1"/> >>> <RecurrenceInfo recurrenceInfoId="POSPUSH" startDateTime="2000-01-01 >>> 00:00:00.000" recurrenceRuleId="POSPUSH" >>> recurrenceCount="0"/> >>> <RuntimeData runtimeDataId="POSPUSH"> >>> <runtimeInfo><![CDATA[<?xml version="1.0" encoding="UTF-8"?> >>> <ofbiz-ser> >>> <map-HashMap> >>> <map-Entry> >>> <map-Key> >>> <std-String value="entitySyncId"/> >>> </map-Key> >>> <map-Value> >>> <std-String value="POSPUSH"/> >>> </map-Value> >>> </map-Entry> >>> </map-HashMap> >>> </ofbiz-ser> >>> ]]></runtimeInfo> >>> </RuntimeData> >>> <JobSandbox jobId="POSPUSH" jobName="Push POS Data" runtimeDataId="POSPUSH" >>> runTime="2000-01-01 00:00:00.000" >>> serviceName="runEntitySync" poolId="pool" runAsUser="system" >>> recurrenceInfoId="POSPUSH"/> >>> --> >>> >>> <!-- POSPULL Scheduled Service --> >>> <RecurrenceRule recurrenceRuleId="POSPULL" untilDateTime="" >>> frequency="HOURLY" intervalNumber="2" countNumber="-1"/> >>> <RecurrenceInfo recurrenceInfoId="POSPULL" startDateTime="2000-01-01 >>> 00:15:00.000" recurrenceRuleId="POSPULL" >>> recurrenceCount="0"/> >>> <RuntimeData runtimeDataId="POSPULL"> >>> <runtimeInfo><![CDATA[<?xml version="1.0" encoding="UTF-8"?> >>> <ofbiz-ser> >>> <map-HashMap> >>> <map-Entry> >>> <map-Key> >>> <std-String value="entitySyncId"/> >>> </map-Key> >>> <map-Value> >>> <std-String value="<POS Terminal ID>"/> >>> </map-Value> >>> </map-Entry> >>> <map-Entry> >>> <map-Key> >>> <std-String value="remotePullAndReportEntitySyncDataName"/> >>> </map-Key> >>> <map-Value> >>> <std-String value="remotePullAndReportEntitySyncDataRmi"/> >>> </map-Value> >>> </map-Entry> >>> </map-HashMap> >>> </ofbiz-ser> >>> ]]></runtimeInfo> >>> </RuntimeData> >>> <JobSandbox jobId="POSPULL" jobName="Pull Data from MCS" >>> runtimeDataId="POSPULL" runTime="2000-01-01 00:00:00.000" >>> serviceName="runPullEntitySync" poolId="pool" runAsUser="system" >>> recurrenceInfoId="POSPULL"/> >>> >>> </entity-engine-xml> >>> >>> >>> ----- Original Message ----- >>> From: "Ajey.bitin" <[EMAIL PROTECTED]> >>> To: user@ofbiz.apache.org >>> Sent: Wednesday, August 6, 2008 10:52:42 PM (GMT-0700) America/Denver >>> Subject: Re: Problems while PUSH and PULL entity sync process in POS >>> >>> >>> Hi Vince, >>> >>> I'm also trying to setup POS completely and struggling around the PULL >>> activity. I've configured POS for only POS terminals and one MCS. Here with >>> my settings, PUSH is being called successfully but I'm not able to >>> configure >>> PULL in the system. I knew from the mailing list, you have experimented a >>> lot in POS. >>> >>> At present my serviceengine.xml of POS Terminal is configured with this >>> setting: >>> <service-location name="main-rmi" >>> location="rmi://server:1098/RMIDispatcher"/> >>> <service-location name="main-http" >>> location="http://server:8089/webtools/control/httpService"/> >>> >>> <service-location name="entity-sync-rmi" >>> location="rmi://server:1098/RMIDispatcher"/> >>> <service-location name="entity-sync-http" >>> location="http://server:8089/webtools/control/httpService"/> >>> >>> <service-location name="rita-rmi" >>> location="rmi://server:1098/RMIDispatcher"/> >>> <service-location name="eedcc-test" >>> location="http://server:8089/webtools/control/httpService"/> >>> >>> The serviceengine.xml of Server (MCS) is configured with this setting: >>> <service-location name="main-rmi" >>> location="rmi://localhost:1088/RMIDispatcher"/> >>> <service-location name="main-http" >>> location="http://localhost:8080/webtools/control/httpService"/> >>> >>> <service-location name="entity-sync-rmi" >>> location="rmi://localhost:1088/RMIDispatcher"/> >>> <service-location name="entity-sync-http" >>> location="http://localhost:8080/webtools/control/httpService"/> >>> >>> <service-location name="rita-rmi" >>> location="rmi://localhost:1088/RMIDispatcher"/> >>> <service-location name="eedcc-test" >>> location="http://localhost:8080/webtools/control/httpService"/> >>> >>> I've configured the PosSyncSettings.xml of POS Terminal with PUSH but I'm >>> getting difficulty to configure PULL, like what kind of setting I need to >>> do >>> on both POS Terminal and Server(MCS) regarding PULL. How every POS Terminal >>> can call PULL so that all inventory, returns and Promo kind of information >>> will be updated on all POS Terminals. >>> >>> Any help is highly appreciated. >>> >>> Thanx in advance, >>> >>> Ajey >>> >>> >>> >>> >>> Vince Clark wrote: >>>> >>>> Pradeep >>>> >>>> Your settings looked fine in PosSyncSettings.xml. I have the impression >>>> from your thread so far that you understand the setup when eliminating the >>>> PSS and using the POS terminal to go directly to MCS. This is the setup we >>>> have used as well so we're on the same page with that configuration. >>>> >>>> It can get a little tricky knowing what config to load on what server (POS >>>> or MCS.) I have some notes at the top of my custom PosSyncSettings.xml >>>> that I will send in a follow up message. Unfortunately I have to boot >>>> another computer to get to them. But they go step by step on what to load >>>> where. >>>> >>>> ----- Original Message ----- >>>> From: "Jacques Le Roux" <[EMAIL PROTECTED]> >>>> To: user@ofbiz.apache.org >>>> Sent: Monday, April 21, 2008 3:45:47 AM (GMT-0700) America/Denver >>>> Subject: Re: Problems while PUSH and PULL entity sync process in POS >>>> >>>> >>>> >>>>> Hi Vince, >>>>> >>>>> Sorry I forgot to ask one importnt thing. The RMIIF environment variable >>>>> is >>>>> defined in startup script startofbiz.sh. But I'm using the windows >>>>> environment to test it. Now in this case how can I set this RMIIF in our >>>>> environment variable. >>>> Simply tranpose to Windows this is a param tpo pass to JVM : >>>> -Djava.rmi.server.hostname=<set your IP address here>" >>>> >>>>> Also, will there be any difference in the contents of PosSyncSeetings.xml >>>>> on >>>>> PSS+POS System and MCS System as I'm calling same two services on both >>>>> system. This i the place where I'm a bit confused. >>>> Are you using 2 different DBs on the PSS+POS System (one for each OFBiz >>>> instance) ? Are you relaying through PSS when you send from >>>> POS to MCS (this is the intended basic scheme, of course you can build >>>> your own...) ? >>>> >>>> Jacques >>>> >>>>> -- >>>>> With regards, >>>>> S K Pradeep kumar >>>>> >>>> >>>> >>> >> >> >