Hide devs,
From this ongoing discussion, I see the following points being discussed:
* Problem 1: Quality of individual change doc in the RN, especially for developers ones.
* Problem 2: Cost of creating the RN vs real need and what would be enough. For a given
doc budget how do we spend it (more time documenting each individual RN and focus on
important ones, or less time per individual RN but be exhaustive).
* Problem 3: Java Developer API RN changes vs Scripting users (ie inside wiki pages)
* Problem 4: Missing links to reference documentation in individual changes
Problem 1
========
I feel on the issue is that by mandating that every single change be documented in the RN,
this lowers the quality of the RN and leads to some changes to be badly documented. It’s
not the only reason but I think it makes it harder to provide good RN. I see this similar
to Javadoc and mandating that every public method be documented. In a lot of cases the
javadoc is very poor.
I see 2 solutions:
* Solution 1: Apply the current solution but do a better job: It’s already the
responsibility of the RM to check the RN and validate it for quality. I often rewrite RN
changes even when I’m not the RM but I feel several RMs don’t do this (FTR this is the
line "Ensure that the Release Notes are complete and nice-looking for version XXX” in
the release plan.
** When checking developer changes, the RM should check that the doc contains usage
examples.
* Solution 2: Don’t try to be 100% comprehensive for all changes and focus on the
important ones. The less important ones are IMO the developer-related ones and especially
the Java-developer-oriented ones (hence my original post in this thread). Important point:
we must document everything in the reference documentation and thus a link to the
reference doc could be enough.
Problem 2
========
We could of course decide to document everything and do it well but it has a cost. It
means less time to fix bugs and develop the software but also less time to better document
each RN changes. For me the main target of the RN are the users of XWiki. I agree it’s
nice to also document the developer API changes but I see that as overdoing it a bit and
moving the RN doc to the next level. Seen our team size and that we don’t have any
technical writer, I was thinking that we could drop the Java-API changes from the RN,
especially since we doc them in the reference doc. Now, we could also argue that if we
document them in the ref doc, then it doesn’t cost that much more to add them in the RN
too.
* Solution 1: Continue as we’re doing but write better developer-oriented changes which
means increasing a bit more the RN cost.
* Solution 2: For Java-API changes, simply link to the reference doc. Would cost slightly
less.
Problem 3
========
Right now we mix Java API changes with Scripting API changes in the Developer section of
the RNs. However, the audience might be different. The Java API changes are mostly
important to XWiki developers (or anyone developing on the XWiki platform), while the
scripting apis are interesting for advanced users of XWiki.
* Solution 1: Don’t change anything.
* Solution 2: Only doc the Scripting API changes in the RN, see Problem 1/Solution 2
above.
* Solution 3: Split the Developer category into 2
Problem 4
========
* Solution 1: Add a new xproperty in the Change class for the reference doc link and add
validation for it. Find how to display it depending on the RN layout used (Grid, etc). See
https://jira.xwiki.org/browse/RN-46
Conclusion
=========
From what I understand from the current thread discussions, devs prefer:
* Problem 1: Solution 1
* Problem 2: Solution 1
* Problem 3: Solution 1
* Problem 4: Solution 1
Is that so?
Thanks
-Vincent
On 25 Jan 2019, at 09:31, Vincent Massol
<vincent(a)massol.net> wrote:
Hi devs,
Context
=======
It’s been since we’ve deviated from the original purpose of the Release Notes by also
adding developer-oriented release notes.
The goal of the Release Notes was to **highlight** important novelties for our **users**,
because looking at the JIRA list is too technical (otherwise we could simply use the
Release feature of JIRA! :)).
So you may ask why we do have a “Developer” Category in the RN app. These were not for
pure developers but for XWiki users who are more advanced and can write scripts in wiki
pages. And when it’s the case we **must** add examples, otherwise, it’s completely
useless.
For example this morning I saw this RN added:
https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/11.0/Change004/
This is typically something that has very little value to me:
* It’s for pure developers (java devs)
* It’s not understandable by anyone except the person who coded it or participated to the
dev mailing list discussion about it
* It doesn’t say more than what’s in the JIRA issue so what’s the point?
* There are no examples at all in it!
* Real developers can simply look at the reference documentation or can read the JIRAs.
We always link the JIRA issues in the RN anyway (it was for this reason that we’re listing
them).
* It takes time to write RN items and thus it needs to have high value
Proposal
========
* Go back to the original idea and only list developer RN items when they are for
scripting users and not APIs. For example, document some new script service or some
additions to existing script services. Of course Groovy would allow you to call any API so
being able to use it from Groovy is not a good criteria. I’d say that the criteria should
be whether the Release Note Change is useful for Velocity users.
* Rename “Developers” into “Scripters” or or “Advanced Users” (any better name?)
* Always put an example when writing a “developer” change and take the time to explain
properly what it’s about.
WDYT?
Thanks
-Vincent