Personal tools
  • We're Hiring!

You are here: Home Support OME Model & Formats Working with OME-XML

Developer Information

Here your will find two types of information:

  • How we develop the OME Model with your contributions
  • How you can work with the OME Model

This will hopefully get you started and answer some initial questions for you. We know the topic is not fully covered here and we will add further information as time allows. We are happy to answer further questions through the OME-Users and OME-Developers mailing lists or forums and receive requests for additional documentation pages.

The main discussion lists and forums are accessed from the general site's Community page and this is a good place to ask questions. This also has links to our main Trac and you are free to create tickets for the team with your suggestions, comments, feature requests and bug reports. Here you will find the current release timeline, the future development ideas and detailed tickets outlining the proposed changes and additions to the development of OME.

Where is your source code?

All the OME code is stored in a central Git repository. The OME Data Model part of this is available here: specification.

How does the process of developing OME Model work?

Regular meetings are held to review the model and discuss additions or changes. Before making any changes, we come up with a proposal. This outlines the changes required and why we think it is necessary. We then can publish this to the OME community and provide links to the relevant work tickets. We generally only publish major changes or breaking changes in advance. Minor additions can usually be safely made so these are just published on release. We regularly ask the community for comments on what they would like added, especially when we are moving into a new imaging area.

What are the steps in the process?

What follows is the list of key steps that changes should pass through before they are implemented into the currently released schema:

  • Write a document that we can attach to the relevant ticket
  • Propose time frames for announcement, implementation
  • If elements have to be removed/replaced, make an announcement to the community
  • Generate UML diagrams
  • Generate the updated XSD files
  • Generate XSLT to transform XML files
  • Write same files
  • Write tests
  • Include into next Schema Release. It is worth noting that at present we are trying to keep schema changes in step with new versions of OMERO so they are released simultaneous. This is why the tickets for OME-XML development have been moved to the main OME Trac

How can I, as a developer, work with your model?

A good place to start is by looking at the ModelOverview 2010-04 collection of diagrams we have put together showing the structure and connection between different parts of the OME Model.

We have pages covering parts of the model in detail:

We also have pages covering specific use cases:

If you are working with several versions of the OME Model, perhaps to support the loading/saving of a variety of files, then we recommend you look at the following pages. They show what happened with each release:

There are some concepts used in the Model that benefit form an explanation:

What detailed documentation do you have?

We have three types of detailed information available:

What do you need to store in an OME-XML/OME-TIFF file?

These pages have information on what parts of the model we expect to see values in to produce a file of a given quality/utility.

If you want to look at some simple examples start as the sample files page.

If you are writing your own files we also provide a validator you can use to check your files.

What does an individual attribute or element store?

We have auto-generated documentation available for each release of the schema. This has information on each attribute and element:

How do I get the technical schema description?

These are published as XSD files on out main website. They are usually read by XML validators and parsers but are viewable as text files.

For further information feel free to ask questions on the forums and mailing lists.

Document Actions