Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Developers Meeting on Weds, Oct 11, 2017

 

Info
titleToday's Meeting Times

Agenda

Quick Notes / Reminders

  • NEXT DSpace 7 UI MEETINGWorking Group meeting: TOMORROW, Oct 5 12 at 15:00 UTC (11:00am EDT) in Google Hangouts
    DSpace 7 Working Group - Watch this page for initial ongoing updates on meetings, etc. See wiki page for meeting details and notes.
    • DSpace 7 UI Mockups - Watch this page for UI/UX mockups that are currently under discussion, etc.
  • (NEW) DSpace Entities Working Group: Friday, Oct 13 at 15:00UTC (11:00am EDT). See wiki page for meeting details and notes.

Discussion Topics

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

    1. Enabled Coveralls to track test coverage: https://coveralls.io/github/DSpace/dspace-angular  (See also Code Mgmt Tools discussion below, which came up as part of DSpace 7 discussions)
    2. Team is currently
    3. Tim will be attending DSpace 7 UI Outreach Group (every two weeks) to bridge discussions between this group and tech team. This group will help provide a RepoMgr point of view to DSpace 7 efforts. (Join the #outreach channel on slack for more info)
    4. DSpace 7 UI Mockups is where we've been adding in new UI mockups. These mockups are discussed in detail with DSpace 7 team and also with Outreach. But external feedback also welcome!
    5. Currently team is concentrating on building out search functionality & submission functionality
  2. Code Mgmt Tools: Do we want to enable more automated code analysis tools on "master" codebase? (e.g. Code Test Coverage, ErrorProne, CheckStyle, etc).

    1. Enabling ErrorProne build analysis tool? 
      Jira
      serverDuraSpace JIRA
      serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
      keyDS-3712
       and https://github.com/DSpace/DSpace/pull/1861
    2. Enabling Test Coverage reports? 
      Jira
      serverDuraSpace JIRA
      serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
      keyDS-3711
       and https://github.com/DSpace/DSpace/pull/1865
    3. Do we consider configuring and enabling "Checkstyle" (to verify code style / formatting) on "master"?
      1. Maven-checkstyle-plugin can automate this (even as part of build process): https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html
      2. For example, Fedora project uses maven-checkstyle-plugin with their own style configuration: https://github.com/fcrepo4/fcrepo-build-tools/blob/master/src/main/resources/fcrepo-checkstyle/checkstyle.xml
      3. Pros: 
        1. Some IDEs (e.g. IntelliJ IDEA, Eclipse) let you import a Checkstyle configuration file to define the code style the IDE will use.  (Uncertain if this is supported in Netbeans however)
        2. It will force us to keep to the same code style. This makes code easier to read/debug.
        3. If configured during build process, Travis will catch formatting issues for us in PRs (and display them as build errors). This is similar to how we already manage/require file license header checks.
      4. Cons: 
        1. Enabling this during build process will require us to reformat a large number of files in "master". (Tim checked)   However, this reformatting can be mostly automated using IntelliJ IDEA (so it wouldn't be a manual process)
        2. May make cherry-picking PRs a bit more difficult between "master" and "dspace-6_x" (as making this update to "master" may cause many minor formatting conflicts)
        3. Could get a bit annoying to newer developers, unless we make it clear how to configure their IDE to format their PRs properly (However, see Pro #1, some IDEs let you simply import the checkstyle configuration)
  3. DSpace High Priority Tickets

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

      Expand

      Jira
      serverDuraSpace JIRA
      columnskey,summary,type,created,updated,assignee,reporter,priority,status,fixversions
      maximumIssues20
      jqlQueryfilter = 13904 ORDER BY fixVersion DESC, priority DESC
      serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5


    2. Need Code Review, Flagged for Release

      Expand

      Jira
      serverDuraSpace JIRA
      columnskey,summary,type,created,updated,assignee,reporter,priority,status,fixversions
      maximumIssues20
      jqlQueryfilter=13905 ORDER BY fixVersion DESC, priority DESC
      serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5


  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

...