I'm trying to build a GUI Extension to 2011. One of my requirements is that there be a 'settings' page for this extension that a Tridion user can access from the Ribbon.
When Tridion loads, the GUI does not complete loading, and the console shows this error message:
Unable to get unique id for element. Dashboard_v6.1.0.55920.8_.aspx:22
Below is a snippet from my configuration file. I'm trying to understand what the issue is and where it originates. Is it my configuration, my JavaScript, or both?
<ext:deckpages>
<ext:add>
<ext:extension pageid="ToolsPage" name="CrocodocSettingsPage" assignid="CrocodocSettingsPage">
<ext:control>~/Controls/CrocodocSettings.ascx</ext:control>
<ext:pagetype>crocodoc.SettingsPage</ext:pagetype>
<ext:dependencies>
<cfg:dependency>crocodoc.Resources.Settings</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar" />
</ext:view>
</ext:apply>
</ext:extension>
</ext:add>
</ext:deckpages>
<ext:tabpages />
<ext:toolbars />
<ext:ribbontoolbars>
<ext:add>
<ext:extension pageid="ToolsPage" groupid="MaintenanceGroup" name="croc" assignid="croc">
<ext:command>crocodoc</ext:command>
<ext:title>Crocodoc Configuration</ext:title>
<ext:dependencies>
<cfg:dependency>crocodoc.Resources.Settings</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar" />
</ext:view>
</ext:apply>
</ext:extension>
</ext:add>
</ext:ribbontoolbars>
</ext:editorextension>
</ext:editorextensions>
<ext:dataextenders/>
</extensions>
crocodoc.Resources.Base
Update
I've updated the configuration, But I'm still having the same error. It's on line 22. The Console shows me these full details of the object:
anonymous(object{..}) anonymous(object{..}) k(object{..}) j() anonymous(array[2]) c() anonymous(function: anonymous(){var c="IsPopupBlocker",b="Non fatal error: {0}";if($display._viewConstructor!=null){$display._view=new >$display._viewConstructor;var a=window.opener;try{a&&a.Tridion&&a.Tridion.Controls&&a.Tridion.Controls.Popup&&a.Tridion.Controls.ExternalPopup.registerView($display._view,window)}catch(d){$log.message(b,d.message)}var a=window.parent;try{a&&a.Tridion&&a.Tridion.Controls&&a.Tridion.Controls.Popup&&a.Tridion.Controls.ModalIframePopup.registerView($display._view,window)}catch(d){$log.message(b,d.message)}Type.isFunction($display._view.initialize)&&$display._view.initialize();$display.fireEvent("start")}$log.debug("DisplayController.start: Time taken to load and initialize everything was {0}ms.",Date.getTimer());if($dom.isChrome&&opener&&!window.outerHeight){try{if(opener.$display){opener.$display.showModalError($localization.getCoreResource(c));return}}catch(d){}$display.showError($localization.getCoreResource(c))) anonymous() anonymous() anonymous("Tridion.Cme.Views.DashboardBase", "initialize") anonymous() anonymous() anonymous(array[1], "Tridion.Controls.Stack") anonymous("Unable to get unique id for element.") Dashboard_v6.1.0.55920.8_.aspx:22
<ext:deckpages>
<ext:add>
<ext:extension pageid="ToolsPage" name="CrocodocSettingsPage" assignid="CrocodocSettingsPage">
<ext:control>~/Controls/CrocodocSettings.ascx</ext:control>
<ext:pagetype>crocodoc.SettingsPage</ext:pagetype>
<ext:dependencies>
<cfg:dependency>crocodoc.Resources.Settings</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView" />
</ext:apply>
</ext:extension>
</ext:add>
</ext:deckpages>
<ext:tabpages />
<ext:toolbars />
<ext:ribbontoolbars>
<ext:add>
<ext:extension pageid="ToolsPage" groupid="MaintenanceGroup" name="croc" assignid="croc">
<ext:command>crocodoc</ext:command>
<ext:title>Crocodoc Configuration</ext:title>
<ext:dependencies>
<cfg:dependency>crocodoc.Resources.Settings</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView" />
</ext:apply>
</ext:extension>
</ext:add>
</ext:ribbontoolbars>