Sure. Any suggestion on where I should put it? 

----- Original Message ----- 
From: "BJ Freeman" <[EMAIL PROTECTED]> 
To: [email protected] 
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: [email protected] 
> 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: [email protected] 
>> 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 
>>> 
>> 
>> 
> 

Reply via email to