Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

2007.03.27 Roundtable Summary

0 views
Skip to first unread message

Michael Milner

unread,
Mar 28, 2007, 12:47:41 PM3/28/07
to ruby-r...@googlegroups.com
Here's a summary of the developers meeting held on IRC yesterday.  The main purpose was to lay out a plan of action for Ruport 1.0.  Please feel free to give your opinions on any of the topics.


Mike

----------------------------


= Ruby Reports 1.0 Roadmap Planning : 2007.03.27 =


== Participants ==


- Gregory Brown <sandal>
- Michael Milner <mikem836>
-
Aredridel <Aria>
- James Edward Gray II <JEG2>
- Anthony Eden <aeden>

- Eustaquio Rangel de Oliveira Jr. <TaQ>
+ several lurkers


== Transcript ==


If you missed it yesterday or want to refer to it, you can find the transcript at:
http://rubyreports.org/transcripts/dev-discussion-1.0.2007.03.27.txt

Which is also linked to from our ChatLogs section of the wiki (for bookmarking)
http://stonecode.svnrepository.com/ruport/trac.cgi/wiki/ChatLogs

There are also some in-meeting notes on the wiki at:
http://stonecode.svnrepository.com/ruport/trac.cgi/wiki/OhOneOneMeeting


== Summary in three lines ==
21:25 <@sandal> okay JEG2.
21:25 <@sandal> you've got a class called CrackRock
21:25 <@sandal> and it's got a method_missing hack in it
== Introduction ==

We began by looking at the existing roadmap and noting that it currently shows standardization of the API and performance improvements as the two major remaining goals for 1.0.  In this context, it was noted that we should develop a benchmark suite - this was discussed in more detail later.  A question was also posed regarding the availability of comprehensive documentation.  People were encouraged to look at the documentation (tutorials and recipes) currently on the wiki site, but reminded that we do have an effort underway to produce much more comprehensive documentation.

== Stealing Ideas ==

<TaQ> reminds us to not lose emails, and suggests we take a look at his PHP reporting package
            http://phpreports.sourceforge.net/

== Acts As Reportable ==

The first topic of discussion was the fate of acts_as_reportable.  We announced recently that we're planning to move the data collection parts of AAR back into Ruport core.  While there wasn't any particular objections to this idea, there was a feeling that it would benefit the Rails community to maintain a plugin as well.  Initially the plugin would just be super lightweight in that its only function would be to require the necessary parts of Ruport core.  Later, we could develop the plugin along the lines of supplying Rails views and helpers.  However, we need to rename either the AAR stuff that migrates to core or the plugin since we don't want confusion between the two.

It was noted that there is an AAR branch for the experimental work on Rails views and that it would be updated in the next day or two with a new approach, so anyone who could check it out and provide feedback would be appreciated.

== gem_plugin ==


Although Ruport no longer auto-requires gem-plugin, it is still a dependency, so a possibility is to make it optional.

== Ruport 0.9 ==


The goal for the 0.9.3 is to do some cleanup and documentation.  It was noted that there have been >200 changesets since 0.8, so development has proceeded very rapidly.  Because of this some of the code is ugly and API documentation is lacking.  So the goal is some code refactoring, cleanup, and addition of documentation.


== Documentation ==

On the subject of documentation, it was requested that we fix the tutorials, etc. on the wiki site to be sure they're up to date.  The problem is that our stable release is still 0.8, and 0.9 has been a development release.  For that reason, we don't plan to produce any additional documentation for 0.8, but will definitely accept and fix bug reports against 0.8.  Any bug reports for documentation can be filed against the Ruby Reports Documentation Effort milestone on the Trac site.

We could also set up a site to access the 0.9 API documentation if that would help people.
It would likely reside at http://api.rubyreports.org/edge

== Formatting System ==

In addition to the ugliness of the code in the formatting system, which needs to be cleaned up, we are lacking multilevel grouping support for most of the built-in formatters.  Both Greg and I would rather not support it because it adds a lot of complexity to the built-in stuff, which is really intended as a base for people to write their own formatters.  The group was asked if anyone had any thoughts on this, but nobody seemed to have any specific opinions on whether or not we should support it.

On the topic of using our built-in stuff as the basis for custom formatters, it was noted that we need to add more helper methods to support this approach.  The pdf formatter currently does this pretty well, but the others do not.

Another question was if people like the 0.8 style options for formatting, where layout options were separate from other options, or if they like the 0.9 style, which are a single type of option.  The general consensus was that 0.9 style is preferred.

That led to a discussion on some refactoring of the rendering methods.  We think it would be a good idea to refactor out the as() and renders_with() methods into a module that people could mix in to their own data structures.  Internally, at least, it would eliminate some duplication within the existing data structures.  The question arose as to whether we should support the to_* hack.  We want to be sure not to cause problems for people using the module by breaking existing method_missing() code.  JEG2 offered a suggestion on how to get around this, so it will be attempted.

== Error Handling ==

Currently, our error handling consists mostly of falling back on standard Ruby errors.  The question was raised if we should create a custom set of errors, and this suggestion was considered a good idea.  The errors should descend as a single hierarchy from RuntimeError.  We also discovered an example where Ruport gives back an unintelligible error (when calling as() with an undefined format), so we need to fix this as well as find anywhere else that we might have a similar situation.

== Performance ==

The idea of a benchmarking suite was then discussed in more detail.  The idea would be to give people a small script to run the suite and use Ruport to format the outputted statistics into text and html.  This will let us track progress when refactoring as well as identify bottlenecks.

== ruport_utils ==

We're planning to bundle some functionality into a ruport_utils package (invoice, graphs, report_manager, etc.).  To use it you'd be able to require the whole package with require 'ruport_utils' or only parts with require 'ruport_utils/graph', for instance.  We'd also add a rake task to rope that would help you add these.

== Further discussion ==

You're welcome to discuss these topics in general here.  If you'd like to go into some deep discussions about the specifics of something you've seen here, you're welcome to come join us on our development list:

http://groups.google.com/group/ruport-dev

We will be using this to discuss and work our way through design decisions, so potential contributors may find the discussions there helpful.

== Roadmap Update ==

We'll be updating the Ruport Roadmap on the wiki, and updating it with the latest path to 1.0.   We ask that folks get as much feedback as they can to us before April 1st, as we'd like to start putting these plans into action. :)
Reply all
Reply to author
Forward
0 new messages