Expired guest accounts

A few dozen non-Princeton users are using the Guest Account Provisioning Service to access the blog admin interface. The longest duration for these accounts is one year after the request date; however, it is possible to request a reactivation of a guest account for an additional year.

If you find that you can no longer log into the blog admin interface with your guest account, first check on the status of your account in the Guest Services section of the Guest Account Provisioning Service site. You should try to use the "Request Password Reset Code" for your account. That will generate an email with a link. Opening that link will tell you whether your account has expired.

If your guest account has expired, and you still want to access your blog; send an email to blogs@princeton.edu, and we will request a reactivation.

Syntax highlighting disabled

By default, Movable Type template editing screens load a JavaScript that dynamically adds line numbers and color-coding to the code while editing. This feature uses a third-party script called “CodePress,” which is no longer actively developed and does not work with Safari.

I was forced to disable the CodePress script system-wide because the script has a nasty habit of unexpectedly wiping out the contents of a template upon save. I suspect that this was more likely to happen if code was pasted into the editing area. The contents of templates are all stored in the database, so it would be possible to recover the deleted code from a nightly backup; however, this is an unnecessary inconvenience that site administrators should not have to worry about.

If you relied on the line numbers and syntax highlighting, I would recommend that you cut and paste the code into an external text editor and then paste the code back into Movable Type after editing.

RSS feeds and Roxen CMS

Some University organizations with sites in both Roxen CMS and blogs.princeton.edu have tried to use Roxen’s RSS component to pull in the latest headlines from their blogs.

This scenario has two obstacles:

  1. The limitations of our current load balancer
  2. The default template format of Movable Type blogs (Atom versus RSS)

The Load Balancer

Both systems use our load-balancing environment, and a huge shortcoming of that environment is that when one load-balanced URL tries to communicate with another load balanced URL, that attempt fails. For example, let us assume that you are trying to add the following RSS feed to your Roxen CMS site:

This attempt works great on the www-dept-edit (deptaedit, deptbedit, etc) site, but fails when you preview the feed at your www.princeton.edu url. The “www” url is load-balanced, the others are not.

The workaround is to, instead, use the non-load-balanced URL as the source for your feed. In most cases, that would just be blogs-01, making the feed URL:

Atom versus RSS

The parser for the Roxen RSS component does not support Atom feeds. The default templates in Movable Type 4 omitted an output template for an RSS feed, believing Atom to be the superior feed format, and they only included an Atom feed template.

To rectify this, go to the admin interface for your MT blog, navigate to Design → Templates. Click on “Create index template.” Name your new template something like “RSS Feed,” and paste the template code from the following page into the large form field:

Under Template Options, in the Output File field, type index.xml or rss.xml (anything with a .xml extension would work). Leave the other fields with their default settings. You can leave the Template Type set to “Custom Index Template.” Then click Save, wait, and then click Save & Publish.

Brief outage 3/28, Mon. morning

There will be a brief emergency outage of the blogs.princeton.edu server on Monday, March 28. It will be sometime between 8:30 and 9 AM. OIT Enterprise Servers and Storage needs to add another CPU to the virtual machine for blogs.

The outage should last no longer than 10 minutes.

Amok time (resolved)

Update: After Tuesday morning's system configuration changes, the time on the blog server does not appear to be drifting.


For the past couple of weeks, the system time on the blog server has been drifting away from actual time at a rate of approximately 1.5 minutes for every minute of real time.

We suspect the issue has something to do with the interaction of the Linux kernel with the virtual machine (VM) server software. We are uncertain when this problem actually began. We are still waiting for an official response to a support request sent last week to VMware, the VM software vendor.

As a workaround, the server is now regularly resetting its system time against a network time server.

The problem has likely manifested itself in the following ways:

  • Inaccurate entry post date & times and inaccurate comment post dates & times
  • Scheduled posts that either post too early, too late, or not at all
  • Inaccurate dates in RSS feeds
  • Periodic page rebuilds not executing properly

Until this problem is fully resolved, I recommend the following workarounds:

  • Manually backdating entries according the the correct date and time
  • Not relying on scheduled publishing and manually verifying that items were published as scheduled
  • Clicking the "Publish Site" button in the admin interface if you notice that one of your pages has not updated with new content (new comments, for example).

