iDAI.field 2.x
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Move function Feb 14, 2019
config rename warka-environs to wes Jan 23, 2019
docs Remove outdated docs Jun 27, 2018
img update README-FEATURES-1.png Jan 28, 2019
java do not include id in jsonl output of shapefile converter Dec 12, 2018
manual update filter_menu.png Jan 28, 2019
store Add empty store for tests May 29, 2018
test fix project creation e2e test Feb 15, 2019
.gitignore add shapefile tool code to repository Nov 19, 2018
.travis.yml do not cache node_modules for travis build Jan 27, 2019
LICENSE Initial commit Jan 7, 2016
README-FEATURES.md Update README-FEATURES.md Oct 2, 2018
README.md Update README.md Jan 27, 2019
appveyor.yml rename npm build scripts Jan 15, 2019
auto-update.js show "download interrupted" icon in taskbar instead of uncaught excep… Oct 31, 2018
dev-app-update.yml Add dev app update YAML Aug 28, 2018
gulpfile.js add shapefile tool code to repository Nov 19, 2018
index.html update pouchdb, rxjs, systemjs & other dependencies Oct 30, 2018
main.js fix jar execution in build Nov 6, 2018
menu.js allow changing language in settings Oct 11, 2018
messages.js edit auto update message texts Jan 29, 2019
package-lock.json fix navigation in project creation e2e test Feb 14, 2019
package.json Use latest components Feb 14, 2019
systemjs.config.js make sure polygon points are specified in the correct winding order Dec 12, 2018
xliff-merge.json implement translation via Angular i18n Oct 8, 2018

README.md

iDAI.field

idai-field

The German Archaeological Institute’s (DAI) new take on a field research documentation system. Combining features of GIS, photo management, and database management systems in a unique and integrating manner, it aims at facilitating archaeological workflows by reducing the overhead of using multiple systems. Developed in-house by the DAI’s information technology department, it targets primarily the needs of the institute’s excavations, older ones as well as those to come. Yet, due to the nature of its adjustable data model and the fact it is open source software, any interested third party is free to reuse and adjust it to their needs.

Installation

You can install the latest version of iDAI.field by downloading and running the setup file corresponding to your operating system (MacOS or Windows).

Development

Development of iDAI.field works under MacOS, Windows and Linux. In any case, before you start, make sure you have NodeJS > 7.0.0 as well as Node Package Manager (NPM) installed.

Then clone this repository locally and run the following commands:

$ npm install
$ npm run build
$ npm start

npm install fetches the necessary dependencies. npm run build compiles the typescript files, creates configuration files, gathers the necessary fonts and converts scss files. npm start starts the Electron app. For a fast development workflow it is recommended to set up your IDE to compile the typescript files continuously while you are working on the sources. That way you can just hit reload to see changes made to the .ts or .html files.

Shapefile import/export is handled by a Java command line tool which is called by the Electron app. If Java 8 or higher and Maven are installed, the Java tool can be built via the command:

$ npm run build-java

You can also call npm run build-all to build everything in one step.

See also idai-components-2.

Tests

The app must have been built (npm run build) before running the tests.

To execute the unit tests, run

$ npm test   

For troubleshooting information see here.

To execute e2e tests, run

$ npm run e2e [noff|ff]

The optional fail fast parameter specifies if test execution stops on the first error (ff) or continues until all tests are finished (noff). If not specified, the default mode is noff.

Packaging

To create binaries run:

$ npm run package[-mac|-win]

Without using one of the specified suffixes, this will create packages for both MacOS and Windows 32/64 bit. If used with one of the suffixes, only packages for the selected target platform get created. When the command has finished execution, you find packages of the application for different operating systems in the release directory.

Please note that when using Windows, due to nested node_modules and the windows default maximum path length you might be running into errors while attempting to extract the package. In that case, please use a different archiver, for example 7-Zip.

When using MacOS, you need Wine to build Windows packages.

Note that creating Linux packages should be possible with Electron, but this is yet untested and not enabled.