Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Add-on is not responding. Wait or cancel?

Balkis Khouni February 8, 2015

Hello !

I am trying to make a simple HelloWorld add-on using atlassian-connect-play-java :

My Controller : 

package controllers;
import views.html.*;
import com.atlassian.connect.play.java.controllers.AcController;
import com.google.common.base.Supplier;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
     public static Result index()
    {
        return AcController.index(home(), descriptor());
    }
     private static Supplier<Result> descriptor()
    {
        return new Supplier<Result>()
        {
            @Override
            public Result get()
            {
                return AcController.descriptor();
            }
        };
    }
    private static Supplier<Result> home()
    {
        return new Supplier<Result>()
        {
            @Override
            public Result get()
            {
                return ok(index.render("Hello"));
            }
        };
    }
}

 

My routes file : 

GET / controllers.Application.index()
GET /assets/*file controllers.Assets.at(path="/public", file)
-> / ac.Routes

 

My index:scala.html file :

@(message: String)
@main("Welcome to Play") {
        <p>@message</p>
   
}

 

My main.scala.html file :

@(title: String)(content: Html)
<!DOCTYPE html>
<html>
    <head>
        <title>@title</title>
      
        <script src="http://localhost:1990/confluence/atlassian-connect/all.js" type="text/javascript"></script>
        <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.4.3/css/aui.css" media="all">
        <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
        <script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script>
    </head>
    <body>
        <div class="ac-content">
        <p>@content</p>
    </div>
        
    </body>
</html>

 

My atlassian-connect.json file : 

{
     "key": "${addonKey}",
     "name": "${addonName}",
     "description": "Atlassian Connect add-on",
     
     "baseUrl": "${localBaseUrl}",
     "vendor": {
        "name": "Atlassian",
        "url": "http://www.atlassian.com"
    },
     "authentication": {
         "type": "none"
     },
     
     "modules": {
    "generalPages": [
      {
        "url": "/",
        "key": "test-application",
        "location": "system.user",
        "name": {
          "value": "Test"
        }
      }
    ]
  },
  "scopes": ["READ"]
 }

 

What I get when I run my play application : 

image2015-2-8 20:57:45.png

What I get when I install my plugin on a local instance of Confluence and run it :

 

image2015-2-8 20:59:5.png

 

I tried to find the problem but I couldn't, can someone please help ?

Thanks.

2 answers

2 votes
m@
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 8, 2015

This will be because your addon is not responding to the iframe request for some reason.  I would suggest using firebug or google chrome developer tools to see which request is failing.  You should see a request to your addon either timing out, failing or going to the wrong host.

0 votes
Balkis Khouni February 9, 2015

Thank you @Matthew Jensen, I followed your advice and I did find the request that was failing.

The url that I specified in the descriptor was invalid. A simple "/" or an empty url "" was not accepted by confluence so I had to change it to "/home" and change my routes file as well.

 

Thanks smile

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events