Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

Special Topics Meeting on Weds, May 26, 2010

Agenda

As discussed in our last meeting, this week's DSpace Developers Meeting (Weds May 26) will be a Special Topics Meeting discussing the DSpace Services Framework. Mark Diggory will lead this discussion, and also give examples of how the Services Framework could be used in future development (particularly in the area of reloading configurations on-the-fly).

Homework: Before the meeting, you are expected to read the following:

Optionally, you may also want to read:

As usual, this meeting will be held in the #duraspace IRC channel at 20:00 UTC. To determine your local time, check the world clock: http://www.timeanddate.com/worldclock/fixedtime.html?hour=20&min=0&sec=0&p1=0

This Special Topic Meeting will concentrate on DSpace Services Framework. The primary goals of this meeting are to:

  1. Have open discussion, Q&A about the Services Framework (which has been backported into 1.6.x).
  2. Try to come to a general consensus on how to use this Framework going forward.

Meeting Notes

Mark Diggory led discussion on how DSpace Services are used in 1.6.x and how we could use them more in future.

  • Discussion around how DSpace Services Framework is currently used in 1.6.x. Usage includes:
    • Configuration Service – used to load dspace.cfg (and other configs) at startup
    • Event Services – currently only used for the UsageEvents being logged into the dspace.log and 1.6 Solr Statistics
    • Request, Session & Caching Services – used by UsageEvents. Request and Session are analogous to HTTP Servlet Request and Sessions. They can be used instead of passing around a DSpace Context object (as we've done in the past)
      • Can now retrieve request via new DSpace().getRequestService().getCurrentRequest() (or similar)
  • "Goal with DSpace Services is that it can be interacted with via Java code directly". This means you can register new services via Java (no need to use Spring configurations – though you can use these if you want to).
    • Example: new DSpace().getServiceManager().registerService("My Service", myServiceObj);
  • ServiceManager is currently not shared by all applications in 1.6.x. This means there's a different Kernel used by each web application, so web applications do not share settings or registered services.
    • However, in the 2.x work, the ServiceManager is shared by all applications.
  • Discussion about whether all feel this is the right direction for DSpace. Some tentative approval, but everyone wants more time to review the work. So, we're all going to make an effort to dig into the Services Framework and discuss it again (for possible approval) within the next few weeks.
  • There is also a need for best practices in using the ServiceManager. There are a lot of ways to register services or build services – we need to come up with best practices, should we decide to move forward.

Action Items

  • All Developers/Committers should review the DSpace Services Framework in the next few weeks. Also dig into the dspace-services code.
  • In the Developers Meeting on June 9, we will discuss our impressions. Before then, feel free to ask questions or document your findings to the dspace-devel listserv, so that we can all learn together.

Meeting Transcript

  • No labels