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.
Meeting Schedule and Attendance
DSpace Developer meetings are a time when Committers and interested Developers can discuss new software features, upcoming releases of DSpace software, and generally plan out the roadmap of DSpace. All meetings are public. We welcome anyone and everyone to attend, speak their opinions or just listen in on the discussions. Please note that we archive all discussions (see Meeting Archives), as a service for those who are unable to attend.
DSpace Developer meetings take place on the following schedule:
- Every Wednesday, alternating between 15:00 UTC and 20:00 UTC (every other week) in #duraspace IRC channel or in #dev-mtg Slack channel (these channels sync all discussions)
- To determine which time we are meeting at during a given week, please view the DuraSpace Public Events Calendar (iCal, RSS Feed)
- Also, see the world clock (for 15:00 UTC or 20:00 UTC) to determine the meeting time where you live. If you are unsure how to connect to IRC, see our list of IRC Resources & Clients
- All meetings are held for 1 hour (although, admittedly, discussion sometimes extends beyond that)
You can also subscribe to the meeting schedule via the DuraSpace Public Events Calendar (iCal, RSS Feed).
Meeting topics often include:
- Recent updates on upcoming DSpace releases, bug fixes or features
- Reviewing of recent reported issues/bugs/feature requests (see JIRA Cleanup Sessions for more info)
- Occasionally we vote or make decisions on upcoming DSpace technology plans/roadmap (see Developer Voting Procedures for more info)
If you are unable to attend a meeting, please feel free to add your own notes/comments to the meeting's wiki page.
Developers Meeting on Weds, Oct 11, 2017
Today's Meeting Times
- DSpace Developers Meeting / Backlog Hour: 20:00 UTC in #duraspace IRC or #dev-mtg Slack channel (these two channels sync all conversations)
- Please note that all meetings are publicly logged
Agenda
Quick Notes / Reminders
- DSpace 7 Working Group (2016-2023) meeting: TOMORROW, Oct 12 at 15:00 UTC (11:00am EDT) in Google Hangouts. 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 (2017-18): Friday, Oct 13 at 15:00UTC (11:00am EDT). See wiki page for meeting details and notes.
Discussion Topics
(Ongoing Topic) DSpace 7 Status Updates for this week
- 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)
- Team is currently concentrating on building out search functionality & submission functionality
Code Mgmt Tools: Do we want to enable more automated code analysis tools on "master" codebase? (e.g. Code Test Coverage, ErrorProne, CheckStyle, etc).
- Enabling ErrorProne build analysis tool? https://github.com/DSpace/DSpace/pull/1861 and
- Enabling Test Coverage reports? https://github.com/DSpace/DSpace/pull/1865 and
- Do we consider configuring and enabling "Checkstyle" (to verify code style / formatting) on "master"?
- Maven-checkstyle-plugin can automate this (even as part of build process): https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html
- 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
- Pros:
- 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)
- It will force us to keep to the same code style. This makes code easier to read/debug.
- 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.
- Cons:
- 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)
- 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)
- 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)
DSpace 7 REST Testing Framework
DSpace High Priority Tickets
High Priority (Blocker, Critical or Major) and flagged for release
Need Code Review, Flagged for Release
- Other Tickets needing discussion / attention? (Please feel free to add any you wish to discuss under this topic)
- Ongoing discussion topics:
- Management of database connections for DSpace going forward (7.0 and beyond). What behavior is ideal? Also see notes at DSpace Database Access
- 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.- 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 useSessionFactory.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
- Should we be making use of
- Management of database connections for DSpace going forward (7.0 and beyond). What behavior is ideal? Also see notes at DSpace Database Access
- Reviewing JIRA Tickets or PRs
- Please feel free to bring any that need eyes / immediate discussion
- JIRA Backlog of "Received" tickets
- All open PRs
Ticket Summaries
Help us test / code review! These are tickets needing code review/testing and flagged for a future release:
Newly created tickets this week:
Old, unresolved tickets with activity this week:
Tickets resolved this week:
Tickets requiring review. This is the JIRA Backlog of "Received" tickets:
Meeting Notes
Meeting Transcript
IRC Transcript is available at - http://irclogs.duraspace.org/index.php?date=2017-10-11
Meeting Archives
Notes and Transcripts from all recent Developers Meetings are available off of the Developer Meeting Archives page.