29
Plain of Jars Archaeology Website An Evaluation of using the Arches Project software package for the Plain of Jars archaeology project Jiacheng Yin u6432443 COMP8755 2019S1 1

Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Plain of Jars Archaeology Website

An Evaluation of using the Arches Project software package for the Plainof Jars archaeology project

Jiacheng Yinu6432443

COMP8755 2019S1

1

Page 2: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Acknowledgements

This student project is made possible by the following people:

• Dr. Henry Gardner, the project’s supervisor.

• Dr. Dougald O'Reilly, the “client” of this project who specified the requirements for this project.

• A previous Techlauncher group who worked on this project using an older version of the Arches software: Aditya Sinha, Oliver Xi, Xuanming Gu, Bill Zhang and Zeruo Liu. This project is partially based on their online documents and Mr. Xi’s direct suggestions.

• Kieran Browne, a PhD candidate at ANU who helped with Arches’ dependency installation on a computer running the Ubuntu operating system.

2

Page 3: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Abstract

An investigation has been done about using the Arches software (version 4.4.1) for recording and presenting archaeological data from the “Plain of Jars” site in Laos. During the investigation a web application has been built using Arches, implementingthe basic functionality required by the client. This website is experimental but basically usable, and it is able to bulk import and display the archaeological data using a satellite map as a key to the location of that data. Arches is an open source project and it is not without its problems. Critical reflections are made concerning its use from the perspective of initial development, usability and future maintenance.

Some other potential solutions that may satisfy the Plain of Jars project are also considered, including the Omeka package and using 3D graphics package (such as Unity3D) to build a virtual “Plain of Jars”.

3

Page 4: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Table Of Contents

Title page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Table of contents . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61. Installing Arches and configuring an Arches webapp on a Linux system 7 1.1. Install Arches Dependencies. . . . . . . . . . . . . . . . . . 7 1.2. Create a python virtual environment and install Arches in it . 7 1.3. Install Elasticsearch with manage.py . . . . . . . . . . . . . 7 1.4. Run Elasticsearch. . . . . . . . . . . . . . . . . . . . . . . 8 1.5. Set up the web app’s database. . . . . . . . . . . . . . . . . 8 1.6. Run the server and view the website locally. . . . . . . . . . 82. The Arches web interface . . . . . . . . . . . . . . . . . . . . . . 9 2.1. Basic functions. . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Administrator functions. . . . . . . . . . . . . . . . . . . .113. Operations beyond the web interface. . . . . . . . . . . . . . . . .15 3.1. Bulk import data using csv file. . . . . . . . . . . . . . . .15 3.2. Create and import a mapbox style . . . . . . . . . . . . . . .16 3.3. Create and load an Arches package. . . . . . . . . . . . . . .17 3.3.1. Create a package . . . . . . . . . . . . . . . . . . . .17 3.3.2. Load a package . . . . . . . . . . . . . . . . . . . . .17 3.4. Serve the website with Apache. . . . . . . . . . . . . . . . .184. Final artefact and future directions . . . . . . . . . . . . . . . .20 4.1. The artefact . . . . . . . . . . . . . . . . . . . . . . . . .20 4.2. Possible future improvements . . . . . . . . . . . . . . . . .205. Evaluation of the Arches software and possible alternatives to it. .21 5.1. Evaluation of Arches 4.4.1 . . . . . . . . . . . . . . . . . .21 5.1.1. Usability heuristics evaluation. . . . . . . . . . . . .21 5.1.2. My conclusion. . . . . . . . . . . . . . . . . . . . . .21 5.2. Possible alternatives of this software . . . . . . . . . . . .21 5.2.1. Virtual Sydney Rocks . . . . . . . . . . . . . . . . . .21 5.2.2. Omeka. . . . . . . . . . . . . . . . . . . . . . . . . .22Appendix 1: Project Description . . . . . . . . . . . . . . . . . . . .23Appendix 2: Independent Study Contract. . . . . . . . . . . . . . . . .24Appendix 3: Artefact Description. . . . . . . . . . . . . . . . . . . .26Appendix 4: README file . . . . . . . . . . . . . . . . . . . . . . . .27References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

4

Page 5: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Introduction

