L) framework/birt (and related dependencies/reports spread around):
move
to "Extras"
M) framework/bi (and related dependencies - ecas/business rules
and data
- spread around): move to "Extras"
This is an area where Hans and I are in disagreement and we
didn't get
much feedback from others.
So I would like to explain here why I think we should move the Birt
component and the Birt reports out of the framework and consider
them as
optional tools.
There are currently 18 reports in the applications implemented with
Birt;
but they really seem experiments rather than something really
usable; to
give you some examples:
* in most of them there is this code like this:
userLogin = null;
try {
userLogin =
delegator.findByPrimaryKey("**UserLogin",UtilMisc.toMap("
**userLoginId","admin"));
} catch(e) {
Debug.logError(e,"");
}
* all the retrieval logic (scripts) is inlined with layout
definition and
this is something we try to avoid in all the existing screens
* entity list iterators are not properly closed
* some of the widget based financial reports have been converted to
Birt:
their layout is still very simple and comparable to the widget based
versions available before Birt; so the conversion to Birt added a
dependencies on this component without adding real value (the
rptdesign
files mix together data preparation scripts and ui definitions and
in order
to maintain them you have to use the Birt designer); also some of
them are
now broken: Income Stetements, Balance Sheet etc... This is
probably caused
by the recent refactoring of JSR-223 but the original widget based
PDF are
still there and are working fine...
* building a report with this Birt integration still requires a lot of
development work (similar to the one required to create a screen);
but then
the code in the rptdesign is very difficult to maintain without the
editor
My questions are:
* do you really think that this way of integrating rptdesign
reports is
the answer to fill the gap of a good reporting tool in OFBiz? Are you
actually using this integration for your reports?
* do we all agree to make this Birt integration the best practice
mechanism for all OFBiz reports?
* do you really think that we should replace all the existing widget
generated reports and FOP reports with rptdesign reports built
using the
existing Birt integration under the framework?
If any of your answers will be "no" then in my opinion it would be
much
better to:
1) make Birt integration an optional component, downloaded separately
2) move the existing rptdesign reports out of the applications and
keep
them in the external Birt component
3) at this point users will have the option to use the Birt
component or
not, but the ootb code will be clean and without dependencies on
it; most
of all, we will not deliver reports that looks similar (ugly) but
they are
implemented randomly with Birt or Widgets
4) start evaluating, as a community, what should be the best practices
for ootb reports: what is the tool we want, what are the minimal
requirements etc... and then work together to get it in place and then
migrate all existing reports to it in order to have a consistent
system; if
the community will not be able to reach a consensus on this, then
we should
leave the decision about the reporting tool to use to the end user
I think that the Birt integration is a nice optional component, and
I see
that there may be interested parties, but in its current status it
is not
something ready for becoming the primary reporting tool for the ootb
applications.
Jacopo