You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Pradeep Kumar <pr...@palindromesoftware.com> on 2009/01/23 20:35:29 UTC

Improper PULL synchronization from MCS

Hi,

I'm getting incomplete data from my MCS while PULL *synchronization*. Some
of the entity groups are *synchronized* properly, there are:
org.ofbiz.entity.group
org.ofbiz.party.party
org.ofbiz.accounting.tax
org.ofbiz.security.login
org.ofbiz.security.securitygroup
org.ofbiz.party.contact

But I'm getting issues while pull *synchronization* of there entity groups:
org.ofbiz.product.product
org.ofbiz.product.price
org.ofbiz.product.promo
org.ofbiz.product.category
org.ofbiz.pos.PosTerminal


I've kept the concept of only Central Server (MCS) and POS Terminals. The
PosSyncSetting.xml for my application is given below:

*******************************************************
*******************************************************
<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="remoteStoreEntitySyncDataHttp"
            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-1" runStatusId="ESR_NOT_STARTED"
syncSplitMillis="600000"
targetServiceName="remotePullAndReportEntitySyncDataHttp"
            keepRemoveInfoHours="24" forPullOnly="Y"/>
    <EntitySyncIncludeGroup entitySyncId="pos-1" 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-1"/>
              </map-Value>
            </map-Entry>
            <map-Entry>
              <map-Key>
                <std-String value="remotePullAndReportEntitySyncDataName"/>
              </map-Key>
              <map-Value>
                <std-String value="remotePullAndReportEntitySyncDataHttp"/>
              </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>
*******************************************************
*******************************************************

Anyways, PUSH is working fine for me. Any kind of help is highly
appreciated.

-- 
With regards,
S K Pradeep kumar

Re: Improper PULL synchronization from MCS

Posted by Jacques Le Roux <ja...@les7arts.com>.
Thanks Vince,

I have put your comments in
http://docs.ofbiz.org/display/OFBIZ/Sync+Setup+Notes+and+Example

Jacques

From: "Vince M. Clark" <vc...@globalera.com>
> Correct. After updating timestamps the records pulled correctly. Of course you need to make sure you aren't doing a PUSH in the 
> other direction that overwrites the records that did not pull correctly.
>
> Changing the timestamps is just a tool to help you isolate your problem, not a solution. The timestamps I changed were the ones on 
> the records that did not pull correctly, NOT the runtime entities or job.
>
> It has been quite a while since I did this, but here are the steps I think you should take:
> 1) Initiate your PULL with a recurrence of about 5 minutes (do not setup any PUSH processes yet).
> 2) Locate a record known to not PULL correctly and verify that it did not pull this time.
> 3) Update the timestamp on the MCS for that record. Have the xml ready to load thru web tools before starting the PULL process. 
> The key here is to just make sure the date and time is set to something later than when the job ran.
> 4) Let the PULL run again and check the record on the POS client to see if it updated properly this time.
>
> If this test doesn't work, check your time settings on both machines. As I stated previously, I suggest setting both servers to 
> the same time and time zone, Do this at least during testing to eliminate possible variables.
>
> I found it easier while troubleshooting this problem to start clean with every test. That means dropping and recreating the 
> database on the POS client a lot.
>
> ----- Original Message ----- 
> From: "Pradeep Kumar" <pr...@palindromesoftware.com>
> To: user@ofbiz.apache.org
> Sent: Saturday, January 24, 2009 4:16:01 AM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> Hi Vince,
> As per you, you did the initial PULL, then updated the timestamps on the
> records and they got pulled properly the next time. Can you pls put some
> help here that how can we update the timestamps on the records we need for
> PULL? Is it something different than what happened always before the PULL
> call becuause before that it updates the next runtime and entitties too?
> Need help.
>
> regards,
> Pradeep
>
> On Sat, Jan 24, 2009 at 5:19 AM, Vince M. Clark <vc...@globalera.com>wrote:
>
>> Agreed, they could still use the web POS interface but run local instances.
>> You would still have sync to deal with but OfBiz could focus on a single POS
>> UI rather than maintaining two.
>>
>> ----- Original Message ----- 
>> From: "Jacques Le Roux" <ja...@les7arts.com>
>> To: user@ofbiz.apache.org
>> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
>> Subject: Re: Improper PULL synchronization from MCS
>>
>> From: "David E Jones" <da...@hotwaxmedia.com>
>> >
>> > On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote:
>> >
>> >> Yes, I agree. I think I will definitively put some effort on this
>> >> side (WebPos I mean). This for this reason and the others being that
>> >> XUI is no longer supported and we have issues with it.
>> >> So it's not yet sure but I'm more an more thinking that the POS
>> >> component will be legacy on day ...
>> >
>> > I doubt the current POS will ever be "legacy" or be abandoned,
>> > although it depends on how many choose to use it.
>> >
>> > Typically organizations want easier deployment, so a web-based
>> > application is great for them.
>> >
>> > In some cases things are very "mission critical", like getting money
>> > from customers in physical retail locations. In those cases redundancy
>> > and minimizing single points of failure is important. If the internet
>> > goes down or even the network in the store, they want each cash
>> > register to be able to run independently. For all but the smallest
>> > retailers that's a mandatory requirement.
>>
>> They could use the same mechanims with WebPos isn'it (a local DB
>> synchronized) ?
>>
>> Jacques
>>
>> > -David
>> >
>>
>
>
>
> -- 
> With regards,
> S K Pradeep kumar
> 


