Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Orion/Documentation/Developer Guide/Project services
< Orion | Documentation | Developer Guide
Contents
Overview of project services
Orion allows to extend the project functionality by adding other project types. Project types are not exclusive, one project may be of two different types.
orion.project.handler
The orion.project.handler service is used to provide a custom project handler. Creating a custom project handler enables to:
- Creating project of given type
- Adding dependencies of given type
- Adding additional information to project page
Service properties
- id
- String
- type
- String the unique identifier of the project type (for instance git or jazz)
- addParamethers
- ParameterDefinition[] Array of objects containing id String, type String describing one of the html5 input types or "textarea" and name being a display String for the parameter. Those parameters will be used to generate an input form when user tries init and new project or dependency.
- optionalParamethers
- Since 5.0 arameterDefinition[] a list of optional parameters that will display in a separate dialog when user clicks "More" in the input form with addParamethers
- addDependencyName
- String Name of the action for adding dependency
- addDependencyTooltip
- String Tooltip of the action for adding dependency
- addProjectName
- String Name of the action for adding project
- addProjectTooltip
- String Tooltip of the action for adding project
- actionComment
- optional String comment displayed when project or dependency are being initialized
- validationProperties
optional ValidationProperties[] that define if given item can be handled by this project handler, see Validation Properties
Service methods
- getAdditionalProjectProperties (item, projectMetadata)
- optional returns ProjectPageSectionDescription[] Implementing this function allows to add extra information to project page.
- Example returned project page section description:
- [
{
name: "Git",
children: [
{
name: "Git Url",
value: clone.GitUrl
},
{
name: "Git Status",
value: "Git Status",
href: "{+OrionHome}/git/git-status.html#" + item.Git.StatusLocation
}
]
}
] - will result in rendering the additional section on the project page:
- initProject (params, projectMetadata)
- initDependency (dependency, params, projectMetadata)
- getDependencyDescription (item)
- paramsToDependencyDescription (params)