We created a first beta version of the DTSMP that should make it a lot easier to create these three kinds of pages. We say 'should' since we just started the journey. Everything starts with the archetype project. But you control the archtetype for doctype add-ons with the doctype:create goal which sets some defaults and makes creating new add-on projects quite easy. To create a blueprint you need to touch a number of files. - There is the XML file containing the template,
- the Soy file to specify the wizard.
- A JavaScript file for the validators for the wizard,
- probably a Java file to manipulate the blueprint context
- and finally a number of edits to the
atlassian-plugin.xml file.
To simplify this process, we do specify one descriptor and then generate all the blueprint related stuff. We think of pages as documents with properties (key-value pairs) and sections (a title with text, possibly nested). We call this a projectdoc document. With this in mind, we define a document type with a doctype descriptor (there is also a descriptor for spaces and one for the context of the add-on). Example Box |
---|
title | System, System Type, and Lifecycle Phase |
---|
| Here is the example of a doctype (it-system ) with it own type category (it-system-type ). Expand |
---|
title | Click here to expand the System Descriptor |
---|
| Code Block |
---|
language | xml |
---|
title | System doctype (with a type) |
---|
| <doctype
xmlns="http://smartics.de/xsd/projectdoc/doctype/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
id="it-system"
base-template="standard"
provide-type="standard-type"
category="operations">
<resource-bundle>
<l10n>
<name>IT System</name>
<description>
Provide information on an IT system to be deployed to.
</description>
<about>
IT systems are part of environments where products are deployed to.
</about>
</l10n>
<l10n locale="de">
<name>IT-System</name>
<description>
Erstellen Sie eine Akte zu einem IT-System.
</description>
<about>
IT-Systeme stellen Funktionalität bereit, die von Services genutzt werden.
</about>
<type plural="IT-Systemtypen">IT-Systemtyp</type>
</l10n>
</resource-bundle>
<properties>
<property key="projectdoc.doctype.common.type">
<value>
<macro name="projectdoc-name-list">
<param name="doctype">it-system-type</param>
<param
name="property"
key="projectdoc.doctype.common.type" />
<param name="render-no-hits-as-blank">true</param>
</macro>
</value>
</property>
<property key="projectdoc.doctype.it-system.lifecycle-phase">
<value>
<macro name="projectdoc-name-list">
<param name="doctype">lifecycle-phase</param>
<param
name="property"
key="projectdoc.doctype.it-system.lifecycle-phase" />
<param name="render-no-hits-as-blank">true</param>
</macro>
</value>
<resource-bundle>
<l10n>
<name>Lifecycle Phase</name>
</l10n>
<l10n locale="de">
<name>Lifecycle-Phase</name>
</l10n>
</resource-bundle>
</property>
</properties>
</doctype> |
|
If you are looking for the declaration if the it-system type , its here: Code Block |
---|
provide-type="standard-type" |
The type doctype provides a section to dynamically list all documents that are associated to this type. The it-system blueprint does not only provide the two properties explicitly stated. Since it derives from the standard template, all standard properties and sections are automatically generated. Expand |
---|
title | Click here to expand the Lifecycle Phase Descriptor |
---|
| Code Block |
---|
language | xml |
---|
title | Lifecycle Phase (a type) |
---|
| <doctype
xmlns="http://smartics.de/xsd/projectdoc/doctype/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
id="lifecycle-phase"
base-template="type"
provide-type="none"
category="reference">
<resource-bundle>
<l10n>
<name>Lifecycle Phase</name>
<description>
Define a lifecycle phase.
</description>
<about>
Lifecycle Phases define phases that are bound to a lifecycle.
</about>
</l10n>
<l10n locale="de">
<name>Lifecycle-Phase</name>
<description>
Definieren Sie eine Phase.
</description>
<about>
Phasen von Lifecycles dokumentieren einen Abschnitt im Zyklus von Ressourcen.
</about>
<type plural="Lifecycle-Phasentypen">Lifecycle-Phasentyp</type>
</l10n>
</resource-bundle>
<properties>
<property key="projectdoc.doctype.lifecycle-phase.lifecycle">
<value>
<macro name="projectdoc-name-list">
<param name="doctype">lifecycle</param>
<param
name="property"
key="projectdoc.doctype.lifecycle-phase.lifecycle" />
<param name="render-no-hits-as-blank">true</param>
</macro>
</value>
<resource-bundle>
<l10n>
<name>Lifecycle</name>
</l10n>
<l10n locale="de">
<name>Lifecycle</name>
</l10n>
</resource-bundle>
</property>
</properties>
</doctype> |
|
|
|