10. Version Control: What's New

(Home)     Previous     Next


Overview

Version Control allows teams to share and collaborate on projects in Designer like never before. It enables you to:

  • Track revisions of your project, along with all the objects and files in that project
  • Share those revisions with other members of your team
  • Allow people to work on different pieces of the project and have it all integrate together
  • Makes it easy to rollback to a certain "known state"
  • Manage the history of your objects
  • Make sure that every member of your team is using the same version of your project
Version control functionality is available for all Identity Manager objects as well as for the contents of the documents and toolbox folders. Designer 3.0 M2 does not support version control for Provisioning objects, but that functionality is planned for release shortly.

Of course, in the past, you could share projects by just deploying to the Directory and importing. What Version Control gives you above and beyond that is the following:

  1. Collaboration When Systems Aren't Available - it allows you to collaborate on projects where the Identity Vaults/directories haven't been set up yet, which can be quite common in the early stages of a project.
  2. Enables Better Practices - it enables a better practice of not deploying objects to the Directory that are still "work in progress" or not fully baked yet.
  3. Supports a Holistic View - Designer embraces the notion that a project spans many Identity Vaults, directories, and systems. By looking at any of the systems, you can only see pieces of the picture. But, Designer has a holistic view that pulls the full picture together into one place. So, it also then becomes the best logical place where you collaborate and version the project as a team.
  4. Helps With Compliance - Projects can become large and complex. There are a lot of aspects to the project - driver settings, worflows, Global Config Values, policies, etc. Once you have proven that your solution is "in compliance", it's really good to version it. Then, any changes to that become deltas that you can much more easily track. It's also nice that, along with all of your solution configurations, projects include additional files, styles, and documentation that is really good to be able to version together with the configurations.
  5. Project Safety - Version Control gives you at least one extra level of backup and redunandancy. This just makes it easy to easily push your work and changes in a team environment to a version control system that keeps your project safe and backed up. And, it allows you to update that easily with the smallest of changes whenever you want.
  6. Share Area & Mobility - Version Control also gives you an easy way to store all of your projects out to a central location where you can always easily access from any machine that has Designer on it. This gives you more mobility and freedom go in and out of environments with different machines and keep working on your solution.
Even if you're not working in a team environment, it's easy to setup up Subversion locally on your machine and still get several benefits at personal level by Version Control - mostly, the ability to easily roll back, capture state for compliance, etc.

There is much more information in the version control documentation found in Designer's online help.

Note: We encourage you to start using Version Control in your testing environments and provide feedback. But, keep in mind that this feature is in pre-release state and should not be used in a production environment. There are no guarantees about forward compatibility of objects or information checked into version control with this milestone. It is likely (at this point) that any projects you check in with the M2 milestone may need to be re-built in the next milestone.

Version Control Server

Designer 3.0 M2 supports the Subversion version control system. See http://subversion.tigris.org/.

Version control works by leveraging the services of the version control server. The server is the place where different revisions of your projects are stored. These revisions can then be accessed by you or anyone else who has permission to access them. Designer uses the Subversion server. Also, Designer includes a pure Java version of the Subversion client. This client program manages all the interaction with the version control server for you.

Accessing Version Control

You can access version control functionality by using the new Version Control view. The Version Control view will be shown automatically when you import an existing project from a version control server or add a new project to a version control server.

The following are ways to version a project or to bring in a versioned project:
  • Select File > Import > Designer for Identity Manager > Project (From Version Control)
  • Select "Import from version control" in the Project View with no projects loaded
  • Press the version control button on the main tool bar
  • Select "Check in" on the context menu for a project object in the Project View


Add Project Dialog

If you choose to add a new project to version control, you are walked through the process of providing the server information with informative examples and helpful browsers.



Version Control View

The Version Control view gives you a dashboard status of your interaction with version control. This view lists the files that you are working on. It also updates to display the changes in real time that your teammates have made to objects in the projects you have checked out.



Version Control History

Version control also enables you to view the history of an object and all the changes that have been made to that object. You can use this history view to see who made a change, when the change was made, and the comment provided for the change.


(Home)     Previous     Next