Spaceblueprint works in SDK but not in Production Confluence

Irakli Edjibia July 13, 2017

Hi everyone,

I´ve developed a Spaceblueprint and everything works great in the SDK. But when importing the .jar or the .obr into our production Confluence I get the following error inside of the firefox console:
"Error: wizard points to a non-existent Soy template 'itcs.confluence.customerbp.page1Form'. Check your web-resources or server logs."
The strange thing is that everything works fine in the SDK so I don´t know what to change to make it work in the production Confluence.

I really apreciate any help!

Thank you
Irakli Edjibia

2 answers

0 votes
Max Burn February 19, 2019

I am not sure if you are still having this issue, or if this will solve it, but since I spent more time figuring this out that I care to admit (and found this page in the process) so I want to sare.

I was working through the Intermediate Blueprint Tutorial and would got hung up on step 6. After digging it seems I was also getting the error:

wizard points to a non-existent Soy template

Line 26 of the tutorial's atlassian-plugin.xml file it reads:

<resource type="download" name="simplebp.soy.js" location="/soy/simplebp.soy" />

And has the "simplebp.soy" placed in the directory "./simplebp/src/main/resources/soy/"

For it to work my resources line reads:

<resource type="download" name="simplebp-soy.js" location="simplebp.soy" />

 And as that line suggest I have my "simplebp.soy" directly in  "./simplebp/src/main/resources/"

 

In my case I was running a standalone instance of Confluence 6.6.0 due to other issues.

atlas-run-standalone --product confluence --version 6.6.0 --data-version 6.6.0

 

0 votes
AnnWorley
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 14, 2017

This other customer on Community eleminated that error by escaping quotes: 

 
 
 

 

Irakli Edjibia July 15, 2017

Hello Ann,

sadly this didn't solve my problem.

I will post my atlassian-plugin.xml, js file and soy template here hoping you or someone else finds the mistake in my code.

I am using this atlas-clis version:

ATLAS Version:    6.2.14
ATLAS Home:       /usr/share/atlassian-plugin-sdk-6.2.14
ATLAS Scripts:    /usr/share/atlassian-plugin-sdk-6.2.14/bin
ATLAS Maven Home: /usr/share/atlassian-plugin-sdk-6.2.14/apache-maven-3.2.1
AMPS Version:     6.2.11

And this confluence version:

 Atlassian Confluence 6.2.3

 

So here comes my js file, I've replaced all the escaped quotes:

AJS.bind("blueprint.wizard-register.ready", function () {
function submitExampleSpace(e, state) {
state.pageData.ContentPageTitle = state.pageData.name + " " + AJS.I18n.getText("itcs.confluence.customerbps.frontend.wizard.js.title");
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.itcs.confluence.customerbp.customerbp:itcs-confluence-customerbp-item", function(wizard) {
wizard.on("submit.wizardPage1", submitExampleSpace);
wizard.on("pre-render.wizardPage1", preRenderExampleSpace);
wizard.on("post-render.wizardPage1", Confluence.SpaceBlueprint.CommonWizardBindings.postRender);
});
});

 

 This is my soy template:

{namespace itcs.confluence.customerbp}
/**
 * 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 .page1Form}
<form action="#" method="post" id="wizardPage1" class="common-space-form aui">
    {call Confluence.Templates.Blueprints.CreateSpace.createSpaceFormFields}
        {param showSpacePermission: false /}
        {param fieldErrors: $fieldErrors /}
        {param name: $name /}
        {param key: $key /}
    {/call}
    <fieldset>
        <div class="field-group">
            <label for="vcusname">{getText('itcs.confluence.customerbp.frontend.wizard.soy.vcusname')}</label>
            <input id="vcusname" class="text long-field" type="text" name="vCusName"/>
        </div>
    </fieldset>
    <fieldset class="field-group">
        <label>{getText('itcs.confluence.customerbp.frontend.wizard.soy.sellang')}</label>
        <div class="radio">
            <input class="radio" type="radio" checked="checked"
                name="radiobuttons" id="radioButtonOne">
            <label for="radioButtonOne">{getText('itcs.confluence.customerbp.frontend.wizard.soy.vlang1')}</label>
        </div>
        <div class="radio">
            <input class="radio" type="radio"
            name="radiobuttons" id="radioButtonTwo">
            <label for="radioButtonTwo">{getText('itcs.confluence.customerbp.frontend.wizard.soy.vlang2')}</label>
        </div>
    </fieldset>

    <input type="hidden" name="noPageTitlePrefix" value="true"/>
    <input type="hidden" name="atl_token" value="{$atlToken}" />
</form>
{/template}
         

 

And the Important Parts of my atlassian-plugin.xml:

<atlassian-plugin key="${atlassian.plugin.key}" 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 -->
    <resource type="i18n" name="i18n" location="customerbp"/>

<!-- __Space BP: -->
    <web-item key='itcs-confluence-customerbp-item' i18n-name-key="itcs.confluence.customerbp.name"
        section='system.create.space.dialog/content'>
        <description key='itcs.confluence.customerbp.desc'/>
        <param name='blueprintKey' value='itcs-confluence-customerbp'/>
    </web-item>

    <space-blueprint key="itcs-confluence-customerbp" i18n-name-key="itcs.confluence.customerbp.name"
        category="customer">
        <space-creation-steps>
            <space-creation-step ref="com.atlassian.confluence.plugins.confluence-create-content-plugin:restrictedUserSpaceCreationStep"/>
            <space-creation-step ref="com.atlassian.confluence.plugins.confluence-create-content-plugin:watchSpaceCreationStep"/>
        </space-creation-steps>
        <dialog-wizard key="itcs-confluence-customerbp">
            <dialog-page id="wizardPage1"
                template-key="itcs.confluence.customerbp.page1Form"
                title-key="itcs.confluence.customerbp.dialog.create.title"
                description-header-key="itcs.confluence.customerbp.dialog.create.heading"
                description-content-key="itcs.confluence.customerbp.dialog.create.description"
                last="true"/>
        </dialog-wizard>
        <default-blueprint-item ref="itcs-confluence-customerbp"/>

    </space-blueprint>
    <!-- add our web resources -->
    <web-resource key="itcs-confluence-customerbp-wizard" name="customerbp Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <dependency>com.atlassian.confluence.plugins.confluence-create-content-plugin:resources</dependency>

        <transformation extension="soy">
            <transformer key="soyTransformer">
                <functions>com.atlassian.confluence.plugins.soy:soy-core-functions</functions>
            </transformer>
        </transformation>
        <transformation extension="js">
            <transformer key="jsI18n"/>
        </transformation>

        <resource type="download" name="itcs-confluence-dialog-page.js" location="/soy/dialog-page.soy"/>
        <resource type="download" name="customerbp.css" location="/css/customerbp.css"/>
        <resource type="download" name="itcs-confluence-customerbp.js" location="/js/customerbp.js"/>
        <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+ -->
        <dependency>com.atlassian.confluence.plugins.confluence-create-content-plugin:resources</dependency>
        <dependency>com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar</dependency>

       <context>atl.general</context>
        <context>atl.admin</context>
        <context>customerbp</context>
    </web-resource>
</atlassian-plugin>


 

Thank you for your help!

Irakli Edjibia

 

Like # people like this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events