Versions Compared

Key

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

...

ActionsCommand linePurposeSoftware
Clone the backend codebase


Code Block
# Run from command-line where ever you want the "DSpace" directory of code to be created.
gh repo clone DSpace/DSpace
 
# Once downloaded, change into that directory
cd DSpace


Before cloning carefully select your parent folder.

Getting all the files needed to run DSpace Backend.

This downloads all the code from https://github.com/DSpace/DSpace into a local directory named "DSpace".

Git


Start Docker Desktop

If it is not already running, start Docker Desktop on your machine. It MUST be running for any "docker - compose" or "docker" commands to work.

    1. On Windows, if Docker Desktop is running, you'll see the Docker whale logo in your taskbar's notification area.
Docker
Pull down the latest backend images


Code Block
# This command should be run from the "DSpace" code directory
docker- compose -f docker-compose.yml -f docker-compose-cli.yml pull


Pull down the latest backend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally.Docker command line

Start the Docker DSpace Backend Containers (& automatically install our Entities Test Data)



Code Block
# First start the backend with the test data
docker- compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/db.entities.yml up -d

# [OPTIONNAL] Run "logs -f" to watch the logs for everything to start up.  
docker- compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/db.entities.yml logs -f
# (Click Ctrl+C to exit logs view)


This command creates the 3 Docker containers for the Backend (dspacedb for the database ; dspacesolr for the solr indexes ; dspace for the backend server ; angular for the frontend UI) and then starts them up. 

Warning: dspacebd is the only Docker container that is not started automatically (the two others, dspacesolr and dspace, are)


The backend will be started with the test data and may take a few minutes. It should be completed before moving to the next action.

# Wait a few minutes until http://localhost:8080/server/ responds.



Docker command line
Download, install and reindex the test data assetstore (of files)


Code Block
# Finally, download the test data assetstore (of files) and install it, reindexing all content
docker- compose -p d7 -f docker-compose-cli.yml -f dspace/src/main/docker-compose/cli.assetstore.yml run dspace-cli



Docker command line

Check system is up and running


DONE!

At this point, you should be able to go to http://localhost:8080/server/ and see a backend similar to https://api7.dspace.org/server/

    1. You should also see some test data in that backend. For example, clicking on the "collections" endpoint should return some Collections: http://localhost:8080/server/#http://localhost:8080/server/api/core/collections


Web browser (http://localhost:8080/server/ )

The Hal Browser page is displayed

...

ActionsCommand linePurposeSoftware
Clone the frontend codebase


Code Block
# Run from command-line where ever you want the "dspace-angular" directory of code to be created.
gh repo clone DSpace/dspace-angular
 
# Once downloaded, change into that directory
cd dspace-angular


Getting all files needed to run DSpace frontend (Angular)

First, clone the frontend codebase using GitHub CLI (gh).  This downloads all the code from https://github.com/DSpace/dspace-angular to a local directory named "dspace-angular".  You may wish to run this command from the same parent directory where you cloned the backend (just to keep this new "dspace-angular" folder next to the "DSpace" folder where the backend code resides). 

Git
Ensure Docker Desktop is running

If it is not already running, start Docker Desktop on your machine. It MUST be running for any "docker - compose" or "docker" commands to work.

On Windows, if Docker Desktop is running, you'll see the Docker whale logo in your taskbar's notification area.Using Docker, pull down the latest frontend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally.


Pull down the latest frontend images


Code Block
# This command should be run from the "dspace-angular" code directory
docker- compose -f docker/docker-compose.yml pull


Using Docker, pull down the latest frontend images from DockerHub. This downloads all the prebuilt Docker images so you don't need to rebuild them locally.Docker command line

Start Docker Container for DSpace frontend/UI


Code Block
docker- compose -p d7 -f docker/docker-compose.yml up -d
 
# Optionally run "logs -f" to watch the logs for everything to start up.
docker- compose -p d7 -f docker/docker-compose.yml logs -f
# (Click Ctrl+C to exit logs view)


This command will create the Docker Container for the Frontend and then start it up.Docker command line
Check UI is up and running
  1. DONE! In a few minutes, the User Interface should be available at http://localhost:4000/   It should automatically be pointed at your Backend (also running on Docker)!
    1. Test it out by logging in using one of the demo accounts!  Login: dspacedemo+admin@gmail.com , Password: dspace


Web Browser (http://localhost:4000/)

Dspace front page is displayed.

...


Testing a Frontend PRTesting a Backend PR
Move to relevant directorydspace-angular DSpace
Checkout the PR code

Find the number of the Pull Request

gh pr checkout 1234 (where 1234 is the PR number)

Find the number of the Pull Request

gh pr checkout 1234 (where 1234 is the PR number)

Rebuild based on that PR's code

docker - compose -p d7 -f docker/docker-compose.yml build

Note: Build duration (Angular): 3-4 minutes with a good bandwith/connexion

This will create a new Docker Image including the PR code.

docker - compose -f docker-compose.yml -f docker-compose-cli.yml build

Note: Build duration (backend): environ 5-10 minutes with a good bandwith/connexion

This will create a new Docker Image including the PR code.

Start services needed

Frontend can be start using command line or Docker Software UI.

Commandline: 

Ensure you are positionned in dSpace-angular folder (cd command to dspace-angular)

Run following command: 
docker - compose -p d7 -f docker/docker-compose.yml up -d

This command will start the container using the new Docker image created.

Backend can be start using command line or Docker Software UI.

Commandline: 

Ensure you are positionned in DSpace folder (cd to DSpace if not)

Run following command: 
docker - compose -p d7 up -d

This command will start the container using the new Docker image created. 

...