The Read-Only Fields Tridion GUI 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.
Continue reading “The Read-Only Fields Tridion GUI Extension”

Integrating Tridion with Gravatar

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:

Continue reading “Integrating Tridion with Gravatar”

Using jQuery for Tridion GUI Extensions

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.

If you’ve done any kind of javascript development you know how difficult and complex it can get, that’s where jQuery comes in, jQuery being a javascript library created to ease the development of client side code.

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.

Continue reading “Using jQuery for Tridion GUI Extensions”

Creating a Gravatar client with jQuery and WCF

Introduction

A couple of weeks ago I announced the release of the first .NET implementation of the Gravatar API.

Gravatar.NET is available for download on Codeplex.

What I’d like to show in this article is how to make use of the library using jQuery and WCF to create your own Gravatar client (Ponderi.com style).

This article will demonstrate how to show a user their Gravatar account images, allow the user to activate a different image or delete it.

I will build upon many of the concepts I described in an earlier article I wrote called: “Creating a Webservice Proxy with jQuery”. So if you like, check it out first as I won’t go into the basics in this article.

Continue reading “Creating a Gravatar client with jQuery and WCF”

Announcing Gravatar.NET

Introduction

For a while now I’ve been working on an implementation of the Gravatar public API.

Unfortunately it took longer than I had intended, what with those pesky work commitments and personal life issues…

I’m glad to tell you that Gravatar.NET is now available for download on Codeplex.

If you don’t know what Gravatar is, it’s: “A Globally Recognized Avatar”, allowing you to store a personal image (or images) and reuse it across different websites that support the use of it (example: WordPress.com).

If you’re building a website that includes storing user account information, and let’s face it, what website doesn’t do that these days, then typically one of the things your users expect is to be able to associate a photo to recognize their account on the site. Instead of having to store and manage these photos on your server (sometimes with a bandwidth/storage limit), Gravatar can do it for you.

Continue reading “Announcing Gravatar.NET”

IE Caching Ajax Results – How to fix

Updated (25/06/2010): Fixed typos in code example
Updated (16/11/2012): Fixed missing comma. 

I have been working on a website recently and one of the pages on the site has a  main functionality of showing dynamic results returned from a AJAX
call to a WCF service.

As I was developing and continuously testing with Firefox I was happy to see that my code was working well; based on the URL the results on the page will differ as expected.
However, When it came to test the page with Internet Explorer the results were dramatically different… No matter what the URL was the same content from my initial request kept appearing on the screen! Quickly enough I realized that it wasn’t something wrong with my code but with IE, after all in Firefox and Chrome it was working just fine.

So naturally, I googled for a solution and found this StackOverflow thread that confirmed to me that this was indeed an issue with IE. Unfortunately, the good answers there were only helpful to those who use jQuery to initiate the AJAX requests but I was using the proxy generated automatically by ASP.NET, so I had to find my own solution as I was unable to find anything useful online.

Below are ways you can use to fix the problem. First, I’ll show how to fix it when using the MS Service Proxy and then how to fix it when using jQuery.

Continue reading “IE Caching Ajax Results – How to fix”