Two things I disliked about wicket-stuff:
1) Multiple projects providing similar functionality. This is fine if
there is a reason for using one over the other at different times, but
from what I can see there is no such difference. (I believe there are
two overlapping hibernate or data-view modules)
2) ... without meaning to step on anyone's toes here ... I feel that the
quality of the code in wicket-stuff is a level below that in
wicket-core. There are two factors: poor design and poor documentation.
By poor design, I mean it sometimes looks some of the code was created
as a prototype and when it was complete no one went back to refactor it.
By poor documentation I mean that most source code files have absolutely
no comments in them and the variable and method names are so short that
unless you were the original author you'd have no way of knowing what
the heck the code does or why. The point isn't whether or not you could
find this out by sitting down and analysing it for a few days. The point
is that you shouldn't have to.
I'd like to propose that all wicket-stuff code should have extensive
Javadoc for each method. One example that comes to mind (I don't mean to
pick on one author over another here) is "ois" standing for "Optimized
Insert <something>" which was being used by ListView. There were two
problems here:
1) The source-code referred to a variable name "ois" but no
documentation indicated what "ois" actually stood for or what it was
used for. So, either some documentation should have been added to do
this or the variable name should have been longer and more verbose; or both.
2) There was no documentation explaining what this mode does (versus the
normal mode) and when it was approriate to use one mode or the other. As
an example, Javadoc "Indicates if OIS is enabled" is utterly useless if
the user doesn't have a clue what OIS is. A while back wicket-core had a
similar bad Javadoc that read: "Enables autolink mode" but of course
"autolink mode" was never explained so users had no idea what happens
when you enable or disable it. Users shouldn't ever have to look at the
source-code to understand a class's functionality.
Just my 2 cents.
Gili
Martijn Dashorst wrote:
All,
There has been a lot of mixed feelings concerning the current state of
Wicket Stuff. As Wicket 1.1 is getting ready to steam roll out of our
door, we should be starting to address these concerns.
I try to list these concerns as voiced on the various lists:
- too many data(base) oriented packages without structure, documentation
and a definite vision
- too many sandbox projects that didn't finish/made a release
- too little documentation on all projects, no updates made to existing
- unclear who is responsible for which project
- different views on why Wicket Stuff was created
- different views on the lifecycle of the projects created on Wicket Stuff
The projects that have made it to a release are:
contrib-data 1.0 April 5, 2005
contrib-data-hibernate-2.1 1.0 April 5, 2005
contrib-data-hibernate-3.0 1.0 April 5, 2005
contrib-dojo 0.1 September 21, 2005
contrib-fvalidate 1.0 April 5, 2005
contrib-groovy 1.0 April 5, 2005
contrib-spring 1.0 April 5, 2005
contrib-velocity 1.0 April 5, 2005
wicket-kickstart 1.0.1 July 17, 2005
The Wicket kickstart project will be moved into the core project, so we
can forget about that one.
The contrib-data-* projects don't have a presence on the website, so in
my opinion, they haven't been released properly (yet).
Dojo, fvalidate, groovy, spring and velocity *do* have a web presence,
and in some cases the presence may be too small, but at least people can
find the projects.
If we look at the number of projects in the wicket-stuff CVS root
folder, we see a staggering number of efforts:
CVSROOT/
src/
wicket-contrib-ajax-sandbox/
wicket-contrib-beanedit/
wicket-contrib-benchmark/
wicket-contrib-data/
wicket-contrib-data-hibernate-2.1/
wicket-contrib-data-hibernate-3.0/
wicket-contrib-database/
wicket-contrib-dataview/
wicket-contrib-dataview-examples/
wicket-contrib-dojo/
wicket-contrib-easywizard/
wicket-contrib-easywizard-examples/
wicket-contrib-examples/
wicket-contrib-examples-hibernate3/
wicket-contrib-freemarker/
wicket-contrib-fvalidate/
wicket-contrib-gmap/
wicket-contrib-gmap-examples/
wicket-contrib-groovy/
wicket-contrib-jasperreports/
wicket-contrib-navmenu/
wicket-contrib-palette/
wicket-contrib-palette-examples/
wicket-contrib-scriptaculous/
wicket-contrib-scriptaculous-examples/
wicket-contrib-spring/
wicket-contrib-spring-examples/
wicket-contrib-tinymce/
wicket-contrib-tinymce-examples/
wicket-contrib-velocity/
wicket-easywizard/
wicket-library/
wicket-phonebook/
wicket-stuff/
xdocs/
I would like to propose that subgroups will be formed for administering
each project, and that those developers take responsibility for
maintainance, support, and releasing the project. For each release I
suggest we keep a minimum standard to which each project should adhere.
What those standards are, I don't know yet, but I would like the
community to come with suggestions requirements, etc for us developers
to act on.
What do you constitute a minimum requirement for a (sub)project to be
useful, noticable, and ready for a release? How do you percieve Wicket
Stuff, and how would you like to percieve Wicket Stuff in the future? Do
you have suggestions for the website?
Martijn Dashorst
--
http://www.desktopbeautifier.com/
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop