SDE Enterprise 10.2 (Oracle11gR2) and Desktop 10.2. I will use FME to edit the primary SDE. We don't use replication since it has so much overhead. It requires versioning, and globalid's and the schema's have to match between databases (yuck!). Just give me a tool to read a UNIQUE_ID column and a date_field that holds the last time each feature was updated from both databases and figure out the inserts/updates/deletes/unchanged records. Plus FME has much better scheduling abilities.
On the publishing SDE I want the geometric network available so our engineers can use it for tracing. It needs to have network flow set to the digitized direction, and this is the one step that forces me to version the data, no matter how hard I try to avoid it.
Here's the workflow I was originally going for:
I originally planned for the dataset on the primary viewing SDE to be unversioned for simplicity. Our GIS administrators are very leery about having a versioned dataset on such a heavily used database.
1) Editors on the editing SDE make edits in versions. Custom tools populate a UNIQUE_ID field based on an oracle sequence and update a MODIFIED_DATE field.
2) Editor versions are posted to default when their complete
3) Each night, FME workspace runs and compares ID's/dates and pushes inserts/updates/deletes. The FME SDE30 writer will edit the feature classes directly, bypassing edit session and versioning requirements.
4) Once FME script is done all feature classes have the latest data
5) Recreate the geometric network using the arctoolbox tool, since FME doesn't update the background tables that drive the geometric network.
6) Version the dataset
7) Run the set flow toolbox tool to get digitized direction flow
😎 Unversion dataset and choose to have edits in Default version compress to base.
This workflow would prevent the database from having to be versioned as little as possible, however steps 5,6, and 8 will definitely require no schema locks to exist.
I saw that at 10.2.1 the 'Rebuild' and 'Repair' network tools are in the toolbox now so I guess I dont need to delete and recreate the network after all.
To avoid making the schema changes each night I was thinking of instead leaving the dataset on the primary SDE permanently versioned. Then I'd use the slower FME writer that writes to versioned SDE's using proper ESRi edit sessions. It would right directly to the default version. Then I'd probably need to run the Repair and 'Set Flow' tools on the network since I don't think FME is great at handling these while writing features. The last big step is the compress to make sure the edits make it into the base table so the database is nice and clean. If there are users and web maps looking at the default version when the compress happens at night, will it still compress the edits I just made to base?