Mark, Great. I had thought to include an initial offer for a time for this call in my original email, but it looks like I forgot. Mark will next tuesday work with your schedule?
Tuesday, May 5th: 10PM (Pacific) / 12noon (Central) / 1PM (Eastern) / 17:00 GMT For anyone else who would like to join, send me your skype username to be added to the call. Scott-- On Apr 30, 2009, at 11:15 AM, Mark Diggory wrote: > These are answered in my presentation... > > Scott, I will welcome a conference call or meeting to discuss how we > spearhead how to appropriately package addon's to DSpace. Let's try to > plan something in the next week if possible. I will also consider if > some of this can fit into my presentation as an example. > > On Thu, Apr 30, 2009 at 7:07 AM, Mark H. Wood <mw...@iupui.edu> wrote: >> On Wed, Apr 29, 2009 at 03:47:12PM -0500, Scott Phillips wrote: >>> You make some good points here about the patch. I think it may be >>> possible to find some time to refactor the patch in the ways you are >>> suggesting. The problem is similar to a chicken and an egg, which >>> came >>> first. There are challenges to developing addons like you suggest >>> with >>> the current state of DSpace 1.5.x. 1) Where does their code live, 2) >>> how is an addon installed without modifying POM files, 3) how can >>> addons interject into the administrative interface?, 4) and what >>> do we >>> do about the JSPUI? >> >> I'd like to expand (and expound) a bit. >> >> 1) "Where does [addon] code live?" >> >> The modular build system works great if you are adding a new >> webapp. I don't see how it helps if what you are adding is not a >> webapp, and apparently I am not the only one. There's probably a >> way to organize a project that augments one or more of the existing >> webapps so that it isn't intermingled with said apps' code, but we >> need to work it out and provide an example. > > Actually, it works fine for both jars and webapps, we use > dspace/modules" for both when the customizations are specific to a > DSpace instance and we place them next to the other dspace-xxx > projects when we will be reusing them across instances. >> >> One also should consider whether a given addon might not be better >> laid out as an entirely separate collection of artifacts with >> "provided"-type dependencies on DSpace artifacts. This might have >> to be combined with some patches to DSpace to permit the addon to >> plug in at the right places, but any such plugin points should be >> designed to be generally useful so that such patches will be few >> and will increase modularity. > > I tried to shy away from doing this, specifically because I did not > want to identify dspace addons as anything more specific than maven > jar/war projects (meaning any maven artifact could be added to dspace > and treated as an add-on regardless of its name/classification) For > instance, I recently picked up solr and started treating it as an > addon in the dspace build process and I can see more than one way of > integrating such a webapp/service into DSpace (either as a seperate > war project or as a Cocoon Block added. > >> An example of the separate-artifacts approach is Larry Stone's >> external PDF extractor package. It can be integrated with the >> DSpace source, but the nature of the code allows it to be built as >> a separate JAR, dropped into an existing instance, and configured >> in. > > In the case that there is no intention to have it part of dspace-api > (and theres a lot of stuff in dspace-api that really should be > separate) then it should be a separate maven project that one just > adds as a dependency in dspace/pom.xml or dspace/modules/xxx/pom.xml > >> >> 2) "How is an addon installed without modifying POM files?" >> >> Well, if it introduces no new dependencies into existing modules, >> then you don't need to modify existing POMs. But that's a pretty >> strong condition, because even adding a new module introduces a new >> dependency to dspace/modules/. It seems that we need some way to >> tell Maven to "just build any modules you find in this location, >> whatever they may be named". Given that, we wouldn't have to >> modify dspace/modules/pom.xml just because we added a new module >> within dspace/modules/, which makes the above constraint a lot less >> constraining. > > Modifying pom files "is the way to manage your build configuration". I > agree we can do things to improve having developers working with > overly complex pom xml files. For instance, we may begin to use "pom > dependencies" (a feature of maven 2.0.9 or greater) to provide a pom > strictly for managing your addons to be included into the dspace/lib, > currently the modules/xxx/pom.xml are simple enough that this would > just be added complexity there. > >> >> 3) "How can addons interject into the administrative interface?" >> >> Well, in DSpace 2.0 we'll have Spring underneath it all (as I >> understand it), and may be able to do dependency-injection tricks >> to cram new administrative UI into the existing structure. But how >> do we accomplish this in 1.x? We need a way to configure >> additional choices into the admin. pages. And if we build that >> now, we may not have to work DI magic later. > > DSpace 1.5.2/1.6.x has Spring in the XMLUI and the Cocoon 2.2 Blocks > allow you direct usage of this functionality. So, all this is there, > and available for use in managing the deployment of new services. > > Cocoon 2.2 Blocks eliminate the need to alter the > xmlui/WEB-INF/sitemap.xmap to add new paths for services that are not > aspects (i.e. feeds, servlets, rest services) and finish solving the > modularity problem of DSpace. > >> Come to think of it, maybe we ought to look at decomposing the >> existing admin. UI into features which *all* worm their way into a >> blank framework > > DSpace 2.0 XMLUI starts to do this, we can talk much more about what > features should be separate projects into and start doing it in 1.6 as > well. dspace-xmlui-feed, dspace-xmlui-sitemap, dspace-xmlui-bitstream, > dspace-xmlui-admin-xxx. > >> 4) "And what do we do about the JSPUI?" >> >> 'tis a puzzlement. There are folk who know a lot more about JSP >> than I do, but I can't see any easy way forward to the modular, >> decentralized future of DSpace for JSPUI. It's just a page >> template language with lots of hair. Any ideas? > > There was some talk about adding support for this in JSPUI in the IRC > chat yesterday, I can't find my log for it again however. TBH, I'm > not interested in working on JSPUI beyond anything but maintenance. I > feel the community can't afford having two separate UI's right now, > but thats just my personal opinion. > > Mark > > -- > Mark R. Diggory > http://purl.org/net/mdiggory/homepage - Bio > > ------------------------------------------------------------------------------ > Register Now & Save for Velocity, the Web Performance & Operations > Conference from O'Reilly Media. Velocity features a full day of > expert-led, hands-on workshops and two days of sessions from industry > leaders in dedicated Performance & Operations tracks. Use code > vel09scf > and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf > _______________________________________________ > Dspace-devel mailing list > dspace-de...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dspace-devel ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ DSpace-tech mailing list DSpace-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech