Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update demo urls

...


In no particular order, here are some hints/tips to help introduce a new Committer to the DSpace Development process:

Committer Mailing Lists

  • dspace-commitcommit@googlegroups.com : As a new committer, you will be added to the private 'dspace-commit' listserv. We try to only use this 'dspace-commit' list for administrative duties or official nominations/votes for committership, etc. Developer topics occasionally come up here as well, but once they begin to move beyond "administrative" we try to move them to 'dspace-devel' so the entire DSpace Developer Community has input.
  • dspace-changelogchangelog@googlegroups.com : If you are not already aware of it, we have a public 'dspace-changelog' email list which just reports recent commits to GitHub. You may want to join this if you want to be notified of all commits merged into "main" branches, etc.
  • dspace-tickets@googlegroups.com: (NO LONGER USED AS JIRA IS RETIRED) Again, if you are not already aware of it, we have a public 'dspace-tickets' email list which just reports any recent changes to JIRA tickets. You should probably join that list, as it is your friend: http://lists.sourceforge.net/lists/listinfo/dspace-changelogdspace-release : This is a public Release Management listserv from the DSpace Release Team. It's worth joining if you are interested in helping out (or listening in on) the next DSpace Release: http://lists.sourceforge.net/lists/listinfo/dspace-releasealso your friend.

The Tools We Use

Here's a current list of the tools/sites we use, and how they are used.

  • GitHub - The main codebase is now here. See Development with Git for some hints/tips.
  • JIRA - Obviously this is where we log all bugs/tickets. It is also used to auto-generate the "History" page of our DSpace Documentation, e.g. 1.8 History page
  • codebases & issue tracker are here. We also distribute our releases from here.
  • GitHub Actions for CI - We use GitHub Actions to do all Continuous Integratoin checks, including validating PRs & running automated tests. See Continuous Integration for more details. Bamboo - We use Atlassian Bamboo tool for automatic building/testing of any new commits to GitHub. If an error occurs during an automated build/test, then an email is set to the dspace-changelog listserv. More info at: ContinuousIntegration
  • DSpace Wiki- The public wiki space. A few areas to be aware of (if you are not already)
    • Committer Guidelines - Splash page for all our Committer Guidelines. We try to keep this as up-to-date as possible. But, if you have questions, please ask!
    • Release Procedure - In case you are interested, this is our procedure for cutting a new release.
  • DSDOC- The official DSpace documentation is created in the wiki (and PDFs are generated from the wiki during releases). This is the splash page which lists all the existing DSpace Wiki Documentation.
  • SourceForge - These days, SourceForge is primarily used for two purposes: (1) it hosts all of our mailing lists, and (2) we post all releases up there for download.
  • demo6demo.dspace.org - The demo installation of DSpace (6.x) which is on a virtual server (Amazon EC2 w/Ubuntu Linux). This server is used to show off the latest version of DSpace, as well as to help test upcoming features during release Testathons.Any Committers can request command-line access to this server (to start/stop the instance, upgrade it, etc) by sending your Public SSH Key to Tim (or to any other Committer who already has command-line access to this server).can be used as a resource for those upgrading from DSpace 6.x to 7.x.  More info at demo6.dspace.org Notes
  • www.dspace.org - Main website which is managed by DuraSpaceLyrasis. If you need something changed/updated there, contact Tim or email sysadmin at duraspace.orgDonohue  

Git/GitHub Intro

Regarding commits to GitHub:

...

  • DSpace- The main codebase.  The backend for 7.x and above
    • The "mastermain" branch is where development for the next major version of DSpace happens
    • The various other branches (e.g. 'dspace-1_84_x') are "maintenance branches"
    • The tags (e.g. 'dspace-1.84.0', 'dspace-14.8.1', 'dspace-1.84.2') are the official stable releases of the software
  • dspace-servicesangular - The DSpace Services Framework, which prior to DSpace 3.0 was released separately to Maven Central (so DSpace could use it as a dependency & include it out-of-the-box). It is now released and maintained as part of DSpace (see DS-1144 and Pull 82 for more background)frontend/UI for 7.x and above.
  • dspace-api-lang - The DSpace API/JSPUI Language Packs, which are released separately to Maven Central (so DSpace can use it as a dependency & include it out-of-the-box)
    • These are still used in 7.x for a few backend tasks, but the UI level language packs are now a part of "dspace-angular" (see above)
  • dspace-xmlui-lang (6.x and below only) - The DSpace XMLUI Language Packs, which are released separately to Maven Central (so DSpace can use it as a dependency & include it out-of-the-box)
  • dspace-solr (6.x and below only) - Special, slightly customized version of Solr, which is released separately to Maven Central (so DSpace can use it as a dependency & include it out-of-the-box)
  • dspace-cocoon-servlet-service-impl (6.x and below only) - Patched version of Cocoon Servlet Service which resolves issues with Cocoon swallowing 404 Errors, which is released separately to Maven Central (so DSpace can use it as a dependency & include it out-of-the-box)
  • dspace-geoip - Project that deploys MaxMind GeoIP releases (http://sourceforge.net/projects/geoip/) to Maven Central for DSpace (so DSpace can use it as a dependency & include it out-of-the-box)

IRC Overview

  • If you can, try to join our DSpace Developer Meetings in #duraspace IRC. It's a good way to stay "in the loop". It's also a good way to get to know everyone. If you cannot make the meeting, transcripts are also available on the above wiki page and off of http://irclogs.duraspace.org/.
  • You are also very welcome to pop into #dspace IRC anytime – most workdays many of us can be found there. Usually, it's live Q&A there, but occasionally we have ad hoc discussions. You'll probably see us joking around as well – we try to keep it relaxed and fun.
  • Information about joining either #dspace or #duraspace IRC is on the DSpace Resources page.

Questions / Issues

  • If you have questions – definitely feel free to ask. We are a very friendly group. Although there is the occasional disagreement, no one gets offended, and I think we always end up with a friendly resolution.
  • If you are trying to do something with anything related to DSpace (GitHub, JIRAWiki, etc.) and you cannot figure it out or it isn't working, let us know! Chances are we forgot to give you some permissions that you need to have (or something is broken).

...