On Thu, Sep 29, 2011 at 4:10 AM, Sergiu Dumitriu <sergiu(a)xwiki.com> wrote:
On 09/28/2011 07:27 AM, Vincent Massol wrote:
On Sep 28, 2011, at 12:57 PM, Eduard Moraru wrote:
> On Wed, Sep 28, 2011 at 1:42 PM, Vincent Massol<vincent(a)massol.net>
wrote:
>
>>
>> On Sep 28, 2011, at 12:30 PM, Eduard Moraru wrote:
>>
>>> Hi,
>>>
>>> On Wed, Sep 28, 2011 at 8:28 AM, Vincent Massol<vincent(a)massol.net>
>> wrote:
>>>
>>>> Hi devs,
>>>>
>>>> Sergiu has started a script to fully automate a release (more to come
-
>>>> Sergiu will document what it does
soon). The only part not automated
are
>> the
>>>> Release Notes.
>>>>
>>>> IMO we can "automate" it by a process which I propose to be:
>>>>
>>>> * An issue can only be closed if it's documented on
xwiki.org and on
>> the
>>>> release notes page for the upcoming release.
>>>>
>>>
>>> I`m not very keen of such an approach. This adds paperwork to N people
>>> (devs) that have already completed a job
>>
>> I definitely don't agree here. A dev job is not complete if
>> * tests are not written
>> * documentation has not been added
>>
>>> , multiplied by M issues (which can
>>> be more than 1 each day) done by each person... instead of just 1
person
>>> (release manager) in charge of a task
that is repeated once every
couple
>> of
>>> weeks (low frequency).
>>
>> I'm not sure I understand what you're saying. Are you also suggesting
that
>> committers should not do code reviews and
any of all the other tasks
they're
>> suppose to do because it takes too much
time and would be better done
by a
single individual? I hope not… :)
Side note: You should try to be a release manager to see what it takes
(although with Sergiu's script it should be much easier now).
> Plus, the N devs have to use 2 tools to close one single bug.
What tools?
1. Jira
2.
XWiki.org
We have to use a lot more tools than that to close a bug:
- an IDE
- maven
- git
- a web browser to do searches on the web
- etc
I don't see what's the problem of using several tools.
>>
>>> Why don`t we use Jira's ability to comment on an issue when actually
>> closing
>>> it? We could then make a script to automatically round up all such
>> comments
>>> for the release process. At least it would be a single application and
it
>>> would be no major breaking of the
flow.
>>
>> If what you suggest is automated releases notes, I've been trying to do
>> that for about 12 years now and it has never worked to a satisfactory
level
>> ;)
I second Vincent, making crappy release notes automatically is easy,
just list all the closed issue titles and you're done. But the result
won't make any sense at all, and only the core developers would be able
to understand what they mean. The release notes are supposed to be
clear, simple, and pretty, to attract users that don't care about what
version of the reflections library is used internally, or where does
aether store its cache, but care that we introduced the message stream
feature in 3.0.
The problem with the release notes is that they take a lot of time to
prepare, and this delays the release too much.
First part of the release is usually smooth, and can be done in two
hours (most of the time waiting for the permutations of the WYSIWYG
editor to compile).
Then comes the second part, which involves posting a lot of
announcements summarizing the release. This too shouldn't take that
much, and a well organized person can do it in half an hour. But it
requires that the release notes are ready, and the major features are
listed in a few words (Freshmeat for example limits us to 600 chars).
And it's hard to go over more than 100 issues one by one and check if
they are worth mentioning, trying to summarize the selected ones in a
few words ("New implementation of the sheet system", "Named parameters
for the event stream", "Office Document Export"), then write some text
to describe the feature in more detail, make up some screenshots of the
feature in use, etc. Then comes the part about migration and backwards
compatibility, and this requires even more detail when going over the
closed issues to determine if some obscure issue that you didn't follow
and have no idea what it's about is going to cause trouble or not.
So, between the first and the second part of the release there's a big
break. I usually end up doing the second part one day after the first
part, and for 3.2M1 I even screwed it up completely because I didn't
know what to put in the release notes.
>> What you suggest is also not very good
IMO because it duplicates work
>> effort since the devs will need to document the stuff on xwiki.organyway.
>>
>
> Please be more clear (preferably with an example) about what you expect
for
> each developer to document on
xwiki.org for
each issue closed.
OK, Vincent was a bit wrong. It's not about *every* issue, but about
every issue that is worth documenting.
Bugs like
http://jira.xwiki.org/browse/XWIKI-6925 are too technical and
shouldn't even affect 99.9% of the users, even if they are marked as
Critical, since it's only about upgrades to the previous milestone
(3.2M2) and only for a certain configuration.
OTOH, trivial tasks like
http://jira.xwiki.org/browse/XWIKI-6920 should
be mentioned in the release notes in the Upgrades section.
Big changes like
http://jira.xwiki.org/browse/XWIKI-6974 deserve not
just a mention in the release notes, but a full documentation page, with
lots of screenshots and explanations. If the developer doesn't feel that
he's up to the task, which does require more people/communication/design
skills, they should ask for help from the marketing department (XWiki
SAS) and work together with them. The marketing department alone doesn't
know how to use a new feature that's fresh out of development, so the
developer has to participate as well, even if only to indicate what
should be mentioned.
For example:
* Marius add a new sheet module. This needs to be
documented on
extensions.xwiki.org as a Module type.
* Sergiu added changes to the search so the
search extension needs to be
reviewed to see if it still matches the changes.
* "support for OpenOffice 3.3 as the backend
of the office importer". We
need to check the doc of the office importer and
see if there's any mention
of supported version and update it
* For ex I updated the component archetype to use
the new injection
annotation and I modified
http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents as a
consequence (I also have some backlogs to do, for ex when I added support
for JSR330 I haven't modified
http://extensions.xwiki.org/xwiki/bin/view/Extension/Component+Module,
which is bad and I need to catch up now).
* etc
Ok, now this makes sense.
So the release notes page for the current upcoming release is created as
soon as the previous release was launched and it's in a blank state. Then,
devs fill it up collaboratively, as soon as they add changes worth
mentioning in the release notes.
Here's my +1, with the mention that we should add some structure to the
release notes (object with sheet instead of blank page) to help the
collaborative editing.
The release manager will now have to level out the differences in writing
styles of the various devs that contributed to the page :)
Thanks,
Eduard
>>>> * We collectively enforce this by reopening issues if someone doesn't
do
>>>> the first point, asking him/her
to do it
>>>>
>>>
>>> Not sure how things work on Jira, but maybe we could do a very simple
>> Jira
>>> extension/plugin that does not allow closing an issue without
commenting
>> on
>>> the chosen solution or whatever it is that we would want in the
release
>>> notes.
>>
>> I don't see how that would help
xwiki.org be more up to date. Remember
>> that release notes should point to documentation not duplicate it.
>>
>
> For instance, in
>
http://www.xwiki.org/xwiki/bin/ReleaseNotes/ReleaseNotesXWikiEnterprise32M3I
> see no link to the list of fixed Jira issues,
grouped by issue type.
> What
> I see there is a "resume" rather than a full, bullet list (maybe with
> expandable sections to say 2 words about the stuff done for the
particular
> issue) of things done. While I agree that the
resume is more user
friendly
> (for users that have the attention span to
read full paragraphs), I also
> think that we should include (prefferably), or at least link to, the
Jira
> generated issue list. You can`t have people
guess that they have to go
to
> Jira and make 3-5 clicks to get the list of
fixed issues.
A list of 164 issues will hide the real improvements that users care about.
Yes we need to do both. We absolutely need the
user friendly summary and
it's good to have the full list too.
What I've done in the past (and I've
already prepared it for 3.2 final)
is a link to a filter in JIRA that shows the
full list.
My idea is then to use a JIRA macro that takes
this filter and displays
them on the RN page (although a link might be just enough
too).
I prefer a link. The full list is going to be too long and too technical
to fit nicely in the release notes.
Thanks
-Vincent
> Thanks,
> Eduard
>
>
>>
>> Thanks
>> -Vincent
>>
>>> Thanks,
>>> Eduard
>>>
>>>>
>>>> This will have some nice effects:
>>>> *
xwiki.org will be more up to date than it is now
>>>> * it's up to the developer to document what they do (I don't
think
it's
>>>> good to push this to someone
else) which is good since they have the
>> most
>>>> knowledge (side note: it doesn't mean we don't need a technical
writer
>> to
>>>> improve on the documentation done by developers but it would be about
>> style
>>>> and not about content)
>>>> * the release notes will be ready for the release, as we progress and
>> the
>>>> burden of writing the release notes will not fall on the shoulders of
>> the
>>>> Release Manager (there's no reason it should)
>>>> * the whole release process will almost be a joy to do
>>>> * with a fully automated release process it means we'll be able to
>> perform
>>>> a lot more bugfix releases which is good for our users
>>>>
>>>> Here's my +1
>>>>
>>>> Thanks
>>>> -Vincent
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs