Improper PULL synchronization from MCS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Improper PULL synchronization from MCS

skpradeepkumar
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
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Vince Clark
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" <[hidden email]>
To: [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Jacques Le Roux
Administrator
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" <[hidden email]>

>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" <[hidden email]>
> To: [hidden email]
> 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
>

Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

David E Jones-3

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

Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Jacques Le Roux
Administrator
From: "David E Jones" <[hidden email]>

>
> 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
>
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Vince Clark
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" <[hidden email]>
To: [hidden email]
Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
Subject: Re: Improper PULL synchronization from MCS

From: "David E Jones" <[hidden email]>

>
> 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
>
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

skpradeepkumar
 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 <[hidden email]>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" <[hidden email]>
> To: [hidden email]
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> From: "David E Jones" <[hidden email]>
> >
> > 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
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Vince Clark
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" <[hidden email]>
To: [hidden email]
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 <[hidden email]>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" <[hidden email]>
> To: [hidden email]
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> From: "David E Jones" <[hidden email]>
> >
> > 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
Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Jacques Le Roux
Administrator
In reply to this post by Vince Clark
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" <[hidden email]>

> 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" <[hidden email]>
> To: [hidden email]
> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
> Subject: Re: Improper PULL synchronization from MCS
>
> From: "David E Jones" <[hidden email]>
>>
>> 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
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Improper PULL synchronization from MCS

Jacques Le Roux
Administrator
In reply to this post by Vince Clark
Thanks Vince,

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

Jacques

From: "Vince M. Clark" <[hidden email]>

> 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" <[hidden email]>
> To: [hidden email]
> 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 <[hidden email]>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" <[hidden email]>
>> To: [hidden email]
>> Sent: Friday, January 23, 2009 4:47:28 PM (GMT-0700) America/Denver
>> Subject: Re: Improper PULL synchronization from MCS
>>
>> From: "David E Jones" <[hidden email]>
>> >
>> > 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
>