Re: Improper PULL synchronization from MCS

Posted by "Vince M. Clark" <vc...@globalera.com>.
Correct. After updating timestamps the records pulled correctly. Of course you need to make sure you aren't doing a PUSH in the other direction that overwrites the records that did not pull correctly. 

Changing the timestamps is just a tool to help you isolate your problem, not a solution. The timestamps I changed were the ones on the records that did not pull correctly, NOT the runtime entities or job. 

It has been quite a while since I did this, but here are the steps I think you should take: 
1) Initiate your PULL with a recurrence of about 5 minutes (do not setup any PUSH processes yet). 
2) Locate a record known to not PULL correctly and verify that it did not pull this time. 
3) Update the timestamp on the MCS for that record. Have the xml ready to load thru web tools before starting the PULL process. The key here is to just make sure the date and time is set to something later than when the job ran. 
4) Let the PULL run again and check the record on the POS client to see if it updated properly this time. 

If this test doesn't work, check your time settings on both machines. As I stated previously, I suggest setting both servers to the same time and time zone, Do this at least during testing to eliminate possible variables. 

I found it easier while troubleshooting this problem to start clean with every test. That means dropping and recreating the database on the POS client a lot. 

----- Original Message ----- 
From: "Pradeep Kumar" <pr...@palindromesoftware.com> 
To: user@ofbiz.apache.org 
Sent: Saturday, January 24, 2009 4:16:01 AM (GMT-0700) America/Denver 
Subject: Re: Improper PULL synchronization from MCS 

Hi Vince, 
As per you, you did the initial PULL, then updated the timestamps on the 
records and they got pulled properly the next time. Can you pls put some 
help here that how can we update the timestamps on the records we need for 
PULL? Is it something different than what happened always before the PULL 
call becuause before that it updates the next runtime and entitties too? 
Need help. 

regards, 
Pradeep 

On Sat, Jan 24, 2009 at 5:19 AM, Vince M. Clark <vc...@globalera.com>wrote: 

> Agreed, they could still use the web POS interface but run local instances. 
> You would still have sync to deal with but OfBiz could focus on a single POS 
> UI rather than maintaining two. 
> 
> ----- Original Message ----- 
> From: "Jacques Le Roux" <ja...@les7arts.com> 
> To: user@ofbiz.apache.org 
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver 
> Subject: Re: Improper PULL synchronization from MCS 
> 
> From: "David E Jones" <da...@hotwaxmedia.com> 
> > 
> > On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote: 
> > 
> >> Yes, I agree. I think I will definitively put some effort on this 
> >> side (WebPos I mean). This for this reason and the others being that 
> >> XUI is no longer supported and we have issues with it. 
> >> So it's not yet sure but I'm more an more thinking that the POS 
> >> component will be legacy on day ... 
> > 
> > I doubt the current POS will ever be "legacy" or be abandoned, 
> > although it depends on how many choose to use it. 
> > 
> > Typically organizations want easier deployment, so a web-based 
> > application is great for them. 
> > 
> > In some cases things are very "mission critical", like getting money 
> > from customers in physical retail locations. In those cases redundancy 
> > and minimizing single points of failure is important. If the internet 
> > goes down or even the network in the store, they want each cash 
> > register to be able to run independently. For all but the smallest 
> > retailers that's a mandatory requirement. 
> 
> They could use the same mechanims with WebPos isn'it (a local DB 
> synchronized) ? 
> 
> Jacques 
> 
> > -David 
> > 
> 



