Hi all,

We've just finished ou Zimbra migration from 7.2.6 to 8.06 and everything works well except a Zimlet.

This Zimlet is the exact copy of example Tab_IFrame given in Wiki here : ZCS 6.0:Zimlet Developers Guide:Examples:Tab iFrame - Zimbra :: Wiki
The only difference is the URL of the website in iFrame.

It works perfectly on Zimbra 7.2.6 but not on Zimbra 8. Each time we receive the following error during initialization
Code:
TypeError: 'undefined' is not a function (evaluating 'this.handlerObject._init(this,DwtShell.getShell(window))')
Is there someone who knows how to make it fully functionnal ?

Thank you


Here is the code (website url modified and change by XXX.XXX.XX
Code:
/*
* ***** BEGIN LICENSE BLOCK *****
* Zimbra Collaboration Suite Zimlets
* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Zimbra, Inc.
*
* The contents of this file are subject to the Zimbra Public License
* Version 1.3 ("License"); you may not use this file except in
* compliance with the License.  You may obtain a copy of the License at
* http://www.zimbra.com/license.
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
* ***** END LICENSE BLOCK *****
*/
/**
* Defines the Zimlet handler class.
*  
*/
function com_zimbra_osticket_HandlerObject() {
}
/**
* Makes the Zimlet class a subclass of ZmZimletBase.
*
*/
com_zimbra_osticket_HandlerObject.prototype = new ZmZimletBase();
com_zimbra_osticket_HandlerObject.prototype.constructor = com_zimbra_osticket_HandlerObject;
/**
* This method gets called by the Zimlet framework when the zimlet loads.
* 
*/
com_zimbra_osticket_HandlerObject.prototype.init =
function() {
this._simpleAppName = this.createApp("osTicket app", "zimbraIcon", "osTicket dans un onglet");
};
/**
* This method gets called by the Zimlet framework each time the application is opened or closed.
* 
* @param {String} appName  the application name
* @param {Boolean} active  if true, the application status is open; otherwise, false
*/
com_zimbra_osticket_HandlerObject.prototype.appActive =
function(appName, active) {

switch (appName) {
  case this._simpleAppName: {
 
   var app = appCtxt.getApp(appName); // get access to ZmZimletApp
   break;
  }
}

// do something
};
/**
* This method gets called by the Zimlet framework when the application is opened for the first time.
* 
* @param {String} appName  the application name 
*/
com_zimbra_osticket_HandlerObject.prototype.appLaunch =
function(appName) {
switch (appName) {
  case this._simpleAppName: {
   // do something
 
   var app = appCtxt.getApp(appName); // get access to ZmZimletApp
   app.setContent("<iframe id=\"tabiframe-osTicket\" name=\"tabiframe-osTicket\" src=\"http://XXX.XXX.XX/\" width=\"100%\" height=\"100%\" /></iframe>"); // write HTML to app
   break;
  }
}
};