I apologize for the inconvenience and hope that we will have a resolution to this problem soon.

Admin directory change, 7/13

Following the blog server migration on Tuesday, July 13, there will be a change to the URL for the Movable Type admin interface that will impact some users of the older MT version. 


will now point to: 


The "mt4" URL will work exactly the same as before, but users of the current system will also have the "mt" option, and documentation will use the "mt" URL. 

Most affected will be users of the older Movable Type 3 (Movable Type Enterprise 1.56) system. Since this instance will no longer use the "mt" address, these user will have to use the following address: 


There will also be an explanation of this on the "mt" login page after the migration.

Migration completed, 7/13

Update: The migration went as planned, and we finished early. We may experience momentary server hiccups as we adjust the memory usage according to the server load.

We will be relocating the Movable Type blog installation to a brand new server location and moving the database to an external MySQL Enterprise server the morning of Tuesday, July 13. 

This will require a scheduled outage between 8 AM and 11 AM on Tuesday. We will try to maintain website access during most of that time. However, the need to place a freeze on file and database changes will require that we disable the admin interface. 

If all goes as planned, the entire three hours will not be necessary.

UploadDir plugin added

I added a new plugin to the Movable Type Enterprise 4 instance called UploadDir (Japanese to English, Google Translate link). The “Insert Image” and “Upload File” dialogs normally only have two default options,  “<site root>” and “<siteroot>/yyyy/mm/dd.” Then there is a text input field to manually specify another directory. This plugin auto-suggests an upload directory based on the three-letter file extension.

UploadDir dialog

Blog administrators can override the default settings under Tools → Plugins → UploadDir. Below are the default options:

audio: mp3,wma,m4a,midi,wav,aiff
videos: mp4,m4v,mpeg,avi,mov,wmv
images: bmp,jpg,jpeg,gif,tif,tiff,png
text: txt
docs: pdf,doc,xls,ppt
src: pl,c,cc,pas,rb
archive: bz2,cab,gz,jar,lzh,rar,tar,taz,zip

blogs.princeton.edu relaunch

The blog published to blogs.princeton.edu/main took a two-year hiatus. This was mostly thanks to a flood of Roxen-related development projects and because I had never had a chance to migrate this site to Movable Type Enterprise (MTE) 4.

Stay tuned for more frequent postings about system updates, outages, and tutorials for improving your blog. The top five headlines from this blog also publish to the dashboard of the MTE administrative interface.

I based the new site design on the Professional Website template set. I also created a new logotype treatment for the Princeton University Blog Service logo.

Here are a few hints about what is coming in the next few months:

  • We will migrate the database from MySQL to MySQL Enterprise, with automatic restarting after failure and a mirrored database server that can be brought online in the event of compete failure.
  • We will migrate the blog service from its original server box to two virtual machines in separate locations that will provide load balancing and redundancy.
  • The MTE 4.x admin interface will switch from blogs/mt4 to /mt, and the legacy MTE 1.5 instance will switch from /mt to /mt3.
  • We will eventually migrate the last of the blogs off of the MTE 1.5 server (probably just in time for the next major version, renewing the cycle).
  • We will bring the News Hybrid template set into production, which is a slick template set for publications.

Adding non-Princeton users

Blog administrators sometimes need to add users who have no direct affiliation with Princeton University. One past solution was to have a department create a Departmental Computer User (DCU) account. Another option was to create an "mt underscore" user and direct that user to a separate (no longer active) instance at blogs2.princeton.edu.

Fortunately, OIT's Security and Data Protection group came up with a much more elegant solution. Their Guest Account Provisioning service allows a Princeton University faculty or staff member to sponsor up to 25 guest accounts. A sponsor can set up and manage these accounts via an easy-to-use online tool.

The username for a guest account is the guest user's e-mail address. A common mistake is to leave off the text following the @. Guest accounts expire after one year, but can be renewed.

Once a sponsor has created a guest account, he or she can e-mail blogs@princeton.edu to request that the new user be added to the blog system.

Please carefully review the KnowledgeBase article about Guest Account Provisioning before proceeding with guest account creation.

Recent Comments

Recent Assets

  • UploadDir dialog
  • ODUS blogs
  • Blackboard course blogs