-- 
With regards, 
S K Pradeep kumar 

Re: Improper PULL synchronization from MCS

Posted by Pradeep Kumar <pr...@palindromesoftware.com>.
 Hi Vince,
As per you, you did the initial PULL, then updated the timestamps on the
records and they got pulled properly the next time. Can you pls put some
help here that how can we update the timestamps on the records we need for
PULL? Is it something different than what happened always before the PULL
call becuause before that it updates the next runtime and entitties too?
Need help.

regards,
Pradeep

On Sat, Jan 24, 2009 at 5:19 AM, Vince M. Clark <vc...@globalera.com>wrote:

> Agreed, they could still use the web POS interface but run local instances.
> You would still have sync to deal with but OfBiz could focus on a single POS
> UI rather than maintaining two.
>
> ----- Original Message -----
> From: "Jacques Le Roux" <ja...@les7arts.com>
> To: user@ofbiz.apache.org
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> From: "David E Jones" <da...@hotwaxmedia.com>
> >
> > On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote:
> >
> >> Yes, I agree. I think I will definitively put some effort on this
> >> side (WebPos I mean). This for this reason and the others being that
> >> XUI is no longer supported and we have issues with it.
> >> So it's not yet sure but I'm more an more thinking that the POS
> >> component will be legacy on day ...
> >
> > I doubt the current POS will ever be "legacy" or be abandoned,
> > although it depends on how many choose to use it.
> >
> > Typically organizations want easier deployment, so a web-based
> > application is great for them.
> >
> > In some cases things are very "mission critical", like getting money
> > from customers in physical retail locations. In those cases redundancy
> > and minimizing single points of failure is important. If the internet
> > goes down or even the network in the store, they want each cash
> > register to be able to run independently. For all but the smallest
> > retailers that's a mandatory requirement.
>
> They could use the same mechanims with WebPos isn'it (a local DB
> synchronized) ?
>
> Jacques
>
> > -David
> >
>



-- 
With regards,
S K Pradeep kumar

Re: Improper PULL synchronization from MCS

Posted by Jacques Le Roux <ja...@les7arts.com>.
Yes, but we have still this problem of JavaPOS. So that's why I'm going to continue to maintain the POS.
At least it works (not the webPOS for now) and we can support the XUI version we have as we have still access to sources (I have to 
check that and maybe take a copy in trunk).
That's what decided me : http://www.openbravo.com/product/pos. I can't believe it, but I will not give up :o)
For XUI sources I have opened this Jira issue https://issues.apache.org/jira/browse/OFBIZ-2157

Jacques

From: "Vince M. Clark" <vc...@globalera.com>
> Agreed, they could still use the web POS interface but run local instances. You would still have sync to deal with but OfBiz could 
> focus on a single POS UI rather than maintaining two.
>
> ----- Original Message ----- 
> From: "Jacques Le Roux" <ja...@les7arts.com>
> To: user@ofbiz.apache.org
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> From: "David E Jones" <da...@hotwaxmedia.com>
>>
>> On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote:
>>
>>> Yes, I agree. I think I will definitively put some effort on this
>>> side (WebPos I mean). This for this reason and the others being that
>>> XUI is no longer supported and we have issues with it.
>>> So it's not yet sure but I'm more an more thinking that the POS
>>> component will be legacy on day ...
>>
>> I doubt the current POS will ever be "legacy" or be abandoned,
>> although it depends on how many choose to use it.
>>
>> Typically organizations want easier deployment, so a web-based
>> application is great for them.
>>
>> In some cases things are very "mission critical", like getting money
>> from customers in physical retail locations. In those cases redundancy
>> and minimizing single points of failure is important. If the internet
>> goes down or even the network in the store, they want each cash
>> register to be able to run independently. For all but the smallest
>> retailers that's a mandatory requirement.
>
> They could use the same mechanims with WebPos isn'it (a local DB synchronized) ?
>
> Jacques
>
>> -David
>>
> 


Re: Improper PULL synchronization from MCS

Posted by "Vince M. Clark" <vc...@globalera.com>.
Agreed, they could still use the web POS interface but run local instances. You would still have sync to deal with but OfBiz could focus on a single POS UI rather than maintaining two. 

----- Original Message ----- 
From: "Jacques Le Roux" <ja...@les7arts.com> 
To: user@ofbiz.apache.org 
Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver 
Subject: Re: Improper PULL synchronization from MCS 

