Content
View differences
Updated by Jens Ulferts 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 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
* the parent project field
* (and the template selector)
* The advanced settings are always collapsed until the user explicitly expands them
* Nice to have: When expanded, it does not collapse again when, e.g., changing the selected template
### Identifier
* Creating a project
* The identifier is not present in the project form
* The identifier gets derived from the name in the backend
* Editing a project
* For the scope of 11.3., make renaming identifier it a toolbar button (rendered in the toolbar in Rails due to implementation speed reasons)
<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 be preselected with the parent project given in the URL query.
* The dynamic form needs an input to add to the _initial_ form request payload to add the parent href
<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
### "Active" field
* The "active" field, indicating wether the project is archived or not is to be hidden
* The functionality is to remain available unchanged via the "Archive"-button in the toolbar
###
###
### 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 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
* the parent project field
* (and the template selector)
* The advanced settings are always collapsed until the user explicitly expands them
* Nice to have: When expanded, it does not collapse again when, e.g., changing the selected template
### Identifier
* Creating a project
* The identifier is not present in the project form
* The identifier gets derived from the name in the backend
* Editing a project
* For the scope of 11.3., make renaming identifier it a toolbar button (rendered in the toolbar in Rails due to implementation speed reasons)
<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 be preselected with the parent project given in the URL query.
* The dynamic form needs an input to add to the _initial_ form request payload to add the parent href
<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>
* 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
### "Active" field
* The "active" field, indicating wether the project is archived or not is to be hidden
* The functionality is to remain available unchanged via the "Archive"-button in the toolbar