diff --git a/.gitignore b/.gitignore
index 030cc4d..22e55fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,9 +20,11 @@ public/img/
public/flags/
public/views/
module/
+npm-debug.log
node_modules/
bin/
data/DoctrineORMModule/
+data/monarc/
data/json/
go-pear.phar
scripts/public/
diff --git a/AUTHORS b/AUTHORS
index 26074f5..7b6ba49 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -13,7 +13,9 @@ Cyril Rouyer
Guillaume Lesniak
Jérôme De Almeida
Jérôme Lombardi
+Jihane Guelzim - https://github.com/jiihaanee
Juan Rocha
+Rémi Jambou - https://github.com/rjambou
Thomas Metois
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f8296e0..4957fca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,197 @@
MONARC Changelog
================
+
+## 2.7.3 (2018-10-25)
+
+### Enhancement
+
+- added backend capability for the bulk creation of objects;
+- various improvements and harmonization of the backend code;
+
+### Fix
+
+- Sort order for operational risks in final deliverable annex D (#111);
+- Upload of template deliverable fails in Dutch (#141);
+- SOA is now included in snapshots.
+
+
+## 2.7.2 (2018-10-08)
+
+### Fix
+
+- MONARC is now compatible with PHP 7.2 (#89). Future MONARC virtual machines
+ will be based on Ubuntu Bionic LTS;
+- Reports not generated in user's language or selected templates (#129);
+- All your rights have been revoked. Please contact the manager for your organization (#110);
+- various improvements and minor fixes in the back end.
+
+
+## 2.7.1 (2018-09-07)
+
+### Enhancement
+
+- inform user which rights he has on each risk analysis (#131);
+- display read/write access of the currently connected user on the home page (list of analysis) (#130);
+- improvements to the statement of applicability (SOA) module (speed improvements);
+- minor improvements to the home page.
+
+### Fix
+
+- impossible to download a report when user has no wright access (#133);
+- name of columns of the evaluation scales are not displayed when a user has not write access (#132).
+
+
+## 2.7.0 (2018-08-22)
+
+### New
+
+- this release introduces the statement of applicability (SOA) module for your
+ risk analysis. This is a first step towards the awaited [Statement of Applicability
+ & Gap Analysis module](https://github.com/monarc-project/MonarcAppFO/wiki/feature-SOA&GAP)
+
+### Fix
+
+- Error in translation in sector 3 of Final report (#124);
+- The management of the position in the library is not working (#123);
+- Empty categories in the library (#122);
+- Impossible to order the questions in the back oficce (#121);
+- Hidden impacts function doesn't works (#119);
+- Search and sort filter for import (#38).
+
+
+## 2.6.0 (2018-07-20)
+
+### New
+
+- MONARC users who open the home page in the web interface will see an image
+ in the bottom left corner with the text "up-to-date" in green, "update
+ available" in orange or "security update available" in red.
+ This will make outdated version more visible for users of MONARC. This
+ version checking is performed thanks to a
+ [dedicated service](https://version.monarc.lu/version/MONARC).
+
+### Enhancement
+
+- the import and export functions have been improved;
+- creation of recommendation and missing field (#115);
+- make an easy link to implement the recommendation directly from the risk view
+ (#112).
+
+### Fix
+
+- fixed a bug in the table Risk treatment plan management.
+- problem on date parsing with the date-picker with non-US browsers (when using
+ date.toLocaleString) (#117)
+- it is not possible to reset the ``duedate`` attribute of a recommendation
+ since the introduction of the date-picker (#116)
+- review and correct the functionality of import by fusion or merge (#62)
+- minor translations fixes.
+
+
+## 2.5.0 (2018-07-04)
+
+### New
+
+- all dashboard data can now be exported to a CSV file with tabs;
+- fine grained export of risk analysis (choice between method steps,
+ interviews, existing controls and recommendations);
+- it is now possible to create a new recommendation from an existing one;
+- account deletion / right to erasure (#109).
+
+### Enhancement
+
+- how to erase the evaluation of all threats of a risk analysis (#97);
+- the risk treatment view has been improved (#96);
+- MONARC and the back office are now using AngularJS 1.7.0.
+
+### Fix
+
+- impossible to edit some fields in BO. Only is possible in the default
+ language of instance (#108);
+- md-datepicker sends the day before the one that was selected (#105);
+- the filter by tag is not working on Knowledge base > Operational Risk (#103);
+- the generation of deliverables has been improved (bullet point lists) (#101);
+- various minor improvements and fixes in the back office of MONARC.
+
+
+## 2.4.2 (2018-06-08)
+
+### Enhancement
+
+- improvements for the breadcrumb used in the graphs of the dashboard. Moreover
+ it is now possible to click in the items of the breadcrumb in order to
+ navigate between the different graph's levels;
+- the deadlines of recommendations are now set with a date picker in the fourth
+ step (#98);
+- Removed the filter on the checkbox of the step 3 to display the dashboard of
+ residual risk (#99);
+- the column 'phone' has been removed from the 'users' table and in the models.
+ The application must store the minimum amount of information required on
+ users;
+- Validate recommendations for operational risks (#102);
+- the translations have been improved.
+
+### Fix
+
+- Operational risks are not updated (#93);
+- In the 4th deliverable, an inherited risk is displayed at -1 and in red
+ color (#100);
+- Fixed a problem with some translations in the legends of the report's graphs;
+- Removal of a recommendation on same risk of different assets of the same type
+ (#92).
+
+
+## 2.4.1 (2018-05-30)
+
+### Enhancement
+
+- the dashboard has been improved with more interactive graphs;
+- the dashboard view is now part of the analysis. The home page of MONARC
+ simply lists the projects.
+
+### Fix
+
+- Removal of a recommendation on same risk of different asset of the same type
+ (#92);
+- Order of operational risks (#88).
+
+
+## 2.4.0 (2018-05-14)
+
+### New
+
+- the dashboard of MONARC has been entirely revamped and is now using D3.js;
+- the version of MONARC is specified in all exported objects.
+
+### Fix
+
+- restart from an existing analysis (#87);
+- order of operational risks (#88).
+
+
+## 2.3.0 (2018-04-27)
+
+### New
+
+- an administrator of a MONARC front office instance is now able to set custom
+ templates for deliveries per step.
+
+### Enhancement
+
+- default deliveries templates were improved;
+- the section dedicated to the management of the organization has been moved in
+ a dedicated view;
+- improved the switching between the different available languages;
+- improved the generation of the deliveries.
+
+### Fix
+
+- fixed a bug in the generation of the deliveries (#84);
+- Inconsistency of Threat and Vulnerability Tables (#82);
+- various minor fixes.
+
+
## 2.2.1 (2018-02-14)
### Enhancement
diff --git a/INSTALL/INSTALL.ubuntu1604.md b/INSTALL/INSTALL.ubuntu1604.md
new file mode 100644
index 0000000..4789206
--- /dev/null
+++ b/INSTALL/INSTALL.ubuntu1604.md
@@ -0,0 +1,187 @@
+Installation on Ubuntu 16.04
+============================
+
+# 1. Install LAMP & dependencies
+
+## Install the dependencies
+
+ $ sudo apt-get install vim zip unzip git gettext curl net-tools gsfonts curl
+
+Some might already be installed.
+
+## Install MariaDB
+
+ $ sudo apt-get install mariadb-client mariadb-server
+
+# Secure the MariaDB installation
+
+ $ sudo mysql_secure_installation
+
+Especially by setting a strong root password.
+
+## Install Apache2
+
+ $ sudo apt-get install apache2 apache2-doc apache2-utils
+
+## Enable modules, settings, and default of SSL in Apache
+
+ $ sudo a2dismod status
+ $ sudo a2enmod ssl
+ $ sudo a2enmod rewrite
+ $ sudo a2enmod headers
+
+## Apache Virtual Host
+
+
+ ServerName monarc.localhost
+ DocumentRoot /var/lib/monarc/fo/public
+
+
+ DirectoryIndex index.php
+ AllowOverride All
+ Require all granted
+
+
+ SetEnv APPLICATION_ENV "development"
+
+
+
+## Install PHP and dependencies
+
+ $ sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mcrypt php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip
+
+## Apply all changes
+
+ $ sudo systemctl restart apache2.service
+
+
+
+# 2. Installation of MONARC
+
+## MONARC code
+
+Clone the repository and invoke `composer` using the shipped `composer.phar`:
+
+ $ cd /var/lib/monarc/
+ $ git clone https://github.com/monarc-project/MonarcAppFO.git fo
+ $ cd fo/
+ $ chown -R www-data data
+ $ chmod -R g+w data
+ $ php composer.phar self-update
+ $ php composer.phar install -o
+
+The `self-update` directive is to ensure you have an up-to-date `composer.phar`
+available.
+
+
+### Backend
+
+The backend is not directly modules of the project but libraries.
+You must create modules with symbolic links to libraries.
+
+Create two symbolic links:
+
+ $ mkdir module
+ $ cd module/
+ $ ln -s ./../vendor/monarc/core MonarcCore
+ $ ln -s ./../vendor/monarc/frontoffice MonarcFO
+
+There are 2 parts:
+
+* MonarcFO is only for front office;
+* MonarcCore is common to the front office and to the back office.
+
+
+### Frontend
+
+The frontend is an AngularJS application.
+
+ $ mkdir node_modules
+ $ cd node_modules
+ $ git clone https://github.com/monarc-project/ng-client.git ng_client
+ $ git clone https://github.com/monarc-project/ng-anr.git ng_anr
+
+There are 2 parts:
+
+* one only for front office: ng_client;
+* one common for front office and back office: ng_anr.
+
+
+## Databases
+
+### Change SQL Mode in my.cnf
+
+ [mysqld]
+ sql-mode = MYSQL40
+
+### Create 2 databases
+
+ CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+* monarc_common contains models and data created by CASES;
+* monarc_cli contains all client risk analyses. Each analysis is based on CASES
+ model of monarc_common.
+
+### Initializes the database
+
+ $ mysql -u user monarc_common < db-bootstrap/monarc_structure.sql
+ $ mysql -u user monarc_common < db-bootstrap/monarc_data.sql
+
+### Database connection
+
+Create the configuration file:
+
+ $ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
+
+And configure the database connection:
+
+ return array(
+ 'doctrine' => array(
+ 'connection' => array(
+ 'orm_default' => array(
+ 'params' => array(
+ 'host' => 'host',
+ 'user' => 'user',
+ 'password' => 'password',
+ 'dbname' => 'monarc_common',
+ ),
+ ),
+ 'orm_cli' => array(
+ 'params' => array(
+ 'host' => 'host',
+ 'user' => 'user',
+ 'password' => 'password',
+ 'dbname' => 'monarc_cli',
+ ),
+ ),
+ ),
+ ),
+ );
+
+
+
+# Update MONARC
+
+## Install Grunt
+
+ $ sudo apt-get install nodejs
+ $ sudo apt-get install npm
+ $ sudo npm install -g grunt-cli
+ $ sudo ln -s /usr/bin/nodejs /usr/bin/node
+
+
+Update MONARC:
+
+ $ ./scripts/update-all.sh
+
+This script will retrieve the updates from the last stable release of MONARC,
+execute the database migration scripts and compile the translations.
+
+
+# Create initial user
+
+ $ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
+
+
+The username is *admin@admin.test* and the password is *admin*.
diff --git a/INSTALL/INSTALL.ubuntu1704.md b/INSTALL/INSTALL.ubuntu1704.md
deleted file mode 100644
index 2127c90..0000000
--- a/INSTALL/INSTALL.ubuntu1704.md
+++ /dev/null
@@ -1,243 +0,0 @@
-Installation on Ubuntu 17.04
-============================
-
-The master branch should always be working and it is recommended to install the
-project using this one.
-
-If you have already installed MONARC and want to upgrade to a later version, you
-can use the provided script:
-
- $ ./scripts/update-all.sh
- $ sudo systemctl restart apache2
-
-
-
-PHP & MySQL
------------
-
-Install PHP (version 7.0 recommended) with extensions : *xml*, *mbstring*,
-*mysql*, *zip*, *unzip*, *mcrypt*, *intl*, *gettext* and *imagick*.
-
-In __php.ini__, set:
-
-* *upload_max_filesize* to 200M;
-* *post_max_size* to 50M;
-* *memory_limit* to 512M (snapshots of important risk analysis requires more
- memory).
-
-Install Apache and enable mods: *rewrite*, *ssl* (with a2enmod)
-
-Install MariaDB.
-
-
-Installation of MONARC
-----------------------
-
-Clone the repository and invoke `composer` using the shipped `composer.phar`:
-
- git clone https://github.com/monarc-project/MonarcAppFO.git ./monarc
- cd monarc/
- chown -R www-data data
- chmod -R g+w data
- php composer.phar self-update
- php composer.phar install -o
-
-(The `self-update` directive is to ensure you have an up-to-date `composer.phar`
-available.)
-
-![Arbo](pictures/arbo1.png "Arbo")
-
-
-Databases
----------
-Create 2 databases:
-
- CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-
-Change SQL Mode in my.cnf:
-
- [mysqld]
- sql-mode = MYSQL40
-
-There are 2 databases:
-
-* monarc_common contains models and data created by CASES;
-* monarc_cli contains all client risk analyses. Each analysis is based on CASES
- model of monarc_common.
-
-Populate the monarc_common database:
-
- mysql -u user monarc_common < db-bootstrap/monarc_structure.sql
- mysql -u user monarc_common < db-bootstrap/monarc_data.sql
-
-
-API
----
-
-The project is composed of 2 parts:
-
-* an API in charge of retrieving data;
-* an interface which displays data.
-
-The API is not directly modules of the project but libraries.
-You must create modules with symbolic links to libraries.
-Create 2 symbolic links in the root of project directory:
-
- mkdir module
- cd module/
- ln -s ./../vendor/monarc/core MonarcCore
- ln -s ./../vendor/monarc/frontoffice MonarcFO
-
-There are 2 parts:
-
-* one only for front office;
-* one common for front office and back office (private project).
-
-It is developed with Zend framework 2.
-
-![Arbo](pictures/arbo2.png "Arbo")
-
-
-Interfaces
-----------
-
-Repository for Angular at the root of the project:
-
- mkdir node_modules
- cd node_modules
- git clone https://github.com/monarc-project/ng-client.git ng_client
- git clone https://github.com/monarc-project/ng-anr.git ng_anr
-
-There are 2 parts:
-* one only for front office: ng_client;
-* one common for front office and back office: ng_anr.
-
-It is developed with Angular framework version 1.
-
-![Arbo](pictures/arbo3.png "Arbo")
-
-
-Web Server Setup
-----------------
-
-### PHP CLI Server
-
-The simplest way to get started if you are using PHP 5.4 or above is to start
-the internal PHP cli-server in the root directory:
-
- php -S 0.0.0.0:8080 -t public/ public/index.php
-
-This will start the cli-server on port 8080, and bind it to all network
-interfaces.
-
-Note: The built-in CLI server is **for development only**.
-
-### Apache Setup
-
-To setup Apache, setup a virtual host to point to the public/ directory of the
-project and you should be ready to go! It should look something like below:
-
-
- ServerName monarc.localhost
- DocumentRoot /path/to/monarc/public
- SetEnv APPLICATION_ENV "development"
-
- DirectoryIndex index.php
- AllowOverride All
- Require all granted
-
-
-
-
-Database connection
--------------------
-
-Create file `config/autoload/local.php`:
-
- return array(
- 'doctrine' => array(
- 'connection' => array(
- 'orm_default' => array(
- 'params' => array(
- 'host' => 'host',
- 'user' => 'user',
- 'password' => 'password',
- 'dbname' => 'monarc_common',
- ),
- ),
- 'orm_cli' => array(
- 'params' => array(
- 'host' => 'host',
- 'user' => 'user',
- 'password' => 'password',
- 'dbname' => 'monarc_cli',
- ),
- ),
- ),
- ),
- );
-
-
-Configuration
--------------
-
-Create configuration file
-
- sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
-
-Update connection information to *local.php* and *global.php*.
-
-Configuration files are stored in cache.
-If your changes have not been considered, empty cache by deleting file in
-/data/cache
-
-Install Grunt
--------------
-
- sudo apt-get install nodejs
- sudo apt-get install npm
- sudo npm install -g grunt-cli
- sudo ln -s /usr/bin/nodejs /usr/bin/node
-
-
-Update MONARC
--------------
-
-Play script (mandatory from the root of the project):
-
- /bin/bash ./scripts/update-all.sh
-
-This script will retrieve the updates from the last stable release of MONARC.
-
-It uses others shell scripts. You may need to change the access rights of those
-scripts.
-
-Before updating MONARC it is advised to configure database backup. For that you
-just need to create a file _data/backup/credentialsmysql.cnf_:
-
- [client]
- host = localhost
- user = sql-monarc-user
- password = your-password
- socket = /var/run/mysqld/mysqld.sock
- [mysql_upgrade]
- host = localhost
- user = sql-monarc-user
- password = your-password
- socket = /var/run/mysqld/mysqld.sock
- basedir = /usr
-
-If this file is not present, a warning message will be displayed during the
-upgrade.
-
-
-Create Initial User and Client
-------------------------------
-
-Create first user:
-
- php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
-
-
-The username is *admin@admin.test* and the password is *admin*.
diff --git a/INSTALL/INSTALL.ubuntu1804.md b/INSTALL/INSTALL.ubuntu1804.md
new file mode 100644
index 0000000..fd09ee9
--- /dev/null
+++ b/INSTALL/INSTALL.ubuntu1804.md
@@ -0,0 +1,179 @@
+Installation on Ubuntu 18.04
+============================
+
+# 1. Install LAMP & dependencies
+
+## Install the dependencies
+
+ $ sudo apt-get install vim zip unzip git gettext curl
+
+Some might already be installed.
+
+## Install MariaDB
+
+ $ sudo apt-get install mariadb-client mariadb-server
+
+# Secure the MariaDB installation
+
+ $ sudo mysql_secure_installation
+
+Especially by setting a strong root password.
+
+## Install Apache2
+
+ $ sudo apt-get install apache2
+
+## Enable modules, settings, and default of SSL in Apache
+
+ $ sudo a2dismod status
+ $ sudo a2enmod ssl
+ $ sudo a2enmod rewrite
+ $ sudo a2enmod headers
+
+## Apache Virtual Host
+
+
+ ServerName monarc.localhost
+ DocumentRoot /var/lib/monarc/fo/public
+
+
+ DirectoryIndex index.php
+ AllowOverride All
+ Require all granted
+
+
+ SetEnv APPLICATION_ENV "development"
+
+
+
+## Install PHP and dependencies
+
+ $ sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip
+
+## Apply all changes
+
+ $ sudo systemctl restart apache2.service
+
+
+
+# 2. Installation of MONARC
+
+## MONARC code
+
+Clone the repository and invoke `composer` using the shipped `composer.phar`:
+
+ $ cd /var/lib/monarc/
+ $ git clone https://github.com/monarc-project/MonarcAppFO.git fo
+ $ cd fo/
+ $ chown -R www-data data
+ $ chmod -R g+w data
+ $ sudo composer self-update
+ $ composer install -o
+
+The `self-update` directive is to ensure you have an up-to-date `composer.phar`
+available.
+
+
+### Backend
+
+The backend is not directly modules of the project but libraries.
+You must create modules with symbolic links to libraries.
+
+Create two symbolic links:
+
+ $ mkdir module
+ $ cd module/
+ $ ln -s ./../vendor/monarc/core MonarcCore
+ $ ln -s ./../vendor/monarc/frontoffice MonarcFO
+
+There are 2 parts:
+
+* MonarcFO is only for front office;
+* MonarcCore is common to the front office and to the back office.
+
+
+### Frontend
+
+The frontend is an AngularJS application.
+
+ $ mkdir node_modules
+ $ cd node_modules
+ $ git clone https://github.com/monarc-project/ng-client.git ng_client
+ $ git clone https://github.com/monarc-project/ng-anr.git ng_anr
+
+There are 2 parts:
+
+* one only for front office: ng_client;
+* one common for front office and back office: ng_anr.
+
+
+## Databases
+
+### Create 2 databases
+
+In your MariaDB interpreter:
+
+ CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+* monarc_common contains models and data created by CASES;
+* monarc_cli contains all client risk analyses. Each analysis is based on CASES
+ model of monarc_common.
+
+### Initializes the database
+
+ $ mysql -u user monarc_common < db-bootstrap/monarc_structure.sql
+ $ mysql -u user monarc_common < db-bootstrap/monarc_data.sql
+
+### Database connection
+
+Create the configuration file:
+
+ $ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
+
+And configure the database connection:
+
+ return array(
+ 'doctrine' => array(
+ 'connection' => array(
+ 'orm_default' => array(
+ 'params' => array(
+ 'host' => 'host',
+ 'user' => 'user',
+ 'password' => 'password',
+ 'dbname' => 'monarc_common',
+ ),
+ ),
+ 'orm_cli' => array(
+ 'params' => array(
+ 'host' => 'host',
+ 'user' => 'user',
+ 'password' => 'password',
+ 'dbname' => 'monarc_cli',
+ ),
+ ),
+ ),
+ ),
+ );
+
+
+
+# Update MONARC
+
+## Install Grunt
+
+ $ sudo apt-get -y install npm
+ $ npm install -g grunt-cli
+
+
+Update MONARC:
+
+ $ ./scripts/update-all.sh
+
+
+# Create initial user
+
+ $ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/MonarcFO/migrations/phinx.php
+
+
+The username is *admin@admin.test* and the password is *admin*.
diff --git a/README.md b/README.md
index d7e914e..4372d0a 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ expertise is a barrier for many companies, especially SMEs.
To remedy this situation and allow all organisations, both large and small, to
benefit from the advantages that a risk analysis offers, CASES has developed an
-optimised risk analysis method: [MONARC](http://www.monarc.lu)
+optimised risk analysis method: [MONARC](https://www.monarc.lu)
(**Optimised Risk Analysis Method**), allowing precise and repeatable risk
management.
@@ -37,25 +37,24 @@ Documentation
-------------
You will find a user guide and a technical guide on the
-[MONARC website](http://monarc.lu/).
+[MONARC website](https://www.monarc.lu/documentation).
For installation instructions see
[INSTALL](https://github.com/monarc-project/MonarcAppFO/tree/master/INSTALL).
-If you want to test MONARC you can use the
-[latest release](https://github.com/monarc-project/MonarcAppFO/releases/latest)
-available as a VirtualBox machine.
+You can also use the provided Virtual Machine
+[Virtual Machine](https://github.com/monarc-project/MonarcAppFO/releases/latest).
Contributing
------------
If you are interested to contribute to the MONARC project, review our
-[community page](http://monarc.lu/community).
+[community page](https://www.monarc.lu/community).
There are many ways to contribute and participate to the project.
Feel free to fork the code, play with it, make some patches and send us the pull
-requests via the [issues](https://github.com/monarc-project/MonarcAppFO/issues).
+requests.
There is one main branch: what we consider as stable with frequent updates as
hot-fixes.
@@ -65,7 +64,7 @@ master stable branch.
Please, do not open directly a GitHub issue if you think you have found a
security vulnerability. See our
-[vulnerability disclosure](http://monarc.lu/vulnerability-disclosure)
+[vulnerability disclosure](https://www.monarc.lu/community/vulnerability-disclosure/)
page.
@@ -85,7 +84,8 @@ This software is licensed under
For more information, [the list of authors and contributors](AUTHORS) is available.
-Disclaimer: This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.
-See the GNU Affero General Public License for more details.
+Data provided with MONARC (threats, assets, vulnerabilities) are licensed under
+[CC0 1.0 Universal (CC0 1.0)](https://creativecommons.org/publicdomain/zero/1.0/) - Public Domain Dedication.
+If a specific author wants to license an object under a different license,
+a pull request can be requested.
+
diff --git a/VERSION.json b/VERSION.json
index 9fdedf7..2048e3c 100644
--- a/VERSION.json
+++ b/VERSION.json
@@ -1 +1 @@
-{"major":2, "minor":2, "hotfix":1}
+{"major":2, "minor":7, "hotfix":3}
diff --git a/config/autoload/local.php.dist b/config/autoload/local.php.dist
index 9c855bb..bd6732b 100644
--- a/config/autoload/local.php.dist
+++ b/config/autoload/local.php.dist
@@ -83,6 +83,11 @@ return array(
*/
'activeLanguages' => array('fr','en','de','ne',),
+ 'appVersion' => $package_json['version'],
+
+ 'checkVersion' => true,
+ 'appCheckingURL' => 'https://version.monarc.lu/check/MONARC',
+
'email' => [
'name' => 'MONARC',
'from' => 'info@monarc.lu',
diff --git a/deliveries/cases/DE/1.docx b/deliveries/cases/DE/1.docx
index 4f0e1a1..5d6b958 100644
Binary files a/deliveries/cases/DE/1.docx and b/deliveries/cases/DE/1.docx differ
diff --git a/deliveries/cases/DE/2.docx b/deliveries/cases/DE/2.docx
index 6af8d02..354b721 100644
Binary files a/deliveries/cases/DE/2.docx and b/deliveries/cases/DE/2.docx differ
diff --git a/deliveries/cases/DE/3.docx b/deliveries/cases/DE/3.docx
index 0105647..d080b63 100644
Binary files a/deliveries/cases/DE/3.docx and b/deliveries/cases/DE/3.docx differ
diff --git a/deliveries/cases/EN/1.docx b/deliveries/cases/EN/1.docx
index d3f9c55..6345527 100644
Binary files a/deliveries/cases/EN/1.docx and b/deliveries/cases/EN/1.docx differ
diff --git a/deliveries/cases/EN/2.docx b/deliveries/cases/EN/2.docx
index 5ede069..d3f23cb 100644
Binary files a/deliveries/cases/EN/2.docx and b/deliveries/cases/EN/2.docx differ
diff --git a/deliveries/cases/EN/3.docx b/deliveries/cases/EN/3.docx
index eb4ee16..7975161 100644
Binary files a/deliveries/cases/EN/3.docx and b/deliveries/cases/EN/3.docx differ
diff --git a/deliveries/cases/FR/1.docx b/deliveries/cases/FR/1.docx
index 66acb00..600b3c3 100644
Binary files a/deliveries/cases/FR/1.docx and b/deliveries/cases/FR/1.docx differ
diff --git a/deliveries/cases/FR/2.docx b/deliveries/cases/FR/2.docx
index ec15fff..fc062f1 100644
Binary files a/deliveries/cases/FR/2.docx and b/deliveries/cases/FR/2.docx differ
diff --git a/deliveries/cases/FR/3.docx b/deliveries/cases/FR/3.docx
index 64cc38b..2b30489 100755
Binary files a/deliveries/cases/FR/3.docx and b/deliveries/cases/FR/3.docx differ
diff --git a/deliveries/cases/NE/1.docx b/deliveries/cases/NE/1.docx
index d3f9c55..4eeb1cf 100644
Binary files a/deliveries/cases/NE/1.docx and b/deliveries/cases/NE/1.docx differ
diff --git a/deliveries/cases/NE/2.docx b/deliveries/cases/NE/2.docx
index 5ede069..99e1d46 100644
Binary files a/deliveries/cases/NE/2.docx and b/deliveries/cases/NE/2.docx differ
diff --git a/deliveries/cases/NE/3.docx b/deliveries/cases/NE/3.docx
index eb4ee16..7f64680 100644
Binary files a/deliveries/cases/NE/3.docx and b/deliveries/cases/NE/3.docx differ
diff --git a/deliveries/cases/NE/4.docx b/deliveries/cases/NE/4.docx
index 78dc61c..a1918de 100644
Binary files a/deliveries/cases/NE/4.docx and b/deliveries/cases/NE/4.docx differ
diff --git a/package.json b/package.json
index 66fa477..a4f3ebd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "MONARC",
- "version": "2.2.1",
+ "version": "2.7.3",
"description": "MONARC Frontoffice App",
"private": true,
"repository": {
diff --git a/scripts/link_modules_resources.sh b/scripts/link_modules_resources.sh
index 7d17683..d2aabdb 100755
--- a/scripts/link_modules_resources.sh
+++ b/scripts/link_modules_resources.sh
@@ -12,6 +12,13 @@ if [ ! -d public/css ]; then
else
find -L public/css -type l -exec rm {} \;
fi
+
+if [ ! -d public/flags ]; then
+ mkdir public/flags
+else
+ find -L public/flags -type l -exec rm {} \;
+fi
+
if [ ! -d public/views/dialogs ]; then
mkdir -p public/views/dialogs
else
@@ -38,6 +45,7 @@ if [ -d node_modules/ng_backoffice ]; then
cd ../../js/ && find ../../node_modules/ng_backoffice/src -maxdepth 1 -name "*" -exec ln -s {} \; 2>/dev/null
cd ../css/ && find ../../node_modules/ng_backoffice/css -name "*" -exec ln -s {} \; 2>/dev/null
cd ../img/ && find ../../node_modules/ng_backoffice/img -name "*" -exec ln -s {} \; 2>/dev/null
+ cd ../flags/ && find ../../node_modules/ng_backoffice/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
if [ -d ../../node_modules/ng_anr ]; then
cd ../js/
@@ -69,6 +77,7 @@ if [ -d node_modules/ng_client ]; then
cd ../../js/ && find ../../node_modules/ng_client/src -name "*" -exec ln -s {} \; 2>/dev/null
cd ../css/ && find ../../node_modules/ng_client/css -name "*" -exec ln -s {} \; 2>/dev/null
cd ../img/ && find ../../node_modules/ng_client/img -name "*" -exec ln -s {} \; 2>/dev/null
+ cd ../flags/ && find ../../node_modules/ng_client/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
if [ -d ../../node_modules/ng_anr ]; then
cd ../js/
@@ -93,4 +102,3 @@ if [ -d node_modules/ng_client ]; then
grunt concat
popd
fi
-
diff --git a/vagrant/README.rst b/vagrant/README.rst
index a6e7c35..4951b4b 100644
--- a/vagrant/README.rst
+++ b/vagrant/README.rst
@@ -20,7 +20,7 @@ Installation of VirtualBox and Vagrant
Deployment of the front office
------------------------------
-MONARC will be automatically deployed in an Ubuntu Artful Server.
+MONARC will be automatically deployed in an Ubuntu Bionic Server.
.. code-block:: bash
diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile
index 0dda968..ec53b08 100644
--- a/vagrant/Vagrantfile
+++ b/vagrant/Vagrantfile
@@ -10,8 +10,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
- #config.vm.box = "bento/ubuntu-16.04"
- config.vm.box = "fso/artful64"
+ config.vm.box = "ubuntu/bionic64"
config.vm.provision :shell, path: "bootstrap.sh", args: "#{ENV['GITHUB_AUTH_TOKEN']}"
# Disable automatic box update checking. If you disable this, then
@@ -54,7 +53,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
#
# # Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "1024"]
- vb.customize ["modifyvm", :id, "--name", "MONARC FO - Ubuntu 17.10 - DEV"]
+ vb.customize ["modifyvm", :id, "--name", "MONARC FO - Ubuntu 18.04 - DEV"]
end
#
# View the documentation for the provider you're using for more
diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh
index eaeb555..b59d17e 100644
--- a/vagrant/bootstrap.sh
+++ b/vagrant/bootstrap.sh
@@ -3,14 +3,9 @@
# Variables
GITHUB_AUTH_TOKEN=$1
-BRANCH='master'
-#BRANCH='v0.1'
-#TAG='v0.1'
TAG=''
PATH_TO_MONARC='/home/ubuntu/monarc'
-
-APPENV='local'
ENVIRONMENT='PRODUCTION'
DBHOST='localhost'
@@ -26,7 +21,7 @@ post_max_size=50M
max_execution_time=100
max_input_time=223
memory_limit=512M
-PHP_INI=/etc/php/7.1/apache2/php.ini
+PHP_INI=/etc/php/7.2/apache2/php.ini
export DEBIAN_FRONTEND=noninteractive
export LANGUAGE=en_US.UTF-8
@@ -41,17 +36,42 @@ echo -e "\n--- Updating packages list… ---\n"
apt-get update
echo -e "\n--- Install base packages… ---\n"
-apt-get -y install vim zip unzip git gettext > /dev/null
+apt-get -y install vim zip unzip git gettext curl > /dev/null
echo -e "\n--- Install MariaDB specific packages and settings… ---\n"
-echo "mysql-server mysql-server/root_password password $DBPASSWORD_ADMIN" | debconf-set-selections
-echo "mysql-server mysql-server/root_password_again password $DBPASSWORD_ADMIN" | debconf-set-selections
+# echo "mysql-server mysql-server/root_password password $DBPASSWORD_ADMIN" | debconf-set-selections
+# echo "mysql-server mysql-server/root_password_again password $DBPASSWORD_ADMIN" | debconf-set-selections
apt-get -y install mariadb-server mariadb-client > /dev/null
+# Secure the MariaDB installation (especially by setting a strong root password)
systemctl restart mariadb.service > /dev/null
sleep 5
+apt-get -y install expect > /dev/null
+## do we need to spawn mysql_secure_install with sudo in future?
+expect -f - <<-EOF
+ set timeout 10
+ spawn mysql_secure_installation
+ expect "Enter current password for root (enter for none):"
+ send -- "\r"
+ expect "Set root password?"
+ send -- "y\r"
+ expect "New password:"
+ send -- "${DBPASSWORD_ADMIN}\r"
+ expect "Re-enter new password:"
+ send -- "${DBPASSWORD_ADMIN}\r"
+ expect "Remove anonymous users?"
+ send -- "y\r"
+ expect "Disallow root login remotely?"
+ send -- "y\r"
+ expect "Remove test database and access to it?"
+ send -- "y\r"
+ expect "Reload privilege tables now?"
+ send -- "y\r"
+ expect eof
+EOF
+sudo apt-get purge -y expect > /dev/null 2>&1
echo -e "\n--- Installing PHP-specific packages… ---\n"
-apt-get -y install php apache2 libapache2-mod-php php-curl php-gd php-mcrypt php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip > /dev/null
+apt-get -y install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-apcu php-xml php-mbstring php-intl php-imagick php-zip > /dev/null
echo -e "\n--- Configuring PHP… ---\n"
for key in upload_max_filesize post_max_size max_execution_time max_input_time memory_limit
@@ -143,11 +163,7 @@ cat > /etc/apache2/sites-enabled/000-default.conf <
SetEnv APPLICATION_ENV $ENVIRONMENT
- SetEnv APP_ENV $APPENV
SetEnv APP_DIR $PATH_TO_MONARC
- SetEnv DB_HOST $DBHOST
- SetEnv DB_USER $DBUSER_MONARC
- SetEnv DB_PASS $DBPASSWORD_MONARC
EOF
echo -e "\n--- Restarting Apache… ---\n"
@@ -206,6 +222,9 @@ return array(
'appVersion' => \$package_json['version'],
+ 'checkVersion' => false,
+ 'appCheckingURL' => 'https://version.monarc.lu/check/MONARC',
+
'email' => [
'name' => 'MONARC',
'from' => 'info@monarc.lu',
@@ -228,8 +247,7 @@ mysql -u $DBUSER_MONARC -p$DBPASSWORD_MONARC monarc_common < db-bootstrap/monarc
echo -e "\n--- Installation of Grunt… ---\n"
-apt-get -y install nodejs > /dev/null
-apt-get -y install npm > /dev/null
+sudo apt-get -y install npm > /dev/null
npm install -g grunt-cli > /dev/null