Difference between revisions of "Development environment"

From Archivematica
Jump to navigation Jump to search
m (Remove dev docs category (still in subcategory deprecated))
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
[[Main Page]] > [[Development]] > Development Environment
 
[[Main Page]] > [[Development]] > Development Environment
 +
 +
{| class="wikitable" style="background-color:#ffcccc; font-size: 120%; font-weight: bold; " cellpadding="10"
 +
| Please note: Development environment instructions were for Archivematica 1.4 and earlier - these notes are no longer supported. Instead please see: [[Getting started]]
 +
|}
  
 
This page explains how you can configure and use a standard Linux system as an Archivematica development environment.
 
This page explains how you can configure and use a standard Linux system as an Archivematica development environment.
Line 6: Line 10:
 
=Setup=
 
=Setup=
 
*Install ubuntu 12.04
 
*Install ubuntu 12.04
 +
*create a non-root user (with sudo privileges)
 +
*log in as your new non-root user
 +
*install archivematica storage service
 +
<pre>
 +
sudo apt-get update
 +
sudo apt-get install python-software-properties
 +
sudo add-apt-repository ppa:archivematica/release
 +
sudo add-apt-repository ppa:archivematica/externals
 +
sudo apt-get update
 +
sudo apt-get upgrade
 +
sudo apt-get install archivematica-storage-service
 +
sudo rm /etc/nginx/sites-enabled/default
 +
sudo ln -s /etc/nginx/sites-available/storage /etc/nginx/sites-enabled/storage
 +
sudo ln -s /etc/uwsgi/apps-available/storage.ini /etc/uwsgi/apps-enabled/storage.ini
 +
sudo service uwsgi restart
 +
sudo service nginx restart
 +
</pre>
 +
 +
*install git
 +
<pre>sudo apt-get install git</pre>
 +
 
*Use git to checkout Archivematica code
 
*Use git to checkout Archivematica code
**If you have commit access, use the private repository
 
