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 discover 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 by participating in finding a solution.

The provided development process

Enquiry

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

Submit your issue to the forum

If you find a bug or if you have a have demand for a new element or attribute, you shall bring it up in the railML® forum. Maybe you will find a solution yourself when you formulate the question attentively. As an open community, other users, developers and coordinators will try to help you finding a solution for your issue. 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.

Discussion process

If your issue finds resonance, the subschema coordinator will moderate a discussion as to formulate a development task (or discard the issue). It is not recommended to contact the subschema coordinators before discussing the issue in the forum. However, to contact the coordinators directly, please see http://www.railml.org/en/user/subschemes.html.

Ticket

As the result of the discussion process in the forum, the subschema coordinator will formulate the development task as a ticket [trac.railml.org in the Trac system] (external link). 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.