Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Store Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems.

Go Back   Vista Forums > Vista technology newsgroups > WinFS

ERROR at least one changed item being outside of the sync scope !

Reply
 
Thread Tools Display Modes
Old 03-04-2006   #1 (permalink)
Jérôme Piquot
Guest
 
Posts: n/a

ERROR at least one changed item being outside of the sync scope !

Hello,

I can't find whats going wrong here!

Regards

The synchronization runtime encountered an error. The changes could not be
saved due to at least one changed item being outside of the sync scope which
is defined by the Replica.
à
System.Storage.Providers.WinFS.Sync.ChangeWriter.ApplyComplexItemChange(WinFSStoreComplexItemList
cciList, Dictionary`2 complexItemList)

à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ProcessComplexItem(ChangeWriter
changeWriter, WinFSCreateComplexItemsOperation cciOp)

à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ExecuteOperations(List`1
operationList)

à System.Storage.Providers.WinFS.WinFSUpdateProcessor.Process(List`1
pendingChanges)

à
System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.Process(List`1
pendingChanges)

à System.Storage.Providers.WinFS.WinFSProvider.SaveChanges(IList`1
pendingChanges, IProviderCache cache)

à System.Storage.StorageContext.SaveChangesCore(List`1 changeList)

à System.Storage.StorageContext.SaveChanges(ChangeSet changeSet)

à System.Storage.StorageContext.SaveChanges()

à System.Storage.Sync.SyncService.SaveContextChanges()

à
Krystal.PreviousVersionAdapter.PreviousVersionSyncAdapter.ReceiveTier(SyncService
syncService, WinFSData winfsData) dans
D:\KrystalFx\WinFS\Adapter\Krystal.PreviousVersionAdapter\PreviousVersionSyncAdapter.cs:ligne
193
-------------------------------------------

private void ReceiveTier(SyncService syncService, WinFSData winfsData)

{

using (TierMapper tierMapper = new
TierMapper((string)Profile.AdapterConfiguration))

{

List<TierMapper.ContactSync> contactList = tierMapper.GetSyncData();

syncService.RemoteKnowledge = syncService.RemotePartnerData as
ReplicaKnowledge;

StorageKey localKey;

Item localObject;

string remoteID;

foreach (TierMapper.ContactSync contactSync in contactList)

{

if (IsCancelled)

break;

remoteID = string.Format("Tier{0}", contactSync.ObjectID);

localKey = syncService.GetLocalKeyForRemoteId(remoteID);

if (localKey != null)

localObject = syncService.Context.GetObjectByKey(localKey) as Item;

else

localObject = null;

if (localObject == null)

{

localObject = tierMapper.TierToContact(contactSync.ObjectID);

localObject.Container = GetItemFolder(localObject);

localObject.SyncHelper.RemoteMetadata.RemoteId = remoteID;

}

else

tierMapper.TierToContact(contactSync.ObjectID, localObject as Contact);

OnProgress(new SyncProgressChangedEventArgs(new ProgressValue(TotalWork,
++WorkDone)));

}

// Save the updated remote knowledge

if (!IsCancelled)

{

syncService.RemotePartnerData = syncService.RemoteKnowledge;

syncService.SaveContextChanges();

}

}

}


  Reply With Quote

Old 03-04-2006   #2 (permalink)
Jérôme Piquot
Guest
 
Posts: n/a

Re: ERROR at least one changed item being outside of the sync scope !

Hello,

It seems that everithing works if the réplica is in the folder containing
the data to sync or in a parent folder.

if items are in //mypc/Default Store/Krystal and the replica file in
//mypc/Default Store/Replica it does not work.

Why?

Regards.


"Jérôme Piquot" <jerome.piquot@wolff.fr> a écrit dans le message de news:
uGh%23kQdPGHA.3840@TK2MSFTNGP14.phx.gbl...
> Hello,
>
> I can't find whats going wrong here!
>
> Regards
>
> The synchronization runtime encountered an error. The changes could not be
> saved due to at least one changed item being outside of the sync scope
> which is defined by the Replica.
> à
> System.Storage.Providers.WinFS.Sync.ChangeWriter.ApplyComplexItemChange(WinFSStoreComplexItemList
> cciList, Dictionary`2 complexItemList)
>
> à
> System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ProcessComplexItem(ChangeWriter
> changeWriter, WinFSCreateComplexItemsOperation cciOp)
>
> à
> System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.ExecuteOperations(List`1
> operationList)
>
> à System.Storage.Providers.WinFS.WinFSUpdateProcessor.Process(List`1
> pendingChanges)
>
> à
> System.Storage.Providers.WinFS.Sync.WinFSSyncUpdateProcessor.Process(List`1
> pendingChanges)
>
> à System.Storage.Providers.WinFS.WinFSProvider.SaveChanges(IList`1
> pendingChanges, IProviderCache cache)
>
> à System.Storage.StorageContext.SaveChangesCore(List`1 changeList)
>
> à System.Storage.StorageContext.SaveChanges(ChangeSet changeSet)
>
> à System.Storage.StorageContext.SaveChanges()
>
> à System.Storage.Sync.SyncService.SaveContextChanges()
>
> à
> Krystal.PreviousVersionAdapter.PreviousVersionSyncAdapter.ReceiveTier(SyncService
> syncService, WinFSData winfsData) dans
> D:\KrystalFx\WinFS\Adapter\Krystal.PreviousVersionAdapter\PreviousVersionSyncAdapter.cs:ligne
> 193
> -------------------------------------------
>
> private void ReceiveTier(SyncService syncService, WinFSData winfsData)
>
> {
>
> using (TierMapper tierMapper = new
> TierMapper((string)Profile.AdapterConfiguration))
>
> {
>
> List<TierMapper.ContactSync> contactList = tierMapper.GetSyncData();
>
> syncService.RemoteKnowledge = syncService.RemotePartnerData as
> ReplicaKnowledge;
>
> StorageKey localKey;
>
> Item localObject;
>
> string remoteID;
>
> foreach (TierMapper.ContactSync contactSync in contactList)
>
> {
>
> if (IsCancelled)
>
> break;
>
> remoteID = string.Format("Tier{0}", contactSync.ObjectID);
>
> localKey = syncService.GetLocalKeyForRemoteId(remoteID);
>
> if (localKey != null)
>
> localObject = syncService.Context.GetObjectByKey(localKey) as Item;
>
> else
>
> localObject = null;
>
> if (localObject == null)
>
> {
>
> localObject = tierMapper.TierToContact(contactSync.ObjectID);
>
> localObject.Container = GetItemFolder(localObject);
>
> localObject.SyncHelper.RemoteMetadata.RemoteId = remoteID;
>
> }
>
> else
>
> tierMapper.TierToContact(contactSync.ObjectID, localObject as Contact);
>
> OnProgress(new SyncProgressChangedEventArgs(new ProgressValue(TotalWork,
> ++WorkDone)));
>
> }
>
> // Save the updated remote knowledge
>
> if (!IsCancelled)
>
> {
>
> syncService.RemotePartnerData = syncService.RemoteKnowledge;
>
> syncService.SaveContextChanges();
>
> }
>
> }
>
> }
>
>



  Reply With Quote
