The CIC Studio supports options for sharing the same objects between different Projects, and for sharing the same objects and Projects between different users.
- Sharing objects in one Project for use in another Project in your Workspace.
- Copying an object from one Project to another.
- Sharing resources (Projects, Packages, and objects) between users using an SVN repository.
- Working collaboratively on a shared Project with multiple users using an SVN repository.
- Sending objects through email.
Using Resources from other Projects
Suppose you keep your ERP data in a database. A Data Source object instructs the CIC Integration Engine how to access that database. You may need to connect to that database for each Project. While you could create a Data Source object in each Project, it would be much easier to create one Data Source and point each Project to it. That way, when you need to change the attributes of that Data Source, you only need to change it in one location.
Each Project contains a child folder, META-INF, which contains a file, MANIFEST.MF.
In the Project whose objects you want to share, open the MANIFEST.MF file and select the Package(s) to export, making those objects available for other Projects to use.
On the receiving end, open the MANIFEST.MF and indicate dependencies to the shared Project/Package whose objects you want to use.
Cleo recommends creating a generic CORE Project (for example: com.mycompany.CIC.core) to contain all the common, shared objects. When you create a trading-partner specific Project, reference the CORE Project. That way, when an object used by multiple Projects needs to be changed, you'll immediately know it's contained in the CORE Project.
For more information on how to share resources between Projects in your Workspace, see Making Packages Available to Other Projects and Allowing Projects to Use Other Project's Resources.
Copying and Pasting Objects
Suppose Project A contains a Flat File Schema for Trading Partner A. Later, you need to create a Flat File Schema for Trading Partner B that is almost identical to A's Flat File Schema - you just need to split the name field into two fields: one for first name and one for last name. Instead of creating a new Flat File Schema from scratch, you can select and copy Project A's Schema, paste it into Project B, rename the Schema, and then edit it. (CIC Studio even allows you to see how the Schema would look with different sample data, so you can double-check your edits against the new trading partner's data.)
Just as you would copy files from one folder to another on your computer, you can copy objects from one Package to another (or copy an object into the same folder, which will produce a Rename window). This is useful when creating an object that is almost identical to the original, but needs a few changes.
Cleo does not recommend using copy-and-paste to create exact duplicates of an object in multiple Projects. For that, it's best to allow sharing between Projects, or move the object to your Core Project.
When copying objects from one Package to another, open the new, copied object's editor and use the View/Fix Package and Name button to reassign the copy to its new Package.
Sharing Resources among Users with SVN
Consider this scenario: You are working on a Project and need a Code Table converting full state names to their postal codes. A coworker has already created a Code Table to accomplish this; you can use their existing Code Table rather than creating one.
If your team is using an SVN repository, you can share your Project, or check out (save locally) a copy of another Project.
In the SVN Repositories Exploring Perspective, right-click on a Project and select Check Out to copy that Project to your Workspace. Later, if you have unwanted changes to the Project, do not commit those changes to the repository. If you do, the original Project won't be lost or permanently damaged; however, it is bad form to make unexpected changes to another Project.
For more information on the SVN repository, see SVN Repository Exploring Perspective.
Working on a Shared Project with another User
There are a number of reasons for multiple users to work on the same Project. Maybe you learn of changes to trading partner information that apply to another Project. Maybe someone is on vacation. Or maybe a coworker just wants you to take a look at their work.
If your team is using an SVN Repository, you can share your Project, or check out (save locally) a copy of another Project.
Just as above, in the SVN Repositories Exploring Perspective, right-click on a Project and select Check Out to copy that Project to your Workspace.
If you want your changes to the Project available to the team, you should commit them. As you and your coworker make changes, you can synchronize the Project, update to incorporate their changes, and commit to incorporate their changes into a single Project in the SVN repository.
For more information on Team Synchronization, see Team Synchronizing Perspective.
Sharing Resources among Users without SVN
Suppose you want to use a coworker's Code Table as proposed above, but you are not using SVN.
Since all configuration objects are stored as files on the file system, you can share individual objects by attaching them to an email, or by copying them from your Workspace in the CIC Studio to a shared folder outside of the Studio.
You can drag an object directly from the Studio Project Explorer view to another folder on your computer and, in many cases, directly onto an email. If you need to navigate to the Workspace through your file system, you can view its file path location by hovering over File | Switch Workspace in the main menu. Once you navigate to the Workspace folder in your file system, objects will be organized in folders with your Project names.