Dev:How to join, edit and create the railML wiki: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(→‎How to join the Wiki: Prozess geändert)
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{|
{|
|This wiki should supporting the development of railML-schemes. It allows users to create new content and edit existing articles, and setup a comprehensive knowledge database to the railML standard.<br>
|This wiki should supporting the development of railML-schemes. It allows users to create new content and edit existing articles, and setup a comprehensive knowledge database to the railML standard.<br>
|{{Deu|Mit Hilfe dieses [http://de.wikipedia.org/wiki/Wiki Wikis] soll der Einstieg in die Entwicklung der railML-Teilschemen erleichtert werden. Es ermöglicht den Benutzern neue Inhalte zu schaffen, sowie vorhandene Beiträge zu bearbeiten und damit eine umfassende Wissensdatenbank zum railML-Standard aufzubauen.}}
|{{Deu|Mit Hilfe dieses {{external|http://de.wikipedia.org/wiki/Wiki|Wikis|inlang=de|lang=de}} soll der Einstieg in die Entwicklung der railML-Teilschemen erleichtert werden. Es ermöglicht den Benutzern neue Inhalte zu schaffen, sowie vorhandene Beiträge zu bearbeiten und damit eine umfassende Wissensdatenbank zum railML-Standard aufzubauen.}}
|}
|}
==Principles==
==Principles==
*The working language of this wiki is English. The complete content should be covered in English. Translations in German and French are welcome, but should not deliver additional content. Please, employ [[Template:Deu]] for German content and [[Template:Fra]] for french content, as to make the languages distinguishable at first glance.
*As a small community we have a real name policy and give writing privileges only to registered Users. The registration procedure is explained [[#How to join the Wiki|below]]. Edits will become visible to the public only after review. If you decide not to register we will yet appreciate your feedback via e-mail.
*As a small community we have a real name policy and give writing privileges only to registered Users. The registration procedure is explained [[#How to join the Wiki|below]]. Edits will become visible to the public only after review. If you decide not to register we will yet appreciate your feedback via e-mail.
*Please, follow both the common rules of a beneficial coexistence and the [[Dev:Wiki Documentation Guidelines|Guidelines of this wiki]].
*Please, follow both the common rules of a beneficial coexistence and the [[Dev:Wiki Documentation Guidelines|Guidelines of this wiki]].
Line 12: Line 11:
*Register at {{site|http://www.railml.org/en/login-registration.html}}
*Register at {{site|http://www.railml.org/en/login-registration.html}}
*Send an e-mail to the coordinator (coordination ät raiML dot org). We appreciate you explaining us your motivation and working expericence with railML schemes.
*Send an e-mail to the coordinator (coordination ät raiML dot org). We appreciate you explaining us your motivation and working expericence with railML schemes.
*The coordinator release your common railML login to be a wiki login too.
*The coordinator will provide you a separate wiki account.
*Log in at [www.railml.org] (or [[Spezial:Anmelden|direct at the wiki]]).
*Log into the wiki at [[Special:UserLogin]]
*Now you can start contributing.
*Now you can start contributing.
As a logged in user, you can [[Spezial:Einstellungen|set the interface language]] by you whish.
As a logged in user, you can [[Special:preferences|set the interface language]] by you whish.


== How to contribute ==
== How to contribute ==
Line 22: Line 21:
The principles of editing a wiki are explained {{external|https://meta.wikimedia.org/wiki/Help:Editing_FAQ|here}}.
The principles of editing a wiki are explained {{external|https://meta.wikimedia.org/wiki/Help:Editing_FAQ|here}}.


Please, stick to our common templates to allow for a standardized documentation. Some essential templates are explained on [[CO:Special_Wiki_Markup|railML markup templates]]. Especially, employ [[template:external]] for external links.
As of January 2020 we do not yet offer the '''{{external|https://en.wikipedia.org/wiki/Wikipedia:VisualEditor|VisualEditor}}''' you may know from {{external|https://en.wikipedia.org|Wikipedia}}, as it is not yet stable and requires additional alpha software.
 
Please, stick to our common templates to allow for a standardized documentation. Some essential templates are explained on [[dev:Special_Wiki_Markup|railML markup templates]]. Especially, employ [[template:external]] for external links.
===Edit a page===
===Edit a page===
In the case you want to change or extend some content on a certain [[:Category:RailML_Documentation | element documentation site]], do the following:
In the case you want to change or extend some content on a certain element documentation page, do the following:
# Log in or register
# Go to the certain wiki site
# Choose "Edit"!
# Extend or change the content by deploying the [[dev:Special_Wiki_Markup| railML markup templates]].
::Please respect others work and publish changements prior to the edit in the appropriate {{site|http://forum.railml.org|forum}}.
::Please be careful (especially with brackets), there are parameters to fill. Sometimes some surprise occurs after a preview.
# Do the "preview" cycle. All fine?
# Describe your changes with "Summary".
# Submit your changes with "Save"
# Done. Thank you for your contribution.
 
=== Adjust the XML tree ===
<ol>
 
<li>Go to the [[dev:XMLtree | XML tree wiki page]]</li>
 
<li>Press "Edit" or {{Deu|Bearbeiten}}</li>
 
<li>Crawl to the right position in the railML tree<br>
 
Instead of scrolling there, it's easier to "search" for the parent element</li>
 
<li>Insert a new element with a new line at the appropriate position, if necessary<br>
 
Only insert one line for each different element no matter how often it may occur at this certain position in the XML instance document.
<ul>
 
<li>Start with the appropriate number of stars "*" indicating the depth in the XML tree.</li>
 
<li>Choose the appropriate element documentation page deploying the [[dev:Special_Wiki_Markup#Link_in_angle_brackets | link in angle brackets]]</li>
 
<li>Add all possible attributes deploying the [[dev:Special_Wiki_Markup#Attributes | Attribute template]], separated by comma<br>
 
The inherited ones come at least (that's for some quick validation purposes of this page, that may be roughly generated by an XQuery search)<br>
 
No matter, if the attributes are optional or mandatory.</li>
</ul>
 
example: <pre><nowiki>***{{TT:Tag|train}} {{Attr|type}}, {{Attr|trainNumber}}, {{Attr|additionalTrainNumber}}, {{Attr|scope}}, {{Attr|processStatus}}, {{Attr|id}}, {{Attr|code}}, {{Attr|name}}, {{Attr|description}}, {{Attr|xml:lang}}
</nowiki></pre>
</li>
 
<li>Describe your changes with "Summary" or {{Deu|Zusammenfassung}}</li>
 
<li>Check your changes with "Preview" or {{Deu|Vorschau}}<br>
 
Adjust the page text where needed</li>


*Log in or register
<li>Submit your changes with "Save" or {{Deu|Speichern}}</li>
*Go to the certain wiki site
*Choose "Edit"!
*Extend or change the content by deploying the [[CO:Special_Wiki_Markup| railML markup templates]].
:Please respect others work and publish changements prior to the edit in the appropriate {{site|http://forum.railml.org|Forum}}.
:Please be careful (especially with brackets), there are parameters to fill. Sometimes some surprise occurs after a preview.
*Do the "preview" cycle. All fine?
*Describe your changes with "Summary".
*Submit your changes with "Save"
*Done. Thank you for your contribution.


=== Edit element documentation pages ===
<li>Done. Thank you for your contribution.</li>
The railML<sup>®</sup> wiki should document the actual state of railML<sup>®</sup>.
</ol>


Please, describe only elements that already exist! Don't start articles about elements that are only in discussion or in development! You can start describing new elements as soon as they are part of a ''release candidate'' version of railML<sup>®</sup>.
== Start a new railML Wiki page for a new railML element ==


The core of this wiki are pages documenting single railML<sup>®</sup> elements. The framework for such pages is provided by [[template:ElementDocu]]. Please, stick to it as to ensure a corporate layout.
=== Elements without parent inheritance ===


In most cases the [[:Category:RailML_Documentation | element documentation sites]] are already defined. If not, have a look at the [[Dev:Wiki_Documentation_Guidelines#Start_a_new_railML_Wiki_page_for_a_new_railML_element | Developers Guide for new element documentation sites]].
Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". This section does not cover these re-used elements. See [[#Elements_with_parent_inheritance | next section]].
=== Start a new railML Wiki page for a new railML element ===
==== Elements without parent inheritance ====
Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". This section does not cover these re-used element. See [[#Elements_with_parent_inheritance | next section]].


If some currently independently defined railML element is changed into a "general" element and used in "parent inheritance" an according wiki template should be defined and deployed in the original and the new element.
If some currently independently defined railML element is changed into a "general" element and used in "parent inheritance" an according wiki template should be defined and deployed in the original and the new element.
Line 62: Line 98:
Choose "edit" or {{Deu | bearbeiten}}!</li>
Choose "edit" or {{Deu | bearbeiten}}!</li>


<li>Insert the [[Vorlage:ElementDocu | element documentation template]] into the blank editor
<li>Insert the [[template:ElementDocu | element documentation template]] into the blank editor


<pre><nowiki>{{ElementDocu}}</nowiki></pre>
<pre><nowiki>{{ElementDocu}}</nowiki></pre>
Line 90: Line 126:
Insert some further information.<br>
Insert some further information.<br>


Deploy [[CO:Special_Wiki_Markup|railML markup templates]] whereever useful.<br>
Deploy [[dev:Special_Wiki_Markup|railML markup templates]] whereever useful.<br>


example:
example:
Line 119: Line 155:
<li>Done. Thank you for your contribution.</li>
<li>Done. Thank you for your contribution.</li>
</ol>
</ol>
==== Elements with parent inheritance ====
 
=== Elements with parent inheritance ===
 
Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". The wiki provides general documentation templates for these elements that may be extended by special information for this certain semantics.
Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". The wiki provides general documentation templates for these elements that may be extended by special information for this certain semantics.


Line 183: Line 221:
Insert some special information that is valid only for this element in a certain position of the XML tree.<br>
Insert some special information that is valid only for this element in a certain position of the XML tree.<br>


Deploy [[CO:Special_Wiki_Markup|railML markup templates]] whereever useful.<br>
Deploy [[dev:Special_Wiki_Markup|railML markup templates]] whereever useful.<br>


example:
example:
Line 198: Line 236:


<li>Describe your changes with "Summary" or {{Deu|Zusammenfassung}}</li>
<li>Describe your changes with "Summary" or {{Deu|Zusammenfassung}}</li>
<li>Submit your changes with "Save" or {{Deu|Speichern}}</li>
<li>Done. Thank you for your contribution.</li>
</ol>
=== Adjust the XML tree ===
<ol>
<li>Go to the [[CO:XMLtree | XML tree wiki page]]</li>
<li>Press "Edit" or {{Deu|Bearbeiten}}</li>
<li>Crawl to the right position in the railML tree<br>
Instead of scrolling there, it's easier to "search" for the parent element</li>
<li>Insert a new element with a new line at the appropriate position, if necessary<br>
Only insert one line for each different element no matter how often it may occur at this certain position in the XML instance document.
<ul>
<li>Start with the appropriate number of stars "*" indicating the depth in the XML tree.</li>
<li>Choose the appropriate [[:Category:RailML_Documentation | element documentation site]] deploying the [[CO:Special_Wiki_Markup#Link_in_angle_brackets | link in angle brackets]]</li>
<li>Add all possible attributes deploying the [[CO:Special_Wiki_Markup#Attributes | Attribute template]], separated by comma<br>
The inherited ones come at least (that's for some quick validation purposes of this page, that may be roughly generated by an XQuery search)<br>
No matter, if the attributes are optional or mandatory.</li>
</ul>
example: <pre><nowiki>***{{TT:Tag|train}} {{Attr|type}}, {{Attr|trainNumber}}, {{Attr|additionalTrainNumber}}, {{Attr|scope}}, {{Attr|processStatus}}, {{Attr|id}}, {{Attr|code}}, {{Attr|name}}, {{Attr|description}}, {{Attr|xml:lang}}
</nowiki></pre>
</li>
<li>Describe your changes with "Summary" or {{Deu|Zusammenfassung}}</li>
<li>Check your changes with "Preview" or {{Deu|Vorschau}}<br>
Adjust the page text where needed</li>


<li>Submit your changes with "Save" or {{Deu|Speichern}}</li>
<li>Submit your changes with "Save" or {{Deu|Speichern}}</li>
Line 251: Line 248:
* Questions referring to the use of this wiki are welcome on [[Diskussion:How_to_join,_edit_and_create_the_railML_wiki|the discussion page]].
* Questions referring to the use of this wiki are welcome on [[Diskussion:How_to_join,_edit_and_create_the_railML_wiki|the discussion page]].
* Please, act responsibly with contacting the webmaster (webmaster ät railml dot org).
* Please, act responsibly with contacting the webmaster (webmaster ät railml dot org).
[[Category:GeneralDescription]]

Revision as of 18:45, 24 January 2020

This wiki should supporting the development of railML-schemes. It allows users to create new content and edit existing articles, and setup a comprehensive knowledge database to the railML standard.
Mit Hilfe dieses Wikis (externer Link, 🇩🇪) soll der Einstieg in die Entwicklung der railML-Teilschemen erleichtert werden. Es ermöglicht den Benutzern neue Inhalte zu schaffen, sowie vorhandene Beiträge zu bearbeiten und damit eine umfassende Wissensdatenbank zum railML-Standard aufzubauen.

Principles

  • As a small community we have a real name policy and give writing privileges only to registered Users. The registration procedure is explained below. Edits will become visible to the public only after review. If you decide not to register we will yet appreciate your feedback via e-mail.
  • Please, follow both the common rules of a beneficial coexistence and the Guidelines of this wiki.

How to join the Wiki

To obtain editing privileges on the railML® wiki you have to register with railML.org (link to the railML® website) and then ask for a wiki account. Please, understand that the preference for writing privileges will be given to experienced users from registered partners, as we prefer a long lasting cooperation.

  • Register at http://www.railml.org/en/login-registration.html (link to the railML® website)
  • Send an e-mail to the coordinator (coordination ät raiML dot org). We appreciate you explaining us your motivation and working expericence with railML schemes.
  • The coordinator will provide you a separate wiki account.
  • Log into the wiki at Special:UserLogin
  • Now you can start contributing.

As a logged in user, you can set the interface language by you whish.

How to contribute

As a registered User, you can edit the railML® wiki. Your contributions will be reviewed by a coordinator bevore merged to the checked stuff. The changes are visible at a special page also short after editing.

The principles of editing a wiki are explained here (external link).

As of January 2020 we do not yet offer the VisualEditor (external link) you may know from Wikipedia (external link), as it is not yet stable and requires additional alpha software.

Please, stick to our common templates to allow for a standardized documentation. Some essential templates are explained on railML markup templates. Especially, employ template:external for external links.

Edit a page

In the case you want to change or extend some content on a certain element documentation page, do the following:

  1. Log in or register
  2. Go to the certain wiki site
  3. Choose "Edit"!
  4. Extend or change the content by deploying the railML markup templates.
Please respect others work and publish changements prior to the edit in the appropriate forum (link to the railML® website).
Please be careful (especially with brackets), there are parameters to fill. Sometimes some surprise occurs after a preview.
  1. Do the "preview" cycle. All fine?
  2. Describe your changes with "Summary".
  3. Submit your changes with "Save"
  4. Done. Thank you for your contribution.

Adjust the XML tree

  1. Go to the XML tree wiki page
  2. Press "Edit" or Bearbeiten
  3. Crawl to the right position in the railML tree
    Instead of scrolling there, it's easier to "search" for the parent element
  4. Insert a new element with a new line at the appropriate position, if necessary
    Only insert one line for each different element no matter how often it may occur at this certain position in the XML instance document.
    • Start with the appropriate number of stars "*" indicating the depth in the XML tree.
    • Choose the appropriate element documentation page deploying the link in angle brackets
    • Add all possible attributes deploying the Attribute template, separated by comma
      The inherited ones come at least (that's for some quick validation purposes of this page, that may be roughly generated by an XQuery search)
      No matter, if the attributes are optional or mandatory.
    example:
    ***{{TT:Tag|train}} {{Attr|type}}, {{Attr|trainNumber}}, {{Attr|additionalTrainNumber}}, {{Attr|scope}}, {{Attr|processStatus}}, {{Attr|id}}, {{Attr|code}}, {{Attr|name}}, {{Attr|description}}, {{Attr|xml:lang}}
    
  5. Describe your changes with "Summary" or Zusammenfassung
  6. Check your changes with "Preview" or Vorschau
    Adjust the page text where needed
  7. Submit your changes with "Save" or Speichern
  8. Done. Thank you for your contribution.

Start a new railML Wiki page for a new railML element

Elements without parent inheritance

Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". This section does not cover these re-used elements. See next section.

If some currently independently defined railML element is changed into a "general" element and used in "parent inheritance" an according wiki template should be defined and deployed in the original and the new element.

  1. Define the wiki page name in the browser URL:
    http://wiki.railml.org/index.php?title=<sub-schema-prefix>:<element-name>
    example: http://wiki.railml.org/index.php?title=IS:speedProfiles results in http://wiki.railml.org/index.php?title=IS:speedProfiles
  2. You get a blank page with the possibility to "Edit".
    Choose "edit" or bearbeiten!
  3. Insert the element documentation template into the blank editor
    {{ElementDocu}}
    Do the "preview" cycle. :-) Do you encounter some "FIXME" strings? Go further.
  4. Insert parameters, they may occur in any order.
    {{ElementDocu
    |elementName
    |parent
    |childs
    |semantics
    |inheritedAttributes
    |ownAttributes
    |constraints
    |notes
    |example
    }}
    

    Do the "preview" cycle. :-) Nothing changed? That's good news. Go further.

  5. Insert some further information.
    Deploy railML markup templates whereever useful.
    example:
    {{ElementDocu
    |elementName = speedProfiles
    |parent =  {{IS:Tag|infrastructure}}
    |childs = {{IS:Tag|speedProfile}}
    |semantics =
    The element {{IS:Tag|speedProfiles}} works as a "container element" for {{IS:Tag|speedProfile}} elements.
    
    |inheritedAttributes
    |ownAttributes
    |constraints
    |notes
    |example
    }}
    

    Do the "preview" cycle. :-) "FIXME"s left? Fine.

    Leave other parameters blank for easier later edition by other authors.

  6. Describe your changes with "Summary" or Zusammenfassung
  7. Submit your changes with "Save" or Speichern
  8. Done. Thank you for your contribution.

Elements with parent inheritance

Some railML elements are re-used across the sub-schemas, e.g. "geoCoord", "valueTable", "efficiency", "*Ref". The wiki provides general documentation templates for these elements that may be extended by special information for this certain semantics.

For all other elements jump to the previous section.

If some currently independently defined railML element is changed into a "general" element and used in "parent inheritance" an according wiki template should be defined and deployed in the original and the new element.

  1. Define the wiki page name in the browser URL:
    http://wiki.railml.org/index.php?title=<sub-schema-prefix>:<element-name>_<parent-element-name>
    example: http://wiki.railml.org/index.php?title=IS:geoCoord_mileageChange results in http://wiki.railml.org/index.php?title=IS:geoCoord_mileageChange
  2. You get a blank page with the possibility to "Edit".
    Choose "edit" or bearbeiten!
  3. Search the appropriate template for element content to deploy.
  4. Insert the template into the blank editor
    {{<template-name-without-prefix>}}

    example: {{InheritGeoCoord}}

    Do the "preview" cycle. :-) Do you encounter some "FIXME" strings? Go further.
  5. Insert parameters
    {{<template-name-without-prefix>
    |<parameter-name>
    }}

    You will find all possible parameters of a template by searching for {{{...}}} in the template plain code. They may occur in any order.

    example:

    {{InheritGeoCoord
    |parentLink
    |selfLink
    |semantics_en
    |semantics_de
    |constraints_en
    |constraints_de
    |notes_en
    |notes_de
    |coord
    |coord_de
    |extraHeight
    |extraHeight_de
    |epsgCode
    |epsgCode_de
    |heightEpsgCode
    |heightEpsgCode_de
    }}
    

    Do the "preview" cycle. :-) Nothing changed? That's good news. Go further.

  6. Insert some special information that is valid only for this element in a certain position of the XML tree.
    Deploy railML markup templates whereever useful.
    example:
    |parentLink = {{IS:Tag|mileageChange}}
    |selfLink = {{IS:Tag|geoCoord|mileageChange}}
    

    Do the "preview" cycle. :-) "FIXME"s left? Fine.

    Leave other parameters blank for easier later edition by other authors.

    If there are some further explanations, that are not only important for the current element but for all elements of this kind, please edit the template.

  7. Describe your changes with "Summary" or Zusammenfassung
  8. Submit your changes with "Save" or Speichern
  9. Done. Thank you for your contribution.

Support

We appreciate your interest to contribute to the railML® wiki and will try to support you.

  • A documentation for the mediawiki sofware which is the basis of this wiki can be found here (external link).
  • Please, follow our Wiki Documentation Guidelines.
  • Questions referring to the use of this wiki are welcome on the discussion page.
  • Please, act responsibly with contacting the webmaster (webmaster ät railml dot org).