From: "David E Jones" <da...@hotwaxmedia.com> 
> 
> On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote: 
> 
>> Yes, I agree. I think I will definitively put some effort on this 
>> side (WebPos I mean). This for this reason and the others being that 
>> XUI is no longer supported and we have issues with it. 
>> So it's not yet sure but I'm more an more thinking that the POS 
>> component will be legacy on day ... 
> 
> I doubt the current POS will ever be "legacy" or be abandoned, 
> although it depends on how many choose to use it. 
> 
> Typically organizations want easier deployment, so a web-based 
> application is great for them. 
> 
> In some cases things are very "mission critical", like getting money 
> from customers in physical retail locations. In those cases redundancy 
> and minimizing single points of failure is important. If the internet 
> goes down or even the network in the store, they want each cash 
> register to be able to run independently. For all but the smallest 
> retailers that's a mandatory requirement. 

They could use the same mechanims with WebPos isn'it (a local DB synchronized) ? 

Jacques 

> -David 
> 

Re: Improper PULL synchronization from MCS

Posted by Jacques Le Roux <ja...@les7arts.com>.
From: "David E Jones" <da...@hotwaxmedia.com>
> 
> On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote:
> 
>> Yes, I agree. I think I will definitively put some effort on this  
>> side (WebPos I mean). This for this reason and the others being that  
>> XUI is no longer supported and we have issues with it.
>> So it's not yet sure but I'm more an more thinking that the POS  
>> component will be legacy on day ...
> 
> I doubt the current POS will ever be "legacy" or be abandoned,  
> although it depends on how many choose to use it.
> 
> Typically organizations want easier deployment, so a web-based  
> application is great for them.
> 
> In some cases things are very "mission critical", like getting money  
> from customers in physical retail locations. In those cases redundancy  
> and minimizing single points of failure is important. If the internet  
> goes down or even the network in the store, they want each cash  
> register to be able to run independently. For all but the smallest  
> retailers that's a mandatory requirement.

They could use the same mechanims with WebPos isn'it (a local DB synchronized) ?

Jacques
 
> -David
>

Re: Improper PULL synchronization from MCS

Posted by David E Jones <da...@hotwaxmedia.com>.
On Jan 23, 2009, at 3:06 PM, Jacques Le Roux wrote:

> Yes, I agree. I think I will definitively put some effort on this  
> side (WebPos I mean). This for this reason and the others being that  
> XUI is no longer supported and we have issues with it.
> So it's not yet sure but I'm more an more thinking that the POS  
> component will be legacy on day ...

I doubt the current POS will ever be "legacy" or be abandoned,  
although it depends on how many choose to use it.

Typically organizations want easier deployment, so a web-based  
application is great for them.

In some cases things are very "mission critical", like getting money  
from customers in physical retail locations. In those cases redundancy  
and minimizing single points of failure is important. If the internet  
goes down or even the network in the store, they want each cash  
register to be able to run independently. For all but the smallest  
retailers that's a mandatory requirement.

-David


Re: Improper PULL synchronization from MCS

Posted by Jacques Le Roux <ja...@les7arts.com>.
Yes, I agree. I think I will definitively put some effort on this side (WebPos I mean). This for this reason and the others being 
that XUI is no longer supported and we have issues with it.
So it's not yet sure but I'm more an more thinking that the POS component will be legacy on day ...

Please, if interested, share your opinions...

Thanks

Jacques

