hdgarrood / redmine_release_notes

A plugin to add release notes to Redmine
GNU General Public License v3.0
73 stars 46 forks source link

Generation of release notes -under 'Versions' page #75

Closed dipanm closed 11 years ago

dipanm commented 11 years ago

Currently release notes generation is done under a dedicated tab called 'Release notes'

This shows "Version Name, number of issues having/not having release notes ready. and link to generate"

Honestly, it is not that one generates release notes for so many versions together. Rather it would be nice to see at the bottom of the Versions' page- where we are also having to see issues list in front of us.

Also, I would like that instead of having a separate page to generate the release note - it can be done in the bottom of the versions's page.

All this will reduce the significant back-n-forth between issue listing, release notes tabs,release note page and so on.

dipanm commented 11 years ago

In fact if this is done sufficiently, the 'Release notes' tab will no longer be required - and will help reduce real-estate need on the project menu.

hdgarrood commented 11 years ago

Ah yes, it would be nice to get rid of the tab on the project menu. Are you thinking on the roadmap, or the page for one specific version? Or both?

dipanm commented 11 years ago

I think the 'Road map' is for view only (also for everyone to see progress) so there should be no edit on this. But the version's own page is where you should ideally create its release notes. Isn't it?

thanks, Dipan.

On Wed, Apr 17, 2013 at 5:23 PM, hdgarrood notifications@github.com wrote:

Ah yes, it would be nice to get rid of the tab on the project menu. Are you thinking on the roadmap, or the page for one specific version? Or both?

— Reply to this email directly or view it on GitHubhttps://github.com/hdgarrood/redmine_release_notes/issues/75#issuecomment-16501171 .

cforce commented 11 years ago

+1

hdgarrood commented 11 years ago

Generating release notes isn't really an editing action, though, it's reporting... I think because the roadmap is an overview of where a project is and where it's going, it shouldn't have the release notes on it. Because the version page (that is, where you go if you click the version's name on the roadmap) is a more in-depth description of a particular version, the release notes progress bar and generation links should go there.

Thoughts?

PS You could earn my eternal love by submitting a pull request for this :)

dipanm commented 11 years ago

I agree with you - I am currently already working on another issue - and will want to work on this as well depending on the time I manage to get.

hdgarrood commented 11 years ago

sweet :)

dipanm commented 11 years ago

There is a good 'hook' at the bottom of versions' show page. So this should be straight forward. The only thing is, there is no references to release_notes object. What's the best way (non hack) to do it?

hdgarrood commented 11 years ago

I would use ReleaseNote.find(...) in the hooks -- like:

https://github.com/hdgarrood/redmine_release_notes/blob/a48d1b91ccd1ea01f39f39bb71749129221d88f5/lib/redmine_release_notes/hooks.rb

The code in lib/redmine_release_notes/hooks.rb is actually controller code, despite not being in a class called 'Controller', so I don't see any problem with putting stuff like this in there.

dipanm commented 11 years ago

Any update on this?

hdgarrood commented 11 years ago

I've done a little bit, but I'm finding it hard to find the time, unfortunately. I can't say when this will be done. Sorry

dipanm commented 11 years ago

Are there any specific feedbacks which I can start working again on this? I was hoping to complete some of this, and get to a tag which I can deploy quickly.

BTW: the redmine directory still points 1.3.0 as latest release with disclaimer as "broken" - if we release some of the latest work, we might get more testers to validate the work.

hdgarrood commented 11 years ago

The only thing I didn't like was that the new progress bar (and the information below) takes up a huge amount of space -- it draws focus away from the list of issues, and compared to the default Redmine theme, it looks out of place. I think this information should appear in one of the small boxes to the right of the issue list, like the Time Tracking and Issues By Tracker boxes.

Although I'm finding it harder to spend time on this. I think I'll just give you commit access, and let you decide when things are ready to go in.

Re redmine directory, thanks. I've updated it to say "look on github".

dipanm commented 11 years ago

I have added one check-in which has quite a compact view. Overall the space occupied now is similar to that of original overview page.

Attaching 2 screen shots here you can see.

  1. outline-1-left

  2. outline-2r

I liked your idea about box-on-the-right side. That would look very nice. And the layout I have put in here is actually good enough for this.

However, we are dependent on the hook to render this DIV. unfortunately, there is no side bar on the version page - and the two boxes are inside the main DIV 'roadmap". Whatever we can render under version-bottom page will be outside the main DIV so will hang below the whole page.

