nextcloud / nextcloud/app_api

A `required` attribute for environment variables in "Deploy Options"

Open
#695 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

deploy enhancement php priority: medium
Dominant language
PHP
Stars
196
Forks
26
Avg merge
4d 15h
Merged PRs (30d)
31

Description

Describe why it is important and where it will be useful

Some environment variables/admin options are required and an ability to clearly communicate that would be nice, otherwise if the docs are not read, the realisation is late and only visible in the logs of the Ex-Apps.
One such example is this env var which is required for the app to function but the admin is not prompted for it automatically: https://github.com/nextcloud/live_transcription/blob/311a2e679f7e8e3d53651f35009a9006234423bf/appinfo/info.xml#L32-L37
https://github.com/nextcloud/live_transcription/blob/311a2e679f7e8e3d53651f35009a9006234423bf/ex_app/lib/utils.py#L67-L70

Describe your proposed solution

A required attribute should be added to the info.xml environment variable declation and prevent the app from being installed if it's unset. Environment variables can be termed as "set" even when their value is "" so not sure how the UI should work but in any case, the environment variables modal (Deploy Options) should be prompted in such cases.
This requires changes in the server repo as well for the UI part.

Describe alternatives you've considered, if relevant

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the environment-variable declaration in info.xml and compare it with the linked live_transcription files: appinfo/info.xml and ex_app/lib/utils.py. Trace how Deploy Options handles these declarations and how installation currently treats unset values. Done means required variables are represented, installation is prevented when appropriate, and the Deploy Options modal prompts for them.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.