In many occurrences i find myself wanting to fade in an element on the page and then immediately fade it out as a way to convey that something happened in a non-obtrusive way.
To do that I need to call the fadeIn and fadeOut jQuery methods in sequence. This can be done easily because fadeIn accepts a callback as a second parameter which will be called when the animation completes.
Easy as it is to do I still find it annoying that i have to call two separate methods for an action i wish to be done as one so naturally since it is so easy to extend jQuery I wrote a little extension that does just that.
Ah! its Friday! And what better way to celebrate this day than with a nice GUI extension?
So here is my latest extension available for you to enjoy…
With 2011, the GUI received a new breadcrumb control which is a very useful way to quickly orient yourself of where you are in the system and making it easy to climb up the specific hierarchy you’re currently drilling through.
Of course, those of us who use Tridion know that we usually jump from one location to another, spanning over different publications and sections within publications. For those cases, if we want to go back to a location we were working on before we need to locate it again in the tree, which can be quite a hassle. Especially in large environments.
So my extension will hopefully make it even simpler to work within the GUI in the manner I just specified.
This extension adds 2 new buttons to the GUI right next to the breadcrumb. The buttons mimic the behavior of the browser keeping track of the places(folders, structure-groups, etc.) a user visits.
Back in October of last year I released the List Quick Helper, Tridion 2011 extension, which, in the unlikely case you’ve forgotten, looks like this:
The helper loads within the list view of the main Tridion 2011 GUI and shows additional information about the selected item in the list so there is no need to open a new dialog window just to see the schema being used by a Component or the directory name of a Structure Group just to name a couple of examples.
When I released it the first time I considered it to be a beta as it was a little rushed. Today Im happy to announce that the Helper is all grown up now and at version 1.0, boasting a host of new features and improvements.
Since Tridion 2011 has been released with its shiny new GUI framework everyone and their sister have either been creating or thinking about creating extensions. I myself have been heavily involved in creating some.
Traditionally, extensions for the most part are islands of functionality; code is typically hardly ever reused. This is something I’d like to improve. With the advancement of the Tridion framework and by following OO practices, it’s possible to create reusable code, frameworks and more, the sky it the limit really.
A few weeks ago I thought about customizing GUI extensions. As extensions mature it will make sense to allow Tridion users, whether administrators or business, the ability to make changes to extensions’ behavior, to turn functionalities on and off and more, without having to change the underlying code. This led to… *drumroll* … The Extensions Manager.
For the past few weeks I’ve been working (whenever I could find the time) on a GUI extension for the new 2011 Tridion platform.
Unlike previous extensions I’ve built, this one is much more complex and spans over more functionality than the more specific ones I worked on before.
I call it the “List Quick Helper“. Where the main idea was to create a useful tool to supplement the information exposed by the GUI’s list view. The theme of this extension is to boost productivity by exposing data quickly and providing small tools to get common tasks done faster.
If you’ve worked with the Content Manager Explorer you’re familiar with having to open an item to view its properties, say to tell the schema of a component you have to open the component’s editing form or to know the file name of page, again need to open the edit form. Even on a fast system it takes at least a few seconds to load up the form. For a shared item you need to select one of the options in the modal dialog (open parent, localize or read-only). After several clicks and at least a few seconds (if not more) you finally can find that little piece of information you were seeking.
What if that information was exposed in the list view immediately? Well, now it can be:
About a month ago I happily shared a GUI extension I’ve built for Tridion 2009 called the Item XML Display extension.
This extension lets a user (typically a developer) view the entire XML structure of a Tridion item from within the GUI without the need to open a new IE window or having a remote session to the CM server.
If you’re one of those already using this extension and have been dreading the moment Tridion 2011 will come out and you will be left without being able to quickly view items’ XML, fear not! I got you covered:
Continuing my recent trend of Tridion GUI extensions,
- Using jQuery for Tridion GUI Extensions.
- Integrating Tridion with Gravatar.
- The Read-Only Fields Tridion GUI Extension.
I give you the “Item XML Display” extension:
A much requested feature we at Tridion have always heard customers asking for is to be able to make component fields disabled for the end user when they are entering content.
This could be due to several reasons, one example could be that the content shouldn’t be manually typed into the field but rather be chosen from a 3rd party source (like a CRM database), for this a custom URL can be used.
A custom URL window is a neat feature in Tridion allowing the developers of the solution to build an external form/app/html page that will help the editors enter the right information into a field.
You can also think of a scenario where fields will become disabled or enabled based on the content being entered into other fields, giving the component edit form a more wizard-like feel.
The extension I created doesn’t have any such specific business logic but it does give a good basis to achieve it if needed.
The extension itself covers all types of fields; text, rich text, numeric, date, links and embedded.
Lately I’ve worked on a Gravatar library for .NET which I released in July. I have also recently had the chance to work on Tridion GUI extensions for a customer.
This got me thinking; wouldn’t it be cool to integrate the two? Almost immediately I thought; yes, it will be cool!
So I’ve set to work on a nice GUI extension that will bring Gravatar to Tridion users and give the GUI a bit of a social touch make it feel more personalized by displaying a personalized photo for each user.
And so the integration is really 3 different extensions that can be each used individually or together.
Current User Photo
The first integration shows the Gravatar photo for the current user logged on to the Content Manager Explorer:
A relatively unknown feature of the Tridion CMS product is the GUI extensibility framework.
This is actually a fantastic feature which allows us to create and supplement the user interface with just about any type of addition we can think of.
It is pretty unknown because of the lack of documentation but with a little bit of investigation work it is possible to find all sorts of treasures we can use to extend the current GUI.
Here’s one example that is already available on the SDLTridionWorld website’s Community eXtensions section: “Republish from publish queue”, this nifty extension gives users the ability to republish items directly from the queue instead of the normal way of locating the item within the folder or structuregroup hierarchy.
The extension framework is quite robust (not without limitations of course) and allows us to add toolbar items, context menu options, tree nodes or simply run scripts that can do just about anything.
In this article I’m focusing on the latter, adding a scripted extension to do different tasks.
jQuery’s CSS selectors and methods for DOM manipulation are exactly the tools to help us create Tridion GUI extensions quickly and with relative ease.
The way the extension framework is built allows us to create a jQuery extension that can be reused by other extensions.