Development environment

From Archivematica
Jump to navigation Jump to search

Main Page > Development > Development Environment

This page explains how you can configure and use a standard Linux system as an Archivematica development environment. The Archivematica development environment is available for developers that want the ability to customize or enhance their own Archivematica installation and/or contribute code back to the Archivematica project.

Setup

  • Install ubuntu 12.04
  • Use git to checkout Archivematica code
    • If you have commit access, use the private repository
    • If you have read-only access, use the public GitHub repository
git clone https://github.com/artefactual/archivematica.git


Run

  • Start Archivematica MCP Server & Client
    • Open a terminal and type in the following commands:
      • sudo stop openoffice-service; sudo start openoffice-service
      • sudo stop archivematica-mcp-server; sudo start archivematica-mcp-server
      • sudo stop archivematica-mcp-client; sudo start archivematica-mcp-client
  • To start processing a SIP:
    • Open Thunar file manager
    • if using sample SIPs, 'export' the SIP directory
      • svn export sampledata ~/sampledata
      • OR run the dev-helper script, and hit yes on the option to export the sample data.
    • 'cut' the SIP directory and paste into the receiveSIP directory
    • Open the Firefox browser and type 'localhost' as the address to view SIP processing progress via the Dashboard

Update

To pull down the latest code commits from the repository, navigate to the directory where Archivematica has been cloned:

  • Change Directory to the archivematica git directory.
cd ~/archivematica/
  • Check to see if you have any local changes that need to be stashed
git diff
  • If there are local changes please stash or commit them. (Or you won't be able to update).
git stash

Update...

  • ./dev-helper
  • "Would you like to git pull?" (y/N) y
  • "Would you like to recreate the databases?" (y/N) y
    • Note: this command will remove any processing sips/transfers.
  • "Would you like to Include mock FPR data?" (y/N) y 
  • "Would you like to restart archivematica services?" (y/N) y
  • "Would you like to re-create gui-scripts editor file?" (y/N) y
  • "Would you like to update Qubit (trunk) and restart its qubit-sword service?" (y/N) y

If you stashed changes, re-apply them with

git stash pop

Troubleshooting

  • If it stalls during update "Would you like to update/install package requirements?" (y/N)
    • Stop the script with CTRL + C
    • Try installing the item it failed on on the command line. Ie.
sudo apt-get install postfix
  • If you get this error error starting service:
    • sudo start archivematica-mcp-server
    • start: Unknown job: archivematica-mcp-server
    • Then reboot the machine.
  • If a SIP processing fails, it will move it to the 'failed' directory which is located:
    • /var/archivematica/sharedDirectory/watchedDirectories/failed
  • if ArchivematicaServer freezes
    • sudo restart archivematica-mcp-server
    • sudo restart archivematica-mcp-client
  • if ArchivematicaClient freezes (in terminal kill command)
    • sudo restart archivematica-mcp-client
  • Updates to the Dashboard may require an Apache webserver restart:
    • sudo /etc/init.d/apache2 restart
  • If you find a problem running the Dashboard and you want to get a detailed error log to report us, please switch it to debug mode following these instructions.
  • MCP is currently logging to the /tmp/directory
    • /tmp/archivematicaMCPClient-HOST.log
    • /tmp/archivematicaMCPServer-HOST-DATE.log
    • /tmp/archivematicaMCPServerPID