stable

Clone or download

Read-only

fix: Do not provide project templates that depends on graphs

ConsistencyChecker is already checking that all services declared in the project.xml are available. If one is not available then the template is not proposed in project creation UI. This works fine for project services but fails for hidden dependencies on plugins that are not project services. For example, graphontrackersv5 is used to enhance renderers capabilities in trackers. But graphontrackersv5 is not a project service, and therefore does not appear in the project.xml services definition. It worked fine until d9a12544da7ced05116d42e163efec31e438128f, where we included the possibility to define project template with PHP code instead of XML. We started "small" (+2079 -848 😭) and only extracted the issue tracker. We ended up with an intermediate solution with a project template defined both in PHP (the tracker definition) and in XML (the dashboard definition). Thanks to Tuleap plugins hooks, if graphontrackersv5 is not available, then the corresponding renderers definition will not be generated. However the XML part does not know that and will still reference those renderers in dashboards. The conclusion is that we must bring consistency to ConsistencyChecker by checking availability of plugins that cannot be declared in the XML. TL;DR: If graphontrackersv5 is not available, then the following project templates are not proposed at project creation: * AgileALM * Scrum * Issues * Program Management Portfolio * Program Management Team Part of request #22651: Convert Issue XML template to PHP code Change-Id: If2d7bda4909cc334c27a5bd5738f7055d27a8788

Modified Files

Name
M plugins/program_management/include/Templates/PortfolioTemplate.php +4 −1 Go to diff View file
M plugins/program_management/include/Templates/ProgramTemplate.php +1 −1 Go to diff View file
M plugins/program_management/include/Templates/TeamTemplate.php +4 −1 Go to diff View file
M plugins/program_management/include/program_managementPlugin.php +3 −1 Go to diff View file
M src/common/Project/Registration/Template/AgileALMTemplate.php +4 −1 Go to diff View file
M src/common/Project/Registration/Template/IssuesTemplate.php +4 −1 Go to diff View file
M src/common/Project/Registration/Template/KanbanTemplate.php +1 −1 Go to diff View file
M src/common/Project/Registration/Template/ScrumTemplate.php +4 −1 Go to diff View file
M src/common/Project/Registration/Template/TemplateFactory.php +5 −2 Go to diff View file
M src/common/Project/XML/ConsistencyChecker.php +16 −20 Go to diff View file
M tests/rest/bin/setup.sh +1 −0 Go to diff View file
M tests/unit/common/Project/REST/v1/RestProjectCreatorTest.php +10 −4 Go to diff View file
M tests/unit/common/Project/XML/ConsistencyCheckerTest.php +64 −4 Go to diff View file