Setup

For an easy setup, please go to download page, after that you can see the documentation for the bootstrapping scripts here.

Also, consider to  read the Performance tips for production page and the Security recommendations page.

Some consideration about setup

Yaml files are sensitive for spaces (don’t use TAB).

In case of problems with configuration syntax, add

-Dservice.config.verboseload=true

In the Java command line, mydmam-cli.sh, for identifix the trouble file.

Databases

Never update databases if MyDMAM is not prepared for !

Cassandra need an Astyanax compatible version, and MyDMAM must check if recent Astyanax version is compatible with it (maybe update Astyanax jars).

Elasticsearch needs the new version jars are the same in MyDMAM lib directory. So, copy their from ES lib directory to MyDMAM lib directory.

Clustering

These two databases works fine in cluster. Clustering is automatic and add some stability and enhance performances (although these engines are already very fast). Clustering simple: just add, for each type of technology, all cluster IP addresses in configuration. Servers will do the next. Of course, you can not mix Cassandra and ElasticSearch in the same cluster.

For testing purpose, you don’t need to create a cluster !

Performances issues and RAM devour

Considerate to dedicate a server for each database instance. Four servers is a good start (2x Cassandra and 2x ElasticSearch). You can use real servers or virtual instances (or cloud instances and/or VPN if you network connection is very stable).

Don’t forget to think: this technologies are made for use the maximum of RAM for the JVM (speed-up data processing, reduce I/O locking, manage the internal Java cache) and the maximum RAM for the OS disk cache. One instance in an host will always be faster that two instances in the same host. For production setup, consider to dedicate databases hosts for only… databases instances.

And for testing purpose/small activity, all will works fine on your workstation.

Frameworks/API

Play! version 1 are not in active development, just correct security problems. So do all minor updates for version 1 family: just do it on all MyDMAM instances (overwrite files, change paths in default scripts, and restart instances).

If you have time to spare, you can update the jars in the lib folder. These are the standard versions compiled without special modifications. There is a high risk of incompatibility between these new jars, MyDMAM and the others MyDMAM jars. So do it only if a MyDMAM update requests it. And do the same everywhere.

Engines

Updating ffmpeg or ImageMagick is dangerous because if MyDMAM call it with an bad (old) argument, you will enjoy some cool and terrible problems. Else, there are no problems for update.

Java

If you want update Java, it’s ok. But, do it on all servers (databases and MyDMAM instances), and at the same time for ElasticSearch (mixed various Java versions between ES server and ES jars in MyDMAM are fatal).
So, if you want update Java, plan a full cluster and service stop, and plan to do it everywhere.

Browsers compatibility

See the specific page