Posts tagged ‘versioning’

CodeEditor versioning support

When I made a CodeEditor demo to Berkay who is the director of the IFountain, he suggested me to add versioning support to CodeEditor.  At IFountain we develop integration tools for IT departments. The main tool we focused is RapidInsight. It is implemented on the top of Grails Framework with a lot of modifications. It has a lot dynamic features.  This is because of the variability of customer requirements. We are integrating with a lot of different systems and we need to create appropriate models and appropriate integration scripts for our customers. Actually, technical customers can do scripting and other integration modifications easily in RapidInsight but first they have to know Groovy little bit.

When we deployed RapidInsight to any production environment, we change the main product and modify models or some scripts according to customer needs (and of course we use CodeEditor to make these changes). However, after a short time changes applied to main product are forgotten. And if we want to rollback changes and return to any of previous point, we should remember all the changes we made. This is very error prone. If you can not remember a change, you may introduce a bug. The versioning support will help users in situations like this.

Some of the expected features of CodeEditor versioning system may be listed as:

  • Users will be able to edit the code freely, these changes will not be applied to working copy till they commit these changes.
  • When user commits the changes, they will be applied to main product
  • Multiple users will be able to edit same file at the same time. However, if any conflict occurs, it is their responsibility to resolve these conflicts
  • Users will be able to return back to any version. All of the changes applied to working copy will be rolled back.
  • Users will be able to customize versioning mechanism. A default implementation (File based or embedded versioning system) will be distributed with plugin and users will be able to customize from a file located under services directory.

All of these features, will make CodeEditor benefical for all Grails Application. I am planning to implement and release it with the next version of CodeEditor.

May 27, 2009 at 9:35 pm Leave a comment

My Twitter