From: "Vince M. Clark" <vc...@globalera.com>
>I had the same problem a long time ago. promotions and facilities are two groups that I remember consistently having issues with. I 
>would do the initial PULL, then I would update the timestamps on the records and they would get pulled properly the next time.
>
> There is a recent thread on this topic, probably in the past week or so. I suggest searching Nabble.
>
> One thing that helped us with sync in general was to make sure all systems were set to the same time and time zone. I used GMT/UDT 
> and then just changed the user locale within OfBiz to get the right local time. I do not recall whether or not this helped with 
> incomplete data transfers or not.
>
> Entity sync seems to be very tricky to get right. If all you are using it for is to deploy POS and you can count on a reliable 
> data connection you might want to consider just using the new web POS. It still needs some work but might be worth the effort to 
> avoid having to use synchronization.
>
> ----- Original Message ----- 
> From: "Pradeep Kumar" <pr...@palindromesoftware.com>
> To: user@ofbiz.apache.org
> Sent: Friday, January 23, 2009 12:35:29 PM (GMT-0700) America/Denver
> Subject: Improper PULL synchronization from MCS
>
> Hi,
>
> I'm getting incomplete data from my MCS while PULL *synchronization*. Some
> of the entity groups are *synchronized* properly, there are:
> org.ofbiz.entity.group
> org.ofbiz.party.party
> org.ofbiz.accounting.tax
> org.ofbiz.security.login
> org.ofbiz.security.securitygroup
> org.ofbiz.party.contact
>
> But I'm getting issues while pull *synchronization* of there entity groups:
> org.ofbiz.product.product
> org.ofbiz.product.price
> org.ofbiz.product.promo
> org.ofbiz.product.category
> org.ofbiz.pos.PosTerminal
>
>
> I've kept the concept of only Central Server (MCS) and POS Terminals. The
> PosSyncSetting.xml for my application is given below:
>
> *******************************************************
> *******************************************************
> <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="remoteStoreEntitySyncDataHttp"
> 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-1" runStatusId="ESR_NOT_STARTED"
> syncSplitMillis="600000"
> targetServiceName="remotePullAndReportEntitySyncDataHttp"
> keepRemoveInfoHours="24" forPullOnly="Y"/>
> <EntitySyncIncludeGroup entitySyncId="pos-1" 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-1"/>
> </map-Value>
> </map-Entry>
> <map-Entry>
> <map-Key>
> <std-String value="remotePullAndReportEntitySyncDataName"/>
> </map-Key>
> <map-Value>
> <std-String value="remotePullAndReportEntitySyncDataHttp"/>
> </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>
> *******************************************************
> *******************************************************
>
> Anyways, PUSH is working fine for me. Any kind of help is highly
> appreciated.
>
> -- 
> With regards,
> S K Pradeep kumar
> 


Re: Improper PULL synchronization from MCS

Posted by "Vince M. Clark" <vc...@globalera.com>.
I had the same problem a long time ago. promotions and facilities are two groups that I remember consistently having issues with. I would do the initial PULL, then I would update the timestamps on the records and they would get pulled properly the next time. 

There is a recent thread on this topic, probably in the past week or so. I suggest searching Nabble. 

One thing that helped us with sync in general was to make sure all systems were set to the same time and time zone. I used GMT/UDT and then just changed the user locale within OfBiz to get the right local time. I do not recall whether or not this helped with incomplete data transfers or not. 

Entity sync seems to be very tricky to get right. If all you are using it for is to deploy POS and you can count on a reliable data connection you might want to consider just using the new web POS. It still needs some work but might be worth the effort to avoid having to use synchronization. 

----- Original Message ----- 
From: "Pradeep Kumar" <pr...@palindromesoftware.com> 
To: user@ofbiz.apache.org 
Sent: Friday, January 23, 2009 12:35:29 PM (GMT-0700) America/Denver 
Subject: Improper PULL synchronization from MCS 

Hi, 

I'm getting incomplete data from my MCS while PULL *synchronization*. Some 
of the entity groups are *synchronized* properly, there are: 
org.ofbiz.entity.group 
org.ofbiz.party.party 
org.ofbiz.accounting.tax 
org.ofbiz.security.login 
org.ofbiz.security.securitygroup 
org.ofbiz.party.contact 

But I'm getting issues while pull *synchronization* of there entity groups: 
org.ofbiz.product.product 
org.ofbiz.product.price 
org.ofbiz.product.promo 
org.ofbiz.product.category 
org.ofbiz.pos.PosTerminal 


I've kept the concept of only Central Server (MCS) and POS Terminals. The 
PosSyncSetting.xml for my application is given below: 

******************************************************* 
******************************************************* 
<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="remoteStoreEntitySyncDataHttp" 
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-1" runStatusId="ESR_NOT_STARTED" 
syncSplitMillis="600000" 
targetServiceName="remotePullAndReportEntitySyncDataHttp" 
keepRemoveInfoHours="24" forPullOnly="Y"/> 
<EntitySyncIncludeGroup entitySyncId="pos-1" 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-1"/> 
</map-Value> 
</map-Entry> 
<map-Entry> 
<map-Key> 
<std-String value="remotePullAndReportEntitySyncDataName"/> 
</map-Key> 
<map-Value> 
<std-String value="remotePullAndReportEntitySyncDataHttp"/> 
</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> 
******************************************************* 
******************************************************* 

Anyways, PUSH is working fine for me. Any kind of help is highly 
appreciated. 

-- 
With regards, 
S K Pradeep kumar