Old 03-15-2006   #3 (permalink)
Neil Padgett [MSFT]
Guest
 
Posts: n/a

Re: ERROR at least one changed item being outside of the sync scope !

"Jérôme Piquot" <jerome.piquot@wolff.fr> wrote in message
news:%23NpGPwdPGHA.720@TK2MSFTNGP14.phx.gbl...
> Hello,
>
> It seems that everithing works if the réplica is in the folder containing
> the data to sync or in a parent folder.
>
> if items are in //mypc/Default Store/Krystal and the replica file in
> //mypc/Default Store/Replica it does not work.
>
> Why?


[clip]

Hi Jérôme,

In WinFS Sync we have the concept of a replica. A replica defines some set
of items in a WinFS store that can be synchronized in a sync session. In
Beta 1, WinFS Sync allows you to create a replica whose scope is defined as
all items under some container. So, when you call
Replica.Create(myReplicaRoot), where myReplicaRoot is some container of your
choosing, you are creating a replica encompassing all items contained under
myReplicaRoot. The Replica item you create in WinFS is used by the system to
store synchronization metadata associated with that synchronization scope.
When you see a Replica item attached to some container in WinFS, you know
that container is the root of a synchronization scope.

In your case you've created a replica whose scope is all entities under
\Replica. So, you can't use this replica to synchronize the items contained
in \Krystal as those items are not within the synchronization scope for that
replica. If you would like to synchronize items contained in \Krystal, you
should create a replica containing those items by supplying the Krystal
folder as the first argument to Replica.Create(). You can then use this new
replica for your sync.

You can refer to the topics under the WinFS Sync node in the WinFS SDK for
more details about replicas and synchronization scopes.

I hope that helps,
Neil

--
Neil Padgett [MSFT]
npadgett@online.microsoft.com
This posting is provided "AS IS" with no warranties, and confers no rights.


  Reply With Quote
Old 03-16-2006   #4 (permalink)
Jérôme Piquot
Guest
 
Posts: n/a

Re: ERROR at least one changed item being outside of the sync scope !

Thanks for this informations.

Regards

"Neil Padgett [MSFT]" <npadgett@online.microsoft.com> a écrit dans le
message de news: uMQm4NISGHA.4952@TK2MSFTNGP09.phx.gbl...
> "Jérôme Piquot" <jerome.piquot@wolff.fr> wrote in message
> news:%23NpGPwdPGHA.720@TK2MSFTNGP14.phx.gbl...
>> Hello,
>>
>> It seems that everithing works if the réplica is in the folder containing
>> the data to sync or in a parent folder.
>>
>> if items are in //mypc/Default Store/Krystal and the replica file in
>> //mypc/Default Store/Replica it does not work.
>>
>> Why?

>
> [clip]
>
> Hi Jérôme,
>
> In WinFS Sync we have the concept of a replica. A replica defines some set
> of items in a WinFS store that can be synchronized in a sync session. In
> Beta 1, WinFS Sync allows you to create a replica whose scope is defined
> as all items under some container. So, when you call
> Replica.Create(myReplicaRoot), where myReplicaRoot is some container of
> your choosing, you are creating a replica encompassing all items contained
> under myReplicaRoot. The Replica item you create in WinFS is used by the
> system to store synchronization metadata associated with that
> synchronization scope. When you see a Replica item attached to some
> container in WinFS, you know that container is the root of a
> synchronization scope.
>
> In your case you've created a replica whose scope is all entities under
> \Replica. So, you can't use this replica to synchronize the items
> contained in \Krystal as those items are not within the synchronization
> scope for that replica. If you would like to synchronize items contained
> in \Krystal, you should create a replica containing those items by
> supplying the Krystal folder as the first argument to Replica.Create().
> You can then use this new replica for your sync.
>
> You can refer to the topics under the WinFS Sync node in the WinFS SDK for
> more details about replicas and synchronization scopes.
>
> I hope that helps,
> Neil
>
> --
> Neil Padgett [MSFT]
> npadgett@online.microsoft.com
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>



  Reply With Quote
 
Reply

Thread Tools
Display Modes









Vistax64.com is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media 2005-2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46