RE: [Ldsoss] Advancement tracker

2006-06-23 Thread Steven H. McCown
Could we, please, step back and discuss requirements *before* we discuss
these types of implementation technologies?  Tom's requesting Java is one
thing, as it's nearly ubiquitous for programmers, users, and platforms.  It
may not be your preference, but it does fit the bill.  If we want general
participation from the larger community (not just the LDSOSS list), then
something more widely known is probably a good idea.

As for databases, what are the database requirements?  If the program
operation is to be done at the ward level, then we're probably (depending on
the ward size) talking about 30-150 kids or so.  If at the stake, then
multiply that by 8 or so.  Are those numbers sufficient to warrant a
database?  If so, what type (not brand)?  Granted, I'm not a DBA, but isn't
a flat file faster for those numbers?

Although I work in security and RD, these days, I was a once upon a time
USAF Software Engineer and those 'managerial pre-architectural decisions'
sometimes come back to haunt me...

Steve


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Tom Welch

 I've not used this framework so it may not be suitable.  For the 
 database, we could use Derby or One$DB.  Again, I'm totally open to 
 other ideas here.
 I would recommend that we ship with specific, small database, such as 
 the two you refer to, but that as a design principle, we validate that 
 we can easily install and run on one or more of the commercial caliber 
 DB's such as MySQL.

We could use hibernate which is somewhat DB agnostic.  It does not 
officially support Derby or One$DB but reports are that it does work 
with Derby.  I just wonder of hibernate would be somewhat overkill.

___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-23 Thread Thomas Haws
On 6/23/06, Steven H. McCown [EMAIL PROTECTED] wrote:
As for databases, what are the database requirements?If the programoperation is to be done at the ward level, then we're probably (depending onthe ward size) talking about 30-150 kids or so.If at the stake, then
multiply that by 8 or so.Are those numbers sufficient to warrant adatabase?If so, what type (not brand)?Granted, I'm not a DBA, but isn'ta flat file faster for those numbers?I think that's worth asking. Is the nature of advancement tracking such that it lends itself to 1 portable file per individual, whether that file be flat or xml-ish?
Suppose leader is recording participation in a swim activity or hike or meeting, and a kid needs 12 such events to qualify for requirement 6a of the Athlete activity pin. Would it be appropriate to record the event id and date in his data file with the details on the event in the event log file? Would such an approach be something we would regret later?
Pros: It's extremely portable, and could be even semi-readable by mere human parents moving out of the area.Cons:It's a proprietary hack.It doesn't seem very elegant.Tom Haws
___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-23 Thread Alan Young
Thomas Haws wrote:
 I think that's worth asking.  Is the nature of advancement tracking such
 that it lends itself to 1 portable file per individual, whether that
 file be flat or xml-ish?
 
...
 Cons:
 It's a proprietary hack.
 It doesn't seem very elegant.

Wait.  Are you thinking that a flat file approach is a hack (and a
proprietary one at that?)  *And* it's not elegent?

Admittedly, an xml file would not be very readable, but there are other
formats that can be used for this (YAML, JSON come immediately to mind)
that are human readable and easily understood by both a human and a program.

And an individual file would make security very easy to implement--each
user would have their own password which would be used to individually
encrypt the files.

Alan
___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-23 Thread A. Rick Anderson

Thomas Haws wrote:
On 6/23/06, *Steven H. McCown* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


As for databases, what are the database requirements?  If the program
operation is to be done at the ward level, then we're probably
(depending on
the ward size) talking about 30-150 kids or so.  If at the stake, then
multiply that by 8 or so.  Are those numbers sufficient to warrant a
database?  If so, what type (not brand)?  Granted, I'm not a DBA,
but isn't
a flat file faster for those numbers?
Excellent question.  I doubt any would deny that for these numbers, some 
form of flat file would be sufficient.


However, from a performance and sizing perspective, I don't think we'd 
see significant impact from an embedded database, such as Darby. 
Especially since Sun will be including an embedded database as part of 
the JDK in the next release of Java.


From a security perspective, I'd rather store information in a database 
then in a flat file.  That's a gut reaction, not an argument based 
strictly on technical merits.  It just provides another layer of 
penetration that an intruder must breach to get to the data.  If we use 
Darby's encryption capability to store the data, that would provide yet 
another layer of security.


Long-term wise, I know that Steve and some others are not a proponents 
of an online solution, but if the BSA or a large BSA-Sponsor were to 
eventually host such a service, then scaling the solution would be 
simply a matter of swapping in an industrial grade database.


Thomas Haws wrote:
I think that's worth asking.  Is the nature of advancement tracking such 
that it lends itself to 1 portable file per individual, whether that 
file be flat or xml-ish?
Having the ability to export/import/print the data to flat files such as 
XML, CSV or report format would be a nice use-case to support.


I'd argue that having the ability to export/import a single set of 
records for a specific individual is probably one of the primary 
use-cases that we would want to support.


For example, a parent could install the Scout Tracker software on 
his/her personal desktop and sync with the troop's database, just like a 
disconnected scout leader.


Generalizing this requirement suggests that the functional requirement 
would be that an authorized user should be able to view and download 
records that pertain to the scouts and the activities that are 
assigned to them.  But, of course, they should ONLY be able to 
view/download assigned youth.


