Properties-File gets ignored in production?

Greetings,

i created my first working confluence plugin including a custom blueprint and context provider. I always tested the plugin via atlas-run -DskipTests=true -Dmaven.test.skip=true since i don’t have any test-files at the moment.

I wanted to deploy the plugin to our production confluence server, so a testgroup can try the blueprint and give me some input. So i compiled the plugin via atlas-plugin and uploaded the .jar-file into our plugin manager.

The Plugin gets installed without a problem and i can also use the blueprint. But somehow all my variables provided via the .properties-file are ignored. So the blueprint title is my.blueprint.title and the description is my.create-link.descriptionand so on…

Do i need to use a other command to release the package, or do i need working test-files?

Hope you can help me out!

Greetings


Edit: I moved the src folder to a new plugin with the same name, just to clear things out. This time no test folder was created, and so the atlas-run-command doesn’t fail even without skipTests-Flag. So i think the cause must be something different?

First of all i don’t think both skip params are needed, avoid boilerplate just by using the first one.

  • What is the properties file name?
    If for example the filename is myfancyplugin.properties then your atlassian-plugin.xml must contain:
    <resource type="i18n" name="i18n" location="myfancyplugin"/>
  • Have you declared in the <web-resource> the i18n pre-processor?
<transformation extension="js">
    <transformer key="jsI18n"/>
</transformation>
  • If it does, where (javascript? vm? soy? java?) are you trying to access those i18n props and how?

What is the properties file name?

It’s ./src/main/resources/confluence-bautagebuch-blueprint.properties.
My ./src/main/resources/atlassian-plugin.xml-file contains: <resource type="i18n" name="i18n" location="confluence-bautagebuch-blueprint"/>.

Have you declared in the the i18n pre-processor?

I don’t think so? I used the atlas-create-confluence-plugin-command to create the boilerplate and my atlassian-plugin.xml file has the following web-resource defined:

    <!-- add our web resources -->
    <web-resource key="confluence-bautagebuch-blueprint-resources" name="confluence-bautagebuch-blueprint Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        
        <resource type="download" name="confluence-bautagebuch-blueprint.css" location="/css/confluence-bautagebuch-blueprint.css"/>
        <resource type="download" name="confluence-bautagebuch-blueprint.js" location="/js/confluence-bautagebuch-blueprint.js"/>
        <resource type="download" name="images/" location="/images"/>

        <context>confluence-bautagebuch-blueprint</context>
    </web-resource>

Besides this entry i don’t have any other web-resource nor some i18n-transformer. Do i need to add one?

While Developing i used an English instance of confluence. But my production server is running the German version. Is this maybe the cause? A missing translation for the German Titles and instead of using the provided ones, it displays the variable-names?

If it does, where (javascript? vm? soy? java?) are you trying to access those i18n props and how?

Mainly in my ContextProvider. For example:

[...]
        final String pageTitle = i18nBean().getText("my.blueprint.page.title", asList(getFormattedLocalDate("yyyy-MM-dd")));
[...]

Greetings

You probably answered yourself. Switch to English or rename the properties file as suggested.
I don’t have access to computer atm so have it difficult to find you link though googling should be easy.
No you don’t need transformer when in backend

Probably https://developer.atlassian.com/server/confluence/i18n-architecture/ :wink: