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.
About a week ago I published my Extensions Manager, a Tridion 2011 extension that allows extensions’ creators define customizations for their users in a few lines of code. The customizations are exposed as fields to the users in a graphical interface that is easy to use and also takes care of the persistence of the values the users enter.
In my previous post I focused on the functional side of the Manager, the different features it has and the visual interaction.
In this post I’d like to focus on the programmatic side – how should an extension creator use it.
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.
With SDL Tridion (R)5.3 and the introduction of Modular/Compound Templates, the way of doing templates as radically changed, no longer we had to use an old and obsolete technology such as VBScript. We could finally use .NET and Visual Studio to write template code as well as introduce “new” technologies such as XSLT with the help of Mediators (see XSLT Mediator).
One of the biggest advantages of this change is the ability to reuse existing code in a structured and clear way. Logic can be placed in dedicated classes, OO concepts can be leveraged for inheritance, encapsulation and more.
This led to the TemplateBase class which I and many others have been using for several years now. Around it I have also grouped additional classes to support reuse of common functionality that can be carried from one implementation project to another. This is known as the Templating Base Project.
If you’re unfamiliar with the Templatebase class and the Templating Base Project I suggest you hurry and get yourself over to SDLTridionWorld.com and download the code now – Template Base Project
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:
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:
Its Friday evening, a good time to share a little something I’ve been working on.
.NET 3.0 brought with it a fantastic new language (VB, C#) extension called LINQ which stands for Language-Integrated Query.
Microsoft describes it as “a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities.”
In short it gives the developer a more general syntax for querying sets or collections of data.
The beautiful thing about LINQ is that it can be used over any collection whether its XML, Database or even objects so long as they support the IEnumerable<T> interface.
For more information see the resources section of this article or simply google/bing it.
“Good ideas are common – what’s uncommon are people who’ll work hard enough to bring them about” ~Ashleigh Brilliant
For a while now we had an ideas site for SDLtridion, If you haven’t seen it before, this is the site: http://ideas.sdltridion.com/
The site allows you to suggest an idea you have for one of SDLTridion’s products , it then allows others to vote and comment about your idea as well as letting you vote on others’.