13

Server-side The XML is available through the ConfigurationManager object from Tridion.Web.UI.Core: XmlDocument myConfigurationXml = ConfigurationManager.Editors["MyEditor"].CustomXml Client-side 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 ...


12

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: <cfg:fileset> <cfg:file type="script">/Counter/Counter.js</cfg:file> <cfg:file type="reference">Counter.CommandSet</cfg:file> </cfg:fileset> In your example you have it ...


10

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 ...


10

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: .CodeMirror { line-height: 1em; font-family: monospace; height: 100%; /* Necessary so the scrollbar can be absolutely positioned within the ...


9

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. T: Type L: Lock P: Published It is the way the CME ...


9

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 = ...


9

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....


9

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 :)


9

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 this.applyBold this.applyItalic this.applyHTML the former two call off to applyTagFeature whilst the the latter, you're ...


9

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.


9

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


9

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 ...


8

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 ...


8

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: <publicationTypes> <!-- Constraints: 1) id and name attribute is unique. 2) id > 1024. Numbers below 1024 are reserved. 3) ...


8

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: <resources catch="true"> <cfg:filters /> <cfg:extensiongroups> <cfg:extensiongroup ...


8

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.


8

You can check if an item is a multimedia component with this code $models.getItem(itemId).isMultimedia() this will return true or false.


8

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. ...


8

Apparently version 0.4 fixes the line height issue. See the CodeMirror repository on GitHub. Changes in v0.4 Installation script Fix bug with height of Source tab being limited to 21 lines Integrate Dreamweaver suggestions from Jaime Santos Alcon (Press ctrl+space)


8

TreeControl does not fire load event, you can handle draw event instead. Or Handle change event on PublicationFilter control, if you want to be more specific.


8

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 ...


8

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 ...


8

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.


7

I thought you could call field.getValues() to get all the field's values as an array. Then, you'll be able to count the number of values inside the array so you would need to do something like var values = MV_field.getValues(); var nrOfValues = values.length; UPDATE getValues() is indeed not the right way to get the items, although the naming does look ...


7

I had quick look in the code for the component dialog and found the following snippet that should help you resolve your problem: Tridion.FieldBuilder.FieldTypeHandlers.MultiLineTextField.prototype.setValues = function MultiLineTextField$setValues(values) { var changed = false; if (values && this.properties.input) { if (values....


7

You need to extend associated View group. In case of ComponentView it is Tridion.Web.UI.Editors.CME.Views.Component See how to make groupextensions from Eric answer in similar post: Component Fields available in GUI Extension with fieldBuilder


7

No takers, so I'm posting what my colleagues explained, as a community post (no points, but feel free to update and add details). With SDL Tridion 2013 SP1, you will find the Browser console different because of extra frames from the slide out navigation (thanks PeterK). So these won't work directly: $messages Tridion.* UIBeardCore pointed out the ...


7

That error means that some code is calling executeCommand with the name of a command that either hasn't been registered or doesn't implement the "Tridion.Core.Command" interface. Commands are automatically registered when defined in the configuration, and the code in your other question seems to implement the correct interface, so I would say that the ...


7

<ext:apply> <ext:view name="publishqueuepopup"> <ext:control id="PublishQueueContextMenu" /> </ext:view> </ext:apply>


7

When you say "the" appdata do you mean the extension relates to components and you want to store the data in the component appdata? (I guess one good reason to do this is that it could be content ported when a component is moved through the environment(s)?) As Nuno states - there is no direct Anguilla API which is what you seem to be asking for. Perhaps as ...


Only top voted, non community-wiki answers of a minimum length are eligible