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.
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.