From a55b130bd1f13e94a0e5ca37bc6e678594a27222 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Thu, 24 Mar 2022 21:01:11 +0100 Subject: [PATCH 01/10] Apply example_ynh --- .../ISSUE_TEMPLATE.md | 4 +- .github/PULL_REQUEST_TEMPLATE.md | 16 ++++ .gitignore | 2 - check_process | 9 ++- doc/.gitkeep | 0 doc/DESCRIPTION.md | 2 + doc/DESCRIPTION_fr.md | 1 + doc/DISCLAIMER.md | 8 ++ doc/DISCLAIMER_fr.md | 8 ++ doc/screenshots/.gitkeep | 0 manifest.json | 24 +++++- pull_request_template.md | 16 ---- scripts/backup | 7 -- scripts/change_url | 80 ------------------- scripts/install | 73 +++-------------- scripts/remove | 9 ++- scripts/restore | 35 +++----- scripts/upgrade | 76 ++++-------------- 18 files changed, 106 insertions(+), 264 deletions(-) rename issue_template.md => .github/ISSUE_TEMPLATE.md (94%) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .gitignore create mode 100644 doc/.gitkeep create mode 100644 doc/DESCRIPTION.md create mode 100644 doc/DESCRIPTION_fr.md create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/.gitkeep delete mode 100644 pull_request_template.md delete mode 100644 scripts/change_url diff --git a/issue_template.md b/.github/ISSUE_TEMPLATE.md similarity index 94% rename from issue_template.md rename to .github/ISSUE_TEMPLATE.md index 999b53b..2729a6b 100644 --- a/issue_template.md +++ b/.github/ISSUE_TEMPLATE.md @@ -8,7 +8,7 @@ about: When creating a bug report, please use the following template to provide 1. *Read this whole template first.* 2. *Determine if you are on the right place:* - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* - - *Otherwise, the issue may be due to ICEcoder itself. Refer to its documentation or repository for help.* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* - *When in doubt, post here and we will figure it out together.* 3. *Delete the italic comments as you write over them below, and remove this guide.* --- @@ -31,7 +31,7 @@ about: When creating a bug report, please use the following template to provide - *If you performed a command from the CLI, the command itself is enough. For example:* ```sh - sudo yunohost app install icecoder + sudo yunohost app install the_app ``` - *If you used the webadmin, please perform the equivalent command from the CLI first.* - *If the error occurs in your browser, explain what you did:* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op] diff --git a/check_process b/check_process index 407210f..3afbc14 100644 --- a/check_process +++ b/check_process @@ -2,8 +2,9 @@ ; pre-install sudo yunohost app install my_webapp -a domain=domain.tld&path=/site&admin=john&is_public=1&password=pass ; Manifest - domain="domain.tld" (DOMAIN) - app_id="my_webapp" (APP_ID) + app_id="my_webapp" + sub_path="/www" + path="/icecoder" ; Checks pkg_linter=1 setup_sub_dir=0 @@ -12,7 +13,11 @@ setup_private=0 setup_public=0 upgrade=1 + # upgrade=1 from_commit=CommitHash backup_restore=1 multi_instance=0 port_already_use=0 change_url=1 +;;; Options +Email= +Notification=none diff --git a/doc/.gitkeep b/doc/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..2d489ca --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1,2 @@ +A code editor in your browser. + diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md new file mode 100644 index 0000000..fe83a1f --- /dev/null +++ b/doc/DESCRIPTION_fr.md @@ -0,0 +1 @@ +Un éditeur de code dans votre navigateur. diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..4e4875a --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,8 @@ +## Limitations + +* If the editor's current folder is where the editor is, the editor's folder is visible in the file tree. + +## Additional information + +* You will need to configure things like password **directly** in the app. +* If you change the URL of this app, you don't change the real URL but the internal path (the process is the same as installation). diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..bc63433 --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,8 @@ +## Limitations + +* Si le dossier actuel de l'éditeur se trouve là où se trouve l'éditeur, le dossier de l'éditeur est visible dans l'arbre des fichiers. + +## Informations additionnelles + +* Vous devrez configurer des éléments comme le mot de passe **directement** dans l'application. +* Si vous changez l'URL de cette application, vous ne changez pas l'URL réelle mais le chemin interne (le processus est le même que pour l'installation). diff --git a/doc/screenshots/.gitkeep b/doc/screenshots/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/manifest.json b/manifest.json index fbb0d14..c25b1d3 100644 --- a/manifest.json +++ b/manifest.json @@ -8,13 +8,20 @@ }, "version": "8.1~ynh1", "url": "https://icecoder.net", + "upstream": { + "license": "AGPL-3.0-only", + "website": "https://icecoder.net", + "demo": "http://demo.icecoder.net/ICEcoder/", + "admindoc": "https://icecoder.net/manual", + "code": "https://github.com/icecoder/ICEcoder" + }, "license": "AGPL-3.0-only", "maintainer": { "name": "Stylix58", "email": "lateman-jpeg@outlook.fr" }, "requirements": { - "yunohost": ">= 4.1.3" + "yunohost": ">= 4.3.0" }, "multi_instance": true, "services": [ @@ -22,7 +29,7 @@ "php7.3-fpm" ], "arguments": { - "install" : [ + "install": [ { "name": "app_id", "type": "string", @@ -34,6 +41,19 @@ "en": "You can get the ID in Custom Webapp's settings.", "fr": "Vous pouvez obtenir l'ID dans les paramètres de la Custom Webapp." } + }, + { + "name": "sub_path", + "type": "path", + "ask": { + "en": "Indicate the name of the final_path subfolder containing the files accessible from your browser ", + "fr": "Indiquer le nom du sous-dossier du final_path contenant les fichiers accessibles depuis votre navigateur" + }, + "help": { + "en": "For example for Custom Webapp it is located in the /www subfolder.", + "fr": "Par exemple pour Custom Webapp il se situe dans le sous-dossier /www." + }, + "default": "/www" } ] } diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index fb2342a..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* (You can only do this with an opened Pull Request) diff --git a/scripts/backup b/scripts/backup index 3e23255..6d11483 100755 --- a/scripts/backup +++ b/scripts/backup @@ -25,19 +25,12 @@ ynh_print_info --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) -domain=$(ynh_app_setting_get --app=$app --key=domain) -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= ynh_print_info --message="Declaring files to be backed up..." -### N.B. : the following 'ynh_backup' calls are only a *declaration* of what needs -### to be backuped and not an actual copy of any file. The actual backup that -### creates and fill the archive with the files happens in the core after this -### script is called. Hence ynh_backups calls takes basically 0 seconds to run. - #================================================= # BACKUP THE APP MAIN DIR #================================================= diff --git a/scripts/change_url b/scripts/change_url deleted file mode 100644 index e55387a..0000000 --- a/scripts/change_url +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source _common.sh -source /usr/share/yunohost/helpers - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -old_domain=$YNH_APP_OLD_DOMAIN -old_path=$YNH_APP_OLD_PATH - -new_domain=$YNH_APP_NEW_DOMAIN -new_path=$YNH_APP_NEW_PATH - -app=$YNH_APP_INSTANCE_NAME - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 - -# Needed for helper "ynh_add_nginx_config" -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - -# Add settings here as needed by your application -#db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#db_user=$db_name -#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) - -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. - ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" - - # Restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# CHECK WHICH PARTS SHOULD BE CHANGED -#================================================= - -change_domain=0 -if [ "$old_domain" != "$new_domain" ] -then - change_domain=1 -fi - -change_path=0 -if [ "$old_path" != "$new_path" ] -then - change_path=1 -fi - -#================================================= -# SPECIFIC MODIFICATIONS -#================================================= -# TODO: really automatize permissiosn system -#================================================= - -#================================================= -# END OF SCRIPT -#================================================= - -ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/install b/scripts/install index db99182..b06e8dc 100755 --- a/scripts/install +++ b/scripts/install @@ -21,94 +21,43 @@ ynh_abort_if_errors #================================================= app_id=$YNH_APP_ARG_APP_ID -path_url="/in-$app_id-folder" +sub_path=$YNH_APP_ARG_SUB_PATH -### If it's a multi-instance app, meaning it can be installed several times independently -### The id of the app as stated in the manifest is available as $YNH_APP_ID -### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2"...) -### The app instance name is available as $YNH_APP_INSTANCE_NAME -### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample -### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 -### - ynhexample__{N} for the subsequent installations, with N=3,4... -### The app instance name is probably what interests you most, since this is -### guaranteed to be unique. This is a good unique identifier to define installation path, -### db names... app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -### About --weight and --time -### ynh_script_progression will show to your final users the progression of each scripts. -### In order to do that, --weight will represent the relative time of execution compared to the other steps in the script. -### --time is a packager option, it will show you the execution time since the previous call. -### This option should be removed before releasing your app. -### Use the execution time, given by --time, to estimate the weight of a step. -### A common way to do it is to set a weight equal to the execution time in second +1. -### The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. -ynh_script_progression --message="Validating installation parameters..." --weight=1 +ynh_script_progression --message="Validating installation parameters..." -### If the app uses NGINX as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". -### If the app provides an internal web server (or uses another application server such as uWSGI), the final path should be "/opt/yunohost/$app" -final_path=/var/www/$YNH_APP_ARG_APP_ID/www/icecoder - -#test ! -e "/var/www/$YNH_APP_ARG_APP_ID/icecoder" || ynh_die --message="You have already installed a app instance here before install this app instance" -test -e "/var/www/$YNH_APP_ARG_APP_ID" || ynh_die --message="You don't have installed a webapp before install this app" +final_path=$(ynh_app_setting_get --app=$app_id --key=final_path)$sub_path/icecoder +test -e "/var/www/$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before installing this app" test ! -e "$final_path" || ynh_die --message="This path already contains a folder" #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." --weight=1 +ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app=$app --key=domain --value=none.ynh.fr ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=app_id --value=$app_id +ynh_app_setting_set --app=$app --key=sub_path --value=$sub_path #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Setting up source files..." --weight=1 - -### `ynh_setup_source` is used to install an app from a zip or tar.gz file, -### downloaded from an upstream source, like a git repository. -### `ynh_setup_source` use the file conf/app.src +ynh_script_progression --message="Setting up source files..." ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app_id:www-data "$final_path" #================================================= # GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -### For security reason, any app should set the permissions to root: before anything else. -### Then, if write authorization is needed, any access should be given only to directories -### that really need such authorization. - -# Set permissions to app files -chown -R $YNH_APP_ARG_APP_ID $final_path - -#================================================= -# SETUP LOGROTATE -#================================================= -ynh_script_progression --message="Configuring log rotation..." --weight=1 - -### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app. -### Use this helper only if there is effectively a log file for this app. -### If you're not using this helper: -### - Remove the section "BACKUP LOGROTATE" in the backup script -### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script -### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script -### - And the section "SETUP LOGROTATE" in the upgrade script - -# Use logrotate to manage application logfile(s) -ynh_use_logrotate - #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --last +ynh_script_progression --message="Installation of $app completed" diff --git a/scripts/remove b/scripts/remove index 1fcfa68..d293873 100755 --- a/scripts/remove +++ b/scripts/remove @@ -12,17 +12,18 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +#================================================= +# STANDARD REMOVE #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --weight=1 +ynh_script_progression --message="Removing app main directory..." # Remove the app directory securely ynh_secure_remove --file="$final_path" @@ -31,4 +32,4 @@ ynh_secure_remove --file="$final_path" # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" --last +ynh_script_progression --message="Removal of $app completed" diff --git a/scripts/restore b/scripts/restore index ed09db3..00c4794 100755 --- a/scripts/restore +++ b/scripts/restore @@ -20,51 +20,36 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) app_id=$(ynh_app_setting_get --app=$app --key=app_id) +sub_path=$(ynh_app_setting_get --app=$app --key=sub_path) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." --weight=1 +ynh_script_progression --message="Validating restoration parameters..." -#test ! -e "/var/www/$YNH_APP_ARG_APP_ID/icecoder" || ynh_die --message="You have already restored a app instance here before restore this app instance!" -test -e "/var/www/$YNH_APP_ARG_APP_ID" || ynh_die --message="You don't have installed a webapp before restore this app!" - -ynh_webpath_available --domain=$domain --path_url=$path_url \ - || ynh_die --message="Path not available: ${domain}${path_url}" -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " +test -e "/var/www/$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before restoring this app" +test ! -e "$final_path" || ynh_die --message="This path already contains a folder" #================================================= # STANDARD RESTORATION STEPS -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." --weight=1 +ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$final_path" -#================================================= -# RESTORE USER RIGHTS -#================================================= - -chown -R $app_id $final_path - +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app_id:www-data "$final_path" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --last +ynh_script_progression --message="Restoration completed for $app" diff --git a/scripts/upgrade b/scripts/upgrade index bd9048a..c1aa2dd 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,73 +12,24 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # CHECK VERSION #================================================= +ynh_script_progression --message="Checking version..." -### This helper will compare the version of the currently installed app and the version of the upstream package. -### $upgrade_type can have 2 different values -### - UPGRADEsome_config_file_APP if the upstream app version has changed -### - UPGRADE_PACKAGE if only the YunoHost package has changed -### ynh_check_app_version_changed will stop the upgrade if the app is up to date. -### UPGRADE_APP should be used to upgrade the core app only if there's an upgrade to do. upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 - -# -# N.B. : the followings setting migrations snippets are provided as *EXAMPLES* -# of what you may want to do in some cases (e.g. a setting was not defined on -# some legacy installs and you therefore want to initiaze stuff during upgrade) -# - -# If db_name doesn't exist, create it -#if [ -z "$db_name" ]; then -# db_name=$(ynh_sanitize_dbid --db_name=$app) -# ynh_app_setting_set --app=$app --key=db_name --value=$db_name -#fi - -# If final_path doesn't exist, create it -#if [ -z "$final_path" ]; then -# final_path=/var/www/$app -# ynh_app_setting_set --app=$app --key=final_path --value=$final_path -#fi - -### If nobody installed your app before 4.1, -### then you may safely remove these lines - -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -if ! ynh_permission_exists --permission="admin"; then - # Create the required permissions - ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin -fi - -# Create a permission if needed -if ! ynh_permission_exists --permission="api"; then - ynh_permission_create --permission="api" --url "/api" --allowed="visitors" --show_tile="false" --protected="true" -fi - #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=1 +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." # Backup the current version of the app ynh_backup_before_upgrade @@ -89,29 +40,30 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= if [ "$upgrade_type" == "UPGRADE_APP" ] then - ynh_script_progression --message="Upgrading source files..." --weight=1 + ynh_script_progression --message="Upgrading source files..." # 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" --keep="/data" fi +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app_id:www-data "$final_path" #================================================= # GENERIC FINALIZATION -#================================================= -# PERMISSIONS SETUP -#================================================= - -# Configure internal permissions for ICEcoder -chown -R $app $final_path - #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --last +ynh_script_progression --message="Upgrade of $app completed" From 5e441647319f8114a868f1d00f9a8a137463072a Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 24 Mar 2022 20:01:19 +0000 Subject: [PATCH 02/10] Auto-update README --- README.md | 48 ++++++++++++++++++------------------------------ README_fr.md | 49 ++++++++++++++++--------------------------------- 2 files changed, 34 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index a37c564..d7020b4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # ICEcoder for YunoHost [![Integration level](https://dash.yunohost.org/integration/icecoder.svg)](https://dash.yunohost.org/appci/app/icecoder) ![](https://ci-apps.yunohost.org/ci/badges/icecoder.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/icecoder.maintain.svg) @@ -5,38 +10,20 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install ICEcoder quickly and simply on a YunoHost server. +> *This package allows you to install ICEcoder quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview + A code editor in your browser. -**Shipped version:** 8.0 -## Demo -http://demo.icecoder.net/ICEcoder/ +**Shipped version:** 8.1~ynh1 -## Configuration +**Demo:** http://demo.icecoder.net/ICEcoder/ -How to configure this app: From ICEcoder options screen. - -## Documentation - - * Official documentation: https://icecoder.net/manual - * YunoHost documentation: If specific documentation is needed, feel free to contribute. - -## YunoHost specific features - -#### Multi-user support - - * Are LDAP and HTTP auth supported? No. - * Can the app be used by multiple users? Yes (It is internal to the app). - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/icecoder%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/icecoder/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/icecoder%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/icecoder/) +## Disclaimers / important information ## Limitations @@ -47,14 +34,13 @@ How to configure this app: From ICEcoder options screen. * You will need to configure things like password **directly** in the app. * If you change the URL of this app, you don't change the real URL but the internal path (the process is the same as installation). -## Links +## Documentation and resources - * Report a bug: https://github.com/YunoHost-Apps/icecoder_ynh/issues - * App website: https://icecoder.net/ - * Upstream app repository: https://github.com/icecoder/ICEcoder - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://icecoder.net +* Official admin documentation: https://icecoder.net/manual +* Upstream app code repository: https://github.com/icecoder/ICEcoder +* YunoHost documentation for this app: https://yunohost.org/app_icecoder +* Report a bug: https://github.com/YunoHost-Apps/icecoder_ynh/issues ## Developer info @@ -66,3 +52,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/icecoder_ynh/tree/tes or sudo yunohost app upgrade icecoder -u https://github.com/YunoHost-Apps/icecoder_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 54f222f..9797d0f 100644 --- a/README_fr.md +++ b/README_fr.md @@ -3,40 +3,22 @@ [![Niveau d'intégration](https://dash.yunohost.org/integration/icecoder.svg)](https://dash.yunohost.org/appci/app/icecoder) ![](https://ci-apps.yunohost.org/ci/badges/icecoder.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/icecoder.maintain.svg) [![Installer ICEcoder avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=icecoder) -*[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 ICEcoder rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer ICEcoder 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.* ## Vue d'ensemble + Un éditeur de code dans votre navigateur. -**Version incluse :** 8.0 -## Démo +**Version incluse :** 8.1~ynh1 -* http://demo.icecoder.net/ICEcoder/ +**Démo :** http://demo.icecoder.net/ICEcoder/ -## Configuration - -Comment configurer cette app: Depuis l'écran des options d'ICEcoder - -## Documentation - - * Documentation officielle: https://icecoder.net/manual - * Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateurs - -* L'authentification LDAP et HTTP est-elle prise en charge ? Non. -* L'application peut-elle être utilisée par plusieurs utilisateurs ? Non (c'est interne à l'app). - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/icecoder%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/icecoder/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/icecoder%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/icecoder/) +## Avertissements / informations importantes ## Limitations @@ -47,14 +29,13 @@ Comment configurer cette app: Depuis l'écran des options d'ICEcoder * Vous devrez configurer des éléments comme le mot de passe **directement** dans l'application. * Si vous changez l'URL de cette application, vous ne changez pas l'URL réelle mais le chemin interne (le processus est le même que pour l'installation). -## Liens +## Documentations et ressources - * Signaler un bug : https://github.com/YunoHost-Apps/icecoder_ynh/issues - * Site de l'application : https://icecoder.net - * Dépôt de l'application principale : https://github.com/icecoder/ICEcoder - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://icecoder.net +* Documentation officielle de l'admin : https://icecoder.net/manual +* Dépôt de code officiel de l'app : https://github.com/icecoder/ICEcoder +* Documentation YunoHost pour cette app : https://yunohost.org/app_icecoder +* Signaler un bug : https://github.com/YunoHost-Apps/icecoder_ynh/issues ## Informations pour les développeurs @@ -66,3 +47,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/icecoder_ynh/tree/tes ou sudo yunohost app upgrade icecoder -u https://github.com/YunoHost-Apps/icecoder_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From 9eab1c0101bc38ac5094cdf6ad087590dc13767e Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 25 Mar 2022 08:26:00 +0100 Subject: [PATCH 03/10] Update check_process --- check_process | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_process b/check_process index 3afbc14..e598e77 100644 --- a/check_process +++ b/check_process @@ -1,6 +1,6 @@ ;; Test complet ; pre-install - sudo yunohost app install my_webapp -a domain=domain.tld&path=/site&admin=john&is_public=1&password=pass + sudo yunohost app install my_webapp -a "domain=domain.tld&path=/site&with_sftp=false&is_public=true&phpversion=7.4&with_mysql=false" ; Manifest app_id="my_webapp" sub_path="/www" From 63abc6ae54c331399941f192b8d2ea2d0636d822 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 25 Mar 2022 19:32:38 +0100 Subject: [PATCH 04/10] Update check_process --- check_process | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_process b/check_process index e598e77..cd02d2c 100644 --- a/check_process +++ b/check_process @@ -1,6 +1,6 @@ ;; Test complet ; pre-install - sudo yunohost app install my_webapp -a "domain=domain.tld&path=/site&with_sftp=false&is_public=true&phpversion=7.4&with_mysql=false" + sudo yunohost app install my_webapp -a "domain=domain.tld&path=/path&with_sftp=1&password=myreallystrengthpassword&is_public=1&phpversion=7.3&with_mysql=1" ; Manifest app_id="my_webapp" sub_path="/www" From 37ac4a7cf7f863e612b212308f48cd27d630efbf Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 26 Mar 2022 13:57:24 +0100 Subject: [PATCH 05/10] Fix sub_folder --- check_process | 2 +- manifest.json | 4 ++-- scripts/install | 8 ++++---- scripts/restore | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/check_process b/check_process index cd02d2c..e2a8973 100644 --- a/check_process +++ b/check_process @@ -3,7 +3,7 @@ sudo yunohost app install my_webapp -a "domain=domain.tld&path=/path&with_sftp=1&password=myreallystrengthpassword&is_public=1&phpversion=7.3&with_mysql=1" ; Manifest app_id="my_webapp" - sub_path="/www" + sub_folder="/www" path="/icecoder" ; Checks pkg_linter=1 diff --git a/manifest.json b/manifest.json index c25b1d3..58ea49a 100644 --- a/manifest.json +++ b/manifest.json @@ -43,10 +43,10 @@ } }, { - "name": "sub_path", + "name": "sub_folder", "type": "path", "ask": { - "en": "Indicate the name of the final_path subfolder containing the files accessible from your browser ", + "en": "Indicate the name of the final_path subfolder containing the files accessible from your browser", "fr": "Indiquer le nom du sous-dossier du final_path contenant les fichiers accessibles depuis votre navigateur" }, "help": { diff --git a/scripts/install b/scripts/install index b06e8dc..3081b82 100755 --- a/scripts/install +++ b/scripts/install @@ -21,7 +21,7 @@ ynh_abort_if_errors #================================================= app_id=$YNH_APP_ARG_APP_ID -sub_path=$YNH_APP_ARG_SUB_PATH +sub_folder=$YNH_APP_ARG_SUB_FOLDER app=$YNH_APP_INSTANCE_NAME @@ -30,8 +30,8 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." -final_path=$(ynh_app_setting_get --app=$app_id --key=final_path)$sub_path/icecoder -test -e "/var/www/$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before installing this app" +final_path=$(ynh_app_setting_get --app=$app_id --key=final_path)$sub_folder/icecoder +test -e "$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before installing this app" test ! -e "$final_path" || ynh_die --message="This path already contains a folder" #================================================= @@ -40,7 +40,7 @@ test ! -e "$final_path" || ynh_die --message="This path already contains a folde ynh_script_progression --message="Storing installation settings..." ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=sub_path --value=$sub_path +ynh_app_setting_set --app=$app --key=sub_folder --value=$sub_folder #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE diff --git a/scripts/restore b/scripts/restore index 00c4794..478d567 100755 --- a/scripts/restore +++ b/scripts/restore @@ -26,7 +26,7 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) app_id=$(ynh_app_setting_get --app=$app --key=app_id) -sub_path=$(ynh_app_setting_get --app=$app --key=sub_path) +sub_folder=$(ynh_app_setting_get --app=$app --key=sub_folder) #================================================= # CHECK IF THE APP CAN BE RESTORED From 78c4b5e23671508f13df70c31a6efbd7781f7d5e Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 27 Mar 2022 00:20:46 +0100 Subject: [PATCH 06/10] removing path_url --- scripts/install | 3 ++- scripts/upgrade | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 3081b82..237fb41 100755 --- a/scripts/install +++ b/scripts/install @@ -39,7 +39,7 @@ test ! -e "$final_path" || ynh_die --message="This path already contains a folde #================================================= ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=app_id --value=$app_id ynh_app_setting_set --app=$app --key=sub_folder --value=$sub_folder #================================================= @@ -54,6 +54,7 @@ ynh_setup_source --dest_dir="$final_path" chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app_id:www-data "$final_path" + #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index c1aa2dd..29618e6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -16,7 +16,7 @@ ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME -path_url=$(ynh_app_setting_get --app=$app --key=path) +app_id=$(ynh_app_setting_get --app=$app --key=app_id) final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= @@ -60,6 +60,7 @@ fi chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app_id:www-data "$final_path" + #================================================= # GENERIC FINALIZATION #================================================= From 3951985fe3f66d0148cd5a1840c188365425f84e Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 27 Mar 2022 12:35:39 +0200 Subject: [PATCH 07/10] Update check_process --- check_process | 1 + 1 file changed, 1 insertion(+) diff --git a/check_process b/check_process index e2a8973..64f7bc4 100644 --- a/check_process +++ b/check_process @@ -4,6 +4,7 @@ ; Manifest app_id="my_webapp" sub_folder="/www" + domain="domain.tld" path="/icecoder" ; Checks pkg_linter=1 From e46cb4971d877bb5247e7f95b9584cf4463d45d6 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 27 Mar 2022 12:36:31 +0200 Subject: [PATCH 08/10] Update check_process --- check_process | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/check_process b/check_process index 64f7bc4..fa272b2 100644 --- a/check_process +++ b/check_process @@ -8,8 +8,8 @@ path="/icecoder" ; Checks pkg_linter=1 - setup_sub_dir=0 - setup_root=1 + setup_sub_dir=1 + setup_root=0 setup_nourl=0 setup_private=0 setup_public=0 From 2aa6945f009cd932eb09a2f2abbe3ac982a18d49 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 28 Mar 2022 08:17:46 +0200 Subject: [PATCH 09/10] Update restore --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index 478d567..9a60143 100755 --- a/scripts/restore +++ b/scripts/restore @@ -33,7 +33,7 @@ sub_folder=$(ynh_app_setting_get --app=$app --key=sub_folder) #================================================= ynh_script_progression --message="Validating restoration parameters..." -test -e "/var/www/$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before restoring this app" +test -e "$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app_id before installing this app" test ! -e "$final_path" || ynh_die --message="This path already contains a folder" #================================================= From fc7c70176048143cff505a5dc6e66174317772b7 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 28 Mar 2022 08:19:49 +0200 Subject: [PATCH 10/10] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 237fb41..d3110c5 100755 --- a/scripts/install +++ b/scripts/install @@ -31,7 +31,7 @@ app=$YNH_APP_INSTANCE_NAME ynh_script_progression --message="Validating installation parameters..." final_path=$(ynh_app_setting_get --app=$app_id --key=final_path)$sub_folder/icecoder -test -e "$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app before installing this app" +test -e "$(ynh_app_setting_get --app=$app_id --key=final_path)" || ynh_die --message="You don't have installed $app_id before installing this app" test ! -e "$final_path" || ynh_die --message="This path already contains a folder" #=================================================