Open portfolio file
rillsoft_portfolio_file_openOpen one .rpp portfolio file to replace current project with multiple project files. Returns project list, skipped entries, and notes; use project file open for a single .rpj.
Instructions
Opens exactly one file portfolio (.rpp), which is a list of project files, and replaces the current project. A single project file (.rpj) is refused; rillsoft_project_file_open covers that. The answer carries portfolio:true and projects[] (uuid, name, path, readOnly); lines of the .rpp that point nowhere end up in skipped[], anything else the loader has to say in note. Inside a portfolio the tools work as in a single project, with the limits of the user interface: nothing is created directly below the portfolio, no task or subproject changes its project, no dependency crosses the project boundary in a file portfolio, no baseline, no 'save as'; rillsoft_portfolio_project_files_save writes the changed projects back. No undo step.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | absolute path of an .rpp portfolio file | |
| discardChanges | No | true = discard unsaved changes of the current project |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wbs | Yes | WBS code | |
| name | Yes | name | |
| note | No | hints about opening; missing when there were none | |
| path | Yes | path of the file that was opened | |
| uuid | Yes | UUID of the element | |
| start | Yes | start, DD.MM.YYYY hh:mm | |
| finish | Yes | finish, DD.MM.YYYY hh:mm | |
| number | Yes | number of the element; unique even for split tasks | |
| skipped | No | parts that were not loaded; missing when nothing was skipped | |
| projects | No | the projects it contains; only for a portfolio | |
| portfolio | Yes | true = a portfolio was opened |