Difference between revisions of "Development environment"

From Archivematica
Jump to navigation Jump to search
Line 29: Line 29:
*Start Archivematica MCP Server & Client
*Start Archivematica MCP Server & Client
**Open a seperate terminal for each and type:
**Open a seperate terminal for each and type:
***<pre>service archivematica-mcp-serverd restart</pre>
***<pre>service archivematica-mcp-clientd  restart</pre>
*To start processing a SIP:
*To start processing a SIP:

Revision as of 17:39, 28 March 2011

Main Page > Development > Development Environment

This page explains how you can configure and use a Ubuntu Linux system, to use 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.


  • Use Subversion to checkout Archivematica code
    • If you have commit access, use the private repository
    • If you have read-only access, use the public GoogleCode repository
svn checkout http://archivematica.googlecode.com/svn/trunk/ archivematica

  • Run localDevSetup scripts.
    • cd archivematica/localDevSetup/
    • ./installLocalDevRequirements.sh
    • ./createArchivematicaUserAndGroupForLocalDev.sh
    • ./createLocalDevDirectories.sh
    • cd createDatabases
    • ./postBuildRun.sh
    • This will create links in your local Ubuntu environment back to the relevant Archivematica scripts in your SVN checkout, allowing you to run a local Archivematica version which can continue to pull down revision updates from the code repository
    • If you have commit access, you can work on the files in the checkout directory, make changes and commit those back to SVN repository, while also running Archivematica locally to test your changes and commits from other developers.
  • Additional local environment configuration
    • Add Crontab for quarantine check
    • sudo crontab -e
    • * * * * * flock -xn /var/lock/quarantine.lock /usr/lib/archivematica/MCPServer/delay/delay.py 60 "/var/archivematica/sharedDirectory/watchedDirectories/quarantined"


  • Start Archivematica MCP Server & Client
    • Open a seperate terminal for each and type:
      • service archivematica-mcp-serverd restart
      • service archivematica-mcp-clientd  restart
  • To start processing a SIP:
    • Open Thunar file manager
    • if using sample SIPs, 'export' the SIP directory
      • svn export buildVM/includes/sampledata ~/sampledata
    • 'cut' the SIP directory and paste into the AcquireSIP directory
    • Open the Firefox browser and type 'localhost' as the address to view SIP processing progress via the Dashboard
      • note: until polling is enabled, you will have to hit the browser refresh button to get latest Dashboard updates


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

  • Change Directory to the archivematica SVN directory.
cd ~/archivematica/
  • cd archivematica/localDevSetup/
  • ./cleanup.sh
  • cd ~/archivematica/
  • svn up
  • cd archivematica/localDevSetup/
  • ./createLocalDevDirectories.sh
  • Note: changes to the MCP database schema may have occurred. To make these changes to your local database run the following command.




  • If a SIP processing fails, it will move it to the 'failed' directory which is located:
    • var/archivematica/sharedDirectory/watchedDirectories/failed
  • if ArchivematicaServer freezes (in terminal kill command)
    • CTRL + \
  • if ArchivematicaClient freezes (in terminal kill command)
    • CTRL + C
  • 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.