The discipline of archaeology has developed an evidence base of “artefacts” that are often associated with particular sites where excavations have been made. It is important to record the precise geographic location (including depth) that each artefact has been recovered from and, clearly, one possible user interface to the browsing of such data could be one that starts from a map of the archaeological site itself. Arches is a software packages that has been developed for the above purpose.

This report describes the installation and configuration of the Arches software package on a Linux server, including the importation of a project artefact describing archaeological data. Apart from Linux, it is also possible to install the software on a server with Windows or Mac OS operation systems or do further customisation on your Arches webapp, details for which can be found within the Arches online documentation [1]. However, if future developers want to reproduce the results of thisreport, it is recommended to install and run the application on Ubuntu 18.

This report also includes further evaluations of this implementation and other possible ways of displaying similarly organised archaeological data.

In this report, blue text (except the web links) are bash commands, purple text are other special texts that may appear in files, and red text are unfixed parts of these special texts that usually get replaced in use.

5

Page 6: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Background

The Plain of Jars (Lao: ທົ່ງໄຫຫິນ [tʰōŋ hǎj hǐn]) is a megalithic archaeological landscape in Laos. It consists of thousands of stone jars scattered around the upland valleys and the lower foothills of the central plain of the Xiangkhoang Plateau. More than 90 jar sites have been identified within Xiangkhouang Province, with each site having from one to 400 stone jars. [2]

A client from the Department of Archaeology at ANU (prof. Dougald O’Reilly) has requested a web-based system be developed to archive and present relevant data fromthe Plain of Jars site. The system should show the locations of these archaeological sites together with associated documents/files, and privide both a micro view of the individual stone jars and a macro view of the jar sites.

The Arches Project is a software package that allows its user to generate a web application which can then be deeply customised into one that can store and display aspecific data scheme for a particular cultural heritage project.

The development of a web application for the Plain of Jars project originally attempted as a Techlauncher group project in 2018. However this attempt failed to produce working software for a number of reasons, including the immaturity of the version of the Arches software that was available at that time. Before attempting the present project one member of that team was interviewed, who described this older version of Arches as “buggy” with imperfect documentation. Part of the team’s previous job can be viewed at https://stones.anu.edu.au/ , and their data schemes (“resource models”) have also been used for this report.

The present project took place over 12 weeks of 2019 and achieved a somehow betterrealisation of the Plain of Jars project to the client’s satisfaction. A number of complicated steps needed to be followed in order to complete the installation of Arches and the importation and configuration of the Plain of Jars website and some of these steps were problematic for one reason or another. This report has been written to record my experiences and enable the reproducibility of what has been achieved.

6

Page 7: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

1. Installing Arches and configuring an Arches webapp on a Linux system

The following description of the installation and configuration process for Arches is based on Arches 4.4.1.

1.1. Install Arches dependencies [3]

https://github.com/archesproject/arches/tree/master/arches/install contains some files that can automatically install the dependencies of Arches.

