This Confluence wiki site, maintained by DuraSpace prior to the recent merger with LYRASIS, will transition from the duraspace.org domain to the lyrasis.org domain on Saturday, Nov 16 beginning at approximately 7pm ET. A period of downtime of 2-3 hours is expected. After the transition, this wiki will be available at https://wiki.lyrasis.org/. All links to duraspace.org wiki pages will be redirected to the correct lyrasis.org URL. If you have questions prior to or following the transition please contact: wikihelp@lyrasis.org.

Page tree
Skip to end of metadata
Go to start of metadata

Date

Angular updates

Attendees

Notes

REST updates

Attendees

Notes

  • Andrea still out on holiday

  • Tim gave an update on DSpace 6 efforts. It's very important to note that we've all realized that DSpace 6's behavior with regards to database connections is significantly different from how DSpace 5 behaved.  The behavior change came with the move to Hibernate and our current Hibernate configs. 
    • The DSpace 7 REST API team needs to be aware of this difference in behavior as they develop new Java code.
    •  Behavior is described at DevMtg 2017-08-02 (see bullet #2), and also discussed in great detail in the logs of that day's meeting.  Copied description/notes below:
      • In DSpace 5, each "Context" established a new DB connection. Context then committed or aborted the connection after it was done (based on results of that request).  Context could also be shared between methods if a single transaction needed to perform actions across multiple methods.
      • In DSpace 6, Hibernate manages the DB connection pool.  Each thread grabs a Connection from the pool. This means two Context objects could use the same Connection (if they are in the same thread). In other words, code can no longer assume each new Context() is treated as a new database transaction.
    • Currently, the DSpace 6 team is stabilizing the codebase based on this behavior (a 6.2 release coming very soon with fixes to Context & Hibernate)
    • In discussion is what we want to do for DSpace 7 API. Already a few ideas proposed. No formal plans yet.
      • Change "Context" to work how it used to (create a new connection per Context object), reconfiguring Hibernate as needed
      • Refactor "new Context()" into something like "Context.getCurrentContext" and "Context.getNewContext" (where former is an existing connection, and latter is a new one)
      • Or, potentially pull apart the Context object altogether, and split it into several objects based on the various jobs/tasks (e.g. a session-based object for things in HTTPSession, a request-based object for current HTTPRequest, etc etc)
  • Andrea looking for more feedback on Authentication for REST API: https://github.com/DSpace/Rest7Contract/issues/10
  • Tom looking for feedback/final decision on Search endpoint design: https://github.com/DSpace/Rest7Contract/pull/9