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.