Looks fantastic. Thanks. 

----- Original Message ----- 
From: "Jacques Le Roux" <[EMAIL PROTECTED]> 
To: [email protected] 
Sent: Saturday, August 9, 2008 11:08:21 AM (GMT-0700) America/Denver 
Subject: Re: Problems while PUSH and PULL entity sync process in POS 

I fomatted your work according to Wiki Style. Please could you check it's ok ? 

Thanks for that ! 

Jacques 

From: "Vince M. Clark" <[EMAIL PROTECTED]> 
> Added to wiki with some additional notes for clarity: 
> http://docs.ofbiz.org/display/OFBIZ/Sync+Setup+Notes+and+Example 
> 
> ----- Original Message ----- 
> From: "Vince M. Clark" <[EMAIL PROTECTED]> 
> To: [email protected], "Jacques Le Roux" <[EMAIL PROTECTED]> 
> Sent: Thursday, August 7, 2008 10:47:57 AM (GMT-0700) America/Denver 
> Subject: Re: Problems while PUSH and PULL entity sync process in POS 
> 
> 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: [email protected] 
> 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: [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