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 >>>>>> >>>>> >>>>> >>>> >>> >>> >> > >
