Customizing the Client Episode IV “Table Formats”

Up to this point most of the client customization I have talked about for Adobe Contribute involved changes that affected only the user interface. Outside of the custom plugin, none of them had any real effect on the usefulness of the client itself.

This customization is different, and like the addition of the Dublin Core plugin, it can have usefulness even if you are only using the Contribute client itself without the need to deploy it to multiple users in any enterprise situation.

When you create a table in Contribute, you can always setup the style of the table in the normal way by selecting the various rows, columns and cells and changing the backgrounds, font colors, etc. However, this process can be quite tedious when styling a large table, so in order to make this process easier Contribute has a Format Table feature that allows you to apply a pre-set or customized style to the entire table. This dramatically speeds the process up, but if you continually apply the same custom style to tables on your site you might like to add this to the list of pre-set table formats.

In order to do this you need to edit the file tableFormats.js. This file contains the individual table formats listed in the Format Table dialog and can be found here:

Mac – /Applications/Adobe Contribute CS3/Configuration/Commands

Win – C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Commands

There are two main sections of formats defined in this file:

  • Alternating Rows – table formats where each row has a different background color; may also have a different color for the header row.
  • Non-alternating Rows – table formats where each row has the same background color; may also have a different color for the header row.

Instructions for the creation of new formats are contained as comments in the javascript file, however there are a few things that are not mentioned:

  1. You should define a new variable in the Localized Globals section for you new table format; this is used in the Formats array when building the dialog box.
  2. The values for topRowTextStyle and topRowColor control the look of the header row. If you set these to the null values then this row will match the look set for the variables firstRowColor and will be assigned no special text attributes.
  3. While the supplied formats only show the rowLimit variable set to either 0, 1, or 2 to indicate the number of rows set to each color on an alternating row design, you can actually use larger numbers if desired.

As an example, here is the format used for the table on the Valdosta State University Calendars page:

//VSU Colors
Formats[++i] = new Array(); Formats[i].name=alt_vsu;
Formats[i].firstRowColor="#CCCCCC"; Formats[i].secondRowColor="#FFFFFF";
Formats[i].topRowTextStyle=BOLD; Formats[i].topRowAlign="center";
Formats[i].topRowColor="#C80F0A"; Formats[i].topRowTextColor="#FFFFFF";
Formats[i].leftColTextStyle=BOLD; Formats[i].leftColAlign="";
Formats[i].border="2"; Formats[i].rowLimit="1";

Customizing the Client Episode III “Task Panel”

In this article I will briefly discuss the customization of the Task Panel.

On the Welcome Page, in the bottom left is a nice section entitled How Do I… that contains handy information on how to accomplish a whole slew of tasks in Contribute.

What I found during my research into customizing the client is that this section of the page is controlled by the contents on an XML file. Each of the categories and their items can be changed to suit the needs of your deployment and your users.

The files for the Task Panel are located here:

Mac – /Applications/Adobe Contribute CS3/Configuration/Content/Tasks

Win – C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Content\Tasks

The XML and CSS files controlling the Task Panel and it’s contents are

  • Tasks.css
  • Tasks.xml
  • TasksLayout.xml

The TasksLayout.xml file contains the table structure definitions of the Task Panel, since like many other components of the Contribute client, this section is controlled and populated using HTML.

The Tasks.xml file contains the actual text of the category structure. Each category is defined with a unique ID number and each task is defined within that category node along with an ID number and associated HTML file containing the content of the task. Each of the ID numbers are sequential.

The HTML files are named sequentially by default, but this doesn’t appear to be necessary in order to make everything work properly.

If any of your custom tasks have images associated with them, they need to be placed in the images directory so that they will be found. The images need to be referenced with the source relative to the location of the associated task HTML file.

Customizing the Client Episode II “Dynamic Pages”

In my last post about customizing the Contribute Client I talked about customizing the Welcome Page.

Well, if you recall, I mentioned that the Welcome Page is built on the fly from a Dreamweaver template. More than just this one page is built this way. Each of the special, dynamic pages are built in this fashion. Below I will list the file locations for the various dynamic pages that you can alter.

Draft Console

Mac – /Applications/Adobe Contribute CS3/Configuration/Content/DraftConsole

Win – C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Content\DraftConsole

Placeholder

Mac – /Applications/Adobe Contribute CS3/Configuration/Content/Placeholder

Win – C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Content\Placeholder

External Edit

Mac – /Applications/Adobe Contribute CS3/Configuration/Content/ExtEdit

Win – C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Content\ExtEdit

Customizing the Client Episode I “Welcome Page”

As with many software packages that we deploy, system admins quite often get called upon to customize the application to suit the needs and brand of the enterprise they work for.

When I started deploying the Adobe Contribute client, customization wasn’t really on the radar. But as we got further into our deployment and support phases, it was clear that the default screens just weren’t cutting it when it came to clarity of use.

For instance, most of our users connect to the enterprise Contribute Publishing Server. In order to do this they have to enter a custom connect string after opening the client for the first time after installation. As normal with this sort of deployment, there were some users that didn’t read the instructions provided them, or failed to remember the special connection string used in the training classes.

Well, on the default welcome page in Contribute, there is this handy button labeled Create Connection. While this would be quite fine if we weren’t using the Publishing Server for maintaining user permissions and privileges, it doesn’t cooperate with our normal setup.

By customizing the welcome page I was able to remove the nice large link to creating your own connection.

Here’s what you need to know in order to do this. The welcome page is built on the fly from a Dreamweaver template.

Mac File Location

  • /Applications/Adobe Contribute CS3/Configuration/Content/CCWelcome

Windows File Location

  • C:\Program Files\Adobe\Adobe Contribute CS3\Configuration\Content\CCWelcome

Dublin Core Metadata Plugin version 0.1

As with any project, there are always users that want a particular feature that either doesn’t exist or the feature exists but doesn’t meet their needs.

In the deployment of the Adobe Contribute Publishing system at my current job this was the case. The library staff desired a way to insert Dublin Core Metadata Initiative tags into their documents.

The Adobe Contribute client already gives the user the ability to insert keyword and description metatags, but this was not sufficient for their needs.

Turns out that the Contribute client is extensible through the same sort of command files that you can build to create custom commands and behaviors for Dreamweaver. After reading through the relevant sections of the Macromedia manual Extending Dreamweaver MX (publication number ZDW60M200) that I had gotten with my Studio MX purchase some time ago, I began to develop a custom plugin to do what the library staff wanted.

The result is my Dublin Core Metadata Plugin.

To-Do

  1. Change it so that the values are stored separately with regards to content and format.
  2. Add drop-down menus for the selection of the scheme (a.k.a. format).
  3. Add mechanism for multiple authors and contributors.
  4. Add mechanism for handling date.modified tags.
  5. Build a Windows Installer
  6. Test the installer on Mac OS X 10.5.

Downloads