JQuery is an independent library, that can co-exist with other libraries like Anguila. Here some steps that enable a developer to use JQuery in a GUI extension.
1) Update your JQuery file to use the noConflict method and pass it to a variable called for instance $j.
2) Reference the updated JQuery file in a group of resources used by your GUI Extension.
The XML is available through the ConfigurationManager object from Tridion.Web.UI.Core:
XmlDocument myConfigurationXml = ConfigurationManager.Editors["MyEditor"].CustomXml
You need to add a child node called 'clientconfiguration' (same namespace) with the settings you want. The format of the content under that node is up to you. I ...
At quick glance, looks like you are adding the reference to your commandset from your resource group in the wrong place, you should add it like:
In your example you have it ...
You can run your extension code when the thread gets executed. To do so, try following
$evt.removeEventHandler($display, "start", onDisplayStartedReadonly);
if ($display.getView().getId() == "ComponentView")
You can do that (alert) without a GUI extension, simply by using Event System (OnComponentSavePre event). The GUI extension framework is very different in 2011 and 2013, I would not recommend doing a real extension for 2009, as you would have to rebuild it once you upgrade.
Creating a Tridion 2009 Event System is not as simple as 2011 or 2013, but ...
One IMPORTANT thing you'll need to think of is that a component can be published in different states on different pages, so there can be a scenario where multiple versions are published.
Technically it's possible, actually there's probably a lot of ways to achieve this. Here's some topics I'd look into:
1) GUI Extensions - you'll need to show the version ...
What I have been doing lately is changing the CodeMirror css files themselves to get it to become larger. In your extensions folder under CodeMirror\CSS\codemirror.css change the top 2 classes to the following:
/* Necessary so the scrollbar can be absolutely positioned within the ...
Basically it is managed in an HTTP module that is configured in the WebUI\Web.config file.
<add type="Tridion.Web.UI.Core.Http.IconUrlRewriter, Tridion.Web.UI.Core" name="CME-Core-IconUrlRewriter"/>
The icons that you see for instance T2L0P0 is a virtual name that is translated to a valid image.
It is the way the CME ...
Assuming, you`re opening item select dialog (Tridion.Cme.Views.ItemSelectDialog) to select the component you are interested in, you need to specify a filter in dialog features.
As an example when you click on browse button to open popup dialog:
Extension.Browse.prototype.onOpenClik = function Extension$browse(isControlVisible)
var contextItemID = ...
Your logic for isEnabled and isAvailable is triggered around the selection variable, and in your case checking to see if the item selected is a component and that the number of items selected is at least one. This works in your DashboardView when you select a component because your selection now has a length of one, and the item.getItemType() is a component....
You need to ensure that you have first selected the correct frame in the console. It defaults to 'top frame' but you'll want to choose e.g. Dashboard.aspx. You'll know it's the right one when it helps you with code completion :)
You probably need to look through InlineFormatArea.js and the Format Area Action commands (executeFAAction)
You'll see that when in XM the necessary functions are called cross domain using the $xdm object. You will see functions such as
the former two call off to applyTagFeature whilst the the latter, you're ...
It appears that Alchemy does not yet pick up HTML files. Try creating it as an ASPX file instead. Static HTML files are often cached a little too aggressively by the browsers anyway, so you might want to avoid them in any case if you plan to do anything dynamic in it.
You can also try the Export Item List alchemy plugin. It can be downloaded from here: https://www.alchemywebstore.com/plugins/Export-Item-List
If you want to customize or extend it the code is also available at https://github.com/saurabhgangwar/Alchemy.Plugins/tree/master/Alchemy.Plugins.ExportItemList
You would have to make CSS updates through a GUI extension besides using the new line (\n) in your exception message.
In your event system exception, you will be using the new line like this:
throw new Exception("Some text before new line.\nSome text after new line.");
In the GUI extension, set the CSS white-space property to pre-wrap in the div element of ...
As another option I would suggest the Tab Initialize Extenders.
@idmatch is the regular expression mask which if applied to list parent ID, then definition associated is applied to the List.
To extend existing views you should configure listdefinion section in ext:listdefinitions from your extension configuration. Like it is done at Gitgub config Example from previous post.
ECL items has a mask /^ecl:\d+-(?'providerId'[...
You need to define remove section into lists section
<!-- Defines an extension to remove from the runtime
@id Defines an ID of the element to remove
@name Defines the extension name
You shouldn't have much of an issue from my understanding given the Anguilla framework setup such that the
The JS runs in the client - if this is affected between upgrades etc. depends what your JS does ... For example if there is a dependency on the HTML attributes in the GUI make-up (I've seen worse) and the HTML/mark-up changes in an upgrade then your ...
Not a solution to your problem, but OOTB it's possible to add new 'Publication types' directly in the Tridion.ContentManager.Config file as part of the CM machine, a snippet is shown below:
1) id and name attribute is unique.
2) id > 1024. Numbers below 1024 are reserved.
You can do a little magic to customize the default ItemSelectDialog view after its loaded (assumption based on your comments with John Winter). First you'll want to create an extension group in your configuration. It should look something like:
As stated in the comments above, next to defining the resources files in the configuration, you should also move the dll of your GUI extension project to the Tridion\web\WebUI\WebRoot\bin folder.
I put this answer in here for clarity, so this question can have an "accepted" answer.
The issue is with your 4th parameter that you are passing to $messages.registerWarning...
$messages.registerWarning("myTitle", "myDesc", null, true); // true is for isModal
This is essentially making your warning as a modal that requires user interaction, and you wont be able to the doArchive and dispose on it until after the user has clicked the button. ...
Apparently version 0.4 fixes the line height issue. See the CodeMirror repository on GitHub.
Changes in v0.4
Fix bug with height of Source tab being limited to 21 lines
Integrate Dreamweaver suggestions from Jaime Santos Alcon (Press ctrl+space)
You should be able to add an event listener onto the MessageCenter listening for the "newmessage" event. You'll probably have to filter off of the returned event object's data property. It's a multi step process, as the data object only contains a messageID property. You can use this identifier to retrieve the actual message object, and perform your ...
If this makes sense per your business requirement (and do not want to restrict yourself to GUI Extension), you may follow the below approach as well:
Create a group in Tridion CME and add all users for whom you want to disable the Publish/Unpublish button. Also, ensure none of the user is a system administrator in Tridion CME.
Now open publication ...
That indicates the user is a System Administrator I believe.
Edit: As noted by Nuno in the comments this has changed in SDL Web 8.5 with the introduction of the Privileges model.
See related question here: Create Admin User in SDL Web 8.5 via core service
That is Core Service but you will need to do something similar in your GUI extension.