Enumerations procedures and best practices v10
Version 7 (Florido Paganelli, 06/18/2014 03:45 AM) → Version 8/40 (Florido Paganelli, 06/18/2014 03:47 AM)
{{>toc}}
h1. OGF GLUE2 Enumerations procedures and best practices
Author: Florido Paganelli florido.paganelli_REMOVE!THIS_@hep.lu.se
version:1.0
Document Status: Work in Progress
Last revision: 2014-06-17
h2. Introduction
This work is an attempt to summarize and generalize the usage of Open Enumerations in GLUE2, and an attempt to set some rules on how the management of these should be carried on.
The key words ‘MUST,” “MUST NOT,” “REQUIRED,” “SHALL,” “SHALL NOT,” “SHOULD,” “SHOULD NOT,” “RECOMMENDED,” “MAY,” and “OPTIONAL” are to be interpreted as described in RFC 2119 (see http://www.ietf.org/rfc/rfc2119.txt).
h3. Acknowledgements
Thanks to Stephen Burke, David Meredith, Paul Millar and Balazs Konya for kickstart of these ideas and their further development. Thanks to John-Paul Navarro and Shiraz Memon for coordinating this work within the OGF GLUE2 Working Group. Thanks to Andre Merzky for comments.
h2. Naming Schemes
The following rules apply:
1) Every string is RECOMMENDED to be lowercase.
2) Clients MUST consider these strings case-sensitive as defined in GFD.147.
3) Case MUST NOT be used as a way to distinguish strings; in practice, the group will not accept names that only differ in case.
h3. Services
This applies to the GLUE2 Open Enumeration @ServiceType_t.@
See also GFD.147, Appendix B.31
<pre><organization_name>.<product_name>.<service_detail></pre>
where
@<organization_name>@
is the reversed domain name of the organization which provides or maintains the service or a reversed domain name associated with the project.
Presence: *RECOMMENDED* for *new* names. Exceptions MUST be justified.
@<product_name>@
free form string for product names
Presence: *MANDATORY*
@<service_detail>@
free form string that SHOULD identify a subservice or a service implementation. It can contain dots.
Presence: *OPTIONAL*
Decision: *minimum* requirement is
<pre><organization_name>.<product_name></pre>
Examples: @org.nordugrid.arex, org.glite.ce.cream@
Existing names not following the above rules can be kept, but MAY be Deprecated to be consistent with recommendations. (see Section 2.4 and Section 4.1)
h3. Interfaces
This applies to the GLUE2 Open Enumeration @InterfaceName_t.@
<tt>InterfaceName_t.</tt>
GFD.147 Appendix B.18 does not define any clear format. The following is RECOMMENDED:
<pre><organization_name>.<interface_name></pre>
<center><nowiki><organization_name>.<interface_name></nowiki></center>
where:
@<organization_name>@
is <tt><nowiki><organization_name> </nowiki></tt>is the reversed domain name of the organization which provides or maintains the service or a reversed domain name associated with the project.
Presence: *RECOMMENDED* project.Presence: '''RECOMMENDED''' for *new* '''new''' names. Exceptions MUST be justified.
@<interface_name>@
free <tt><nowiki><interface_name></nowiki></tt>free form string for product names
Presence: *MANDATORY* namesPresence: '''MANDATORY'''
Examples: @org.nordugrid.xbes, '''Examples: '''<tt>org.nordugrid.xbes, org.ogf.glue.emies.activitycreation, org.glite.voms@
org.glite.voms</tt>
h3. Capabilities
See GFD.147, appendix B.5, on ''Capability_t''.
h3. Sorting out special classes of names
h4,
Use the reserved prefix:
org.ogf.glue.
org.ogf.glue.* SHOULD be used if the proposed domain name is not applicable. Examples are expired/nonexistent/unregistered domains, domains that have been used for other purposes than the proposed product, and so on. The group can decide case by case.
Example:For EMIR, developed during EMI project that now is over, ''ServiceType_t ''is:'' ''<tt>org.ogf.glue.emir</tt>
If a project ends and the product has an orphaned reverse domain name, the name can be kept.
h4. Simplified naming for Services with only one Interface
se the reserved prefix:
org.ogf.glue.
org.ogf.glue.* SHOULD be used if the proposed domain name is not applicable. Examples are expired/nonexistent/unregistered domains, domains that have been used for other purposes than the proposed product, and so on. The group can decide case by case.
Example:For EMIR, developed during EMI project that now is over, ''ServiceType_t ''is:'' ''<tt>org.ogf.glue.emir</tt>
If a project ends and the product has an orphaned reverse domain name, the name can be kept.
h2. Requesting new Open Enumerations
h2. Management of Open Enumerations
h3. Description of Open Enumerations CSV files
h3. Statuses
h3. GLUE2 Working Group Procedures
h2. References
h1. OGF GLUE2 Enumerations procedures and best practices
Author: Florido Paganelli florido.paganelli_REMOVE!THIS_@hep.lu.se
version:1.0
Document Status: Work in Progress
Last revision: 2014-06-17
h2. Introduction
This work is an attempt to summarize and generalize the usage of Open Enumerations in GLUE2, and an attempt to set some rules on how the management of these should be carried on.
The key words ‘MUST,” “MUST NOT,” “REQUIRED,” “SHALL,” “SHALL NOT,” “SHOULD,” “SHOULD NOT,” “RECOMMENDED,” “MAY,” and “OPTIONAL” are to be interpreted as described in RFC 2119 (see http://www.ietf.org/rfc/rfc2119.txt).
h3. Acknowledgements
Thanks to Stephen Burke, David Meredith, Paul Millar and Balazs Konya for kickstart of these ideas and their further development. Thanks to John-Paul Navarro and Shiraz Memon for coordinating this work within the OGF GLUE2 Working Group. Thanks to Andre Merzky for comments.
h2. Naming Schemes
The following rules apply:
1) Every string is RECOMMENDED to be lowercase.
2) Clients MUST consider these strings case-sensitive as defined in GFD.147.
3) Case MUST NOT be used as a way to distinguish strings; in practice, the group will not accept names that only differ in case.
h3. Services
This applies to the GLUE2 Open Enumeration @ServiceType_t.@
See also GFD.147, Appendix B.31
<pre><organization_name>.<product_name>.<service_detail></pre>
where
@<organization_name>@
is the reversed domain name of the organization which provides or maintains the service or a reversed domain name associated with the project.
Presence: *RECOMMENDED* for *new* names. Exceptions MUST be justified.
@<product_name>@
free form string for product names
Presence: *MANDATORY*
@<service_detail>@
free form string that SHOULD identify a subservice or a service implementation. It can contain dots.
Presence: *OPTIONAL*
Decision: *minimum* requirement is
<pre><organization_name>.<product_name></pre>
Examples: @org.nordugrid.arex, org.glite.ce.cream@
Existing names not following the above rules can be kept, but MAY be Deprecated to be consistent with recommendations. (see Section 2.4 and Section 4.1)
h3. Interfaces
This applies to the GLUE2 Open Enumeration @InterfaceName_t.@
<tt>InterfaceName_t.</tt>
GFD.147 Appendix B.18 does not define any clear format. The following is RECOMMENDED:
<pre><organization_name>.<interface_name></pre>
<center><nowiki><organization_name>.<interface_name></nowiki></center>
where:
@<organization_name>@
is <tt><nowiki><organization_name> </nowiki></tt>is the reversed domain name of the organization which provides or maintains the service or a reversed domain name associated with the project.
Presence: *RECOMMENDED* project.Presence: '''RECOMMENDED''' for *new* '''new''' names. Exceptions MUST be justified.
@<interface_name>@
free <tt><nowiki><interface_name></nowiki></tt>free form string for product names
Presence: *MANDATORY* namesPresence: '''MANDATORY'''
Examples: @org.nordugrid.xbes, '''Examples: '''<tt>org.nordugrid.xbes, org.ogf.glue.emies.activitycreation, org.glite.voms@
org.glite.voms</tt>
h3. Capabilities
See GFD.147, appendix B.5, on ''Capability_t''.
h3. Sorting out special classes of names
h4,
Use the reserved prefix:
org.ogf.glue.
org.ogf.glue.* SHOULD be used if the proposed domain name is not applicable. Examples are expired/nonexistent/unregistered domains, domains that have been used for other purposes than the proposed product, and so on. The group can decide case by case.
Example:For EMIR, developed during EMI project that now is over, ''ServiceType_t ''is:'' ''<tt>org.ogf.glue.emir</tt>
If a project ends and the product has an orphaned reverse domain name, the name can be kept.
h4. Simplified naming for Services with only one Interface
se the reserved prefix:
org.ogf.glue.
org.ogf.glue.* SHOULD be used if the proposed domain name is not applicable. Examples are expired/nonexistent/unregistered domains, domains that have been used for other purposes than the proposed product, and so on. The group can decide case by case.
Example:For EMIR, developed during EMI project that now is over, ''ServiceType_t ''is:'' ''<tt>org.ogf.glue.emir</tt>
If a project ends and the product has an orphaned reverse domain name, the name can be kept.
h2. Requesting new Open Enumerations
h2. Management of Open Enumerations
h3. Description of Open Enumerations CSV files
h3. Statuses
h3. GLUE2 Working Group Procedures
h2. References