Hello Atlassian users,
I recently went through all of the beginning/intermediate template, blueprint and space blueprint tutorials in order to write out own space blueprint (which I used the simple blueprint as a guide for). Everything seemed fairly straightforward and self explanatory, but I cannot, for the life of me get any child page, other than my data child page, to show up. I thought for some reason I might have been limited to one child page, so I removed the content-template definition and blueprint reference for my data page, and nothing shows up. If I add multiple references to my data page, only one shows up. I have literally spent about 12 hours working on this problem and I cannot make any darn sense out of it. I know about the hello blueprint, and checked it out, and it works, but I would like to build my own blueprint from scratch, so I do not have to go in and clean up everything. Also, for the record, my child page is experiencing the same issue detailed here (https://answers.atlassian.com/questions/38754775).
Below are my atlassian-plugin.xml, properties, soy, and js files. The templates for each of the children simply contain a sentence describing what each page will contain in the future so I did not bother to attach them. They are valid, simple XML files.
<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}" />
<param name="plugin-icon">images/pluginIcon.png</param>
<param name="plugin-logo">images/pluginLogo.png</param>
</plugin-info>
<!--
Add our i18n resource
* i18n name: The localisation key for the human-readable name of the plugin module
(https://developer.atlassian.com/confdev/confluence-plugin-guide/confluence-plugin-module-types/component-module)
-->
<resource type="i18n" name="i18n" location="spacebp"/>
<!-- add our web resources -->
<web-resource key="spacebp-resources" name="spacebp Web Resources">
<transformation extension="soy">
<transformer key="soyTransformer">
<functions>com.atlassian.confluence.plugins.soy:soy-core-functions</functions>
</transformer>
<transformation extension="js">
<transformer key="jsI18n"/>
</transformation>
</transformation>
<resource type="download" name="spacebp.css" location="/css/spacebp.css"/>
<resource type="download" name="spacebp.js" location="/js/spacebp.js"/>
<resource type="download" name="dialog-page.js" location="/soy/dialog-page.soy"/>
<resource type="download" name="images/" location="/images"/>
<dependency>com.atlassian.confluence.plugins.confluence-create-content-plugin:space-blueprints</dependency> <!-- This dependency is not required for confluence 5.4+ -->
<context>atl.general</context>
<context>atl.admin</context>
</web-resource>
<!--
create-space-blueprint-item allows the dialog launched by clicking the global "Create space" button to be extended.
* i18n-name-key: (required) the i18n key for the name of the Blueprint that will be displayed in the dialog
* description: (required) the i18n key for the description of the Blueprint that will be displayed in the dialog. May end up being used in searches
* resource: (required) the icon to be displayed in the dialog, must be a 200 x 150 px PNG
* blueprintKey: (optional) if present, binds this web-item to the blueprint with this key. If omitted, no binding occurs and custom JavaScript + Java must create the content
-->
<web-item key='sensor-space-blueprint-item' i18n-name-key='confluence.blueprints.space.sensor.name'
section='system.create.space.dialog/content'>
<description key='confluence.blueprints.space.sensor.description'/>
<resource name="icon" type="download" location="/images/watchtower.png" />
<param name='blueprintKey' value='sensor-space-blueprint'/>
</web-item>
<!--
content-template defines an XML resource in Confluence Storage-Format.
* key: (required) referenced by the respective <blueprint>
* i18n-name-key: (optional) used only when viewing this plugin in the Plugin Manager
* description: (optional) used only when viewing this plugin in the Plugin Manager
* resource: (required) the XML file containing the template content
* context-provider: (optional) if present, will provide extra key-value pairs to be substituted against <at:var> instances in the template
-->
<content-template key="sensor-space-homepage-template" i18n-name-key="confluence.blueprints.space.sensor.homepage.name">
<description key="confluence.blueprints.space.sensor.homepage.desc"/>
<resource name="template" type="download" location="/xml/wt-sensor-home.xml"/> <!-- Home page (checklist) -->
</content-template>
<content-template key="sensor-space-data-template" i18n-name-key="confluence.blueprints.space.sensor.data.name">
<description key="confluence.blueprints.space.sensor.data.desc"/>
<resource name="template" type="download" location="/xml/data.xml"/> <!-- Data page -->
</content-template>
<content-template key="sensor-space-timeline-template" i18n-name-key="confluence.blueprints.space.sensor.timeline.name">
<description key="confluence.blueprints.space.sensor.timeline.desc"/>
<resource name="template" type="download" location="/xml/timeline.xml"/> <!-- Timeline page -->
</content-template>
<content-template key="sensor-space-geninfo-template" i18n-name-key="confluence.blueprints.space.sensor.geninfo.name">
<description key="confluence.blueprints.space.sensor.geninfo.desc"/>
<resource name="template" type="download" location="/xml/general_information.xml"/> <!-- General information page -->
</content-template>
<!--
blueprint groups together the main blueprint concepts:
* index-key: (required) this is the name of the label that will be added to all content created from this blueprint, and used to
bring this content together on the index page.
* index-template-key: (optional) this is the moduleKey of the <content-template> that will be used to create an index page.
If none is provided, a default template will be used.
* create-result: (optional) can be assigned the value of "view" or "edit".
"view": cause the editor to be bypassed - the required content will be created and the user immediately redirected to viewing it
"edit": user will be sent to the editor pre-filled
* i18n-index-title-key: (optional) the i18n key for the title of the index page. Defaults to create-dialog-web-item name if none specified.
-->
<space-blueprint key="sensor-space-blueprint" i18n-name-key="confluence.blueprints.space.sensor.name">
<content-template ref="sensor-space-homepage-template"> <!-- Home -->
<content-template ref="sensor-space-data-template"/> <!-- Child Page -->
<content-template ref="sensor-space-geninfo-template"/> <!-- Child Page -->
<content-template ref="sensor-space-timeline-template"/> <!-- Child Page -->
</content-template>
<dialog-wizard key="sensor-space-blueprint-wizard">
<dialog-page id="exampleSpaceId"
template-key="Confluence.SpaceBlueprints.sensor.dialogForm"
title-key="confluence.blueprints.space.sensor.dialog.create.title"
description-header-key="confluence.blueprints.space.sensor.dialog.create.heading"
description-content-key="confluence.blueprints.space.sensor.dialog.create.description"
last="true"/>
</dialog-wizard>
</space-blueprint>
</atlassian-plugin>confluence.blueprints.space.sensor.name=Sensor Space Blueprint confluence.blueprints.space.sensor.description=Start with a preconfigured Sensor Space confluence.blueprints.space.sensor.dialog.create.title=Create a Sensor Space confluence.blueprints.space.sensor.dialog.create.heading=About sensor Spaces confluence.blueprints.space.sensor.dialog.create.description=Use this blueprint to create a Sensor Space confluence.blueprints.space.sensor.home.title.suffix=Home Page confluence.blueprints.space.sensor.homepage.name=Home confluence.blueprints.space.sensor.homepage.desc=Sensor Space Home confluence.blueprints.space.sensor.data.name=Data confluence.blueprints.space.sensor.data.desc=sensor page that contains data analysis, test and sample data archives, and expected data volume metric pages confluence.blueprints.space.sensor.geninfo.name=General Info confluence.blueprints.space.sensor.geninfo.desc=General information for the sensor, to include background, capabilities, description, docs, resources and stakeholders confluence.blueprints.space.sensor.timeline.name=Timeline confluence.blueprints.space.sensor.timeline.desc=The timeline of events for all sensor related activities, to include meetings, boards, analysis and deliveries confluence.blueprints.space.sensor.home.children.heading=Child pages will be shown here confluence.blueprints.space.sensor.dialog.label.heading=Sensor Name confluence.blueprints.space.sensor.dialog.label.heading.placeholder=E.g. sensorname confluence.blueprints.space.sensor.dialog.label.description=Sensor Description confluence.blueprints.space.sensor.dialog.label.description.placeholder=Briefly describe this sensor
{namespace Confluence.SpaceBlueprints.sensor}
/**
* Dialog form template
*
* @param atlToken the XSRF token to send with the form
* @param? fieldErrors the map of errors to display keyed by field name
* @param? name initial value for the name field
* @param? key initial value for the key field
*/
{template .dialogForm}
<form action="#" method="post" id="decisions-form" class="common-space-form aui">
{call Confluence.Templates.Blueprints.CreateSpace.createSpaceFormFields}
{param showSpacePermission: false /}
{param fieldErrors: $fieldErrors /}
{param name: $name /}
{param key: $key /}
{/call}
/** Additional Create Space dialog */
<fieldset>
<div class="field-group">
<label for="space-homepage-heading">{getText('confluence.blueprints.space.sensor.dialog.label.heading')}</label>
<input class="text" type="text" id="text-input" name="spaceHomepageHeading" title="Text input"
placeholder="{getText('confluence.blueprints.space.sensor.dialog.label.heading.placeholder')}">
</div>
</fieldset>
<fieldset>
<div class="field-group">
<label for="space-description">{getText('confluence.blueprints.space.sensor.dialog.label.description')}</label>
<textarea id="space-description" class="textarea long-field" rows="3" type="text" name="spaceDesc"
placeholder="{getText('confluence.blueprints.space.sensor.dialog.label.description.placeholder')}"></textarea>
</div>
</fieldset>
/** End Additional Create Space dialog */
<input type="hidden" name="atl_token" value="{$atlToken}" />
</form>
{/template}AJS.bind("blueprint.wizard-register.ready", function () {
function submitExampleSpace(e, state) {
state.pageData.ContentPageTitle = state.pageData.name + " " + AJS.I18n.getText("confluence.blueprints.space.sensor.home.title.suffix");
return Confluence.SpaceBlueprint.CommonWizardBindings.submit(e, state);
}
function preRenderExampleSpace(e, state) {
state.soyRenderContext['atlToken'] = AJS.Meta.get('atl-token');
state.soyRenderContext['showSpacePermission'] = false;
}
Confluence.Blueprint.setWizard('com.sensor.plugins.tutorial.confluence.spacebp.spacebp:sensor-space-blueprint-item', function(wizard) {
wizard.on("submit.exampleSpaceId", submitExampleSpace);
wizard.on("pre-render.exampleSpaceId", preRenderExampleSpace);
wizard.on("post-render.exampleSpaceId", Confluence.SpaceBlueprint.CommonWizardBindings.postRender);
});
});I I would greatly appreciate any help or assistance with this problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.