# Feature PIR-12 - Store PDF export of project wizard in Nextcloud/project storage

Project: Project Inititation Requests
Status: closed
URL: https://community.openproject.org/work_packages/PIR-12

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | High |
| Target versions | 17.0.0 |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

| ID | Subject | Status | Decision |
| --- | --- | --- | --- |
| PIR-20 | Where should the "archive folder" settings live? | decided |  |
| PIR-21 | Which component will define the pdf file name and path? | needs clarification |  |
| PIR-22 | Can we use the subject pattern format to define the pdf file name and path? | needs clarification |  |
| PIR-23 | Should the archive folder be created on project creation or on demand? | decided | On demand |
| PIR-24 | What name should the archive folder have? | new |  |

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| PIR-25 | Add UploadFile command for Nextcloud | Implementation | closed |  |  |  |
| PIR-26 | Create an UploadFileService | Implementation | closed | Yauheni Suhakou |  |  |
| PIR-37 | UI for the Artefact storage step of the wizard | Implementation | closed |  |  |  |
| PIR-38 | Create a RenameRemoteFileService | Implementation | rejected |  |  |  |
| PIR-39 | Update project settings on committing the artifact export form | Implementation | closed |  | 17.0.0 |  |
| PIR-40 | Create on core an StoreArtifactService | Implementation | on hold | Marcello Rocha Pereira |  |  |
| PIR-82 | Beautify artifact folder name | Implementation | rejected | Oliver Günther |  |  |

## Bugs and other work packages

| ID | Type | Subject | Status | Assignee | Target versions | Spent time | Module |
| --- | --- | --- | --- | --- | --- | --- | --- |
| PIR-81 | Bug | PIR folder name should use the system's default locale | closed |  | 17.0.0 |  |  |
| PIR-87 | Bug | If storage is decoupled from template, then PIR PDF export fails | confirmed | Dominic Bräunlein | Wish List |  | Modules and project features / Project creation, Modules and project features / File storages |

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable | Dominic Bräunlein |
| Product manager |  |
| Developers | OP Dev Titan Team |
| Designer | Parimal Satyal |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| Work |  |
| Labor costs |  |

## Description

**As** a project manager  
**I want to** have important project documents archived at a central place  
**so that** I can access them when needed

**Acceptance criteria**

Project settings:

  - A project admin can select a project storage or as attachments to be used for the project artefact archive 

Creation wizard 

  - When a project storage has been configured to be used for the artifact
    
      - And the user submits the project wizard / initiation request
    
      - The work package created has a file link to the PDF created

  - When attachments have been configured to be used for the artifact
    
      - The work package created as an internal attachment to the PDF

**Technical notes**

  - Upload Service / Command
    
      - The upload command takes following arguments
        
          - File name
        
          - File Path
        
          - Read-only flag
        
          - File
    
      - When the file path does not exist yet, the folders are created on demand
    
      - The file is uploaded
    
      - File names and folders are modified to work with the storage's naming restrictions.

**Permissions and visibility considerations**

  - *To whom is this feature visible?*

  - *When is it not visible?*

**Translation considerations**

  - *Key terms and phrases in the key languages*

**Out of scope**

  - 
    <br>

*Set the* **To be informed/consulted teams** *field to include all teams necessary to be informed of the changes.*
