diff --git a/README.md b/README.md index 4bdf383..90e24f0 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Vikunja is a self-hosted open-source to-do list application for all platforms. - CalDAV - Links -**Shipped version:** 0.19.0~ynh1 +**Shipped version:** 0.19.2~ynh1 **Demo:** https://try.vikunja.io/login @@ -47,10 +47,13 @@ The API is accesible with this path: https://domain.ltd/api/v1/docs * Official app website: * Official admin documentation: +* Official download portal: +* Official blog (usefull for release note): * Upstream app code repository: * YunoHost documentation for this app: * Report a bug: + ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/vikunja_ynh/tree/testing). diff --git a/README_fr.md b/README_fr.md index f09d6e8..b6446ce 100644 --- a/README_fr.md +++ b/README_fr.md @@ -26,8 +26,8 @@ Vikunja est une application de liste de tâches Open Source auto-hébergée pour - CalDAV - Links -**Version incluse :** 0.19.0~ynh1 +**Version incluse :** 0.19.2~ynh1 **Démo :** https://try.vikunja.io/login @@ -44,6 +44,8 @@ Vous pouvez configurer Vikunja en modifiant le fichier `/opt/vikunja/config.yml` * Site officiel de l'app : * Documentation officielle de l'admin : +* Portail de téléchargement officiel: +* Blog officiel (utile pour avoir les changements de chaque version): * Dépôt de code officiel de l'app : * Documentation YunoHost pour cette app : * Signaler un bug : diff --git a/conf/amd64.src b/conf/amd64.src index 67f555e..da1242b 100644 --- a/conf/amd64.src +++ b/conf/amd64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-amd64-full -SOURCE_SUM=D005FD544862B6D01402B7AFA5CAE5A9E5E634112D90EECF6F2781DA83A7A524 +SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-amd64-full +SOURCE_SUM=16F4483929C659021A8F61465FA5A10C9EDCC3CBB6F0D8AC8ED96570034CB50C SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FORMAT=zip diff --git a/conf/arm64.src b/conf/arm64.src index 8d89e44..b5abedf 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-arm64-full -SOURCE_SUM=CB457F651DE3E4551F36F20389161C0407D10D9821F520357ECE5ED669311943 +SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-arm64-full +SOURCE_SUM=9C3104D42F9B7448D045208C0C5DBF5AC8648B78E7907697264A3031972926EA SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FORMAT=zip diff --git a/conf/armhf.src b/conf/armhf.src index 991bb3d..1227716 100644 --- a/conf/armhf.src +++ b/conf/armhf.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-arm-7-full -SOURCE_SUM=A5B393C7900C6A77E1887A496E9A66E2762972DA76C961CA8264EF469B24177B +SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-arm-7-full +SOURCE_SUM=F82B9DF0DE4F36AEF6535DC5425CF45151815E67DBC8BAF9921E38C454AFD724 SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FORMAT=zip diff --git a/conf/config.yml b/conf/config.yml index 9ecd451..a914ddb 100644 --- a/conf/config.yml +++ b/conf/config.yml @@ -12,21 +12,21 @@ service: # with a config file which will then be used. rootpath: "/opt/vikunja/" # The max number of items which can be returned per page - maxitemsperpage: 50 + maxitemsperpage: __MAXITEMSPERPAGE__ # Enable the caldav endpoint, see the docs for more details enablecaldav: true # Set the motd message, available from the /info endpoint motd: __SET_MOTD__ # Enable sharing of lists via a link - enablelinksharing: true + enablelinksharing: __ENABLE_LINKSHARING__ # Whether to let new users registering themselves or not enableregistration: __ENABLE_REGISTRATION__ # Whether to enable task attachments or not - enabletaskattachments: true + enabletaskattachments: __ENABLE_TASKATTACHMENTS__ # The time zone all timestamps are in. Please note that time zones have to use [the official tz database names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). UTC or GMT offsets won't work. timezone: __TIMEZONE__ # Whether task comments should be enabled or not - enabletaskcomments: true + enabletaskcomments: __ENABLE_TASKCOMMENTS__ # Whether totp is enabled. In most cases you want to leave that enabled. enabletotp: true # If not empty, enables logging of crashes and unhandled errors in sentry. @@ -38,7 +38,14 @@ service: testingtoken: '' # If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder # is due. - enableemailreminders: true + enableemailreminders: __ENABLE_EMAILREMINDERS__ + # If true, will allow users to request the complete deletion of their account. When using external authentication methods + # it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands + # for user deletion. + enableuserdeletion: __ENABLE_USERDELETION__ + # The maximum size clients will be able to request for user avatars. + # If clients request a size bigger than this, it will be changed on the fly. + maxavatarsize: __MAXAVATARSIZE__ database: # Database type to use. Supported types are mysql, postgres and sqlite. diff --git a/conf/front.src b/conf/front.src index 4a90b6f..816b992 100644 --- a/conf/front.src +++ b/conf/front.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://dl.vikunja.io/frontend/vikunja-frontend-0.19.0.zip -SOURCE_SUM=A5D50D3DF1A06D23325DC4B61CA31E908888CC9DC6BAD1C2B348055641CDF727 +SOURCE_URL=https://dl.vikunja.io/frontend/vikunja-frontend-0.19.1.zip +SOURCE_SUM=29FE793359BF34142181ABA5FF8B1E0CC74F154F238603B04CD033760560D8E4 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=false diff --git a/conf/i386.src b/conf/i386.src index 194a3ee..9a4b110 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://dl.vikunja.io/api/0.19.0/vikunja-v0.19.0-linux-386-full -SOURCE_SUM=66C21ED000B084B9268E2A0783BE49EC982782F9417050D38683D979555F6E95 +SOURCE_URL=https://dl.vikunja.io/api/0.19.2/vikunja-v0.19.2-linux-386-full +SOURCE_SUM=6D532EEA15A966446F1B975A8F1D7B64F75AFB2148C09680728C0060FACB5608 SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FORMAT=zip diff --git a/config_panel.toml b/config_panel.toml index f6887f3..a12da4d 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -2,22 +2,84 @@ version = "1.0" [main] name = "Vikunja configuration" + services = ["__APP__"] [main.config] name = "Configuration Options" [main.config.set_motd] - ask = "Set MOTD" + ask.en = "Set MOTD" + ask.fr = "Définir MOTD" type = "string" help = "Set the MOTD message shown in Vikunja login page" bind = "motd:/opt/__APP__/config.yml" [main.config.enable_registration] - ask = "Enable registration" + ask.en = "Enable registration" + ask.fr = "Activer la création de comptes" type = "boolean" yes = "true" no = "false" help = "Whether to let new users registering themselves or not" bind = "enableregistration:/opt/__APP__/config.yml" + [main.config.enable_linksharing] + ask.en = "Enable links sharing" + ask.fr = "Activer liens de partage" + type = "boolean" + yes = "true" + no = "false" + help = "Enable sharing of lists via a link" + bind = "enablelinksharing:/opt/__APP__/config.yml" + + [main.config.enable_taskattachments] + ask.en = "Enable tasks attachments" + ask.fr = "Activer les pièces jointes de tâches" + type = "boolean" + yes = "true" + no = "false" + help = "Whether to enable task attachments or not" + bind = "enabletaskattachments:/opt/__APP__/config.yml" + + [main.config.enable_taskcomments] + ask.en = "Enable task comments" + ask.fr = "Activer les commentaires de tâches" + type = "boolean" + yes = "true" + no = "false" + help = "Whether task comments should be enabled or not" + bind = "enabletaskcomments:/opt/__APP__/config.yml" + + [main.config.enable_emailreminders] + ask.en = "Enable email reminders" + ask.fr = "Activer les mails de rappels" + type = "boolean" + yes = "true" + no = "false" + help = "If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder is due." + bind = "enableemailreminders:/opt/__APP__/config.yml" + + [main.config.enable_userdeletion] + ask.en = "Enable user deletion" + ask.fr = "Activer la suppression de compte" + type = "boolean" + yes = "true" + no = "false" + help = "If true, will allow users to request the complete deletion of their account. When using external authentication methods it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands for user deletion" + bind = "enableuserdeletion:/opt/__APP__/config.yml" + + [main.config.maxavatarsize] + ask.en = "Max avatar size" + ask.fr = "Taille maximum de l'avatar" + type = "number" + help = "The maximum size clients will be able to request for user avatars. If clients request a size bigger than this, it will be changed on the fly" + bind = "maxavatarsize:/opt/__APP__/config.yml" + + [main.config.maxitemsperpage] + ask.en = "Max items per page" + ask.fr = "Nombre d'éléments maximum par page" + type = "number" + help = "The max number of items which can be returned per page" + bind = "maxitemsperpage:/opt/__APP__/config.yml" + diff --git a/manifest.json b/manifest.json index b13321d..8a48a76 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted To-Do list application", "fr": "Application de liste de tâches auto-hébergée" }, - "version": "0.19.0~ynh1", + "version": "0.19.2~ynh1", "url": "https://vikunja.io/", "upstream": { "license": "GPL-3.0", diff --git a/scripts/change_url b/scripts/change_url index 9216339..a51b808 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -38,6 +38,13 @@ timezone="$(cat /etc/timezone)" set_motd=$(ynh_app_setting_get --app=$app --key=set_motd) enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration) +enable_linksharing=$(ynh_app_setting_get --app=$app --key=enable_linksharing) +enable_taskattachments=$(ynh_app_setting_get --app=$app --key=enable_taskattachments) +enable_taskcomments=$(ynh_app_setting_get --app=$app --key=enable_taskcomments) +enable_emailreminders=$(ynh_app_setting_get --app=$app --key=enable_emailreminders) +enable_userdeletion=$(ynh_app_setting_get --app=$app --key=enable_userdeletion) +maxavatarsize=$(ynh_app_setting_get --app=$app --key=maxavatarsize) +maxitemsperpage=$(ynh_app_setting_get --app=$app --key=maxitemsperpage) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP diff --git a/scripts/install b/scripts/install index 6cce381..bc6f118 100644 --- a/scripts/install +++ b/scripts/install @@ -30,6 +30,13 @@ app=$YNH_APP_INSTANCE_NAME set_motd="" enable_registration="true" +enable_linksharing="true" +enable_taskattachments="true" +enable_taskcomments="true" +enable_emailreminders="true" +enable_userdeletion="true" +maxavatarsize=1024 +maxitemsperpage=50 #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS @@ -52,6 +59,13 @@ ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=set_motd --value=$set_motd ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration +ynh_app_setting_set --app=$app --key=enable_linksharing --value=$enable_linksharing +ynh_app_setting_set --app=$app --key=enable_taskattachments --value=$enable_taskattachments +ynh_app_setting_set --app=$app --key=enable_taskcomments --value=$enable_taskcomments +ynh_app_setting_set --app=$app --key=enable_emailreminders --value=$enable_emailreminders +ynh_app_setting_set --app=$app --key=enable_userdeletion --value=$enable_userdeletion +ynh_app_setting_set --app=$app --key=maxavatarsize --value=$maxavatarsize +ynh_app_setting_set --app=$app --key=maxitemsperpage --value=$maxitemsperpage #================================================= # STANDARD MODIFICATIONS diff --git a/scripts/upgrade b/scripts/upgrade index a31f1bf..e5a3e64 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -29,6 +29,14 @@ secret=$(ynh_string_random --length=32) set_motd=$(ynh_app_setting_get --app=$app --key=set_motd) enable_registration=$(ynh_app_setting_get --app=$app --key=enable_registration) +enable_linksharing=$(ynh_app_setting_get --app=$app --key=enable_linksharing) +enable_taskattachments=$(ynh_app_setting_get --app=$app --key=enable_taskattachments) +enable_taskcomments=$(ynh_app_setting_get --app=$app --key=enable_taskcomments) +enable_emailreminders=$(ynh_app_setting_get --app=$app --key=enable_emailreminders) +enable_userdeletion=$(ynh_app_setting_get --app=$app --key=enable_userdeletion) +maxavatarsize=$(ynh_app_setting_get --app=$app --key=maxavatarsize) +maxitemsperpage=$(ynh_app_setting_get --app=$app --key=maxitemsperpage) + #================================================= # CHECK VERSION @@ -71,6 +79,41 @@ if [ -z "$enable_registration" ]; then ynh_app_setting_set --app=$app --key=enable_registration --value=$enable_registration fi +if [ -z "$enable_linksharing" ]; then + enable_linksharing="true" + ynh_app_setting_set --app=$app --key=enable_linksharing --value=$enable_linksharing +fi + +if [ -z "$enable_taskattachments" ]; then + enable_taskattachments="true" + ynh_app_setting_set --app=$app --key=enable_taskattachments --value=$enable_taskattachments +fi + +if [ -z "$enable_taskcomments" ]; then + enable_taskcomments="true" + ynh_app_setting_set --app=$app --key=enable_taskcomments --value=$enable_taskcomments +fi + +if [ -z "$enable_emailreminders" ]; then + enable_emailreminders="true" + ynh_app_setting_set --app=$app --key=enable_emailreminders --value=$enable_emailreminders +fi + +if [ -z "$enable_userdeletion" ]; then + enable_userdeletion="true" + ynh_app_setting_set --app=$app --key=enable_userdeletion --value=$enable_userdeletion +fi + +if [ -z "$maxavatarsize" ]; then + maxavatarsize=1024 + ynh_app_setting_set --app=$app --key=maxavatarsize --value=$maxavatarsize +fi + +if [ -z "$maxitemsperpage" ]; then + maxitemsperpage=50 + ynh_app_setting_set --app=$app --key=maxitemsperpage --value=$maxitemsperpage +fi + # Cleaning legacy permissions if ynh_legacy_permissions_exists; then ynh_legacy_permissions_delete_all @@ -126,6 +169,17 @@ chown -R $app:www-data "$final_path" chmod +x "$backend_path/vikunja" chown -R $app:www-data "$backend_path/files" +#================================================= +# UPGRADE A CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading a configuration file..." --weight=1 + +redis_db=$(ynh_redis_get_free_db) +ynh_add_config --template="../conf/config.yml" --destination="$backend_path/config.yml" + +chmod 400 "$backend_path/config.yml" +chown $app:$app "$backend_path/config.yml" + #================================================= # NGINX CONFIGURATION #=================================================