1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/noalyss_ynh.git synced 2024-09-03 19:46:20 +02:00

Merge pull request #20 from YunoHost-Apps/testing

Testing
This commit is contained in:
Éric Gaspar 2021-08-29 18:39:10 +02:00 committed by GitHub
commit b63fd6c805
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 103 additions and 235 deletions

View file

@ -1,3 +1,8 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
# Noalyss for YunoHost # Noalyss for YunoHost
[![Integration level](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg) [![Integration level](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg)
@ -5,58 +10,33 @@
*[Lire ce readme en français.](./README_fr.md)* *[Lire ce readme en français.](./README_fr.md)*
> *This package allow you to install Noalyss quickly and simply on a YunoHost server. > *This package allows you to install Noalyss quickly and simply on a YunoHost server.
If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
## Overview ## Overview
[Noalyss](http://noalyss.eu) is a belgian and french accountant software available in english, dutch and french.
**Included version:** 8.1.0.1 Accounting free software (Beligum and French accounting)
**Shipped version:** 8.1.0.1~ynh2
**Demo:** http://demo.noalyss.eu/index.php
## Screenshots ## Screenshots
![](https://framalibre.org/sites/default/files/S%C3%A9lection_099_0.png) ![](./doc/screenshots/Sélection_099_0.png)
## Demo ## Disclaimers / important information
* [Official demo](http://demo.noalyss.eu/index.php)
## Configuration ## Configuration
At the end of the installation process, you need to open `https://domain/noalyss/install.php` to start using it. At the end of the installation process, you need to open `https://domain/noalyss/install.php` to start using it.
## Documentation ## Documentation and resources
* Official documentation: https://wiki.noalyss.eu/doku.php * Official app website: http://noalyss.eu
* Official admin documentation: https://wiki.noalyss.eu/doku.php
## YunoHost specific features * YunoHost documentation for this app: https://yunohost.org/app_noalyss
* Report a bug: https://github.com/YunoHost-Apps/noalyss_ynh/issues
#### Multi-users support
* There is no LDAP integration. Users are handeled within the application.
* Multiple users and accountant books is possible. Access rights are done within Noalyss.
#### Supported architectures
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/noalyss/)
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/noalyss/)
## Limitations
* Any known limitations.
## Additional information
* Other info you would like to add about this app.
## Links
* Report a bug: https://github.com/YunoHost-Apps/noalyss_ynh/issues
* App website: https://www.noalyss.eu/
* Upstream app repository: Link to the official repository of the upstream app.
* YunoHost website: https://yunohost.org/
---
## Developer info ## Developer info
@ -68,3 +48,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/noalyss_ynh/tree/test
or or
sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug
``` ```
**More info regarding app packaging:** https://yunohost.org/packaging_apps

View file

@ -1,120 +1,38 @@
## Noalyss pour Yunohost # Noalyss pour YunoHost
[![Integration level](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg) [![Niveau d'intégration](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg)
[![Installer noalyss avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=noalyss) [![Installer Noalyss avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=noalyss)
*[Read this readme in english.](./README.md)* *[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer Noalyss rapidement et simplement sur un serveur Yunohost. > *Ce package vous permet d'installer Noalyss rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
### Vue d'ensemble ## Vue d'ensemble
[Noalyss](http://noalyss.eu) est une application de comptabilité belge et française que vous pourrez modifier suivant vos envies. L'interface est disponible en anglais, français et néerlandais. Logiciel libre de comptabilité (comptabilité Belge et Française)
**Version incluse:** 8.1.0.1 **Version incluse :** 8.1.0.1~ynh2
### Captures d'écran **Démo :** http://demo.noalyss.eu/index.php
![](https://framalibre.org/sites/default/files/S%C3%A9lection_099_0.png) ## Captures d'écran
### Démo ![](./doc/screenshots/Sélection_099_0.png)
* [Démo officielle](http://demo.noalyss.eu/index.php) ## Avertissements / informations importantes
### Configuration ### Configuration
À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalysse/install.php` pour terminer la procédure. À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalyss/install.php` pour terminer la procédure.
### Documentation ## Documentations et ressources
* Documentation officielle : https://wiki.noalyss.eu/doku.php * Site officiel de l'app : http://noalyss.eu
* Documentation YunoHost : * Documentation officielle de l'admin : https://wiki.noalyss.eu/doku.php
* Documentation YunoHost pour cette app : https://yunohost.org/app_noalyss
### Caractéristiques spécifiques YunoHost * Signaler un bug : https://github.com/YunoHost-Apps/noalyss_ynh/issues
##### Support multi-utilisateurs
* Pas d'authentification LDAP, les utilisateur·ice·s sont gérés dans l'application.
* Plusieurs utilisateur·ice·s sont donc possibles et disponibles pour les différents dossiers comptables. Une gestion des accès est prise en charge dans Noalyss.
##### Architectures supportées
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/noalyss/)
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/noalyss/)
##### sur LIME2 (Ynh 3.2.1, sur carte microSD)
_(les essais portent sur install,backup,remove,restore)_
- OK sauf que le /install.php de Noalyss fait un 504 Gateway Time-out nginx alors que l'installation des table postgres est toujours en cours (après ±2 ou 3min)
- mais un refresh de /install.php affiche la page indiquant la fin d'installation et l'invite à supprimer l'install.php
- idem lorsqu'on crée un dossier comptable … sans le 504 mais renvoie une page blanche
- le refresh indique que le dossier existe déjà et il est fonctionnel mais j'ai attendu que les process postgress finissent leur travail
- pas de problème pour créer un user, ni se connecter
- donc en gros le **packaging fonctionne mais c'est nginx/php-fpm/postgress qui souffrent sur cette petite config**.
##### Sur VM 32bit avec Yunohost 3.6.5.3
_(les essais portent sur install,backup,remove,restore)_
- OK
##### Sur VM 64bit avec Yunohost 3.6.5.3
_(les essais portent sur install,backup,remove,restore)_
- OK
### Questions et Todos
##### Emails
- comment fonctionnent les mails avec Noalyss ?
##### PDF ?
voir : http://wiki.noalyss.eu/doku.php?id=installation:installation_sous_linux
- Pas de conversion en PDF (extension facturation et listing)
- Pas d'export en PDF des opérations de la comptabilité analytique avec les documents attachés
##### Quid des mises à jours ?
Pour Nextcloud par exemple il y a un dossier `upgrade.d` dans `scripts`. Mais si je ne me trompe, pour Noalyss il « suffit » de remplacer le dossier des sources.
##### À propos de la [LICENSE](./LICENSE)
- est-ce que reprendre la GPL de Noalyss est correcte ?
### Base de travail
[example_ynh](https://github.com/YunoHost/example_ynh) a été utilisé comme source(s) d'inspiration.
##### Les helpers de YunoHost
Disponibles dans `/data/helpers.d` de [Yunohost](https://github.com/YunoHost/yunohost/)
- J'ai utilisé le `psql` pour en faire une copie en tant que `_psql.sh` pour pouvoir créer de user noalyss de postgress avec les droits de createdb.
### Les sources de Noalyss
Il faut les sources de Noalyss et différentes versions sont disponibles. Actuellement les sources sont téléchargées lors de l'installation.
- [Version actuelle 7.2](http://download.noalyss.eu/derniere-version/)
- [Versions antérieures](http://download.noalyss.eu/noalyss-package/)
## Limitations
* Limitations connues.
## Informations additionnelles
* Autres informations que vous souhaitez ajouter sur cette application.
## Liens
* Signaler un bug : https://github.com/YunoHost-Apps/noalyss_ynh/issues
* Site de l'application : https://www.noalyss.eu/
* Dépôt de l'application principale : Lien vers le dépôt officiel de l'application principale.
* Site web YunoHost : https://yunohost.org/
---
## Informations pour les développeurs ## Informations pour les développeurs
@ -126,3 +44,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/noalyss_ynh/tree/test
ou ou
sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug
``` ```
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps

View file

@ -1,16 +1,11 @@
# See here for more information
# https://github.com/YunoHost/package_check#syntax-check_process-file
# Move this file from check_process.default to check_process when you have filled it.
;; Test complet ;; Test complet
; Manifest ; Manifest
domain="domain.tld" (DOMAIN) domain="domain.tld"
path="/path" (PATH) path="/path"
admin="john" (USER) admin="john"
language="fr" language="fr"
is_public=1 (PUBLIC|public=1|private=0) is_public=1
password="pass" password="strongpassword"
; Checks ; Checks
pkg_linter=1 pkg_linter=1
setup_sub_dir=1 setup_sub_dir=1

3
doc/DISCLAIMER.md Normal file
View file

@ -0,0 +1,3 @@
## Configuration
At the end of the installation process, you need to open `https://domain/noalyss/install.php` to start using it.

3
doc/DISCLAIMER_fr.md Normal file
View file

@ -0,0 +1,3 @@
### Configuration
À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalyss/install.php` pour terminer la procédure.

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View file

@ -6,8 +6,14 @@
"en": "Accounting free software (Beligum and French accounting)", "en": "Accounting free software (Beligum and French accounting)",
"fr": "Logiciel libre de comptabilité (comptabilité Belge et Française)" "fr": "Logiciel libre de comptabilité (comptabilité Belge et Française)"
}, },
"version": "8.1.0.1~ynh1", "version": "8.1.0.1~ynh2",
"url": "http://noalyss.eu", "url": "http://noalyss.eu",
"upstream": {
"license": "AGPL-3.0-only",
"website": "http://noalyss.eu",
"demo": "http://demo.noalyss.eu/index.php",
"admindoc": "https://wiki.noalyss.eu/doku.php"
},
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"maintainer": { "maintainer": {
"name": "datatierce", "name": "datatierce",
@ -15,7 +21,7 @@
"url": "https://computhings.be" "url": "https://computhings.be"
}, },
"requirements": { "requirements": {
"yunohost": ">= 4.1.7" "yunohost": ">= 4.2.4"
}, },
"multi_instance": false, "multi_instance": false,
"services": [ "services": [

View file

@ -67,6 +67,14 @@ ynh_app_setting_set --app=$app --key=db_name --value=$db_name
ynh_psql_test_if_first_run ynh_psql_test_if_first_run
ynh_psql_setup_db --db_user=$db_name --db_name=$db_name ynh_psql_setup_db --db_user=$db_name --db_name=$db_name
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=1
# Create a system user
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
#================================================= #=================================================
@ -76,6 +84,10 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path" ynh_setup_source --dest_dir="$final_path"
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -84,14 +96,6 @@ ynh_script_progression --message="Configuring NGINX web server..."
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_nginx_config ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=1
# Create a system user
ynh_system_user_create --username=$app
#================================================= #=================================================
# PHP-FPM CONFIGURATION # PHP-FPM CONFIGURATION
#================================================= #=================================================
@ -133,16 +137,6 @@ ynh_script_progression --message="Modifying $app config file..."
ynh_add_config --template="../conf/noalyss.conf" --destination="$final_path/include/config.inc.php" ynh_add_config --template="../conf/noalyss.conf" --destination="$final_path/include/config.inc.php"
#=================================================
# GENERIC FINALIZATION
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions to app files
chown -R $app: $final_path
chown $app: $final_path/include/constant.php
#================================================= #=================================================
# SETUP LOGROTATE # SETUP LOGROTATE
#================================================= #=================================================
@ -151,12 +145,6 @@ ynh_script_progression --message="Configuring log rotation..."
# Use logrotate to manage application logfile(s) # Use logrotate to manage application logfile(s)
ynh_use_logrotate ynh_use_logrotate
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
#=================================================
#yunohost service add $app --description "Accounting free software" --log "/var/log/$app/$app.log"
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT
#================================================= #=================================================

View file

@ -21,19 +21,6 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name db_user=$db_name
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
#===============#==================================
# STANDARD REMOVE
#=================================================
# REMOVE SERVICE FROM ADMIN PANEL
#=================================================
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
# if ynh_exec_warn_less yunohost service status $app >/dev/null
# then
# ynh_script_progression --message="Removing $app service integration..." --weight=1
# yunohost service remove $app
# fi
#================================================= #=================================================
# REMOVE THE POSTGRESQL DATABASE # REMOVE THE POSTGRESQL DATABASE
#================================================= #=================================================
@ -56,7 +43,7 @@ ynh_remove_app_dependencies
ynh_script_progression --message="Removing app main directory" ynh_script_progression --message="Removing app main directory"
# Remove the app directory securely # Remove the app directory securely
ynh_secure_remove "$final_path" ynh_secure_remove --file="$final_path"
#================================================= #=================================================
# REMOVE NGINX CONFIGURATION # REMOVE NGINX CONFIGURATION

View file

@ -35,8 +35,6 @@ db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd)
#================================================= #=================================================
ynh_script_progression --message="Validating restoration parameters..." ynh_script_progression --message="Validating restoration parameters..."
ynh_webpath_available $domain $path_url \
|| ynh_die "Path not available: ${domain}${path_url}"
test ! -d $final_path \ test ! -d $final_path \
|| ynh_die "There is already a directory: $final_path " || ynh_die "There is already a directory: $final_path "
@ -48,28 +46,24 @@ test ! -d $final_path \
ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring the app main directory..."
ynh_restore_file "$final_path"
#================================================= #=================================================
# RECREATE THE DEDICATED USER # RECREATE THE DEDICATED USER
#================================================= #=================================================
ynh_script_progression --message="Recreating the dedicated system user..." ynh_script_progression --message="Recreating the dedicated system user..."
# Create the dedicated user (if not existing) # Create the dedicated user (if not existing)
ynh_system_user_create $app ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# RESTORE USER RIGHTS # RESTORE THE APP MAIN DIR
#================================================= #=================================================
ynh_script_progression --message="Restoring the app main directory..."
# Restore permissions on app files ynh_restore_file --origin_path="$final_path"
chown -R $app: $final_path
chown $app: $final_path/include/constant.php chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# RESTORE THE PHP-FPM CONFIGURATION # RESTORE THE PHP-FPM CONFIGURATION

View file

@ -30,6 +30,20 @@ phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion)
upgrade_type=$(ynh_check_app_version_changed) upgrade_type=$(ynh_check_app_version_changed)
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=5
# Backup the current version of the app
ynh_backup_before_upgrade
ynh_clean_setup () {
# restore it if the upgrade fails
ynh_restore_upgradebackup
}
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors
#================================================= #=================================================
# ENSURE DOWNWARD COMPATIBILITY # ENSURE DOWNWARD COMPATIBILITY
#================================================= #=================================================
@ -55,18 +69,12 @@ if ynh_legacy_permissions_exists; then
fi fi
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # CREATE DEDICATED USER
#================================================= #=================================================
ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=5 ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
# Backup the current version of the app # Create a dedicated user (if not existing)
ynh_backup_before_upgrade ynh_system_user_create --username=$app --home_dir="$final_path"
ynh_clean_setup () {
# restore it if the upgrade fails
ynh_restore_upgradebackup
}
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
@ -93,6 +101,10 @@ then
ynh_secure_remove --file="$tmpdir" ynh_secure_remove --file="$tmpdir"
fi fi
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -108,14 +120,6 @@ ynh_script_progression --message="Upgrading dependencies..." --weight=2
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
# Create a dedicated user (if not existing)
ynh_system_user_create --username=$app
#================================================= #=================================================
# PHP-FPM CONFIGURATION # PHP-FPM CONFIGURATION
#================================================= #=================================================
@ -124,20 +128,6 @@ ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1
# Create a dedicated PHP-FPM config # Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low --package="$extra_php_dependencies" ynh_add_fpm_config --usage=low --footprint=low --package="$extra_php_dependencies"
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions to app files
chown -R $app: $final_path
chown $app: $final_path/include/constant.php
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
#=================================================
#yunohost service add $app --description "Accounting free software" --log "/var/log/$app/$app.log"
#================================================= #=================================================
# SETUP APPLICATION WITH CURL # SETUP APPLICATION WITH CURL
#================================================= #=================================================