I agree with Brice think you might be over-thinking/over-architecting it, although over-thinking is one of my sins too and I'm not always sure how to get out of it.

But am I correct that you're going to be relying on user-submitted content in large part? Then it's important to keep it simple, so it's easy for users to add content without having to go through a milliion steps and understand a complicated data model. If you can keep it simple in a way that is flexible (the 'tags' idea for instance), you also may find users using it in ways that you didn't anticipate, but which are still useful.

On 8/9/2011 12:47 PM, Brice Stacey wrote:
I'd be curious to know if this project itself would be open source.

Second, I'm intrigued because I've never seen a UML diagram so close before in the wild and it's 
fascinating to discover the jokes are true (I kid, I kid...). Let's get serious and pull out your 
Refactoring book by Fowler and turn to page 336... you can "Extract superclass" to get 
Provider/Institution/Person to inherit from Entity. Then "Merge Hierarchy" to tear it 
down into a single Entity class and add a self-referencing association for employs. ProviderType 
should be renamed to Services and be made an association allowing 0..* services. At that point, the 
DB design is pretty straight forward and the architecture astronauts can come back down to earth.

Seriously though, I think that technically, you might be over thinking this. If 
you replace Package with Blog, Release with Post, Technology with Tag, 
Provider/Institution/Person with User, Keep Comment as Comment, and ignore 
Event for now.... It's just a simple collection of blogs with posts with tags 
and users that have roles and can leave comments.

Lastly, you may want to look into Drupal's project module. I think that's what 
they use to run their module directory. It seems like it would be a good 
starting point and may work out of the box.

It's a bold project. The library needs it and it's something no single 
institution would ever pay to have done, so I'm glad to see there is a grant 
for it.

Brice Stacey
Digital Library Services
University of Massachusetts Boston
[email protected]
617-287-5921


On 15 July 2011 19:42, Peter Murray<[email protected]>  wrote:
Colleagues --

As part of the Mellon Foundation grant funding the start-up of LYRASIS 
Technology Services, LTS is establishing a registry to provide in-depth 
comparative, evaluative, and version information about open source products.  
This registry will be free for viewing and editing (all libraries, not just 
LYRASIS members, and any provider offering services for open source software in 
libraries).  Drupal will be the underlying content system, and it will be 
hosted by LYRASIS.

I'm seeking input on a data model that is intended to answer these questions:

        * What open source options exist to meet a particular need of my 
library?
        * What are the strengths and weaknesses of an open source package?
        * My library has developers with skills in specific technologies. What 
open source packages mesh well with the skills my library has in-house?
        * Where can my library go to get training, documentation, hosting, 
and/or contract software development for a specific open source package?
        * Are any peers using this open source software?
        * Where is there more information about this open source software 
package?

The E-R diagram and narrative surrounding it are on the Code4Lib wiki:

  http://wiki.code4lib.org/index.php/Registry_E-R_Diagram

Comments on the data model can be made as changes to the wiki document, replies 
posted here, or e-mail sent directly to me.  In addition to comments on the 
data model, I'm particularly interested in answers to these questions (also 
listed at the bottom of the wiki page):

  1. The model does not provide for a relationship between a person and a 
software package. Would such a relationship be useful? E.g., individuals 
self-identifying as affiliated with an open source software package.

  2. The initial planning process did not account for the inclusion of packages that were not themselves end 
products. Should code libraries and support programs be included as packages in the registry? The model could 
conceivably be adjusted in two ways to account for this. The simplest would only require the addition of new 
PackageType enumerations (e.g. "code library"); this would not allow for searching of packages that 
use code libraries (e.g., answering the question "What repositories use the djatoka JPEG2000 viewer 
system?") Another simple change would be to add "code library" to the TechType enumeration; 
the code library would not have the benefit of links to other relationships and entities.  A more complicated 
change would do both but there would be no relationship between the code library as a Package and as a 
Technology.  Are there better ways to add code libraries to the model?

  3. Some who have reviewed the concept for the registry suggested other 
attributes. Should these be added? (And what is missing?)
                * Package - Translations
                * Package - Intended audience (e.g. developers, 
patrons/desktop, patrons/web, library-staff/desktop, library-staff/web)
                * Version - Code maturity (e.g., alpha, beta, release 
candidate, formal release)

  4. To answer the question "Are any peers using this open source software?" is 
it necessary to have an enumeration of library types? Public library, school library, 
university library, community college library, special library, museum (others?)

  5. Is the location of Institutions and Providers desired? One reason it might 
be desirable is to do a geography-based search (e.g. training providers within 
a 60-mile radius).


Feel free to add to the list of questions.  I'm looking forward to your 
thoughts.


Peter
--
Peter Murray         [email protected]        tel:+1-678-235-2955
Ass't Director, Technology Services Development   http://dltj.org/about/
LYRASIS   --    Great Libraries. Strong Communities. Innovative Answers.
The Disruptive Library Technology Jester                http://dltj.org/
Attrib-Noncomm-Share   http://creativecommons.org/licenses/by-nc-sa/2.5/


Reply via email to