hello everyone,
have you considered instead using a subversion/trac setup? the nice
thing about this setup is that it eliminates a lot of redundancy as it
relates to application documentation. for example, as bugs, feature
requests, etc., are reported, those same entries can then be re-
purposed as documentation. if the repo is setup correctly from the
get-go, meaning end-user gui stuff like buttons, menu selections,
operations, etc. are indexed in the bug/feature request menu
selections, and associated with the respective classes/interfaces,
then this allows non-programmers to easily report a bug or feature
request to the right place. an example of what i mean is this:
go to openump at sourceforge and select 'submit new bug' and look at
the 'category' pull-down menu selections. in this menu the user has:
interface
jts
misc.
openjump
plugin
wfsplugin
the above selections serve no useful purpose for the average user(or
the active oj programmer), who in all likeliness will be reporting the
majority of the problems/bugs. this means it serves little purpose
for those who may work on correcting the problem. bug/ticket
reporting should be designed for the end user, not the programmer.
the association however is what is important to the programmer, and
making sure that the ticket that was reported is associated with the
correct page/portion/snippet of code that in fact is responsible.
this means each source code document should have a plain english
reference in it(commented out), or multiple references throughout the
document as is needed/warranted.
imo, the easiest and best way to do this is by using the gui elements,
such as menu items, icon/button items, and contextual menu items as
the means of reference. thus, if i was using oj, and encountered a
bug, or have an idea of how something could work better(feature
request), the oj repo should offer me the following when i am
submitting a ticket:
Submit New Ticket:
pull-down menu #1:
bug
minor(does not work correctly)
medium(works intermittently)
major(does not work)
feature request
core
plug-in
spelling correction
menus
help
operations
appearance
menu
icon
layout
pull-down menu #2:
vista
xp
os x
linux
pull-down menu #3:
File
Edit
View
Layer
Tools
Queries
Spatial Query
Attribute Query
Simple Query
Analysis
Generate
Warp
Edit Geometry
QA
Edit Attributes
Generalization
Measure in Feet
Customize
Scripting
Image
Plugins
QA
Window
Help
in the above shortened example, lets say the user selected Bug, OS
X, Tools > Queries > Spatial Query . upon doing so, the respective
page(s) of source code that is responsible for 'Spatial Query' should
associated. when the user writes a summary and submits the ticket, at
that point it is immediately associated with the proper source code
page(s). this way, when a programmer looks to address the issue, he
need not hunt around trying to locate it's exact location.
furthermore, upon ticket submission, the user, and any other user that
may view the ticket, can see it's respective association/source code.
of course, this means that during the setup of the initial repo, all
of this association has to be done. this is something i am willing to
do, but will require on you(programmers) who are familiar with the
entire inner workings of oj, to help me. of course, once it's done,
then thereafter it's just a matter of properly commenting any new
source code pages/code snippets in existing pages.
anther suggestion i will make is that once the above is completed, we
take and create donation pools for any/all bug and feature
requests(tickets) that are open on the site. we create a means by
which users can commit 'x' amount of money towards a ticket(bug fix or
feature addition). we also create a means by which oj programmers can
note their best estimate of how many programming hours will be
required for said ticket. for example, let's say i filed or found a
previously filed ticket for a feature request that i too would like to
see implemented. i then want to stimulate some community activity by
putting some money where my mouth is, electing to commit $200usd
towards the ticket. the ticket indicates that 4 oj programmers have
determined it will take about 5 programming hours to complete, and the
industry rate for respective programming work is $50usd per hour,
making the ticket valued at $250usd, and meaning it needs only another
$50 committed to it in order to make it viable for rfp/solicitation.
any of the oj programmers could of course tackle it and earn that
money, or, the ticket could be submitted to guru.com, rentacoder.com,
or any number of other resource sites that bring programmers together
with customers.
i make mention of this because most of the users of oj, and other open
source software projects, have a specific need they need served. if/
when the software does not entirely serve that need, they would be
inclined to spend some money to make it happen. i happen to be one of
those people. but in order for this to be productive, it needs to
be organized, and right now, the oj project is spread and scattered
about, and thus it is hard for a community of users to focus in on
something, and instead right now it is only individuals that are able
to focus, and only on their specific priority(s). and so this is why
i make mention of this, and offer to invest my time and money in
helping centralize the project.
right now i have an osx install package for oj, that installs oj to
the applications folder and simply uses the openjump.sh to execute the
app. but am working towards creating a real application using jar
bundler, wherein all of the files are contained within the openjump
app package. but before i can venture into that territory, i need to
better understand oj, and so that is what i am doing now. of course,
i have to seek advice from programmers, to explain to me things i am
unfamiliar with. and because oj does not have an organized
repository(in the sense i've described above, from a non programmers
point of view), this process is more painstaking, especially for non
programmers like myself.
regarding svn/trac:
with both subversion and trac, anonymous user settings can easily be
adjusted/set, thus confining spam to easily removable posts. using
ssh admin can easily create new user accounts for both svn and trac,
again, adjusting settings accordingly per user.
i setup a sample at http://trac.ericjarvies.com (svn.ericjarvies.com)
at my webfaction.com host. you can logon using test/test. if
interested, i could spend a few days stylizing it for oj, and setting
up an example flow of what i've described above, as it relates to
bridging the gap between end users and programmers, as it relates to
ticket filing and their association with the actual source code, as
well as re-purposing tickets so they also serve the end user
documentation. also, the hosting i would donate would instead be at
slicehost.net, so that the so admin could have full control over the
slice/server, being able to soft/hard reboot as and wen is needed, as
well being able to apt-get/install whatever software is needed.
if interested, i would donate the hosting 1 year at a time, and would
agree to make sure to pre-pay for the hosting 3 months before it
expires each year. this way, if i go broke, lose interest, or die, oj
users have 3 months to figure something out before the hosting
expires. i know that goole, and others offer some fairly
the trac wiki works fine, and there are plenty of 3rd party add-ons
that extend it's functionality.
perhaps we could take this opportunity to setup the svn repo trunk
with oj, as well as branches for os x pp, os x intel, linux, windows,
etc. i have personally indexed about 30 bugs oj has on os x ppc,
along with dozens of features enhancements and requests, but have not
bothered posting them to the sourceforge repo because that repo is not
organized in such a way as mentioned above, nor does it seem to have
much going on, or many paying attention to it.
trunk:
openjump core
branches:
vista
xp
os x ppc
os x intel
linux
also, centralizing oj on it's own slice would also allow all images
and attachments to remain in the same place, so that if the site needs
to be moved sometime down the road, all of it's elements are
centralized and together in the same place. also, this makes backing-
up an easy process... and slicehost has nice backup routines and
additional placs btw.
in addition, we could setup geoserver, mapserver, postgresql, mysql,
php, and other server-side applications that could serve as a
centralized means of testing/working with the openjump client
software. we could populate the map server(s) with plenty of
examples(i have lots of vector and raster files i could personally
donate for this purpose), and over time could build a nice repo of all
things oj related... from the client to the server and everything in-
between.
let me know what you think.
?
eric
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel