a personnal contribution from the Data Model point of view

Rick Wagner rwagner at physics.ucsd.edu
Mon Mar 3 00:07:15 PST 2008


Hello Mireille,

> About the versioning:
> For the Characterisation Model, developped and stabilized along  
> quite a  long period, we had this kind of problem. We have managed  
> it 'by hand' but with difficulties.
> Besides the XML schema, there can be other kind of serialisations,  
> like Utype-lists derived from UML classes and their attributes, or  
> FITS serialisation in the shape of adhoc FITS KEYWORDS . Versioning  
> also applies to these kinds of serialisation.
>
> What would be the overhead in using a proper versioning tool like  
> CVS or Subversion for example? does anybody have a oneyear/two year  
> experience about that?

Our lab has used version control systems for a long time, and a  
couple of years of years ago we made the switch from CVS to  
Subversion. In addition to the source code for our software projects,  
we also use the repositories to help with sharing the LaTeX files and  
images for publications. For the text-based LaTeX files, it is very  
convenient to be able to see a comparison of two different versions,  
while for the binary image files, just the logging of changes is useful.

One feature that I think greatly reduces the barrier to using version  
control, and makes it attractive to more users, is providing a web- 
based interface to the repository. Project hosting services (e.g.,  
SourceForge, Google Code) provide this, as do software project  
management packages such as Trac or FogBugz. These services and  
packages usually combine a browser for the source code (or XML  
documents and images), along with a Wiki or other means to easily  
create web pages.

As an example, you can look at the NVO's Trac site at http://trac.us- 
vo.org/nvo; This link: http://tinyurl.com/32ny82 will show you what  
an XML Schema looks like inside of the browser. For comparison, there  
is the Google Code project, Volute, set up by Norman Gray for IVOA  
groups, at http://code.google.com/p/volute/. This was set up for the  
Semantics group, and we've added the simulation data model to the  
repository. Google Code is nice, since no one has to manage the  
software or hardware, but the feature list is minimal.

In summary, for binary files, or complicated text files (XMI, Word  
documents), version control helps to track the changes made to the  
files. For text files, such as an XML Schema, or an XHTML web page,  
you can make comparisons of the actual content that was changed. And,  
adding a web interface to the repository helps users to actually see  
the files.

Now, as to the overhead: users will have to learn to use a version  
control client. There are command line and GUI clients for almost  
every platform (I'm using the term "almost" in case there's a VAX  
user out there); also, many editors and IDE's work with version  
control systems. If you do not want to host your project on a site  
like SourceForge or Google Code, you'll have to find someone to host  
it for you, which may add some overhead.

I will admit, getting wholesale adoption of a system like this may be  
impossible. You may have a user that either refuses to use the system  
or doesn't trust it. The solution we've found is to have the project  
leader accept changes by email, and then post them into the  
repository on behalf of the user. It's not a perfect process, but it  
works.

I hope you've found some of this useful. If you have any questions,  
please let me know.

--Rick

------------------------------------------------------------------------ 
-
Rick Wagner, Graduate Student Researcher
UCSD Physics
9500 Gilman Drive
La Jolla, CA  92093-0424
Email:  rwagner at physics.ucsd.edu
WWW:    http://lca.ucsd.edu/projects/rpwagner
(858) 822-4784 Phone
------------------------------------------------------------------------ 
-
No syllabus survives contact with the students.
--Rick Wagner
------------------------------------------------------------------------ 
-







More information about the theory mailing list