Difference between revisions of "Practices no longer recommended or now deprecated"

From TEIWiki
Jump to navigation Jump to search
m ("Deprecated")
(5. Recent "deprecations" to be reviewed: link to https://sourceforge.net/p/tei/feature-requests/486/ (for solving the three unresolved tickets))
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Policy ==
 
== Policy ==
  
At its April 2013 face-to-face meeting in Providence, the [[Council|Technical Council]] agreed to the following policy for handling practices that are "no longer recommended" or "deprecated".
+
http://www.tei-c.org/Activities/Council/Working/tcw27.xml
 
 
=== "No longer recommended" ===
 
 
 
While the TEI Guidelines often offer more than one way of encoding a particular phenomenon, at times the Council agrees to identify a preferred method without making any definite plans to remove the non-preferred way from the Guidelines.  In this case:
 
 
 
* The <remarks> element is used in the spec to indicate the preferred practice.
 
* The prose in one or more chapters is revised to indicate this preferred practice.  Examples showing the non-preferred practice are maintained but preferably only in the section of the Guidelines where that element or attribute is discussed, not in passing elsewhere.
 
 
 
We will not add the "no longer recommended" practice to [[P6-dev]].
 
 
 
=== "Deprecated" ===
 
 
 
According to the [[TEI-Council-FAQ#What_is_the_.22Birnbaum_doctrine.22.3F|Birnbaum doctrine]], the Council has made the serious decision to break backwards compatibility by changing the content model of an element or class to remove an element or attribute, or to remove an element or attribute entirely from the Guidelines.  In this case:
 
 
 
* The appropriate spec is modified to add @validUntil on the appropriate <elementSpec>, <classRef>, or <attDef> elements.  The value of @validUntil shall be no sooner than two years from the date of the change.
 
* A Schematron warning is added to the spec.
 
* Any examples of the deprecated practice are removed from the Guidelines, and any prose recommending them is reworded as appropriate.
 
* We will try to remember to include a mention of the deprecation in the release notes created for the following release.
 
 
 
After the date specified in @validUntil:
 
 
 
* The element or attribute is actually removed from the spec.
 
  
 
== To do ==
 
== To do ==
Line 31: Line 9:
 
A. Since we are no longer using @status='deprecated', should we remove it as a legal value of this attribute in att.identified?  It's odd to include it here if we won't be using it.  Note that we only added this value recently, when implementing [http://purl.org/tei/fr/1933481 FR 1933481].
 
A. Since we are no longer using @status='deprecated', should we remove it as a legal value of this attribute in att.identified?  It's odd to include it here if we won't be using it.  Note that we only added this value recently, when implementing [http://purl.org/tei/fr/1933481 FR 1933481].
  
B. For deprecations (things we plan to remove), will we:
+
: Syd deprecated the value of "deprecated" at revision 12101 and asked whether to deprecate the whole attribute.  Kevin suggested on tei-council on 2013-05-16 that we in fact deprecate the whole attribute. ([[User:Kshawkin|Kshawkin]] 17:09, 16 May 2013 (EDT))
 +
 
 +
B. For deprecations (things we plan to remove), we already decided to try to remember to mention them in release notes.  But will we also do any of the following?
 
# list them on a wiki page (this one?)
 
# list them on a wiki page (this one?)
 
# [http://purl.org/tei/bug/3435326 create a new tracker item for each]
 
# [http://purl.org/tei/bug/3435326 create a new tracker item for each]
 
# announce each on TEI-L
 
# announce each on TEI-L
# include them in release notes
 
  
or a combination of these?
+
: I suggest we not create tracker items and therefore simply close [http://purl.org/tei/bug/3435326 bug 3435326].  If Council has already decided to deprecate, we don't need any feedback, and we can use @validUntil to track planned deprecations.  ([[User:Kshawkin|Kshawkin]] 23:10, 18 April 2013 (EDT))
  
: I suggest we not create tracker items and therefore simply close [http://purl.org/tei/bug/3435326 bug 3435326].  If Council has already decided to deprecate, we don't need any feedback, and we can use @validUntil to track planned deprecations. ([[User:Kshawkin|Kshawkin]] 23:10, 18 April 2013 (EDT))
+
: I think the Guidelines themselves should contain an automatically-generated page or chapter listing deprecated items along with their validUntil dates. The Guidelines are most people's primary source of information; we can't assume they read the TEI-L list, read the release notes or go to the wiki. ([[User:Mholmes|Mholmes]])
  
 
=== 2. Create a new tcw with the policy, plus answers to the remaining questions, for future reference ===
 
=== 2. Create a new tcw with the policy, plus answers to the remaining questions, for future reference ===
  
 
Once Council reviews that the intent from the Providence meeting has been correctly represented, KH will create this document (as originally requested in Oxford).
 
Once Council reviews that the intent from the Providence meeting has been correctly represented, KH will create this document (as originally requested in Oxford).
 +
 +
: [http://www.tei-c.org/Activities/Council/Working/tcw27.xml TCW27] was created on 16 May 2013. ([[User:Kshawkin|Kshawkin]] 15:46, 16 June 2013 (EDT))
  
 
=== 3. Modify release building procedure ===
 
=== 3. Modify release building procedure ===
  
 
KH will add a step to tcw22 to say to grep the specs looking for @validUntil.  For any values that are dates that have passed, you should go ahead and carry out the deprecation.
 
KH will add a step to tcw22 to say to grep the specs looking for @validUntil.  For any values that are dates that have passed, you should go ahead and carry out the deprecation.
 +
 +
Alternatively, SR suggested on tei-council on 2013-04-19 that we might modify the build process so that it gives an error if the value of any @validUntil has passed, forcing us to complete the deprecation in order to get a successful build.
 +
 +
: I see that SR's suggestion has already been implemented! ([[User:Kshawkin|Kshawkin]] 00:54, 20 June 2013 (EDT))
  
 
=== 4. Add handling of @validUntil to stylesheets for generating Guidelines ===
 
=== 4. Add handling of @validUntil to stylesheets for generating Guidelines ===
  
SR will:
+
With at least one revision to test with (so implement something from the next section of this document as a test), SR will:
 
* add code to stylesheets to display "Deprecated: valid until YYYY-MM-DD" in specs when @validUntil is present.
 
* add code to stylesheets to display "Deprecated: valid until YYYY-MM-DD" in specs when @validUntil is present.
 
* add rendering of @validUntil in specLists.  (Currently @status does not display in specLists!)
 
* add rendering of @validUntil in specLists.  (Currently @status does not display in specLists!)
Line 57: Line 42:
 
For now leave handling of @status in place in case a release is made before all specs are updated.
 
For now leave handling of @status in place in case a release is made before all specs are updated.
  
=== 5. Recent "deprecation" practices to be reviewed ===
+
=== 5. Recent "deprecations" to be reviewed ===
 
 
For all of the following tickets ...
 
  
* [http://purl.org/tei/fr/3520653 deprecate <relationGrp>]
+
For all of the following tickets, re-read the ticket and determine how it fits in the above policy. Ignore uses of terms like "deprecate" and "no longer recommended" because they are likely not used in the reserved sense now defined in TCW27.
* [http://purl.org/tei/fr/3266021 dictionary entries with a single <sense>]
 
* [http://purl.org/tei/fr/3437509 Use @ref instead of @key]
 
* [http://purl.org/tei/fr/3286136 <altIdentifier> is deprecated within <msPart>]
 
* [http://purl.org/tei/fr/3565878 where to put <idno> within <biblStruct>]
 
* [http://purl.org/tei/bugs/3590818 Deprecation of "magic token" attributes]
 
* [http://purl.org/tei/bug/3376456 deprecate use of gram except as a child of gramGrp]
 
* [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-join.html @targets deprecated on <join>] -- This was implemented at revisions [http://tei.svn.sourceforge.net/viewvc/tei/trunk/P5/Source/Specs/join.xml?r1=8457&r2=8763 8763] and [http://tei.svn.sourceforge.net/viewvc/tei/trunk/P5/Source/Specs/join.xml?r1=8763&r2=8808 8808] (but can't find a mention in any minutes, a ticket, or discussion of this on tei-council).
 
* [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-quotation.html @form deprecated on <quotation>] (Note: deprecation will be noted in the Guidelines when [http://purl.org/TEI/FR/3556778 FR 3556778] is implemented.)
 
* [http://purl.org/TEI/FR/3570037 add @unit to <biblScope>, and soft-deprecate @type]
 
  
... we need to make sure they've been handled according to the above policy.
+
{| class="wikitable"
 +
|-
 +
! recent "deprecation"
 +
! if interpreted according to TCW27
 +
|-
 +
| [http://purl.org/tei/fr/3520653 deprecate <relationGrp>]
 +
| deprecated on 2012-06-17
 +
|-
 +
| [http://purl.org/tei/fr/3266021 dictionary entries with a single <sense>]
 +
| no longer recommended
 +
|-
 +
| [http://purl.org/tei/fr/3437509 Use @ref instead of @key]
 +
| no longer recommended
 +
|-
 +
| [http://purl.org/tei/fr/3286136 <altIdentifier> is deprecated within <msPart>]
 +
| deprecated on 2011-04-24
 +
|-
 +
| [http://purl.org/tei/fr/3565878 where to put <idno> within <biblStruct>]
 +
| Intent unclear, but I think we deprecated on 2012-10-02. (We didn't leave any counter-examples in the Guidelines, and we talked about wanting to remove it.  See r10889 from 2012-10-02.)
 +
|-
 +
| [http://purl.org/tei/bugs/3590818 Deprecation of "magic token" attributes]
 +
| (still open)
 +
|-
 +
| [http://purl.org/tei/bug/3376456 deprecate use of gram except as a child of gramGrp]
 +
| deprecated on 2011-12-05
 +
|-
 +
| [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-join.html @targets deprecated on <join>] -- This was implemented at revisions [http://tei.svn.sourceforge.net/viewvc/tei/trunk/P5/Source/Specs/join.xml?r1=8457&r2=8763 8763], [http://tei.svn.sourceforge.net/viewvc/tei/trunk/P5/Source/Specs/alt.xml?r1=8763&r2=8807 8807], and [http://tei.svn.sourceforge.net/viewvc/tei/trunk/P5/Source/Specs/join.xml?r1=8763&r2=8808 8808] (but can't find a mention in any minutes, a ticket, or discussion of this on tei-council).
 +
| deprecated on 2011-03-20
 +
|-
 +
| [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-quotation.html @form deprecated on <quotation>] (Note: deprecation will be noted in the Guidelines when [http://purl.org/TEI/FR/3556778 FR 3556778] is implemented.)
 +
| deprecated on 2012-04-28 (Don't see how the other ticket relates!)
 +
|-
 +
| [http://purl.org/TEI/FR/3570037 add @unit to <biblScope>, and soft-deprecate @type]
 +
| deprecated on 2012-12-17
 +
|}
  
KH will do the following:
+
Then KH will do the following:
  
 
* If the spec has a @status, remove it.  If appropriate according to the above policy, add a @validUntil with a value corresponding to two years after the date that the @status was added.
 
* If the spec has a @status, remove it.  If appropriate according to the above policy, add a @validUntil with a value corresponding to two years after the date that the @status was added.
Line 80: Line 88:
 
* If it's a "no longer recommended" practice, make sure there's appropriate text in &lt;remarks&gt;.
 
* If it's a "no longer recommended" practice, make sure there's appropriate text in &lt;remarks&gt;.
 
* For deprecations, reopen the ticket if necessary and assign to SB with a note to add a Schematron warning.
 
* For deprecations, reopen the ticket if necessary and assign to SB with a note to add a Schematron warning.
 +
 +
At [http://sourceforge.net/p/tei/code/12284/ revision 12284] and [http://sourceforge.net/p/tei/code/12285/ revision 12285], KH has:
 +
 +
* deprecated @status on att.identified
 +
* replaced any past uses of @status with @validUntil, with a date that's two years from the date that the "deprecation" happened, or three months from today, whichever is later
 +
* added @validUntil where missing '''except in the following cases''':
 +
** https://sourceforge.net/p/tei/feature-requests/294/#5737
 +
** https://sourceforge.net/p/tei/feature-requests/383/?limit=10&page=1#bbe8
 +
** https://sourceforge.net/p/tei/bugs/288/?limit=10&page=3#99f0
 +
* added appropriate text in <remarks>
 +
 +
In addition, I have added notes to [https://sourceforge.net/p/tei/feature-requests/459/ ticket #459] about places where Schematron warnings are needed (instead of reopening tickets as originally planned).
  
 
SB will do the following:
 
SB will do the following:
  
* Add a Schematron warning for the "no longer recommended" practices.
+
* Add a Schematron warning for the "no longer recommended" practices.  See [https://sourceforge.net/p/tei/feature-requests/459/ #459 warn user of dropped constructs].
 +
* Figure out how to solve the three tickets above that Kevin couldn't solve. See [https://sourceforge.net/p/tei/feature-requests/486/ #486 deprecating members of a content model].
  
 
=== 6. Remove @status='deprecated' in stylesheets  ===
 
=== 6. Remove @status='deprecated' in stylesheets  ===
  
 
SR will change the stylesheets to remove display of "(deprecated)" for @status='deprecated' since this is no longer needed.
 
SR will change the stylesheets to remove display of "(deprecated)" for @status='deprecated' since this is no longer needed.
 +
 +
: I've created https://sourceforge.net/p/tei/feature-requests/463/ and assigned to SR. ([[User:Kshawkin|Kshawkin]] 23:03, 20 June 2013 (EDT))
  
 
[[Category:Council]]
 
[[Category:Council]]

Latest revision as of 01:31, 9 December 2013

Policy

http://www.tei-c.org/Activities/Council/Working/tcw27.xml

To do

1. Decide remaining questions

A. Since we are no longer using @status='deprecated', should we remove it as a legal value of this attribute in att.identified? It's odd to include it here if we won't be using it. Note that we only added this value recently, when implementing FR 1933481.

Syd deprecated the value of "deprecated" at revision 12101 and asked whether to deprecate the whole attribute. Kevin suggested on tei-council on 2013-05-16 that we in fact deprecate the whole attribute. (Kshawkin 17:09, 16 May 2013 (EDT))

B. For deprecations (things we plan to remove), we already decided to try to remember to mention them in release notes. But will we also do any of the following?

  1. list them on a wiki page (this one?)
  2. create a new tracker item for each
  3. announce each on TEI-L
I suggest we not create tracker items and therefore simply close bug 3435326. If Council has already decided to deprecate, we don't need any feedback, and we can use @validUntil to track planned deprecations. (Kshawkin 23:10, 18 April 2013 (EDT))
I think the Guidelines themselves should contain an automatically-generated page or chapter listing deprecated items along with their validUntil dates. The Guidelines are most people's primary source of information; we can't assume they read the TEI-L list, read the release notes or go to the wiki. (Mholmes)

2. Create a new tcw with the policy, plus answers to the remaining questions, for future reference

Once Council reviews that the intent from the Providence meeting has been correctly represented, KH will create this document (as originally requested in Oxford).

TCW27 was created on 16 May 2013. (Kshawkin 15:46, 16 June 2013 (EDT))

3. Modify release building procedure

KH will add a step to tcw22 to say to grep the specs looking for @validUntil. For any values that are dates that have passed, you should go ahead and carry out the deprecation.

Alternatively, SR suggested on tei-council on 2013-04-19 that we might modify the build process so that it gives an error if the value of any @validUntil has passed, forcing us to complete the deprecation in order to get a successful build.

I see that SR's suggestion has already been implemented! (Kshawkin 00:54, 20 June 2013 (EDT))

4. Add handling of @validUntil to stylesheets for generating Guidelines

With at least one revision to test with (so implement something from the next section of this document as a test), SR will:

  • add code to stylesheets to display "Deprecated: valid until YYYY-MM-DD" in specs when @validUntil is present.
  • add rendering of @validUntil in specLists. (Currently @status does not display in specLists!)

For now leave handling of @status in place in case a release is made before all specs are updated.

5. Recent "deprecations" to be reviewed

For all of the following tickets, re-read the ticket and determine how it fits in the above policy. Ignore uses of terms like "deprecate" and "no longer recommended" because they are likely not used in the reserved sense now defined in TCW27.

recent "deprecation" if interpreted according to TCW27
deprecate <relationGrp> deprecated on 2012-06-17
dictionary entries with a single <sense> no longer recommended
Use @ref instead of @key no longer recommended
<altIdentifier> is deprecated within <msPart> deprecated on 2011-04-24
where to put <idno> within <biblStruct> Intent unclear, but I think we deprecated on 2012-10-02. (We didn't leave any counter-examples in the Guidelines, and we talked about wanting to remove it. See r10889 from 2012-10-02.)
Deprecation of "magic token" attributes (still open)
deprecate use of gram except as a child of gramGrp deprecated on 2011-12-05
@targets deprecated on <join> -- This was implemented at revisions 8763, 8807, and 8808 (but can't find a mention in any minutes, a ticket, or discussion of this on tei-council). deprecated on 2011-03-20
@form deprecated on <quotation> (Note: deprecation will be noted in the Guidelines when FR 3556778 is implemented.) deprecated on 2012-04-28 (Don't see how the other ticket relates!)
add @unit to <biblScope>, and soft-deprecate @type deprecated on 2012-12-17

Then KH will do the following:

  • If the spec has a @status, remove it. If appropriate according to the above policy, add a @validUntil with a value corresponding to two years after the date that the @status was added.
  • If the spec has no @status but it should have a @validUntil according to the above policy, add @validUntil with a value that is two years from the current date.
  • If it's a "no longer recommended" practice, make sure there's appropriate text in <remarks>.
  • For deprecations, reopen the ticket if necessary and assign to SB with a note to add a Schematron warning.

At revision 12284 and revision 12285, KH has:

In addition, I have added notes to ticket #459 about places where Schematron warnings are needed (instead of reopening tickets as originally planned).

SB will do the following:

6. Remove @status='deprecated' in stylesheets

SR will change the stylesheets to remove display of "(deprecated)" for @status='deprecated' since this is no longer needed.

I've created https://sourceforge.net/p/tei/feature-requests/463/ and assigned to SR. (Kshawkin 23:03, 20 June 2013 (EDT))