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.
Digital Library Services
University of Massachusetts Boston
[log in to unmask]
On 15 July 2011 19:42, Peter Murray <[log in to unmask]> 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:
> 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 Murray [log in to unmask] 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/