GlideJellyRunner API not available to scoped applications


When trying to use the GlideJellyRunner class within a scoped application, the following error message appears:
"GlideJellyRunner is not allowed in scoped applications"

Steps to Reproduce

1. Create a scoped application (such as a record producer) that contains a script referencing a script include that utilizes the GlideJellyRunner class. For example:

var fi = new FormInfoHeader();
var s = 'This OCIO Request was opened for you.<br/>';
s += 'The OCIO team will contact you shortly.<br/>';
s += 'You can track status from the <a href="" class="breadcrumb" >Homepage</a> <br/>';

2. Inside the globally scoped FormInfoHeader script include, reference the GlideJellyRunner() class:


var FormInfoHeader = Class.create();

FormInfoHeader.prototype = {
initialize: function() {

addMessage: function(message) {
var jr = new GlideJellyRunner();
jr.setVariable('jvar_text', message);
var m = jr.runFromScript('<g:form_info_header/>');

3. This code will fail with the following error: GlideJellyRunner is not allowed in scoped applications


Use a global script include to wrap the unavailable API to make it available within the scoped application.

JellyRunner script include: 

var JellyRunner = Class.create();
JellyRunner.prototype = {
initialize: function() {
get: function(jelly) {
var jr = new GlideJellyRunner();

type: 'JellyRunner'


Background script using GlideJellyRunner by wrapping it in global script include: 

var jelly = '<?xml version="1.0" encoding="utf-8" ?><j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null"><div>Hello World</div></j:jelly>';

var jr = new global.JellyRunner();;

Related Problem: PRB656613