Interface Customization: Make a Layout Tailored to Your Needs

Version: Deadline 7.2, 8.0

Overview - A Wealth of Information

The Deadline Monitor is your main entry point for overseeing and managing your render farm. It is a powerful application that allows you to view, configure, and interact with the many moving parts that make up Deadline. As you first start out with Deadline, the Monitor presents you with a view like the one below, showing you what you need to see to submit your first Job, and view its progress.

When you deploy Deadline to your farm, exploring the features available in the Monitor reveals that your farm is buzzing with activity. Users are submitting Jobs, Slaves are picking up and rendering tasks, licenses are being checked out and returned, maintenance operations are running – there are certainly a lot of things you can, well, monitor.

Of course, we don’t really need to see all of that information at once. Which facets of the Monitor will be pertinent to you depends on what you’re intending to do with it. That’s why the Monitor is immensely customizable. You can create your own user interface layouts that are best suited for particular purposes, and easily switch between them.

To demonstrate this feature, we will walk through creating two different layouts, tailored for the day-to-day uses of Ichabod and Crane, two people with different roles at Fictional Example Farm.

The Basics - A Layout for Ichabod

Ichabod is a system administrator at Fictional Example Farm. For the sake of simplicity, let’s suppose he uses the Monitor primarily to view the status of render nodes in the farm and issue remote commands. We will create a layout that allows him to do these things, leaving out what he doesn’t need.

Creating the Layout

The default layout of the Monitor shows the Jobs, Tasks, and Slaves panels. It would be useful to Ichabod to also show the Slave Reports panel. To do this, select View -> New Panel -> Slave Reports. This will create a floating window for the new panel. To dock it, we need to first unlock the panels by clicking the Lock Panels button so that it is unhighlighted.

Next, click and drag the Slave Reports panel over the area you wish to dock it in. As you move the panel around, a highlight will appear showing where the panel will be docked when you release the mouse button. In the animation below, the Slave Reports panel is docked to overlap the Tasks panel.

Notice that the Tasks and Slave Reports panels now share the same dock area, and tabs appear to allow switching between the two panels. Using tabbed panels is a good way to efficiently use space on the screen, and we will revisit that later. For now, however, Ichabod does not need the Tasks panel, so we will close it by switching to the Tasks tab, and clicking on the ‘X’ at the top right of the panel.

Following the same steps, we close the Jobs panel and introduce the Remote Commands panel. Once the docks are in position, click the Lock Panels button again. This will lock the panels in their dock positions, but will still allow them to be resized, closed, or floated. Finally, Ichabod’s layout could look something like this:

Saving, Loading, and Pinning Layouts

Once we have the layout just the way we like it, we can save it so that we can easily switch to this layout in the future. To do this, there are a few options. The layout can be saved to a file by selecting View -> Save Layout.... The file can be loaded again via View -> Open Layout..., which will restore the layout we saved.

The second option is to “pin” the layout, via View -> Pinned Layouts -> Pin Current Layout. This will add Ichabod’s layout to the list of pinned layouts, which can be accessed via the View menu, or more quickly by pressing the Pinned Layouts button. Pinned layouts are also assigned hotkeys.

Using Filters - A Layout for Crane

Crane is a project manager at Fictional Example Farm. She is responsible for two projects, whose code names are “baroque” and “classical”. She uses the Monitor primarily for viewing the progress of tasks related to the two projects. For Crane, we will use filters to create a layout that shows an overview of Jobs, Tasks, and Reports only belonging to the “baroque” and “classical” projects.

We’ll start Crane’s layout by using the same techniques as we employed earlier to show and arrange the Jobs, Tasks, and Job Reports panels. Something like the layout below is a good start:

In this demonstration, we will assume that the “Department” field for Jobs is used by Fictional Example Farm to identify the project that the Job belongs to. Examining the screenshot above, we can see that although we’ve hidden all of the panels that Crane doesn’t need, the Jobs panel is littered with Jobs from other projects. We’re going to use filters to clean that up.

Creating a Filter

On the Jobs panel, click the Filters button. This will open up a new area where filters can be created and applied. Click the Add button to create a new filter.

Rename the filter to “Baroque Jobs”, and modify the rest of the fields as shown in the image above, to filter for jobs whose Department is equal to “baroque”. Click the Apply button, and the Jobs panel will be updated. Notice that the Jobs panel has also been renamed to the same name as the filter we just applied. Click the Filters button again to hide the filters area, and now we have a concise panel for Crane to use that only contains Jobs from the “baroque” project.

baroque_jobs.png

We may opt to apply a further tweak to the panel. Since this panel is only showing Jobs whose Department field is “baroque”, displaying that column is unnecessary. We can hide it by right-clicking on the “Department” column header, and unchecking it in the contextual list that pops up.

An Additional Jobs Panel

Of course, Crane will also want to view Jobs for her other project, “classical”. We will create a new panel to display Jobs belonging to that project. To do this, we create a new instance of the Jobs panel by selecting View -> New Panel -> Jobs. This new panel is independent of other panels – that is, it can have its own filters.

Dock the new Jobs panel to overlap with the Baroque Jobs panel, so that they become tabbed panels like we saw earlier. Click on the tab for the Jobs panel, and create a new filter for it. This time, name the filter “Classical Jobs”, and configure it to filter for jobs whose Department is equal to “classical”. We’ve now repurposed that panel into one that shows only Jobs for the “classical” project. Crane can use the tabs to switch between viewing Jobs from one project or the other.

Crane’s layout is now ready to go. We can pin it or save it to a file.

Sharing Layouts Between Users

Now that we have constructed a couple of layouts, the next step is to make them available to users of the render farm. We can do this by sharing pinned layouts across all Deadline Monitors that connect to the same Repository. We can also assign default layouts to User Groups.

Uploading Layouts to the Repository

We first need to upload the layouts the Repository. To do this, save both Ichabod’s and Crane’s layouts to files, and open Tools -> Configure Repository Options.... Choose the Monitor Settings option on the left, and select the Monitor Layouts tab.

Use the Add button to add both layout files. If you check the Add To Pinned Layouts Menu option in the prompt, the layout will become available in the pinned layouts for any Monitor that connects to this Repository. You can verify this by accepting your changes with the OK button and clicking the Pinned Layouts button.

Pinned layouts that are pulled from the Repository are shown above layouts that are pinned locally. They also have their own set of hotkeys. (If you pinned the layouts from earlier in the tutorial, you may see duplicates in the list – one set are those that were pinned locally, and the other are those that were uploaded to the Repository.)

Assigning Layouts to User Groups

You may also assign any layout that you have uploaded to the Repository to a User Group. This will make the chosen layout act as the default layout for any user belonging to that group. To do this, open Tools -> Manage User Groups.... Pick or create a group, and select the layout you want to assign from the drop-down box under Default Monitor Layout For Group Members.

The selected layout will now act as the default layout for users in that group. The Layout Priority option is used to determine which layout to apply in cases where a user belongs to many groups (highest priority wins). The Reset Layout On Startup option specifies whether the layout should be reset when the Monitor starts.

You can verify that your assigned layout works by closing the User Group Permissions dialog and changing to a user from that group in the Monitor, and selecting View -> Reset Layout. For the example shown above, resetting the layout while running the Monitor as “administrator” loads Ichabod’s layout.

Wrapping Up

That covers the basics of using layouts to customize the Monitor’s user interface. I hope this tutorial has inspired you to set aside a little bit of time to configure and organize your Monitor layouts. Reduce clutter. Create some specialized views. Minimize the amount of clicks in your day. The sky’s the limit.