**If you have read-only access, use the public [https://github.com/artefactual/archivematica GitHub repository]
 
 
<pre>git clone https://github.com/artefactual/archivematica.git</pre>
 
<pre>git clone https://github.com/artefactual/archivematica.git</pre>
 
  
 
*Run the install and helper scripts.  
 
*Run the install and helper scripts.  
Line 16: Line 38:
 
** <pre>./dev-installer</pre>
 
** <pre>./dev-installer</pre>
 
** Answer Y to all prompts.
 
** Answer Y to all prompts.
** <pre>./dev-helper</pre>
+
** Restart the machine. (this is to enable the upstart services).
** Answer Y to all prompts.
 
** Restart the machine.
 
 
** <pre>cd archivematica</pre>
 
** <pre>cd archivematica</pre>
 
** <pre>./dev-helper</pre>
 
** <pre>./dev-helper</pre>
 
** Answer Y to all prompts.
 
** Answer Y to all prompts.
** You may need to restart the services (see below for instructions)
 
 
** Complete AtoM setup
 
** Complete AtoM setup
 
*** The database should already be created.
 
*** The database should already be created.
Line 46: Line 65:
 
*<pre>./dev-helper</pre>
 
*<pre>./dev-helper</pre>
 
*<pre>"Would you like to git pull?" (y/N) y</pre>
 
*<pre>"Would you like to git pull?" (y/N) y</pre>
 +
*<pre>"Would you like to update/install package requirements?" (y/N) </pre>
 
*<pre>"Would you like to recreate the databases?" (y/N) y</pre>
 
*<pre>"Would you like to recreate the databases?" (y/N) y</pre>
 
**Note: this command will remove any processing sips/transfers.
 
**Note: this command will remove any processing sips/transfers.
*<pre>"Would you like to Include mock FPR data?" (y/N) y </pre>
+
*<pre>"Would you like to erase the ElasticSearch indexes?" (y/N) </pre>
 +
*<pre>"Would you like to clear transfer backlog and AIP storage?" (y/N) </pre>
 +
**Note: this command will delete all stored AIPs and stored backlogged transfers.
 
*<pre>"Would you like to restart archivematica services?" (y/N) y</pre>
 
*<pre>"Would you like to restart archivematica services?" (y/N) y</pre>
*<pre>"Would you like to re-create gui-scripts editor file?" (y/N) y</pre>
+
*<pre>"Would you like to update sample data in /home/user/archivematica-sampledata?" (y/N) </pre>
*<pre>"Would you like to update AtoM (branch 1.x) and restart its atom-sword service?" (y/N) y</pre>
+
*<pre>"Would you like to export sample data from /home/user/archivematica-sampledata?" (y/N) </pre>
 +
*<pre>"Would you like to update AtoM and restart its atom-worker service?" (y/N) y</pre>
 
If you stashed changes, re-apply them with
 
If you stashed changes, re-apply them with
 
<pre>git stash pop</pre>
 
<pre>git stash pop</pre>
Line 65: Line 88:
 
** <pre>sudo start archivematica-mcp-server</pre>
 
** <pre>sudo start archivematica-mcp-server</pre>
 
** <pre>start: Unknown job: archivematica-mcp-server</pre>
 
** <pre>start: Unknown job: archivematica-mcp-server</pre>
** Then reboot the machine.
+
** Reload the configuration  [http://askubuntu.com/a/291644 Original answer] and try again
 +
** <pre>sudo initctl reload-configuration</pre>
 +
** Alternatively, reboot the machine.
  
 
*If a SIP processing fails, it will move it to the 'failed' directory which is located:
 
*If a SIP processing fails, it will move it to the 'failed' directory which is located:
Line 87: Line 112:
 
** /tmp/archivematicaMCPServerPID
 
** /tmp/archivematicaMCPServerPID
  
[[Category:Development documentation]]
+
[[Category:Deprecated]]

Latest revision as of 14:23, 23 March 2017

Main Page > Development > Development Environment

Please note: Development environment instructions were for Archivematica 1.4 and earlier - these notes are no longer supported. Instead please see: Getting started

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[edit]

  • Install ubuntu 12.04
  • create a non-root user (with sudo privileges)
  • log in as your new non-root user
  • install archivematica storage service
sudo apt-get update
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:archivematica/release
sudo add-apt-repository ppa:archivematica/externals
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install archivematica-storage-service
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/storage /etc/nginx/sites-enabled/storage
sudo ln -s /etc/uwsgi/apps-available/storage.ini /etc/uwsgi/apps-enabled/storage.ini
sudo service uwsgi restart
sudo service nginx restart
  • install git
sudo apt-get install git
  • Use git to checkout Archivematica code
git clone https://github.com/artefactual/archivematica.git

Configuring and Using Archivematica[edit]

These manuals contain information about the use and configuration of Archivematica:
https://www.archivematica.org/wiki/Administrator_manual
https://www.archivematica.org/wiki/User_Manual

Update[edit]

To pull down the latest code commits from the repository, and reset your dev install, 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 update/install package requirements?" (y/N) 
  • "Would you like to recreate the databases?" (y/N) y
    • Note: this command will remove any processing sips/transfers.
  • "Would you like to erase the ElasticSearch indexes?" (y/N) 
  • "Would you like to clear transfer backlog and AIP storage?" (y/N) 
    • Note: this command will delete all stored AIPs and stored backlogged transfers.
  • "Would you like to restart archivematica services?" (y/N) y
  • "Would you like to update sample data in /home/user/archivematica-sampledata?" (y/N) 
  • "Would you like to export sample data from /home/user/archivematica-sampledata?" (y/N) 
  • "Would you like to update AtoM and restart its atom-worker service?" (y/N) y

If you stashed changes, re-apply them with

git stash pop

Troubleshooting[edit]

  • 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
    • Restart the dev-helper "Would you like to update/install package requirements?"
  • If you get this error error starting service:
    • sudo start archivematica-mcp-server
    • start: Unknown job: archivematica-mcp-server
    • Reload the configuration Original answer and try again
    • sudo initctl reload-configuration
    • Alternatively, 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