You should see a request coming in to your heroku app and the status of that request. If it's a 4xx or 5xx, then it's something on the backend that isn't configured correctly. If you make a jive-hosted (no middleware), then the troubleshooting area would be to see what's written in your app.xml (for apps) or definition.json files.
yep, Rashed Talukder, I should have mentioned this but Heroku's responses from status codes in the logs seem totally fine. Including this one
2016-07-08T21:24:05.718105+00:00 heroku[router]: at=info method=POST path="/jive/oauth/register" host=lmshub.herokuapp.com request_id=19eb11c8-a02e-47ba-83d5-a211e66fce2b fwd="188.8.131.52" dyno=web.1 connect=1ms service=18ms status=200 bytes=183
I can certainly look in the definition.json file (which I see is included in the generated "extension.zip" file), but other than eyeballing it looking for anything weird... is there a way to see why Jive's complaining about the "View Unavailable" message?
one question, have you guys tried using Ngrok: Warp Speed for Your Integration Iterations (older, but still relevant: Local Jive Add-On Development in the Cloud using grok). It is a great way to vet these scenarios before you roll this out to an environment like Heroku.
That being said, you Heroku end-point looks to be fine....as I can ping it from here and see the UI. This means that the tile should not have any problem resolving, which means that you need to check your definition.json that is generated from your project.
Could you share the contents in this thread? Also, if it begins with %serviceURL%, then please include the value of serviceURL from /extension_src/meta.json
Ryan Rutan nope haven't tried Ngrok (or even heard of it until now). Glad to hear that the Heroku endpoint looks fine, it seemed fine to me but hearing that you've tried it to is good.
The contents (in extension.zip that's built) of definition.json are:
"title": "sampletile-list tile-list",
"text": "Initial text from Mike Nistler to be replaced"
and extension_src/meta.json is
"description": "Description for sampletile-list-mgn jive-client-config-root",
I do not see a "displayWidth" attribute in your definition.json. It should be something like "displayWidth" : "ALL". That might be the issue, but it should have been there from the get go.
Other values include, "WIDE" and "NARROW"
ok, I added "displayWidth" : "ALL" to /tiles/[name]/definition.json. Built, uninstalled, uploaded new version, deleted old tile, installed new tile, same error message.
Is there a way I can *definitively* see why the "View Unavailable" message is coming up? I'd imagine the root cause would be logged and appear in some logging system somewhere?
I've been trying to figure this one out, and it would go a long way if you could provide a screen shot to fill some gaps in my mind of the tile & error message. Also, is your heroku app running and pushing data to Jive? I see that it handles the tile registration, but the backend service should also push data shortly after that.
Sure, here's the screenshots
then after adding:
all this occurs on https://thomsonreuters-test.jiveon.com/edit-place.jspa?showAboutModal=true&containerType=700&containerID=235121 (mostly for my reference)
This helps a lot. So the issue we have here is that your List Tile should be making a GET request to heroku to the /configure/ endpoint, but the request you posted from the logs is to the /register endpoint for your service. Is there anything in the logs that goes to /configure? Does that host+path of the request match what's in your definition.json? My guess right now is that you might need to remove the /public/tiles/ from your config path in the definition.json.
When I add the tile to the group page, there is no activity whatsoever in the Heroku logs (which seems a bit odd).
When installing the Add-On I see this in the logs:
2016-07-15T13:26:15.425354+00:00 heroku[web.1]: Starting process with command `node app.js`
2016-07-15T13:26:17.954029+00:00 app[web.1]: [2016-07-15 13:26:17.947] [WARN] jive-sdk - ******************************
2016-07-15T13:26:17.955559+00:00 app[web.1]: [2016-07-15 13:26:17.954] [WARN] jive-sdk - File persistence is configured.
2016-07-15T13:26:17.956128+00:00 app[web.1]: [2016-07-15 13:26:17.956] [WARN] jive-sdk - not be used for production!
2016-07-15T13:26:17.956237+00:00 app[web.1]: [2016-07-15 13:26:17.956] [WARN] jive-sdk - ******************************
2016-07-15T13:26:17.981846+00:00 app[web.1]: [2016-07-15 13:26:17.979] [INFO] jive-sdk - Updating definition 'sampletile
2016-07-15T13:26:18.021881+00:00 app[web.1]: [2016-07-15 13:26:18.021] [INFO] jive-sdk - Running bootstrap.
2016-07-15T13:26:17.956015+00:00 app[web.1]: [2016-07-15 13:26:17.955] [WARN] jive-sdk - Please note that this should
2016-07-15T13:26:18.027444+00:00 app[web.1]: [2016-07-15 13:26:18.027] [WARN] jive-sdk - Starting service in HTTP mode
2016-07-15T13:26:18.033443+00:00 app[web.1]: [2016-07-15 13:26:18.033] [INFO] jive-sdk - Http node setup
2016-07-15T13:26:18.432027+00:00 app[web.1]: [2016-07-15 13:26:18.431] [INFO] jive-sdk - 195129 total bytes written to e
xtension archive 'extension.zip'
2016-07-15T13:26:18.437886+00:00 app[web.1]: [2016-07-15 13:26:18.437] [INFO] jive-sdk - Bootstrap complete.
2016-07-15T13:26:18.438303+00:00 app[web.1]: [2016-07-15 13:26:18.438] [INFO] jive-sdk - Started service in 'self-conta
2016-07-15T13:26:18.441276+00:00 app[web.1]: [2016-07-15 13:26:18.441] [INFO] jive-sdk - Service started in production m
2016-07-15T13:26:18.438091+00:00 app[web.1]: [2016-07-15 13:26:18.437] [INFO] jive-sdk - Jive SDK version 0.1.218
2016-07-15T13:26:18.450024+00:00 app[web.1]: Express server listening on :::32695
2016-07-15T13:26:19.045195+00:00 heroku[web.1]: State changed from starting to up
2016-07-15T13:26:20.144681+00:00 app[web.1]: [2016-07-15 13:26:20.144] [WARN] jive-sdk - Warning - development mode is o
n. Accepting extension registration request regardless of source!
2016-07-15T13:26:20.157491+00:00 heroku[router]: at=info method=POST path="/jive/oauth/register" host=lmshub.herokuapp.c
om request_id=33f3355c-07b4-45f1-a61d-fcd801ee7cb4 fwd="184.108.40.206" dyno=web.1 connect=0ms service=32ms status=200 byte
as to your question about Heroku - I'm not sure what you're asking exactly. I just used the sample code (with a few string modifications with my initials "mgn" mostly, to ideally help me track down errors) so I haven't even attempted to modify what the backend service is doing.
As a reference, I put a completely-unmodified-hosted-by-Heroku instance of the sample code on the Sandbox with the exact same "View Unavailable" error message: https://sandbox.jiveon.com/groups/mgn-group