Integrity Modeler Installation > Working Across Sites > Local Editing of Models that are Stored in Shared Folders
  
Local Editing of Models that are Stored in Shared Folders
This solution stores a Modeler model as Package export files in a shared folder. If a site wants to work with the model, they create a replica of the model in their Modeler environment.
Each site imports the Packages they want to change from the shared folder. After making the required changes in Modeler, the site exports the Packages they have changed back to the shared folder.
* 
You must devise a mechanism that ensures that only one site is allowed to make changes to a Package at any given time.
For example, you can have a shared spreadsheet that lists the Package export files; a site must update the spreadsheet to record that they intend to change a Package by 'signing out' that Package before importing the Package from the shared folder. After that site has made their changes and exported the Package back to the shared folder, they update the spreadsheet to record that the Package is available for other sites to change by 'signing in' the Package.
The following diagram illustrates a potential configuration for working across sites in this way:
The following table summarizes the advantages and disadvantages of local editing:
Disadvantages
Disadvantages
Changes are available to other users only after the changed Packages are exported to the shared folder, so you can prevent other users from seeing transitional changes to the Packages you are changing.
You must set up and enforce a mechanism to ensure that only one site changes a Package at any given time. Failure to do so can result in lost data.
Live TCP/IP connection is required between the sites and the shared folder.
Other users see your changes only after you have exported the associated Packages to the shared folder, and the other users have then imported those Package files to their models.
The following table outlines the steps for storing a Modeler model in a shared folder:
Step
Consideration
1. From Modeler, set up the 'base' model as required.
Try to minimize future changes to the Package hierarchy by finalizing the Package hierarchy as much as possible.
2. Set up the access permissions in the 'base' model as required.
Warning: Modeler model access permissions cannot always be enforced in a remote database. See Chapter 4 - Working with Access Permissions in the Modeler User's Guide.
3. Set the Model and each Package to protected by selecting the Protected check box on the Access Permissions tab of the Model and Package Property Pages.
After setting the Protected check box of the Model or a Package, you can set the Protected check box of all child Packages to the same value through the Copy Protected Flag to Child Packages button.
4. Set up a shared folder on the WAN.
All sites must be able to access the shared folder.
5. Export the base Modeler Model to the shared folder; from Modeler, right-click the Model in the Packages pane, point to Tools > Package Import/Export, and then click Export (export sub-Packages)
After exporting to the shared folder, the Package files in the shared folder should be considered the definitive version of the model.
The following table outlines the steps for setting up a site to use a model that is stored in a shared folder.
Step
Consideration
1. Perform a Server Only installation on the site.
A server will be required for each site.
2. From Model Explorer, bookmark the Database in which you want to create a replica.
3. Create a replica: from Model Explorer, right-click the required Repository, point to Create Replica, and then click From Directory (select the shared folder).
As an alternative to steps 3 and 4, you can use Model Explorer to export the complete base model, and then import the model to the new site.
Note that the Packages are created as stubs.
4. From Modeler, open the replica you created, right-click the Model in the Packages pane, point to Tools > Package Import/Export, and then click Update Existing (select the shared folder).
The following table outlines the steps for getting changes that have been made by other users to a Package that is stored in a shared folder.
Step
Consideration
1. From Modeler, right-click the Package, point to Tools > Package Import/Export, and then click Update Existing (select the shared folder).
When Modeler gets a Package, it gets the Package and all its child Packages.
Do not get an unprotected Package or a Package that contains unprotected child Packages. If you get an unprotected Package, any changes you have made to the unprotected Package will be lost.
The following table outlines the steps for making changes to a Package that is stored in a shared folder:
Step
Consideration
1. Ensure that no other sites are changing the Package you want to change, and then record that you are going to make changes to that Package.
If you are using a spreadsheet to record what changes are being made, 'sign out' the Package you want to change.
2. From Modeler, right-click the Package, point to Tools > Package Import/Export, and then click Update Existing (select the shared folder).
3. Set the Package and its subpackages to unprotected.
Clear the Protected check box on the Access Permissions tab of the Package's Property Pages.
4. Make the required changes to the Packages.
5. Right-click the Package, point to Tools > Package Import/Export, and then click Export (select the shared folder).
6. Set the Package and its subpackages to protected.
Select the Protected check box on the Access Permissions tab of the Package's Property Pages.
7. Record that the Package is now available for other sites to change.
If you are using a spreadsheet to record what changes are being made, 'sign in' the Package you have changed.
It is important to consider the following:
Before changing a Package, always ensure that no other sites are making changes to that Package.
Always 'sign out' a Package before making any changes to a Package. After 'signing out' a Package, always perform an Update Existing operation to ensure that you have any changes made by other users.
Do not perform an Update Existing operation on an unprotected Package, unless you want to lose any changes you have made.