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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.