We've built an LTI application that adds a menu item to the main navigation by using the global_navigation LTI placement. It works fine (shows up on the main navigation) when you install it in the production environment of Canvas, but not on the test or beta instance. Any idea why?
There are two documents that may provide assistance here.
In the Canvas Guide How do I access the Canvas beta environment as an instructor? , there is this comment in the blue section at the top
LTI tools (External Apps) are typically not available outside the production environment. LTI tools may display in the beta environment, but often they are only configured for the production environment. Using production-configured LTI tools in the beta environment will affect live data. If you have permission to edit LTI tools, you can confirm the configuration for a specific LTI tool in your course or account. Please contact your Customer Success Manager for specific questions.
The second document indicates that it can be done, but that you need to modify the XML to make it work properly. LTI Integrations in Testing and Beta . There Deactivated user pointed us to the Test Environment Setting Examples section of the Importing Extended Tool Configurations document of the REST API documentation.
Note that I haven't attempted this myself, I'm just passing the information on in the hope that it helps.
Hello there, @joel_duffin ...
As I was reviewing older discussion topics here in the Canvas Community, I noticed that we have not heard from you since you first posted your question here on September 27, 2017 and then received a reply from @James later that day. Have you had an opportunity to review the feedback that you have received from James? Did his response help to answer your question? Are there any other questions you have as it relates to your initial posting? If you feel that the response from James has helped to answer your question, please go ahead and mark it as "Correct". However, if you still have some questions for members of the Community, please feel free to post those below. For now, I am going to mark your question as "Assumed Answered". However, that won't prevent you or others from posting additional questions or comments below as it relates to this question. I hope that's alright with you, Joel. Looking forward to hearing back from you soon!
We have read the documentation James pointed us to and are still not able to add an LTI tool to the Global Canvas navigation menu. I'd welcome any additional suggestions you might have.
Hi @joel_duffin ...
Thank you for your reply. Unfortunately, I am not much of a coder or know a ton about the inner workings of LTIs. However, what I will do is share your question with the https://community.canvaslms.com/groups/canvas-developers?sr=search&searchId=d6028bc1-ce37-449a-93ae-... group here in the Canvas Community in hopes that your question will get some additional exposure (in addition to the helpful advice that James has given). I hope this will be of some help to you. Good luck!!!
Hi @joel_duffin ,
This is something that I will admit we have not yet attempted to do at this stage. However, I remember talking with one of the technical implementers way back when, and he provided some insight into this. The global nav menu is tied to having Canvas Commons turned on within an environment. If you have commons turned on, you can add items to the global nav menu, if not, they don't work.
As commons is not accessible within the test environments (with good reason, as @James mentioned originally) this means that (by unfortunate default) items added to the main Nav menu will simply not show up in the test or beta environments.
The way we plan on getting around this is by using our additional 'production' environment (as a test environment) which Instructure can provide an institution and an extremely reasonable, one-off cost (hence, no reoccurring fees outside of your standard licensing, please talk to your Sales Rep for that). I would recommend having a quick read of this post I made a while back as it defines the pro's and con's of this as an approach https://community.canvaslms.com/message/86184-re-prod-vs-test-and-best-practices-for-testing-changes... .
Hope that helps!
It seems like the code that is used to show the Commons menu item is Here . It is also the code used for the global_navigation placement. As previously mentioned in this post, the way this code is written means that if Commons is not on the global navigation menu then no other global_navigation LTI can be there. Since Commons is disabled outside of production that means all other global_navigation LTI's will not show up outside of production.
If that code ever does change, please add a property for icon_svg_viewbox while you are in there so we are not limited to 64x64 svg files.