What exactly does 'reconcile' mean?

511
4
09-21-2012 08:40 AM
Zeke
by
Regular Contributor III
I've seen the term 'reconcile' used a couple different ways in ESRI documentation. In one, e.g. the sample questions for certification, it means changes in the parent/target database are pushed to the child/versioned database (I know it's not actually a separate db). In another context, it seems to mean changes a user makes are checked for conflicts before being posted to the parent. Which is it? Thanks.
0 Kudos
4 Replies
JoeBorgione
MVP Esteemed Contributor
Greg-  for me I've gone with the latter; it is the process in which a version is compared to to the version it was spawned from for conflicts.  I hasten to use the terms parent and child, as I prefer to use them in discussing the distributed database model, or replication.

In a simple versioned database, there is sde.default, and spawned from it is one version; lets call it version1.  When reconciling, version1 is compared to sde.default.  If sde.default has a feature that has been edited and version1 has the same feature edited, that's a conflict and you get to decide which edits you want to keep.  Typically, I don't allow edits to be made directly to sde.default.

You open up to conflicts if sde.default spawns several versions: lets say version1, version2 and version3. You reconcile (and post) the changes in version one to sde.default, and then later, you reconcile version2 to sde.default.  If someone edited the same features in version2 that someone else edited in version1, you'll get a conflict.  For that reason, I typically only have one 'edit' version that all my editors work on.  I have a number of editors and used a version for each.  That became an administrative nightmare in no time at all.

One really nice thing about versions is you can use them to create scenarios; if you don't like what you see, get rid of it, and no one is the wiser...

Hope this helps-
That should just about do it....
0 Kudos
Zeke
by
Regular Contributor III
Thanks Joe. I can definitely see what you mean by having multiple versions being a pain to administer. We do split editing permissions between my department and public works, with neither editing the others features, so maybe two versions would work there. The department head here has used reconcile the first way - push the parent version to the child.
Some of this may be the way ESRI sometimes confusingly names or describes things. I've seen the 'main' database described as parent, default, target, etc. 'Layer' means either a feature class, shapefile, etc. in the TOC except when it means a .lyr file. Reconcile in the first sense is also the correct answer to the certification sample question noted above. Oh well, thanks for the help.
0 Kudos
JoeBorgione
MVP Esteemed Contributor
Certifiable yes; certified no...  :p

I use the versioned environment such that sde.default is the top of the heap, and the versions beneath it get edited.  I can see how flipping the scenario would work as well; edit sde.default and 'push' the changes out to various versions, although I've never had the opportunity to try it that way.

All the best-
That should just about do it....
0 Kudos
DavidWorner
New Contributor

The reconcile means that the change-dependent or issuing database is routed to the parent / target database. I know it's not really a separate describe the true meaning of reconcile in ESRI documentation but into some extent you can take it as the best example in ESRI documentation.. In another context, this seems to mean that changes made in the conflict are checked before the user is sent to their parents.

0 Kudos