[Pages] Native HTML options (similar to cidilabs)

I feel theres a large option thats an easy win for Canvas missing at the moment and that is pre-designed html elements that can be readily slotted into pages by staff.  This is currently provided at cost by cidilabs as an external provider, but it would be far superior coming from Instructure themselves, particularly as they know what will and wont work with their own code!

I am desperately trying to find a working image carousel option but the limited html and css functionality is scuppering me at every turn, and the fixes I do find to put in place can break suddenly when new patches come out.  Having this natively within the RCE would be amazing and would put Canvas even further ahead of all its competition.  It's a common request from staff to my design team and would be a massive quality of life update.

17 Comments
James
Community Champion

Having Canvas insert specific content or snippets then means that Canvas has to support that content and make sure that it works. Let's say that I want to insert a image slider but my institution doesn't load the JavaScript to do that, or they use a different library than the one Canvas supports. This really is the role of third-party software.

stephen_taylor
Community Contributor

@James I know what you mean, but surely there can be a default javascript file for it, and then you can toggle the tool on or off in the Admin panel

chriscas
Community Coach
Community Coach

I generally agree with @James on this one, thought I'm curious what "code snippets" users may have in mind here.  Not only do the code snippets become a maintenance nightmare (whether for Instructure or local admins, breaking course content never goes over well with teachers or students).  There may also be accessibility concerns with these things depending on exactly what they may do.  This is not to say that I don't see the need, but in the case of Canvas I do feel like the approach should be a bit more function over form that the other way around.

Making flashy graphics, animations, etc is great, but sometimes the beauty of those is in the eye of the beholder and not everyone may agree on what is good or bad.  While the Canvas RCE does lack some features, I think a lot of the things that are lacking are intentional for accessibility and simplicity.  Accessibility is becoming a larger and larger concern in higher-ed, so if a feature like this was ever created, we would definitely advocate for accessibility assurances.

James
Community Champion

Chris ( @chriscas ) reminds me that people should work with their institutional Canvas admin to incorporate JavaScript. Canvas already provides a way to add JavaScript and CSS at the institutional level. This can be set up so that people can add classes to their content that invokes it.

There have been requests in the past for people to be able to add custom JavaScript at the course level. I think those are bad ideas for some the reasons Chris enumerates.

If you want a carousel like the original poster mentioned, this really belongs at the global level, which is something that each institution should decide upon and support. The institution gets to decide which products meet their requirements.

From Canvas perspective, this request is asking them to supply extra libraries that they deliver to everyone that some might use. They've already said they are deprecating jQuery UI, which was once used for accordions, tabs, and other interactive content. They came up with their own library that they recommend for developers, but unfortunately, it isn't for end-user content.

Canvas still has a style guide that does work with user content, but that was deprecated for a while before Canvas revived a slimmed down version of it. I have never seen anything from them that indicates they want to be in the long term business of supporting external libraries that they don't use themselves.

dspiel
Community Participant

@James comments are helpful as he has done much coding and many of his ideas have become part of Canvas, but I do think the concept of having the ability to add scripting more easily that is controlled by the institution Admins could be helpful. At this point it has to be added as part of the theme, but what if there was an area where admins could have a library of code possibilities they could turn on or off if they want?  For example, we have wanted to institute the addition of our global campus information to the syllabi at the bottom of the page of every course.  Yes there is some code that can be found and do it via the theme but it should be much easier than that.  Sadly Instructure is more worried about icons being added than the functionality of a page.

KristinL
Community Team
Community Team
Status changed to: New
 
KristinL
Community Team
Community Team
Status changed to: Added to Theme