Content
View differences
Updated by Oliver Günther about 5 years ago
# Requirements
###
###
### Template selection
* The "Use template" field is not part of the project schema
* It should be rendered at the beginning of the project form
* It is preselected with "(none)
* When selecting another value, the form needs to POST am empty payload to `/api/v3/projects/:selectedTemplate/copy/form` to get the payload object from that project
* That payload object replaces the current form payload
* Nice to have: The frontend shows a warning dialog before reloading the form
* Optionally: The frontend can override some values of the payload
* When a template is selected,
* the the resource to POST to is the copy endpoint `/api/v3/projects/:selectedTemplate/copy`, not the create endpoint
* the API response is a Job status reference, we need to show the job status modal
* To be checked: Where to get the list of template values
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21093/content"></div></figure>
### Advanced settings fieldset
* Most of the fields are hidden behind "Advanced settings" (see above)
* Everything other than
* required fields in the schema, that do not have a default value
* name (TBC the parent project field
* (and project?) and the template selector) selector
* The advanced settings are always collapsed until the user explicitly expands them
* Nice to have: When expanded, by default, unless values are provided for it does not collapse again when, e.g., changing the selected template (e.g., when selecting a template)
### Identifier
* Creating a When creating new projects or instantiating templates, the project
* The identifier is not present in the project form
* The identifier gets derived from the project's name in the backend while typing
* Editing a The rules for the project
identifier are frontend decided right now
* For the scope of 11.3., make renaming identifier it a toolbar button (rendered in the toolbar in Rails due to implementation speed reasons) https://github.com/opf/openproject/blob/dev/frontend/src/app/modules/augmenting/dynamic-scripts/project\_form\_listener.js#L30
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21095/content"></div></figure>
### Parent project selector
* Creating a new subproject from within a project throug the dropdown or the project settings (for example, this link on QA: [https://qa.openproject-edge.com/projects/new?parent\_id=201)](https://qa.openproject-edge.com/projects/new?parent_id=201))
* The "Subproject of" field is always shown before the advanced settings?
* The "Subproject of" field will should be preselected with the parent project given in the URL query.
* The dynamic form needs an input to add to parent project field is located _before_ the _initial_ form request payload to add advanced settings
* TBC: Is the parent href subproject field _always_ located before the advanced settings?
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21092/content"></div></figure>
### Attribute help texts
* The form labels can have an attribute help text for projects, shown as a small question mark (`<attribute-help-text>` component)
* The dynamic form gets the scope ("Project" in this case) as an input, until we can derive this magic string from the form/schema response
* On click, the attribute help text dialog opens
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21094/content"></div></figure>
### Storage information tab
* Add a new backend page with the storage information
### Add copy project form
* Show a create project form with the additional meta / copy-associations fields
###
###
### Template selection
* The "Use template" field is not part of the project schema
* It should be rendered at the beginning of the project form
* It is preselected with "(none)
* When selecting another value, the form needs to POST am empty payload to `/api/v3/projects/:selectedTemplate/copy/form` to get the payload object from that project
* That payload object replaces the current form payload
* Nice to have: The frontend shows a warning dialog before reloading the form
* Optionally: The frontend can override some values of the payload
* When a template is selected,
* the
* the API response is a Job status reference, we need to show the job status modal
* To be checked: Where to get the list of template values
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21093/content"></div></figure>
### Advanced settings fieldset
* Most of the fields are hidden behind "Advanced settings" (see above)
* Everything other than
* required fields in the schema, that do not have a default value
*
* (and
* The advanced settings are always collapsed until the user explicitly expands them
* Nice to have: When expanded,
### Identifier
* Creating a
* The identifier is not present in the project form
* The identifier gets derived from the
* Editing a
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21095/content"></div></figure>
### Parent project selector
* Creating a new subproject from within a project throug the dropdown or the project settings (for example, this link on QA: [https://qa.openproject-edge.com/projects/new?parent\_id=201)](https://qa.openproject-edge.com/projects/new?parent_id=201))
* The "Subproject of" field is always shown before the advanced settings?
* The "Subproject of" field will
* The dynamic form needs an input to add to
* TBC: Is
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21092/content"></div></figure>
### Attribute help texts
* The form labels can have an attribute help text for projects, shown as a small question mark (`<attribute-help-text>` component)
* The dynamic form gets the scope ("Project" in this case) as an input, until we can derive this magic string from the form/schema response
* On click, the attribute help text dialog opens
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/21094/content"></div></figure>
### Storage information tab
* Add a new backend page with the storage information
### Add copy project form
* Show a create project form with the additional meta / copy-associations fields