Developers Meeting on Weds, Oct 18, 2017

 

Agenda

Quick Notes / Reminders

Discussion Topics

  1. (Ongoing Topic) DSpace 7 Status Updates for this week

    1. Team is currently concentrating on building out search functionality & submission functionality
    2. General support for movement towards code coverage tools, ErrorProne and CheckStyle on "master"
    3. DSpace 7 REST Testing Framework

      1. https://github.com/DSpace/DSpace/pull/1866
      2. Example test of /browses endpoint: https://github.com/atmire/DSpace/blob/31e28563b0e9bc44478e5cc7010c2fa72b667cb4/dspace-spring-rest/src/test/java/org/dspace/app/rest/BrowsesResourceControllerTest.java
  2. Updates on Code Mgmt Tools on "master" (e.g. Code Test Coverage, ErrorProne, CheckStyle, etc).

    1. (tick) ErrorProne now enabled on `master`  and https://github.com/DSpace/DSpace/pull/1861
    2. Enabling Test Coverage reports?  and https://github.com/DSpace/DSpace/pull/1865
    3. Code Style / CheckStyle:
      1. Code Style Guide : Early notes on DSpace code style & how it compares with a few other projects (namely Google and Fedora Commons)
  3. DSpace High Priority Tickets

    1. High Priority (Blocker, Critical or Major) and flagged for release


    2. Need Code Review, Flagged for Release


  4. Other Tickets needing discussion / attention? (Please feel free to add any you wish to discuss under this topic)
  5. Ongoing discussion topics:
    1. Management of database connections for DSpace going forward (7.0 and beyond). What behavior is ideal? Also see notes at DSpace Database Access
      1. 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.
      2. 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.
        1. Should we be making use of SessionFactory.openSession() for READ-ONLY Contexts (or any change of Context state) to ensure we are creating a new Connection (and not simply modifying the state of an existing one)?  Currently we always use SessionFactory.getCurrentSession() in HibernateDBConnection, which doesn't guarantee a new connection: https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java
  6. Reviewing JIRA Tickets or PRs
    1. Please feel free to bring any that need eyes / immediate discussion
    2. JIRA Backlog of "Received" tickets
    3. All open PRs

Ticket Summaries

  1. Help us test / code review! These are tickets needing code review/testing and flagged for a future release:


  2. Newly created tickets this week:


  3. Old, unresolved tickets with activity this week:


  4. Tickets resolved this week:


  5. Tickets requiring review. This is the JIRA Backlog of "Received" tickets: 


Meeting Notes

Meeting Transcript