Skip navigation



We have some exciting news to share for Jive Cloud customers! There was a lot of requests to increase the performance of Custom View Tile's load times and to satisfy that without compromising security, we're presenting the new Gala service to replace Shindig. What lets Gala work is better caching and loading from a different domain CDN than your Jive instance. The results of this is a perceived up to 30+% faster loading times than before!!!


How do you enable the new Gala service?

Admin Console > System > Settings > New Features > Lightweight Custom Tiles

We will be enabling GALA service in the official Jive Sandbox in the near future for you to test out yourself mid-December. This post is just to give everyone a heads up.


How to check if Gala is admin enabled inside add-on?

There will be a globally available gala object. So in your included javascript:

if(gala && typeof gala === "object"){
     // Do Gala specific stuff


What do I need to do differently?

Since Gala loads the assets from a domain other than your main Jive site into an iFrame, you won't be able to read the window.location or window.parent.location. So to help solve that, we've introduced two new methods that are available whether Gala is enabled or not—jive.tile.getAppURL() and jive.tile.getJiveURL(). An example of getting the add-on's URL before Gala and after is below:


// Old way to get Add-on URL
function getAddonURL(){
     var matches = window.location.href.match(/.*?[?&]url=([^&]+)%2F.*$/);
     if (matches.length === 2){
          return decodeURIComponent(matches[1]);
     } else{
          return ''; 


// New GALA way to get Add-on URL
function getAddonURL(){
     if (gala && typeof gala === "object"){
          return jive.tile.getAppURL();

Just a friendly note because this is the second time (at least) that I've run into this problem and it is very frustrating and unintuitive to resolve.


We are on a hosted instance (7.0.3) and have several custom macros built. These load some javascript to do their thing (display a video player, dynamic tables, etc.). I was just refactoring our code and extracted some javascript out from being generated in the Macro Java class to loading from a js file because it was soooo much easier to debug and tweak etc.


Well, then we noticed that our Overview Pages would fail to load the Layout/Widget Panel when editing and instead would just get stuck on the 'Loading' spinner graphic.


I narrowed it down to only when a document which contained the macro I just modified was being loaded in a View Document widget. Not just that, but only when MULTIPLE of these macros were in that document.


Very curious I thought.


So after flailing around for a while, having a good yell at the computer, it finally dawned on me that I had seen this happen before with another macro that I also "simplified" a year or so ago.


What I recalled then, was that it was a problem with how the widgets are loaded "safely" when in Overview Page edit mode. What this does is extract all the scripts  and then load them dynamically or something weird. The problem is that if it hits the same script src url twice, it chokes and fails silently. What a nice "safe" feature.


Problem is that the Widget Panel is waiting on that safelyLoad call to return before removing the loading placeholder.


Now for the solution. Instead of loading this js file with the macro itself, I added a reference to it in Lame, that means it will be loaded on every page, but it fixes the problem. Downside is that it loads a few more KB on each page that doesn't need that javascript, but because of what is in the js file, there is no detrimental effect to functionality.


Anyway, hope this helps you not struggle for a couple hours like I did (multiple times). And hopefully, it will help me not do the same next time.






This is our LAST Developer Days event for the year, and to make sure as many people can attend as possible that might have missed out on prior events—and the success we felt from The European Dev Days event—we will be making this one hosted virtually on GoToMeeting. We'll be covering our Jive middleware-less stories and best practices in a lecture + hands-on hack session where we'll create integrations together that solve real business use cases, and answer your questions along the way.


Event Details

Since we want to be able to reach as many organizations as possible and seating is limited, we are capping registration to 4 per organization and anyone beyond that will be placed on the waitlist. After registration closes, if there's space available, they'll be moved to be a registrant.


  • November 17, 2016 — 1p.m.-3p.m. CST
  • November 18, 2016 — 1p.m.-3p.m. CST
  • via GoToMeeting — URL will be sent after registration closes.
  • Attendee limit of 25
  1. You must register yourself, and yourself only. You cannot register in someone's behalf. It not only keeps it fair for everyone, but also ensure we have a way to communicate and everyone has access to all the tools we'll be using (e.g. Jive Sandbox).
  2. Since we want to be able to reach as many organizations as possible and seating is limited, we are capping registration to 4 per organization and anyone beyond that will be placed on the waitlist. After registration closes, if there's space available, they'll be moved to be a registrant.


What You'll Gain



Everyone must have all the required software installed prior to joining the session. (See: Jive Developer Days Installfest )


How To Register

  1. Make sure your e-mail address in your profile is up-to-date and correct
  2. Please comment below with your firstName + " " + lastName + ", " + company




saurabh.v.singh@schwab.comCharles Schwab & Co., Inc.
almore.catoCox Automotive
Rachit Chaudhary
Oracle India Pvt Ltd
Orange Business Services
S&P Global



You will be placed on the waitlist if we reach capacity of 25, or if more than 4 individuals are registered with your company. If there is space after registration closes, your status will change to registered and you'll be e-mailed event details. If you really really want to go and are on the waitlist, send me an e-mail and I'll see what we can do.


Filter Blog

By date: By tag: