...
brew install tomcat tomcat-native
Install the IDE IntelliJ Ultimate, either start the trial, or use/buy a license. DSpace Committers have access to an “Open Source Project License”, hoorah JetBrains!
Install postgres.app from: http://postgresapp.com/
...
Once installed, click the taskbar elephant, and “open psql”, psql is the command-line-interface for Postgres. You can create database user, create database, or perhaps for future tasks, run direct SQL queries against DSpace. I would recommend pgadmin3, for a better query-environment.
The SQL to make the Postgres database-user is:
...
<Context path="/rest" docBase="/dspace/webapps/rest" allowLinking="true"/>
Create the /dspace directory, below where I have "myUserName", customize that for your local setup.
sudo mkdir /dspace
sudo chown -R myUserName /dspace
Clone DSpace from GitHub, to your Projects directory, and begin the compile process.
...
open http://localhost:8080/xmlui
From here, you should have a ready to go system. You can always check the official installation documentation too: Installing DSpace. It would be best to keep this document up-to-date, so if you run into issues leave a comment, update this document (if permitted), or contact the author.
PRO-Tips:
Mail Catcher for to view emails on localhost
...
Once configured, you can view your “inbox”, for outgoing messages from DSpace in your browser at http://localhost:1080
IntelliJ IDEA for a great coding environment
If you plan on doing significant Java programming, then it is recommended to use IntelliJ. The Ultimate version is best suited for this work, either start the trial, or use/buy a license. DSpace Committers have access to an “Open Source Project License”, hooray JetBrains! IntelliJ gives you code-completion i.e. Conf -> ConfigurationManager, and detects syntax errors before you spend time compiling. There are other alternatives, such as Eclipse and NetBeans, but many DSpace developers stick with IntelliJ IDEA.
Sublime Text for a great light-weight config editing environment
If I have to quickly view some config files, its preferable to open that with Sublime. Sublime Text 3 is their latest-and-greatest version.
I like to have command-line integration, so you should run:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
If you get a strange error that "bin/subl: No such file or directory", then run the following, and then the "ln -s" command again:
mkdir ~/bin
Once you are all set, then to open a single file (dspace.cfg) for editing its:
subl /dspace/config/dspace.cfg
Or to open a directory of config files, you can pass it the directory:
subl /dspace/config
pgAdmin3 for better PostgreSQL query environment
I would recommend pgadmin3, for a better query-environment than PSQL. Google, download, install it.
To get pgadmin3 setup, after it is installed:
File -> Add Server
Name: localhost
Host: localhost
Username: dspace
Password: dspace
Then, navigate the "Server Groups" tree: Server Groups > Server > localhost > Databases > dspace > Schemas > public > Tables (41)
To make a simple query, you could right click on table such as "eperson" > View Data > View Top 100 Rows, and that will give you back a matrix/spreadsheet.
To make an arbitrary query, click Tools > Query Tool (Command + E). There is SQL Editor (write and execute raw SQL). Then there is Graphical Query Builder, this is a fun tool, as you can drag a table from the left-hand-side list, onto the query board. Its similar to MS Access, if you've ever constructed visual database queries there. An easy query would be to drag "item" to the board, and "eperson" to the board. Then hover over eperson_id (within eperson table), and click and drag that to item table submitter_id. This lets you easily construct a query that joins a table. When ready to see the data, click the green Execute Query button at the top. When it executes, it converts the graphic to SQL text, and runs that. To edit your query, you can either go back to graphical mode, or edit the generated SQL.
That then outputs a "spreadsheet" of data.
Note: A classically trained database admin may cringe when they see you use the Graphical Query Builder to make joins, but its only because they have too much time on their hands.