For example, to install the dependencies on Ubuntu 16.04 or 18.04, download the ubuntu_setup.sh file (https://github.com/archesproject/arches/blob/master/arches/install/ubuntu_setup.sh) from the above GitHub page and run

$ bash ubuntu_setup.sh

in the file’s folder. The program may ask you a few questions about whether particular packages should be skipped.

The GitHub page contains some other .sh files for other types of Linux systems. For example, the centos_core_setup.sh (https://github.com/archesproject/arches/blob/master/arches/install/centos_core_setup.sh) is for the centOS operation system.

1.2. Create a python virtual environment and install Arches in it [4]

It is recommended to name the Arches web apps’ parent folder as “Projects”. To do it, run

$ mkdir Projects && cd Projects

Create and enter the virtual python environment

$ pip install virtualenv$ virtualenv ENV$ source ENV/bin/activate

Install Arches

$ pip install arches --no-binary :all:

Create a web app called stone_jars

$ arches-project create stone_jars

1.3. Install Elasticsearch with manage.py [5]

Run$ cd stone_jars$ python manage.py es install

The Elasticsearch folder installed in this way can be moved out of the webapp folder without affecting its functionality.

1.4. Run Elasticsearch

Open a new terminal in Elasticsearch's folder. If your computer has a relatively large RAM (>8GB, for example), just run

7

Page 8: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

$ ./bin/elasticsearch

Alternatively, if your computer has a relatively small RAM, run

$ ES_JAVA_OPTS="-Xms1g -Xmx1g" ./bin/elasticsearch

to keep things running with minimal resource.

1.5. Set up the web app’s database

If you want to change the web app’s default setting file, do it according to https://arches.readthedocs.io/en/stable/installation/#update-settings-local-py .

Then go back to the terminal used in section 1.3. Run

$ python manage.py packages -o setup_db

if you want a fresh new database, or run

$ python manage.py packages -o load_package -s <zip package name> -db true

if you want an Arches package to be imported immediately.

Arches packages can contain various configuration information of a particular Arches webapp, and importing it can (in the best case) reproduce exactly another Arches website.

There is an Arches package produced by this student project which can be imported in this way. Seesection 4.1 for its details.

1.6. Run the server and view the website locally

Run

$ python manage.py runserver

, open a browser, and you shall see the website at http://localhost:8000 by default.

8

Page 9: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

2. The Arches web interface

The Arches web app allows authorised users to configure most of its functions through its web interface, including the management of data and data schemes.

Note that images contained in this section of the report are from screenshots of this project’s final web app, not a newly initialised Arches web app.

2.1. Basic functions

The website’s home page contains some information that can be customised by a user. The home page’s top bar contains some links, the first three of which don’t really navigate a user into another page.

Figure 2.1: The Arches home page

The website is initialised with an administrator account whose account name and password are “admin” and “admin”.

Figure 2.2: Login interface of Arches

9

Page 10: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

The website’s core function is the search page which displays “resources” (a “resource” is basically an organised collection of data, like a stone jar’s location and other attributes) in a map and a list.

Figure 2.3: A search page containing sample data of Plain of Jars site 1

The search page contains links to a specific resource’s “resource report” (a page that displays detailsof the resource).

Figure 2.4: Top part of jar 1010001’s resource report page

10

Page 11: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Figure 2.5: Later part of jar 1010001’s report page

2.2. Administrator functions

The left navigation bar contains links to other pages of this web interface.

In Arches 4.4.1 the “Manage System Settings” page allows a user to modify or delete any part of thesystem settings data.

Figure 2.6: System setting management page of Arches

However if the user actually deletes a part of the system setting data the search page will fail as shown below. The problem will be fixed in a later version of Arches (see https://github.com/archesproject/arches/issues/4806 ).

11

Page 12: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Figure 2.7: A search page error reported by Django, resulted by deleting the project extent node of Arches systemsetting

The “Add New Resource” page allows one to manually add a new resource and input all its attributes.

Figure 2.8: Add new resource through the web interface

Most of them are trivial to input, but to input a set of geographical coordinates one need to manually type some GeoJson text, which may feel “fiddly” (according to our client) for an archaeologist without much computing background.

12

Page 13: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Figure 2.9: Input GeoJson data through the web interface

When adding a new “resource model” (basically the data tree of a certain type of resource) it can betricky to make a particular data be shown as “title” or “name”. (I havn't really figured out how to doit, but the earlier Techlauncher team did and I simply migrated their resource model into my Arches web app by copying their resource model .json files into a package. See sections 3.3.1 and 4.1 for more details about this.)

The “Arches Designer” page allows a user to manage resource models and their “cards” (a “card” isbasically about how a specific data is displayed in the resource report). [6]

13

Page 14: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Figure 2.10: Arches Designer

The “Map Layer Manager” page allows one to manage the map shown in the search page, includingthe layer containing the resources, the base map and any customised mapbox layer.

Figure 2.11: Map Layer Manager

Mapbox is the web-based map library used by Arches. When the system is initialised there is no map in the search page, a new user would then need to obtain a mapbox key from the mapbox website (https://www.mapbox.com/) and put the key into the system settings to show a basic map. [7]

Note that a mapbox key provides only a limited amount of free visit to the mapbox library.

The other pages linked in the left navigation bar include:

• An “Arches Collector” page which manages Arches mobile projects.

14

Page 15: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

• A “Recent Edits” page which displays recent operations done on the web application.

• A “Profile Manager” page which manages user profiles.

• A “Reference Data Manager” that summarises everything in the web app’s database.

15

Page 16: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

3. Operations beyond the web interface

Some of the Arches software’s functions can be used only through command line operations on the server. Here are some of them that have been used for this student project.

3.1. Bulk import data using csv file [8]

The Arches software allows bulk importing data through properly formatted csv file together with a “mapping file” generated by the web app itself.

To obtain the mapping file, go to the Arches Designer page, find the resource model that you will use, click its “manage” button on the right hand side and click “create mapping file” to download a zip file that contains the mapping file.

Figure 3.1: Create a mapping file

The first few sections of the mapping file (Jar.mapping) used for this project look like this:{ "resource_model_id": "6571c0b6-3d3a-11e8-9e3b-560001712fcb", "resource_model_name": "Jar", "nodes": [ { "arches_nodeid": "444008d8-3d3c-11e8-9e3b-560001712fcb", "arches_node_name": "Angle", "file_field_name": "Angle", "data_type": "domain-value", "concept_export_value": "label", "export": false }, { "arches_nodeid": "444008cc-3d3c-11e8-9e3b-560001712fcb", "arches_node_name": "Attribute", "file_field_name": "Attribute", "data_type": "domain-value", "concept_export_value": "label", "export": false }, {

16

Page 17: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

"arches_nodeid": "444008db-3d3c-11e8-9e3b-560001712fcb", "arches_node_name": "Bottom Circumference", "file_field_name": "Bottom Circumference", "data_type": "number", "export": false },

Each importable data section contains a “file_field_name” which should be the same as a column name in your csv file. You can modify either your csv file or the mapping file to ensure this. The csv file must also contain a column named “ResourceID” which contains unique integer IDs for each resource.

The content in each column of your csv should match the “data_type” part of the mapping file. Detailed matching rules for this can be found within the Arches documentations.

The corresponding first few columns and rows of the csv file looks like this:

ResourceID,Angle,Attribute,Bottom Circumference,1010001,Upright,Complete,,1010002,,Broken,250,1010003,,Complete,376,

To import the data, put the csv file and mapping file into the folder containing manage.py and run [9]

$ python manage.py packages -o import_business_data -s <csv file name> -c <mapping file name> -ow overwrite

Note that to import a "file-list" data type one need to put a quoted string containing the list of file names separated by commas into the csv, like this:

"1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,8.jpg,9.jpg"

Besides, the files in such a file list must be manually added into the “uploadedfiles” folder within your web app so that they can be noticed by the program.

Full version of the mapping file and csv file described above can be found within the artefact of thisstudent project.

3.2. Create and import a mapbox style

The mapbox studio (https://studio.mapbox.com/) allows a user to create and download a mapbox layer style. The downloaded file is a zip file containing a “style.json” file that can be imported by Arches.

Put that .json file into the folder containing manage.py, and run

$ python manage.py packages -o add_mapbox_layer -j style.json -n <new layer’s name>

to import the mapbox style file. Then you should be able to see the new layer in Map Layer Manager → Overlays of the web interface.

17

Page 18: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Figure 3.2: A new overlay map layer added into Arches web app

If you want this new map layer to appear on the search page by default, turn on the “Add to search map by default” button.

3.3. Create and load an Arches package

The Arches software allows users to create or import a zip package.

3.3.1. Create a package [10]

In the folder containing manage.py, run

$ python manage.py packages -o create_package -d <package folder name>

to create a package. The package will include your resource model in its graphs/resource_models folder as json files. You can also manually add or modify these files. It will also include your system settings in its system_settings folder as a json file.

However this create_package command does NOT automatically export the data of your web app. To include them in the package you need to manually add the mapping file and csv file (in the format described in section 3.1) into the package’s business_data folder. The csv and mapping files must share the same base file name (like “Jar.mapping” and “Jar.csv”). And you need to copy what’s in the web app’s uploadedfiles folder into the package’s business_data/files folder.

There are many other folders in such a package created by Arches, and a user is supposed to be ableto modify them manually to further enrich the package. More details of these folders can be found in the Arches online documentations.

Then you may want to compress the package folder into a zip file. Such a zip file can be directly imported by Arches as a package.

3.3.2. Load a package [11]

18

Page 19: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Section 1.5 mentioned importing an Arches package while setting up the database a new Arches web app. If you want to import another package without resetting your old Arches web app’s database, you can simply set the -db option to false.

$ python manage.py packages -o load_package -s <zip package name> -db false

3.4. Serve the website with Apache [12]

This web app is created with Django, a python web framework. It allows an Apache server to serve the website with a “wsgi daemon process”.

Install Apache2 server and wsgi$ sudo apt-get install apache2$ sudo apt-get install libapache2-mod-wsgi

Find the absolute path of your Arches web app folder. In the example provided by the Arches documentation, the app folder’s path is

/home/ubuntu/Projects/my_project/my_project

Your folder’s path will probably be different from it (mine is /home/jiacheng/Documents/StonesInTheCloud/Projects/stone_jars/stone_jars ). When you try to repeat the process described below, you will need to change the folder paths in the bash commands and configuration codes accordingly.

Give permissions to Apache for using your web app’s folder.

$ sudo chmod 775 /home/ubuntu/Projects/my_project/my_project$ sudo chgrp www-data /home/ubuntu/Projects/my_project/my_project$ sudo chmod 664 /home/ubuntu/Projects/my_project/my_project/arches.log$ sudo chgrp www-data /home/ubuntu/Projects/my_project/my_project/arches.log

In your web app folder, create a new folder named “static”.

$ mkdir /home/ubuntu/Projects/my_project/my_project/static

In your web app’s settings.py, add the following linesSTATIC_ROOT = os.path.join(APP_ROOT, 'static')STATIC_URL = "/static/"

Note that in the current version of Arches documentation the first line of the above python code is different (with “APP_ROOT” replaced by “PACKAGE_ROOT”), which is probably wrong. See https://github.com/archesproject/arches/issues/4849 .

Go to the folder containing manage.py, run

$ python manage.py collectstatic

to make manage.py collect the static files into your new folder.

Edit the Apache configuration file (nano is a popular text editor used in terminals)

$ sudo nano /etc/apache2/sites-enabled/000-default.conf

19

Page 20: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Add the following lines just below “<VirtualHost *:80>” (or in any other server port section that you want to use).

WSGIDaemonProcess arches python-path=/home/ubuntu/Projects/my_project:/home/ubuntu/Projects/ENV/lib/python2.7/site-packages

WSGIScriptAlias / /home/ubuntu/Projects/my_project/my_project/wsgi.py process-group=arches

<Directory /home/ubuntu/Projects/my_project> Options Indexes FollowSymLinks AllowOverride None Require all granted</Directory>

Alias /static/ /home/ubuntu/Projects/my_project/my_project/static/

<Directory /home/ubuntu/Projects/my_project/my_project/static> Options Indexes FollowSymLinks AllowOverride None Require all granted</Directory>

Save and quit the text editor. Then restart Apache

$ sudo service apache2 restart

Then, with Elasticsearch running, you will be able to see the website at http://localhost/ without running manage.py.

20

Page 21: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

4. Final artefact and future directions

4.1. The artefact

As mentioned in section 1.5, the Arches package produced by this student project can be found at https://gitlab.cecs.anu.edu.au/u6432443/plain-of-jars/blob/master/FinalPackage.zip .

This package automatically included the system settings file in its system_settings folder and three resource model json files in its graphs/resource_models folder. These resource model files were originally found somewhere in the previous Techlauncher group’s google drive folder (https://drive.google.com/drive/folders/0B81eEW0lWQa9aS1GdndnRVlrcmM). However, among the three resource models, only “Jar” has been used by this package’s data.

The data has been manually put into the business_data folder, including 310 stone jars’ relevant data. All these jars belong to the plain of jars site 1, 301 of which have associated location data. 9 images associated with jar 1010001 have been added into the business_data/files folder.

This package also contains a mapbox style folder at map_layers/tile_server/overlays , but it cannot be loaded automatically from the package for some reason. If you want to import this mapbox layer,you can manually take out style.json and import it using the instructions in section 3.2.

See Appendix 3 for more details.

4.2. Possible future improvements

Due to the limited time extent of this student project, there are possible future improvements of this web app that have not yet been implemented.

As mentioned in section 1.5, the Arches software allows more detailed settings through a settings.pyfile, including customising the database used, which would be necessary when having multiple Arches web apps running on the same server.

As mentioned in section 2.1, the website home page can be further customised.

As mentioned in section 2.2, the original GeoJson inputting interface is kind of hard to use. It wouldbe a good idea to replace it with a more serious graphical interface.

As mentioned in section 4.1, my Arches package does not work properly on having the additional map layer inside imported automatically. This should be improved.

What has been done for this report has been done on a ordinary computer locally. To actually use this website it should be served on an Apache server (see section 3.4), possibly a virtual Ubuntu server established on Google Cloud.

21

Page 22: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

5. Evaluation of the Arches software and possible alternatives to it

5.1. Evaluation of Arches 4.4.1

5.1.1. Usability heuristics evaluation

Jacob Nielsen proposed 10 usability heuristics for user interface design: [13]

1. Visibility of system status2. Match between system and the real world3. User control and freedom4. Consistency and standards5. Error prevention6. Recognition rather than recall7. Flexibility and efficiency of use8. Aesthetic and minimalist design9. Help users recognise, diagnose, and recover from errors10. Help and documentation

The Arches software has proven to be able to perform the basic task of importing and displaying organised archaeological data, but it is deficient on several of these aspects when a user is expected to be an expert in archaeology rather than one from computer science. That includes:

The “match between system and the real world” usability heuristic suggests the software to speak the users’ language by using terms familiar to the potential users rather than terms that only certain developers can understand. The Arches software, however, has defined an unnecessarily complex glossary [14] that tends to explain one special term with multiple other special terms.

The “Error prevention” usability heuristic suggests the software to actively stop users from performing dangerous operations. The Arches software, however, allows a user to delete crucial system settings as mentioned in section 2.2.

The “Help and documentation” usability heuristic suggests the software to provide necessary documentations for a user to keep things going. The Arches software, however, does not always provide clear instructions on exactly what to do. For example, the dependency installation part of the documentation (see section 1.1) simply says “You can find fully scripted dependency installation for Ubuntu here (a link to some gitlab folder containing many other files) .”, which is kind of confusing to a new user. Arches doesn’t seem to have any online communities or help portals other than GitHub issues, so a new developer (like me) will often have to guess the exact meanings of these unclear documentation parts.

5.1.2. My conclusion

The Arches software, although basically usable, is immature in many aspects and does not look like a very good solution for the client’s purpose. It might be a good idea to try some other alternatives or wait for a newer version of the software.

5.2. Possible alternatives of this software

5.2.1. Virtual Sydney Rocks

The Virtual Sydney Rocks is an interactive 3D model of the Sydney Rocks from 1788 to the presentday. Users can interactively explore the Sydney Rocks of a particular time and date. Clicking on a

22

Page 23: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

building will open up a dedicated webpage which has some basic information for that building and links for more detailed information from reputable sources [15].

Applying a similar graphical technology to the plain of jars can be an interesting alternative to Arches since such 3D models can explicitly show the shape and size of these stone jars.

5.2.2. Omeka

Omeka is another cultural heritage management software that seems to provide functions very similar to Arches [16].

Figure 5.1: Omeka display image, downloaded from https://omeka.org/images/omeka-s.png

In this example image found on the official Omeka website one can see a page very similar to the resource management page of Arches with a much more friendly glossary. And the software seems to support csv import through the web interface [17], which is a feature that would fit well in a future version of Arches.

The newest Omeka S has separated user manual and developer documentations at https://omeka.org/s/docs/user-manual/ and https://omeka.org/s/docs/developer/ .

23

Page 24: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Appendix 1: Project Description

The Plain of Jars is a megalithic archaeological site in central Laos. The Department of Archaeology at ANU is carrying out field research there and is involved in the nomination of this site as a UN World Heritage site of cultural significance. A client from this department would like a web-based system to be developed in order to archive and present archaeological data. He would like this site to be accessible by other researchers and the public from around the world.

This project was originally offered as a Techlauncher group project but it failed for various reasons. This project will continue this previous work by looking at the older code base, by interviewing one of the previous students involved and by liaising with the customer.

24

Page 25: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Appendix 2: Independent Study Contract

25

Page 26: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

26

Page 27: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Appendix 3: Artefact DescriptionThe artefact is a zip file named “FinalPackage.zip”. It is an Arches package that can be imported in ways described in section 1.5 and section 3.3.2. Its includes:

1. /FinalPackage/business_data/files/

This folder contains 9 images that are part of the sample data. When the package is importedthese images are automatically copied into the uploadedfiles folder of the web app.

2. /FinalPackage/business_data/Jar.csv

This csv file is the full version of reformatted sample data as mentioned in section 3.1. It contains 310 stone jars’ sample data, including their ResourceID’s, relevant data in numbers,dates, strings, file name lists and enum strings (enum strings are called “domain values” in the Arches glossary). When the package is imported these data are automatically added into the web app.

3. FinalPackage/business_data/Jar.mapping

This file is generated by the Arches website. It maps the columns in Jar.csv into data sections into the resource model “Jar”.

4. /FinalPackage/graphs/resource_models/

This folder contains three resource model json files created by the earlier Techlaunch group.Jar.json is the resource model used by Jar.csv and Jar.mapping, which I have slightly modified from the original version.

The original json files created by the Techlauncher group can be found at https://drive.google.com/open?id=1nO9Q1xI0eSuY2fNwVMdg6jH_ydOjvjWx .

5. /FinalPackage/map_layers/mapbox_styles/overlays/Satellite-Streets(cjuz2iffk0sxe1fpcmbdiqgzp)/

This folder contains downloaded mapbox layer files of a mapbox layer that contains satellitemap and street labels. When the package is imported the map layer is NOT automatically imported, so you may want to import the style.json file using the instructions in section 3.2.

6. /FinalPackage/system_settings/System_Settings.json

This file contains the system settings of my Arches web app. It has been automatically exported when the package is created. It contains a mapbox key that is associated with my mapbox account, you can just use it or create a new mapbox key associated with your mapbox account. When the package is imported the system settings can be automatically imported into the Arches web app.

7. /FinalPackage/package_config.json

This file is automatically created together with the package.

8. Many empty folders

When the package was created many empty folders are created with it. More details about them can be found in the Arches documentations.

27

Page 28: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

Appendix 4: README file

To use this package, you need to have an existing Arches web app. Find the “manage.py” file, copy the package into the same folder, and run

$ python manage.py packages -o load_package -s FinalPackage.zip -db false

or

$ python manage.py packages -o load_package -s FinalPackage.zip -db true

if you want to reset the project’s database.

28

Page 29: Plain of Jars Archaeology Websitecourses.cecs.anu.edu.au/courses/CSPROJECTS/19S1/reports/u6432443_report.pdfpossible ways of displaying similarly organised archaeological data. In

References

[1] Arches Documentation, https://arches.readthedocs.io/en/stable/[2] Plain of Jars, Wikipedia, https://en.wikipedia.org/wiki/Plain_of_Jars[3] Requirements/Dependencies — 4.4.1, https://arches.readthedocs.io/en/stable/requirements-and-dependencies/#installing-dependencies-on-linux[4] Installing Arches — 4.4.1, https://arches.readthedocs.io/en/stable/installation/[5] Arches and Elasticsearch — 4.4.1, https://arches.readthedocs.io/en/stable/arches-and-elasticsearch/[6] Designing the Database — 4.4.1, https://arches.readthedocs.io/en/stable/designing-the-database/#arches-designer[7] Configuring Settings — 4.4.1, https://arches.readthedocs.io/en/stable/initial-configuration/#quick-start[8] Resource Import/Export — 4.4.1, https://arches.readthedocs.io/en/stable/import-export/#importing-a-csv[9] Command Line Reference — 4.4.1, https://arches.readthedocs.io/en/stable/command-line-reference/#import-business-data [10] Projects and Packages — 4.4.1, https://arches.readthedocs.io/en/stable/projects-and-packages/#creating-a-new-package[11] Projects and Packages — 4.4.1, https://arches.readthedocs.io/en/stable/projects-and-packages/#loading-a-package [12] Serving Arches with Apache — 4.4.1, https://arches.readthedocs.io/en/stable/serving-arches-with-apache/[13] Nielsen J., 10 Usability Heuristics for User Interface Design, 1994, https://www.nngroup.com/articles/ten-usability-heuristics/[14] Glossary — 4.4.1, https://arches.readthedocs.io/en/stable/glossary/[15] VSR Guidebook, http://virtualsydneyrocks.com/[16] Omeka, https://omeka.org/[17] CSV Import - Omeka S User Manual, https://omeka.org/s/docs/user-manual/modules/csvimport/

29