Please have a look and give me the feed back.

hdgarrood commented 11 years ago

That layout's good, but I think we can do better. I'll give you an example in a minute.

If we can get it so that redmine_release_notes contains little to no CSS itself, but instead uses CSS classes and things from the Redmine core stylesheet, it should still look good if the Redmine CSS changes, or if it's used with other themes.

dipanm commented 11 years ago

OK. Finally I have cleaned up the CSS. Mostly it only contains some essential style which shouldn't be derived from other unrelated classes. Main properties are now derived through list and related-issues classes of version's other views. This way I have also gotten rid of the gray background.

I have tested with multiple themes and it is looking good. Hope this is good enough!

cforce commented 11 years ago

Did you test also with Highrise vertical?

dipanm commented 11 years ago

Following themes tested : Classic, Default, alternate, A1, High rise tabs, CM-Blue, Coffee, Red-Andy and pepper.

hdgarrood commented 11 years ago

I'm really sorry -- that's not quite what I meant. Here's a first draft:

versions-example

If we use markup in the same way that Redmine does, then we shouldn't need to worry about compatibility with other themes.

And the markup (mostly copied from the Time tracking and Issues by Tracker boxes above):

<fieldset id="release-notes-completion">
    <legend>Release notes completion</legend>
    <table>
  <tbody><tr>
  <td>96%</td>
    <td width="100%">
      <table class="progress" width="100%"><tbody><tr><td class="closed" style="width: 78%;"></td><td class="todo" style="width: 22%;"></td></tr></tbody></table>
    </td>
  </tr>
  <tr><th colspan="2">8 requiring release notes</th></tr>
  <tr><th colspan="2">6 done</th></tr>
  <tr><th colspan="2">2 to go  </th></tr>
  <tr><th colspan="2">1 issue has an invalid release notes status</th></tr>
  <tr><th colspan="2"><a href="/versions/98/generate_release_notes">Generate release notes</a></th></tr>
</tbody></table>

  </fieldset>

The above snippet is added as the last child of the #version-summary div.

hdgarrood commented 11 years ago

Note that there's no custom CSS required at all for this.

hdgarrood commented 11 years ago

Two other things:

dipanm commented 11 years ago

I am not able to understand how is this really working. How will <field-set> be called from the hook to be displayed from the right?

The "8 requiring release notes" and so on probably want to be made into links, too

Currently they are links too - but they expand as a DIV listing issues concerned. I really don't want to open a query page to list this.

dipanm commented 11 years ago

I copied the above snippet code in _dashboard.html.erb. and also removed two <hr /> tags from version_bottom hook. But I am not getting the DIV on the right. I am getting on the bottom.

dipanm commented 11 years ago

Can you give me a full tar.gz which is able to show this on the right ?

hdgarrood commented 11 years ago

Currently they are links too - but they expand as a DIV listing issues concerned. I really don't want to open a query page to list this.

Fair enough.

Can you give me a full tar.gz which is able to show this on the right ?

I haven't implemented any code to do this -- I've just edited the HTML after it was generated by Redmine. I guess if there's no hook in the correct place (it doesn't look like there is), you might have to do something like:

<script>
$("<%= javascript_escape(render :partial => :release_notes_version_summary) %>")
  .appendTo('#version-summary')
</script>

Then make the :release_notes_version_summary partial render HTML like the snippet above.

See http://api.jquery.com/appendTo/ for explanation of the appendTo method.

dipanm commented 11 years ago

OK - so that will teach me something new now! I will try out - this by next check-in.

Will bug you if I need help...

hdgarrood commented 11 years ago

Cool :)

Incidentally, it's escape_javascript rather than javascript_escape

dipanm commented 11 years ago

Hooolaaa! It works ...

Take a look at this. outline-3

Will check in the short time.

dipanm commented 11 years ago

BTW: the file _overview.html.erb is now redundant.

hdgarrood commented 11 years ago

Yay! Ok -- I'm happy for you to delete _overview.html.erb and then merge rearrange-gui into master, as long as you're reasonably sure it's safe to do so.

dipanm commented 11 years ago

So finally the dashboard is now on the master. I have still kept the rearrange-gui branch where I will contninue to work on for #89 and if anything else comes up. I am closing this issue now!

Thank you so much for a lot of learning I got from you....

hdgarrood commented 11 years ago

:) you're welcome. thanks for your work!