Dev:Guideline for participating in the development process

From railML 2 Wiki
Jump to navigation Jump to search

Guideline for participating in the development process

This guideline is supposed to explain the development of the railML® schema and how you can contribute.

As a developer of railML®-based application you may at some point reach limitations of railML® or even bugs. As the schema is being developed in an open source style by the community, we invite you to help improving railML® by reporting your demands and participating in finding a solution.

The provided development proces

Enquiry

Before demanding help by others, please examine this wiki and the schema carefully. Maybe you can solve the problem yourselve.

Submit your issue to the forum

If you find a bug or have demand for a new element or attribute, you should first put it forth in the railML® forum. Maybe you will find a solution yourself when you formulate the question attentively. And sometimes the discussion will show, that something you considered to be a bug is in fact a feature, or that a feature you demanded already exists. As an open community, other Users, developers and coordinators will try to help you finding a soluion to your issue.

Discussion process

If your issue finds resonance, the subschema coordinator will moderate a discussion as to formulate a development task (or discard the issue). To contact the coordinators directly, see http://www.railml.org/en/user/subschemes.html.

Ticket

As the result of the discussion process, the coordinator will formulate the development task as a ticket. The ticket will be handled by the developers.

Workaround

Parallely with the development of the new element or attribute, the community may develop a workaround. This usually takes place as part of the forum dicussion. The working horse for creating workarounds is the any-attribute. See CO:usingAny for a guide.

Development within the Subversion Repository

The developers will coordinate the development of the new element resp. attribute within the Subversion Repository (SVN). Although the SVN is not public, we appreciate your contributions. Please, contact the coordinator to participate in this step.

Release

As the developers finish the new element or attribute, it will be released. The releasement usually follows the version cycles of railML®. See Dev:Downloading_and_using_railML® to learn how to obtain the current schema, or download it directly from http://www.railml.org/en/developers/download.html.

Contributing examples

After the enhancement is published, you can improve the usability of railML® by contributing examples.

Incorporating the extension in the Wiki

As a final polish, parallely to contributing examples, the new element or attribute should be incorporated into this wiki documentation. Read, how to join, edit and create the railML wiki.