From 45703135de4dfe13563a27e433183d3d87d2211a Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 8 Feb 2024 21:38:32 +0000 Subject: [PATCH 1/9] Auto-update README --- README.md | 69 ++++++++++++---------------------------------------- README_fr.md | 65 +++++++++++++++---------------------------------- 2 files changed, 36 insertions(+), 98 deletions(-) diff --git a/README.md b/README.md index 8cf224e..88956ca 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,48 @@ -# Packaging an app, starting from this example - -* Copy this app before working on it, using the ['Use this template'](https://github.com/YunoHost/example_ynh/generate) button on the Github repo. -* Edit the `manifest.toml` with app specific info. -* Edit the `install`, `upgrade`, `remove`, `backup` and `restore` scripts, and any relevant conf files in `conf/`. - * Using the [script helpers documentation.](https://yunohost.org/packaging_apps_helpers) -* Edit the `change_url` and `config` scripts too, or remove them if you have no use of them -* Add a `LICENSE` file for the package. NB: this LICENSE file is not meant to necessarily be the LICENSE of the upstream app - it is only the LICENSE you want this package's code to published with ;). We recommend to use [the AGPL-3](https://www.gnu.org/licenses/agpl-3.0.txt). -* Edit `doc/DISCLAIMER*.md` -* The `README.md` files are to be automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator - ---- -# Example app for YunoHost +# open web calendar for YunoHost -[![Integration level](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![Working status](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) -[![Install Example app with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) +[![Integration level](https://dash.yunohost.org/integration/open-web-calendar.svg)](https://dash.yunohost.org/appci/app/open-web-calendar) ![Working status](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.maintain.svg) + +[![Install open web calendar with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Example app quickly and simply on a YunoHost server. +> *This package allows you to install open web calendar 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 -Some long and extensive description of what the app is and does, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Embed a highly customizable web calendar into your website using ICal source links -### Features +**Shipped version:** 1.25~ynh1 -- Ut enim ad minim veniam, quis nostrud exercitation ullamco ; -- Laboris nisi ut aliquip ex ea commodo consequat ; -- Duis aute irure dolor in reprehenderit in voluptate ; -- Velit esse cillum dolore eu fugiat nulla pariatur ; -- Excepteur sint occaecat cupidatat non proident, sunt in culpa." - - -**Shipped version:** 1.0~ynh1 - -**Demo:** https://demo.example.com +**Demo:** https://open-web-calendar.hosted.quelltext.eu/ ## Screenshots -![Screenshot of Example app](./doc/screenshots/example.jpg) - -## Disclaimers / important information - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * requiring a full dedicated domain ? - * architectures not supported ? - * not-working single-sign on or LDAP integration ? - * the app requires an important amount of RAM / disk / .. to install or to work properly - * etc... - -* Other infos that people should be aware of, such as: - * any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...) - * how to configure / administrate the application if it ain't obvious - * upgrade process / specificities / things to be aware of ? - * security considerations ? +![Screenshot of open web calendar](./doc/screenshots/example.jpg) ## Documentation and resources -* Official app website: -* Official user documentation: -* Official admin documentation: -* Upstream app code repository: -* YunoHost documentation for this app: -* Report a bug: +* Official app website: +* Upstream app code repository: +* YunoHost Store: +* Report a bug: ## Developer info -Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/example_ynh/tree/testing). +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing). To try the testing branch, please proceed like that. ``` bash -sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug +sudo yunohost app install https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing --debug or -sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug +sudo yunohost app upgrade open-web-calendar -u https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing --debug ``` **More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md index 4da6fb7..0b6554d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -3,71 +3,46 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app It shall NOT be edited by hand. --> -# Exemple d'app pour YunoHost +# open web calendar pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) -[![Installer Example app avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) +[![Niveau d’intégration](https://dash.yunohost.org/integration/open-web-calendar.svg)](https://dash.yunohost.org/appci/app/open-web-calendar) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.maintain.svg) + +[![Installer open web calendar avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) *[Read this readme in english.](./README.md)* -> *Ce package vous permet d'installer Example app 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.* +> *Ce package vous permet d’installer open web calendar 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 +## Vue d’ensemble -Some long and extensive description of what the app is and does, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Intégrez un calendrier Web hautement personnalisable dans votre site Web à l'aide des liens sources ICal -### Features +**Version incluse :** 1.25~ynh1 -- Ut enim ad minim veniam, quis nostrud exercitation ullamco ; -- Laboris nisi ut aliquip ex ea commodo consequat ; -- Duis aute irure dolor in reprehenderit in voluptate ; -- Velit esse cillum dolore eu fugiat nulla pariatur ; -- Excepteur sint occaecat cupidatat non proident, sunt in culpa." +**Démo :** https://open-web-calendar.hosted.quelltext.eu/ +## Captures d’écran -**Version incluse :** 1.0~ynh1 - -**Démo :** https://demo.example.com - -## Captures d'écran - -![Capture d'écran de Example app](./doc/screenshots/example.jpg) - -## Avertissements / informations importantes - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * requiring a full dedicated domain ? - * architectures not supported ? - * not-working single-sign on or LDAP integration ? - * the app requires an important amount of RAM / disk / .. to install or to work properly - * etc... - -* Other infos that people should be aware of, such as: - * any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...) - * how to configure / administrate the application if it ain't obvious - * upgrade process / specificities / things to be aware of ? - * security considerations ? +![Capture d’écran de open web calendar](./doc/screenshots/example.jpg) ## Documentations et ressources -* Site officiel de l'app : -* Documentation officielle utilisateur : -* Documentation officielle de l'admin : -* Dépôt de code officiel de l'app : -* Documentation YunoHost pour cette app : -* Signaler un bug : +* Site officiel de l’app : +* Dépôt de code officiel de l’app : +* YunoHost Store: +* Signaler un bug : ## Informations pour les développeurs -Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/example_ynh/tree/testing). +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. ``` bash -sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug +sudo yunohost app install https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing --debug ou -sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug +sudo yunohost app upgrade open-web-calendar -u https://github.com/YunoHost-Apps/open-web-calendar_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** +**Plus d’infos sur le packaging d’applications :** \ No newline at end of file From c8e9e4be24ec40e8307f8e12d1cae307161b8995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 8 Feb 2024 22:39:40 +0100 Subject: [PATCH 2/9] fix --- scripts/change_url | 5 ----- scripts/config | 8 -------- 2 files changed, 13 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 3233706..566d6ef 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,9 +1,5 @@ #!/bin/bash -## this script is only run if actual change to domain/path is detected, if you're here either $domain or $path changed -## new location is available via $domain and $path (or $new_domain and $new_path variables if you want to be explicit) -## old values are available via, you guessed it, $old_domain and $old_path - #================================================= # GENERIC STARTING #================================================= @@ -27,7 +23,6 @@ ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$a #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 -# this will most likely adjust NGINX config correctly ynh_change_url_nginx_config #================================================= diff --git a/scripts/config b/scripts/config index 29f78f8..d434cbd 100644 --- a/scripts/config +++ b/scripts/config @@ -1,12 +1,4 @@ #!/bin/bash -# In simple cases, you don't need a config script. - -# With a simple config_panel.toml, you can write in the app settings, in the -# upstream config file or replace complete files (logo ...) and restart services. - -# The config scripts allows you to go further, to handle specific cases -# (validation of several interdependent fields, specific getter/setter for a value, -# display dynamic informations or choices, pre-loading of config type .cube... ). #================================================= # GENERIC STARTING From a32f23269811e3f22f6389a342108ccca2641fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 8 Feb 2024 22:49:33 +0100 Subject: [PATCH 3/9] add screenshot --- doc/screenshots/example.jpg | Bin 35451 -> 0 bytes doc/screenshots/screenshot.png | Bin 0 -> 56206 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/screenshots/example.jpg create mode 100644 doc/screenshots/screenshot.png diff --git a/doc/screenshots/example.jpg b/doc/screenshots/example.jpg deleted file mode 100644 index a1efa1a36d593384df59dc13db03fa83b0436d69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35451 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 UE-)&$xd9C0IsX9d#{5|Pe`qLcKmY&$ diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..75b86df9d759c2bffea4d8a4be00042d64fdb2f0 GIT binary patch literal 56206 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 gDDAw-(oT-R@w$%2d-`iKG4RjW(0otc_k Date: Thu, 8 Feb 2024 21:49:38 +0000 Subject: [PATCH 4/9] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88956ca..76363d8 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Embed a highly customizable web calendar into your website using ICal source lin ## Screenshots -![Screenshot of open web calendar](./doc/screenshots/example.jpg) +![Screenshot of open web calendar](./doc/screenshots/screenshot.png) ## Documentation and resources diff --git a/README_fr.md b/README_fr.md index 0b6554d..e7b7dfb 100644 --- a/README_fr.md +++ b/README_fr.md @@ -24,7 +24,7 @@ Intégrez un calendrier Web hautement personnalisable dans votre site Web à l'a ## Captures d’écran -![Capture d’écran de open web calendar](./doc/screenshots/example.jpg) +![Capture d’écran de open web calendar](./doc/screenshots/screenshot.png) ## Documentations et ressources From ca4b875411c2220a3a35b4b236adebf6603de9b3 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 8 Feb 2024 21:55:17 +0000 Subject: [PATCH 5/9] Auto-update README --- README_fr.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README_fr.md b/README_fr.md index cd6af22..e7b7dfb 100644 --- a/README_fr.md +++ b/README_fr.md @@ -26,7 +26,6 @@ Intégrez un calendrier Web hautement personnalisable dans votre site Web à l'a ![Capture d’écran de open web calendar](./doc/screenshots/screenshot.png) - ## Documentations et ressources * Site officiel de l’app : From 6ad98cf6c2b4fed28ac505bad279de4d16613352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 8 Feb 2024 23:12:25 +0100 Subject: [PATCH 6/9] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 3986789..d3fce6e 100644 --- a/manifest.toml +++ b/manifest.toml @@ -3,7 +3,7 @@ packaging_format = 2 id = "open-web-calendar" -name = "open web calendar" +name = "Open Web Calendar" description.en = "Embed a web calendar into your own website" description.fr = "Intégrez un calendrier Web à votre propre site Web" From 4c39f653082f98d7b90e6f42a5c583ccceba235d Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 8 Feb 2024 22:12:35 +0000 Subject: [PATCH 7/9] Auto-update README --- README.md | 8 ++++---- README_fr.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 76363d8..9964348 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app It shall NOT be edited by hand. --> -# open web calendar for YunoHost +# Open Web Calendar for YunoHost [![Integration level](https://dash.yunohost.org/integration/open-web-calendar.svg)](https://dash.yunohost.org/appci/app/open-web-calendar) ![Working status](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.maintain.svg) -[![Install open web calendar with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) +[![Install Open Web Calendar with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install open web calendar quickly and simply on a YunoHost server. +> *This package allows you to install Open Web Calendar 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 @@ -24,7 +24,7 @@ Embed a highly customizable web calendar into your website using ICal source lin ## Screenshots -![Screenshot of open web calendar](./doc/screenshots/screenshot.png) +![Screenshot of Open Web Calendar](./doc/screenshots/screenshot.png) ## Documentation and resources diff --git a/README_fr.md b/README_fr.md index e7b7dfb..26250e7 100644 --- a/README_fr.md +++ b/README_fr.md @@ -3,15 +3,15 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app It shall NOT be edited by hand. --> -# open web calendar pour YunoHost +# Open Web Calendar pour YunoHost [![Niveau d’intégration](https://dash.yunohost.org/integration/open-web-calendar.svg)](https://dash.yunohost.org/appci/app/open-web-calendar) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/open-web-calendar.maintain.svg) -[![Installer open web calendar avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) +[![Installer Open Web Calendar avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=open-web-calendar) *[Read this readme in english.](./README.md)* -> *Ce package vous permet d’installer open web calendar rapidement et simplement sur un serveur YunoHost. +> *Ce package vous permet d’installer Open Web Calendar 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 @@ -24,7 +24,7 @@ Intégrez un calendrier Web hautement personnalisable dans votre site Web à l'a ## Captures d’écran -![Capture d’écran de open web calendar](./doc/screenshots/screenshot.png) +![Capture d’écran de Open Web Calendar](./doc/screenshots/screenshot.png) ## Documentations et ressources From 7995e13a01f4c55901ca69ebb98c4be4fd1a9544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 8 Feb 2024 23:14:21 +0100 Subject: [PATCH 8/9] fix --- scripts/install | 4 ++-- scripts/restore | 2 +- scripts/upgrade | 14 ++++++++++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/scripts/install b/scripts/install index 9bac060..8f7caa3 100755 --- a/scripts/install +++ b/scripts/install @@ -31,12 +31,12 @@ ynh_add_nginx_config # Create a dedicated systemd config ynh_add_systemd_config -yunohost service add "$app" --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add "$app" --description="Customizable web calendar" --log="/var/log/$app/$app.log" #================================================= # BUILDING OPEN WEB CALENDAR #================================================= -ynh_script_progression --message="Building $app..." +ynh_script_progression --message="Building $app..." --weight=5 pushd "$install_dir" python3 -m venv venv diff --git a/scripts/restore b/scripts/restore index bd00500..24fed30 100755 --- a/scripts/restore +++ b/scripts/restore @@ -29,7 +29,7 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable "$app.service" --quiet -yunohost service add "$app" --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add "$app" --description="Customizable web calendar" --log="/var/log/$app/$app.log" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index fdfb689..596fafb 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,7 +21,6 @@ ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$a #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= - ynh_script_progression --message="Upgrading source files..." --weight=1 # Download, check integrity, uncompress and patch the source from manifest.toml @@ -38,7 +37,18 @@ ynh_add_nginx_config ynh_add_systemd_config -yunohost service add "$app" --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add "$app" --description="Customizable web calendar" --log="/var/log/$app/$app.log" + +#================================================= +# BUILDING OPEN WEB CALENDAR +#================================================= +ynh_script_progression --message="Building $app..." --weight=5 + +pushd "$install_dir" + python3 -m venv venv + venv/bin/pip install --upgrade pip + venv/bin/pip install -r requirements.txt +popd #================================================= # RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) From 2fff2f156b1758aad99a1727fb0d68362cc6ca23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 8 Feb 2024 23:26:35 +0100 Subject: [PATCH 9/9] fix --- manifest.toml | 2 +- tests.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index d3fce6e..42d65a9 100644 --- a/manifest.toml +++ b/manifest.toml @@ -20,7 +20,7 @@ code = "https://github.com/niccokunzmann/open-web-calendar/" [integration] yunohost = ">= 11.2" architectures = "all" -multi_instance = true +multi_instance = false ldap = false diff --git a/tests.toml b/tests.toml index 76f5804..8b14dee 100644 --- a/tests.toml +++ b/tests.toml @@ -32,7 +32,7 @@ test_format = 1.0 ## * change_url ## NB: you should NOT need this except if you really have a good reason... - # exclude = ["install.private", "install.multi"] + exclude = ["install.multi"] ## For special usecases, sometimes you need to setup other things on the machine ## prior to installing the app (such as installing another app)