Some possible actors for such a use-case would be:
Individual Scout, Parent, Merit Badge Counselor, YM/YW leader, 
Advancement Coordinator, Assistant Scout Master, Scout Master, Eagle 
District Coordinator (?don't remember their real title).


ex:
A parent should be authorized to view, update and download only records 
of scouts/YW for which they are legal guardians.


With this capability we have empowered not only the ward leaders, but 
the parent and child.


--
A. Rick Anderson

___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-23 Thread Thomas Haws
Wait.Are you thinking that a flat file approach is a hack (and aproprietary one at that?)*And* it's not elegent?
Did I say that? :-D . Blame it on my Wikpiedia background, I was arguing for the enemy, or trying to see the issue from all sides. I guess that makes it tough to know where I stand. But getting the right answer is far, far more important than where I happen to stand.
Admittedly, an xml file would not be very readable, but there are otherformats that can be used for this (YAML, JSON come immediately to mind)
that are human readable and easily understood by both a human and a program.And an individual file would make security very easy to implement--eachuser would have their own password which would be used to individually
encrypt the files.I love it. Great ideas!!Tom Haws
___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-22 Thread Tom Welch



A. Rick Anderson wrote:

Tom Welch wrote:

We could use the JPF (Java Plug-in Frameowkr found at 
http://jpf.sourceforge.net) for an arcitecture to allow us to make 
this system more modular. 
I am not seeing where scout tracking would need plug-in capability. 
Given the fact that the BSA changes advancement requirements 
periodically, hard-coding advancement criteria would seem to be 
short-sighted, and my inclination would be to go with a database 
driven approach.


However, the requirement to support both thin clients and thick 
clients,  would argue in favor of this type of framework.
I'm thinking of a plugin framework so that others can write plugins 
(such as DTG or other things we haven't thought of yet).  Someone 
suggested we use the eclipse plugin framework.  I'll look into that as well.


I've not used this framework so it may not be suitable.  For the 
database, we could use Derby or One$DB.  Again, I'm totally open to 
other ideas here.
I would recommend that we ship with specific, small database, such as 
the two you refer to, but that as a design principle, we validate that 
we can easily install and run on one or more of the commercial caliber 
DB's such as MySQL.
We could use hibernate which is somewhat DB agnostic.  It does not 
officially support Derby or One$DB but reports are that it does work 
with Derby.  I just wonder of hibernate would be somewhat overkill.


I believe that there needs to be two different discussions.  One from 
a technology perspective (which platform, technology, DB, etc) and 
then a Features discussion (look  feel, type of information to 
track, etc).  I'm in the process of setting up a wiki wherein we 
could all collaborate on these types of documents.  I need another 
month for this to be complete. 
A mailing list may be faster to set up and would free up the bandwidth 
on this list.  Could such a list be set up on the same server as this 
one?



Yes it could.

--
Tom Welch
[EMAIL PROTECTED]
(801) 240-1609
(858) 829-4614 - Cell


--


NOTICE: This email message is for the sole use of the
intended recipient(s) and may contain confidential and
privileged information. Any unauthorized review, use,
disclosure or distribution is prohibited. If you are not the
intended recipient, please contact the sender by reply email
and destroy all copies of the original message.

--

___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


Re: [Ldsoss] Advancement tracker

2006-06-21 Thread A. Rick Anderson

Tom Welch wrote:
I don't have a lot of specifics in mind but here are some very general 
bullet points.


* Needs to support both scout tracking with an option to add Duty
  to God.  I understand that not everyone using this software would
  be a member but if we make this a plugin or option in the
  preferences to turn it on, that would be cool.
* Model the software so it could easily be modified to support
  personal progress.
* Have an online/offline mode so that people can run it locally but
  optionally synch up to a master repository.
* optionally have a web interface to the data.

I'm not a major scouting kind of guy so I'm not that familiar with all 
of the specifics a scouting program should have.  From a technology 
perspective, I was thinking that java would be the way to go.

From a personal perspective, this would be my preference.

We could 
use the JPF (Java Plug-in Frameowkr found at http://jpf.sourceforge.net) 
for an arcitecture to allow us to make this system more modular. 
I am not seeing where scout tracking would need plug-in capability. 
Given the fact that the BSA changes advancement requirements 
periodically, hard-coding advancement criteria would seem to be 
short-sighted, and my inclination would be to go with a database driven 
approach.


However, the requirement to support both thin clients and thick clients, 
 would argue in favor of this type of framework.


I've 
not used this framework so it may not be suitable.  For the database, we 
could use Derby or One$DB.  Again, I'm totally open to other ideas here.
I would recommend that we ship with specific, small database, such as 
the two you refer to, but that as a design principle, we validate that 
we can easily install and run on one or more of the commercial caliber 
DB's such as MySQL.


I believe that there needs to be two different discussions.  One from a 
technology perspective (which platform, technology, DB, etc) and then a 
Features discussion (look  feel, type of information to track, etc).  
I'm in the process of setting up a wiki wherein we could all collaborate 
on these types of documents.  I need another month for this to be complete. 
A mailing list may be faster to set up and would free up the bandwidth 
on this list.  Could such a list be set up on the same server as this one?


--
A. Rick Anderson

___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss


[Ldsoss] Advancement tracker

2006-06-20 Thread Thomas Haws
I'd like to think a little more about the first draft requirements of the Advancement Tracker Tom Welch asked about.Suppose one of us or some of us were starting on a shoestring, maybe at the SourceForge site offered. I am wondering, irrespective of the language, and obviously platform agnosticism is essential, what the inital stab at an open source Advancement tracker might want to look like to the end user.
Should we start with a Troopmaster clone? Is that what Tom Welch has in mind?Then should we plan for possible connection/synchronization to a central repository a la MLS? And multiple languages and advancement programs?
Tom Haws
___
Ldsoss mailing list
Ldsoss@lists.ldsoss.org
http://lists.ldsoss.org/mailman/listinfo/ldsoss