As a Studio user, I can decide to publish a release of a project. I go on the "versions" menu item and on each release's row, I have a "share" button, with a pop up message that explains the goal: "Share publicly this project and this specific release to enable other Studio users to copy in their project the configuration you did here. Please, only share tested and working projects.". When I click on the share button, if the description of my project doesn't have more than 150 characters, sharing is not executed and a message says to the user "Your project's description is not long enough. Please make sure to have exhaustively described the purpose of your project, and what it does.?
Once I have shared a project once, I can only share new upper versions. Sharing a newer version will override in the shared projects list the one that was shared before, so that there is always only one version shared of a project.
Important note about necessary things that need to happen at release time (before sharing, as we can only share a release)
- A project cannot be released if it is not validated by automated checks (automated checks not implemented yet)
- When releasing a version of a project, a list of compatible targets is computed. It is not equivalent to the target, as I can select "target 5.4" but only configure some document types, which will also work on 5.3.2 and also on 5.5
For any user of studio , to reach the "Shared projects library", a new menu item on the horizontal bar "Shared Projects library". A sub item called "import a template" (in the future I will also have "include a project"). Then a window pops up with (as a starter) two multi-select components:
- A flat list of all Nuxeo samples
- A flat list of all other shared projects.