MUniversity of Minnesota

Technical Archives

November 02, 2006

Problem uploading large files with Firefox 2.0

We have been alerted to a problem with uploading large files to UThink with Firefox 2.0. It appears that any large files (anything over 2MB in size) are not fully uploaded with Firefox 2.0. Firefox 1.* and all Internet Explorer browsers still seem to work fine. We are looking into the problem, but quite frankly right now it has us stumped.

For now, please use Internet Explorer to upload large files such as podcasts or videos. Stay tuned for more information. We are sorry for any inconvenience.

Posted by snackeru at 03:28 PM

October 10, 2006

Captcha installed and a word about comments

Hello everyone! If there is one thing bloggers have to put up with it is blog spam. Well, hopefully we have made it a little easier here at UThink: we have just added the Captcha plugin to the system. What is a Captcha, you ask? According to the Wikipedia entry on Captcha:

A captcha (an acronym for "completely automated public Turing test to tell computers and humans apart") is a type of challenge-response test used in computing to determine whether or not the user is human. The term was coined in 2000 by Luis von Ahn, Manuel Blum, and Nicholas J. Hopper of Carnegie Mellon University, and John Langford of IBM. ...

In other words, a Captcha enabled system usually makes you type in characters in an image before it allows you to interact with the system. A Captcha might look like this:


So, what we've done with UThink is put these types of images into the comments forms. If you are being bothered by spam you can choose to enable this plugin and hopefully kiss spam goodbye.

How do you enable this plugin? Good question. Unfortunately, Captchas by themselves usually aren't that accessible for people with vision problems. So, we couldn't just automatically install it on everyone's blogs. Sorry. There are two ways you can enable this plugin.

The easiest way is to create a new blog. One thing we did do is put the proper code into all new blogs (as of today at 1:00 pm) so that if you do choose to enable the Captcha plugin it is as easy as clicking a box to turn it on. If you have a blog older than today, things are a little more tricky.

Please note: If you have created your blog after October 10, 2006 at 1:00 PM, skip down to step 2! You already have the code in place in step 1!

  1. First of all, you have to take this piece of code:

    <script type="text/javascript" src="<$MTCaptchaJsURL$>"></script>

    And put it into three templates: the Individual Entry Archive, the Comment Preview Template, and the Comment Listing Template. To get to these templates login to UThink, click on your blog, click on Templates in the left hand navigation menu, and then click on the "Archive" tab to get to the Individual Entry Archive, and the "System" tab to get to the Comment Preview and Comment Listing templates. From there, you need to put the code inside the Comments form on each of these templates. Look for code like this:

    <textarea id="comment-text" name="text" rows="10" cols="30"></textarea>
    <script type="text/javascript" src="<$MTCaptchaJsURL$>"></script>
    <div id="comments-open-footer" class="comments-open-footer">
    <input type="submit" name="preview" id="comment-preview" accesskey="v" value=" Preview " />
    <input type="submit" name="post" id="comment-post" accesskey="s" value=" Post " />

    See the bolded text? That is where you need to put code above on each of these three templates. With me so far? Good. Let's do the last two steps now.

  2. The next step is to turn the Captcha Plugin "on." To do this click on Settings in the left hand nav menu of your blog administration, then click on the "Plugins" tab. From there, look for the Captcha plugin and the "Show Settings" link on the right hand side...


    Click on "Show Settings" and then click the checkbox next to "Enable Captcha." Then click "Save Changes." Be prepared to wait for a bit. The configuration file for the Captcha plugin is a text file, and it is huge. So, to make a simple change like this takes a bit of time.

  3. Now "Rebuild" your entire blog. Click "Rebuild Site" in the left hand navigation menu and "Rebuild All Files."

And now you are finished. Go to one of your previous entries and click on the Comments link. You should now see a Captcha image! If you don't see a Captcha image ... well, something didn't go quite right. Feel free to email me at I'll probably just ask you to give me access to your blog. I'd be happy to help you out!

Finally, just as a reminder, UThink blogs are set to moderate comments by default. This means if you create a new blog, by default your blog won't publish a comment unless you give it the OK. A lot of users prefer to turn this feature off and allow comments from anyone at anytime, but I suspect most people leave comment moderation in place. If that is the case, you can still hook up this Captcha functionality, but it will only reinforce a pretty good spam blocking tool already in place. (To turn off comment moderation, see this post)

That's it for now. As always, let me know if you have any questions!

Posted by snackeru at 02:50 PM

September 01, 2006

Podcasts and Templates

• Hello everyone! I hope you had a nice summer. UThink is still humming along, as is the relatively new UThink Techincal FAQ Wiki. If you haven't visited the UThink Wiki, it has some great posts on Layout and Customization, UThink Functionality, and Troubleshooting. And since it is a Wiki, you all have access to add and modify the content. Just login and share your wisdom.

Recently, we had someone do just that regarding podcasting. Kurtis Scaletta of the Digital Media Center wrote a wonderful "how to" concerning podcasting on UThink. If you are interested, point your browser in this direction:

This fantastic write up covers making UThink work for podcasts (which is pretty easy), and how to specifically get your podcast ready for iTunes. Again, take a look at it and if you have anything to add by all means please do! Thanks Kurtis!

• Secondly, a whole bunch of new templates/styles have been added to the Stylecatcher to help you change the look of your blog into, hopefully, something more appealing. There are now about 75 different templates to choose from.

If you've never used the Stylechanger, and you would like to move off the default blue template, just follow these instructions:

  1. Log in to UThink.
  2. Enter the blog you'd like to change the template for.
  3. Click on "Templates" in the left hand menu for your blog.
  4. Scroll to the bottom of the page until you find the section header "Plugin Actions."
  5. Click on "Select a Design using StyleCatcher."


From there you can select from many different styles to use for your blog:


And many more. Also, is anyone interested in helping create a set of U of M templates to put in the Stylecatcher? I would love some help! If you are interested please let me know at

• Finallly, over the summer many of you have requested plugins or other add-on functionality to UThink. I'm sorry that I don't have better news for you, but as of today very few of these requests have been completed. Development time is at a premium concerning UThink and the project competes with a lot of other library projects that also require programming skill and time. Please be assured that I am keeping track of all the requests, and I'm prioritizing these requests for the next development phase for UThink. I just wanted to apologize that things can sometimes take so long.

Thanks everyone. As always, let me know if you have any questions or suggestions!

Posted by snackeru at 02:44 PM

July 21, 2006

New additions to the Technical FAQ Wiki

Hello everyone! Sorry for my extended silence, but I was waiting to write something when UThink hit 40,000 total entries. That was going to happen this week, and then someone deleted a couple of blogs that had over 500 entries. So, now I've got to wait a couple more days. Bummer.

In the meatime I have added three more FAQs into the Technical FAQ Wiki:

Hopefully these will help some people out. I am also working on a write-up to better explain the process of uploading an image or multimedia file. That will be available soon.

As always, if you have anything to add to the questions and answers currently on the Technical FAQ Wiki, please by all means modify away! The Wiki is open to everyone with a U of M Internet ID and Password to modify and add to. In fact, if anyone out there currently podcasting with UThink I would love it if you would write a tutorial on how exactly you are podcasting with UThink. Do you have any tips for people considering taking the plunge into podcasting? Give the Wiki a try and enlighten us all!

Posted by snackeru at 02:42 PM

June 08, 2006

The never ending battle against spam

As you may have noticed, blog spam has been especially fierce over the past week or so at UThink headquarters is always thinking of new ways to thwart it. As many of you have discovered, blog spam typically happens on older entries. Spammers are more interested in getting their links into search engines than they are with their comments actually being read. You may not know this, but UThink has a plugin installed that will automatically shut off comments on blog entries that have fallen off a blog home page, or that haven't been inactive for a set number of days. The plugin is called MT-CloseComments and it has a whole bunch of easy to use settings that should help you fight the never ending battle of spam.

If you have a blog that does not moderate comments (new UThink blogs are set up to moderate comments by default) I recommend that you make use of the MT-CloseComments plugin. The link above has some more detailed instructions, but essentially to make it work for you all you need to do is add a line like this to your "Main Index" template:

<MTCloseComments inactive="3">

What this line will do is automatically close comments for entries that have both fallen off your blog home page, and that have been inactive for 3 days. By inactive I mean entries that have not been commented on for three days. Or you could try something like this:

<MTCloseComments old="30" inactive="30">

What this line does is automatically shuts off comments on entries that are 30 days old or older, and that have been inactive for 30 days. This might come in handy when you've got a popular post that still seems to get comments and you want to give people time to say all they want to say.

Again, all you have to do is add this to the "Main Index" template (anywhere in the template) for your blog, then save and rebuild your blog. The plugin will go through all your existing entries and shut off comments on ones where the criteria you specify is met.

Again, new blogs are automatically set to moderate comments, so for many of you this won't be necessary (if you'd like to shut off moderation check this out), but if you've opened up comments and you are getting some spam this may come in handy. Until next time!

Posted by snackeru at 09:08 AM

May 16, 2006

Give the UThink Technical FAQ Wiki a try!

Greetings everyone! I have been dilligently working on a UThink Technical FAQ for a while now in order to answer some of the more common questions I get about the service. If you'll recall, I also wanted to put the FAQ into Wiki format to give everyone involved in the UThink community the opportunity to add their own knowledge about the service, and blogging in general, and modify exisiting content if there is a better way of saying something or something to add. Well, the UThink Technical FAQ Wiki is ready for your contributions. Just point your browsers to:

I am using the wonderful U of M Wiki tool which provides free Wikis to faculty and staff at the University of Minnesota. Want one of your own? All you need to do is ask. Wikis are an excellent way to provide a collaborative web based environment where everyone can contribute equally to the content of the site. For more information on wikis, please visit the Wikipedia description for "Wiki" (I know, how appropriate heh?).

Anyway, the UThink Technical FAQ Wiki only contains about 11 questions so far, but they are very common questions so hopefully they'll help you out. Of course, if you have any other questions, or better yet if you have the answers to what you would think is a common question, or if you just have an interesing tidbit of knowledge about UThink, please feel free to add to the Wiki.

That's it. As always, let me know what UThink!

Posted by snackeru at 02:28 PM

April 25, 2006

How do I put a search engine onto my blog?

Hello everyone! I'm still working on the technical FAQ, but in the meantime I thought I would give you some instructions on how to put a search engine on your blog. As many of you have already found out, the search tool that comes with Movable Type is woefully inadequate. In fact, it is just pathetic, especially when you are searching a database of the size that is UThink (as of 4/25/06 over 36,000 individual entries). It is for this reason that I have removed the search box from all new blogs and their corresponding templates. Searches were taking upwards of a minute to complete. Obviously, this is unacceptable.

There is an answer to our problem, however. Google actually does a very good job of indexing UThink content (a phenomenal job, truth be told) and it is possible to use Google to put a search box back on your blog. In fact, we can even use the U of M Google Search Appliance as our search engine, and you can even limit your search to the contents of your blog only. How do you do it?!?!? Well, just read on!

  1. Login to UThink and enter the blog you want to add a search box to.
  2. Click on "Templates" in the left hand menu and then click on the "Main Index" template.
  3. Look for the line that starts "<div id="beta">". It may be a little difficult to find, but it should be towards the middle of the template. When you find that line, add these lines right underneath it:

    <div id="beta-inner" class="pkg">
    <div class="module-search module">
    <h2 class="module-header">Search</h2>
    <div class="module-content">
    <form method="get" action="">
    <input id="search" name="q" size="20" /><br />
    <input type="hidden" name="domains" value="<$MTBlogURL$>" />
    <input type="hidden" name="sitesearch" value="<$MTBlogURL$>" />
    <input type="submit" value="Search" />

Save the template and rebuild it. Then try a search. It should be able to find entries that have been indexed by the U of M Google Search Appliance. Of course, it will not be able to find entries that you have just written, but that should be OK since those entries are probably still on your blog home page.

Give it a try and let me know what you think. If this works well I may just put this in the default templates for all new blogs. Happy searching!

(PS -- These instructions apply to blogs created with MT 3.2 templates (all new blogs). If you have a blog older than November 2005, I can provide you with alternate instructions. Just let me know!)

Posted by snackeru at 03:00 PM | Comments (2)

April 19, 2006

Technical FAQ

Hello everyone. I've been getting a lot of the same questions and comments recently concerning the more technical side of Movable Type and our implementation of it on UThink. So, I've been preparing a "Technical FAQ" that will hopefully highlight some of the more frequently asked questions and provide an easier way for users to find the answers. So far, I am planning on answering these questions:

  • How do I get hit statistics for my blog?
  • How do I use a departmental Internet ID to create a UThink blog?
  • How do I add a list of links or a "blogroll" to my blog home page?
  • How do I increase or decrease the number of entries that appear on my home page?
  • How do I customize the look of my blog? How do I change its appearance?
  • How do I delete an existing blog?
  • How do I add students to my class blog? How do I add a new Internet ID to my blog?
  • How do I password protect my blog?
  • Is XML-RPC available on UThink? If so, what are the connection parameters?
  • What is an RSS feed and how might I use one?

These are just a few of the questions I would like to tackle. Are there any that I am missing? If you can think of any, please put them in the comments!

Also, I am thinking that an FAQ of this sort may be perfect in Wiki format. That way it would give all of us a chance to spread our wisdom. I may contact the UMWiki people and discuss the possibilities.

• Also, if you'd like to learn a little more about the project, there is a Breeze presentation concerning UThink that is available online for you to view. The Breeze file also includes presentations concerning other Web 2.0 technologies and how you could try to use them in a classroom setting. As always, let me know if you have any questions!

Posted by snackeru at 09:17 AM | Comments (4)

February 01, 2006

Upload Recommendations

Hello! I have some words of advice for those of you that use UThink to upload large audio or video files. First of all, it is recommended that you upload anything over 5MB on campus. On campus upload speeds are much faster than anything you can get from an off-campus connection. We have also heard reports that uploads from off campus are timing out. So while we look into that, again, I would suggest doing large uploads from an on-campus connection.

In addition, in my own tests I have found that Firefox is the best browser for uploading purposes, Mac or PC. This is especially true if you have the Firefox extension Fasterfox which allows the browser to exceed RFC specs for server connections. Firefox is free to download and install and works well with Movable Type.

As always, please let me know if you have any difficulties with the uploading files. We are looking into ways to improve this functionality.

Posted by snackeru at 03:08 PM

January 26, 2006

Back to normal

Everything seems to be back to normal. Without getting too technical, the UThink server was experiencing some memory problems which was causing some flakiness. It appears that the system is working as it should now. Thanks for your patience and understanding.

Posted by snackeru at 12:43 PM

Technical difficulties

UThink is currently experiencing some technical difficulties. Thanks for your patience.

Posted by snackeru at 11:22 AM

January 20, 2006

Default comments setting and other tips

• Just a few words of advice for new UThink blog maintainers. First of all, when you create a new blog, comments are set to "moderated" by default. This means that any comment that is submitted to your new blog must be approved by the blog owner or entry author before they show up on your blog. This default setting is there to try to combat comment spam, but some people may find this annoying to have to approve comments before they show up. To turn this feature off and set up your blog to automatically publish comments follow these instructions:

Login to UThink, enter your blog, and click on "Settings." Then click on the "Feedback" tab. Look for the section that says, "Immediately publish comments from:" and set that to "Anyone." Save your changes and then rebuild your blog. Doing this will not necessarily increase your comment spam. We have already installed some pretty good spam blocking tools that seem to be doing a good job. Opening up comments may also make large class blogs work a little better as students are able to comment on their classmates' writing more easily. As always let me know if you have any questions.

• Also, on your new blog home page you may also notice a section titled "Links" and you may be wondering how to actually put some links in there. To populate this section with actual links, use the "MT-Blogroll" tool located on the first page of Movable Type after you enter the blog you want to edit. This tool allows you to quickly enter links, or a "blogroll," onto your blog. It will also make it easier for you to retain your links if you ever make changes to your blog's appearance.

• I have also noticed a lot of people using the "Extended Entry" option of Movable Type. My advice would be to stop using this option. Keep your whole entry in the main "Entry Body" unless you are typing something really, really long. I have noticed that people very rarely follow the link to the Extended Entry, so if you want your readers to keep reading, keep your entry all on the same page.

That's it for now. Let me know if you have any questions or comments!

Posted by snackeru at 01:26 PM

January 18, 2006

XML-RPC in UThink

In case you didn't know, UThink contains XML-RPC capabilities through Movable Type. Technically speaking, XML-RPC is a remote procedure call that allows code to be executed on our server without a programmer needing to explicitly code for the procedure. XML-RPC obviously uses XML to encode its calls. With me so far? For our purposes, XML-RPC allows UThink users to use different applications to submit entries to their blogs rather than the default web interface.

For example, there are many different types of desktop applications (some free, some not) that can connect to your UThink blog, post and edit entries, and give you perhaps a more appealing user interface for your blog maintenance needs. In addition, many of these desktop clients come with spell checking capabilities, something that is definitely missing from UThink's implementation of Movable Type. Some of the more famous desktop XML-RPC based clients include Ecto, w.bloggar, and Mars Edit for the Mac.

If you are interested in using XML-RPC you will need the location of the XML-RPC script on the UThink site:

You will also need a username and password. Your username is the U of M Internet ID you use to access UThink. Your password is a little different, though. To access your password, login to UThink and then click on your username/Internet ID in the upper right ("Welcome username"). On the next page look for the section called "API Password." Depending on when you created your first blog, you may or may not have a password available to "reveal." If you do not have an API password, or you would like to change your password, enter your new password and click "Save Changes." Unfortunately, you will receive a cryptic error message next, but be assured that you have successfully saved your new password. Click "Go Back" and then "Reveal" to make sure.

From there, you can use the XML-RPC script, and your username/password to connect to UThink in a different way. Another example of this is Flickr. If you post pictures to Flickr on a regular basis, you can actually hook your blog into Flickr so that when you post a picture there it also posts that picture on your UThink blog too. There are many other uses for XML-RPC. If you've got any interesting ideas or implementations, please let us all know in the comments below!

Posted by snackeru at 10:13 AM | Comments (1)

January 10, 2006

Comments and Trackbacks back up

Greetings! I am happy to report that we have worked through some issues and comments and trackbacks are working again. To make sure your blog is functioning properly, please login to UThink and rebuild your entire site. That way everything should work the right way for you.

Our changes with comments and trackbacks should also make comment spamming almost impossible. So, that is an added bonus for everyone.

In addition, we have made some other changes to the system that should make UThink a little faster. As always, please let me know if you encounter any difficulties.

Posted by snackeru at 01:29 PM | Comments (3)

January 06, 2006

Technical Difficulties

I must apologize. Many of you may have noticed that we are experiencing some technical difficulties right now in UThink land. I'm very sorry about this. Right now we are dillegently working on making the system as perfect as possible (and hopefully speedy too), but we have run into some snags. We hope to have these worked out very soon.

Right now comments and trackbacks are not working properly. Thankfully right now, in between semesters, is a slower time for UThink users. Again, we hope to have these problems worked out shortly.

Thank you for your patience. Please let me know if you have any questions.

Posted by snackeru at 08:22 PM | Comments (1)

December 16, 2005

Podcasting with UThink

I've written a little about this before, but podcasting is not only possible, hopefully it is made easier with UThink. All new UThink blogs come with the built in capability to recognize when a podcast (mp3, mp4, etc.) has been uploaded to the system. UThink blogs will also automatically create the RSS 2.0 file, complete with enclosure tags, necessary to make subscribing to a podcast possible. In addition, UThink enables users to upload files of up to 30 MB 65 MB per file (this used to be 15), with no limit on space.

For more information concerning podcasting using UThink, check out this short (8 minute) flash demonstration:

Podcasting with UThink

As always let me know if you have any comments.

Posted by snackeru at 10:44 AM

December 02, 2005

Need for Speed

Hello everyone. As any user of UThink has probably found, things are pretty slow going since the upgrade. As I've already said, UThink has seen an unexpected performance hit and we are dilligently working on finding a way to make the system faster. So far, we have identified some possible fixes concerning our server configuration and the way we have configured Perl (the programming language Movable Type is written in). If these fixes don't work we will start the process towards purchasing a new server. Until then, until we can figure out exactly what needs to be done, I'm very sorry about the lack of speed currently on UThink. And truthfully, I'd love to hear from any UThink users: is this totally unbearable? There are definitely times when I find it excrutiatingly slow, and I just want everyone to know that we are doing everything we can to speed things up. Thanks for your patience!

Now for something completely different, if you have created a new blog since the upgrade (or if you have refreshed your templates), you may have noticed the link at the bottom of your blog's administration page, "Edit My Blogroll." If you are wondering what this is, a "blogroll" is blog-speak for a list of links on your blog's home page. If you've created a new blog you've probably noticed on your blog's home page a section called "Links." If you've ever wondered how to get some links under that heading, the "Edit My Blogroll" link is the way to do it!

When you enter the "Edit my Blogroll" link, click "Add Link," add the "Weblog Name" and "URL" for a link you'd like to add, and then click "Save." After saving, you must rebuild your the main index (home page) of your blog. Click "Rebuild Site" in the left-hand menu and choose "Rebuild Indexes Only." Once your blog's main index is rebuilt, click "View Site" and check the "Links" section. You should see the links you just added!

In addition, I wanted to let you all know that I've updated some of the help pages in the left hand menu including How to Use Movable Type and Templates. You may have also noticed that I have brought back the "Recent Entries" section of the Blog Directory. Things are coming together, and I promise they are only going to get better! Thanks for using UThink and let me know if you have any questions or comments.

Posted by snackeru at 03:52 PM | Comments (1)

November 29, 2005

Upgrade update: Day 2

Welcome to Movable Type 3.2 Day 2! I am pleased to announce that we have successfully implemented the StyleCatcher plugin which means you will now be able to use a whole bunch of new styles for your blogs. However, just like on the test system, in order to use the StyleCatcher you must either create a new blog, or you must use the "default templates" on your existing blog.

Creating a new blog is obviously the easiest. Right now, to create a new blog log in to UThink, click on "Weblogs" in the right hand menu, and then look for the "Create New Weblog" link. We will be moving this link to the main menu screen shortly.

If you would like to use the StyleChanger with your existing blog (a blog created before the upgrade), log into UThink, click on your blog, and then click on Templates. You'll note checkboxes next to all the templates on the first screen. Click all of them (or click the checkbox next to "Template Name"). Then, use the "More actions" drop down menu to the right and select "Refresh Templates." Do the same thing for the tabs "Archives" and "System." Once you've done that, enter the StyleChanger link at the bottom of the screen (under "Plugin Actions") and select a new style for your blog. You do not need to use the "Find Style" button. Just click on "Saved Themes" if none are showing.

Besides the StyleCatcher, there are a couple of other things to note. You may have already noticed that the Blog Directory is not functioning. I hope to have that back up and running by this afternoon. Also, the Blogroll plugin also requires that you either "Refresh Templates" to use the default templates, or that you add some new code to your Main Index Template. I will give out some instructions concerning that later.

And speaking of instructions, I will be updating a lot of the instructional pages of the main UThink blog over the next couple of days. I hope to make them more helpful than they were before and more complete.

In the meantime, let me know if you see anything out of the ordinary on the new system. Thanks and happy blogging!

Posted by snackeru at 09:36 AM

October 11, 2005

Podcast information

Yesterday Chad Fennell and Peter Weinhold of the Health Sciences Library gave a great presentation concerning podcasting for the DMC's Educational Technologists Forum. Their presentation covered podcasting basics and various tools and links you could use to both create and subscribe to podcasts yourself. If you missed the presentation you can download it here:

A Podcasting Framework

In addition, I am happy to announce that UThink has expanded the maximum upload file size for uploads to your blogs. In the past, we have limited the file size per upload to 5 MB. In order to make podcasting and vlogging easier for you we have now increased the maximum file upload size to 15 MB. Depending on audio quality, compression, and other factors, you should be able to put up some lengthy podcasts now through UThink.

Again, all new blogs on UThink are automatically set up to handle podcasts and RSS 2.0 enclosures. All you need to do is upload your MP3 file and link to it from a blog entry. UThink/Movable Type will handle the rest. If you have a blog older than 3 months, please see these instructions if you plan on including podcasts on your blog.

Let me know if you have any questions or comments!

Posted by snackeru at 10:14 AM

September 06, 2005

Class Blogging and upgrade update

• Hello everyone. Welcome back to the University! I've been noticing a lot of class based blogs being created on the system, and I received a question concerning what could be done on class blogs so that a group blog adheres to FERPA guidelines, or more specifically, assuring that a group blog for a class allows for anonymity for the students participating. In other words, can you set up a UThink blog, attach students to that blog, but also allow the students to post anonymously? The answer is yes.

I've written instructions about this before, but even I think the instructions are a little daunting. So, today I have made the default templates FERPA friendly, and I have made all the templates in the Template Changer FERPA friendly. And what do I mean by FERPA friendly? I have placed into the templates that option of displaying a person's nickname rather than a person's Internet ID when the web page displays the author of a post or entry (the "Posted by" section). So, if you are attaching students to a single class based blog, before they begin posting encourage them to enter a nickname inside the "Edit Your Profile" section of the Movable Type interface. That way, when they make a post it will display their nickname rather than their real name.

And yes, I have also altered all the RSS/Atom feeds, too.

How do you make use of this new functionality? If you already have a blog on the system, simply use the Template Changer (found with the "Templates" section of the administration interface) and pick a new one, or the same template. If you are creating a new blog, this functionality will automatically be a part of your new blog.

Please let me know if you have any other questions or concerns. And just to clarify, it is still currently impossible to create an anonymous personal blog. But it is possible to give additional authors of a single blog anonymity as noted above. Again, if you have any questions leave a comment or drop me a line.

• We are still dillegently working on upgrading UThink to MT 3.17. I am hoping we'll be able to make the switch this week. There may be a morning that UThink is down for a short period of time. If all goes well, we should be using MT 3.17 by the end of the week. Thanks for your continued patience and sorry for the delay!

Posted by snackeru at 04:35 PM | Comments (1)

January 07, 2005

How do I display RSS feeds on my blog?

A couple of entries ago I wrote about RSS feeds and how to make use of the RSS feeds on UThink. Now I'd like to turn our attention to RSS feeds outside of UThink and how to make use of them on your own blog. Many people have asked me if it is possible to display RSS feeds from other blogs outside of our system on their own blog home page(s). In the past, the answer has been no due to a limitation of how we originally set up the UThink server. Now however, thanks to the server upgrades alluded to in a previous post, it is possible to present RSS (or Atom) feeds from any blog or news service that provides them. Allow me to explain how.

When we upgraded the UThink server we cleaned up our installation of PHP and made it more functional and secure. What is PHP? In a nutshell, PHP is a programming language that can help you make your blog more dynamic. Using PHP and the "lastRSS.php" script I spoke about on December 10 you can put RSS based content onto your blog home page, or another page on your blog, that updates every time the RSS feed has new content to display. Sound cool? Let's give it a try then.

Since this is somewhat of an advanced skill, it is strongly recommended that you create a test blog to try this out on. If you are new to programming, or new to PHP, do not try this on your main blog until you are confident that you know what you are doing.

The first step you will need to perform is to change the name of your blog home page from "index.html" to "index.phtml." Why? Because by naming your "index" file with a ".phtml" extension you are telling the server that there will be some PHP on this file that the server will need to parse through. So:

  1. Log into UThink and select the blog you would like to test this out on.
  2. In the left hand menu of the administrative interface, click on Templates.
  3. Click on the "Main Index" template.
  4. In the "Output File" box, enter the text "index.phtml."
  5. Click on "Save".

What this will do is change your home page's main file into "index.phtml" rather than "index.html". Have no fear! This will not change the URL of your blog. Your URL will still be .

Now we will enter the necessary PHP. At the top of the Main Index file, on top of all the other code, enter this snippet:


// include lastRSS
include "lastRSS.php";

// Create lastRSS object
$rss = new lastRSS;

// Set cache dir and cache time limit (1200 seconds)
// This will dictate how long the program should wait before it attempts to
// retrieve the RSS feed again.
$rss->cache_dir = '.';
$rss->cache_time = 1200;


As you can see, this snippet of code makes use of the "lastRSS.php" program that will do the heavy lifting of going out and retrieving the content of the RSS feed you specify. Now, all you need to do is pick the feed you'd like to show and pick a place on your blog home page to show that feed. For the sake of this demonstration, I am going to use the "Top Stories" RSS feed from Yahoo! News. That feed can be found at Now where should we put it. I would recommend somewhere in your sidebar underneath your calendar and links for your recent entries. Of course, you can pick where ever you want. If you pick the side bar, create a section for the feed and then enter this snippet of code:

// Try to load and parse RSS file
if ($rs = $rss->get('')) {
// Show website logo (if presented)
if ($rs[image_url] != '') {
echo "<a href=\"$rs[image_link]\"><img src=\"$rs[image_url]\" alt=\"$rs[image_title]\" vspace=\"1\" border=\"0\" /></a><br />\n";
// Show clickable website title
echo "<center><a href=\"$rs[link]\">$rs[title]</a></center><br />\n";
// Show website description
echo "$rs[description]<br />\n";
// Show last published articles (title, link, description)

echo "<ul>\n";
$num = 1;
foreach($rs['items'] as $item) {
if ($num <= 10) {
echo "\t<li><a href=\"$item[link]\">".$item['title']."</a><br />".$item['description']."</li>\n";
echo "</ul>\n";
else {
echo "Error: It's not possible to reach RSS file...\n";


Note the line "($rs = $rss->get(''))." Hopefully you have figured out that this is where you can put your own RSS feeds, or other feeds you or your readers may be interested in. Once you have entered the code snippet above, click "Save" within the administration interface of MT, and then "Rebuild." When it is finished, look at your blog home page to make sure everything looks good. If you'd like to see an example of what this shold look like, check out my test blog snackeru playground and look at the sidebar to the right. If you see a blank screen after you try this out it means that you have done something wrong with the PHP code. Go back, look for your errors, and try it again. Welcome to the world of programming!

Check out the lastRSS web site for more ways to render RSS feeds through PHP. If you have any questions, feel free to leave a comment!

Posted by snackeru at 01:29 PM

December 10, 2004

RSS Feeds

I got an interesting email today asking how can someone use UThink's blog RSS feeds to supply content to another web site. This is a great question and deserves some more discussion. For those of you that don't know, every blog on UThink automatically creates pages called RSS feeds, or newsfeeds, that anyone can subscribe to. Look at any blog on UThink (this one, for example) and along the left (or right ) hand side you should see a link that says "Syndicate this Site (XML)." RSS stands for "really simple syndication," and this link is the blog's RSS feed. If you click on this link you'll note that the feed simply highlights some of the recent postings made on this blog. Think of an RSS newsfeed as a "What's New" for the site that people can subscribe to. It may look like just a bunch of ugly text, but used with an RSS aggregator or another type of RSS reader, this link allows users to subscribe to this content or even display this content on another page all together.

If you've never subscribed to an RSS newsfeed before, it is quite easy to do and allows you to manage all the blogs, or sites with RSS feeds, you check on a daily basis from a single page or location. If you are interested in more information concerning RSS, check out this Introduction to RSS, and then try to subscribe to some blogs yourself with an RSS aggregator. There are a lot of RSS aggregators out there, but the easiest to get started with is Bloglines. This is a web based RSS aggregator that allows you to manage all your feeds with your web browser. Create an account, and then insert feeds from the blogs or sites you read most. Hopefully you'll quickly be able to see what a handy tool this is.

I've alluded to this above, but another use for RSS feeds is to provide content for another site all together. The MyU portal uses RSS feeds in this way. In fact, every channel within the My News tab is an RSS feed that the myU site grabs from somewhere else and then displays. This could also be done with UThink blogs. For example, using a UThink blog you could create a departmental newsletter and then highlight recent entries to your blog on your department's home page. This is something that the U of M Legislative Network does already with great success. Look at the upper right-hand corner of their page under the banner. You should see a section titled "News and Blog Updates." This section is fed from their Legislative Network Blog on UThink.

How can you do this also? There are many different methods, including ones that use Javascript, Perl, or PHP. I'm going to talk about one that uses PHP. First make sure PHP is installed on your server. Secondly, download the script "lastRSS" at This is one of many RSS parsers/readers written in PHP, but I find it very easy to use. Save this script somewhere on your server and then use one of the examples listed on the lastRSS site to see if it works. If it does, give it your own RSS feeds. Just this morning I downloaded "lastRSS" and had a page of UThink RSS feeds up in two minutes. Feel free to check it out.

Let me know if you have any questions!

Posted by snackeru at 01:19 PM

November 30, 2004

Slight change to new blogs

Today I made a slight change to the new blog creation process. In the past, new blogs were setup to only display a certain number of days at any given time on a blog home page. The default was 7 days. This means that blogs created before today only show 7 days of posts on the blog home page by default. As a result, many blog owners have noticed that if they don't post regularly eventually their blog home page will only show one, two, or no posts at all. Of course, the default number of days can be changed, and I outlined how to do this in an old post: What can I do with the Weblog Config section?.

However, today I changed the default to not show a set number of days, but a default number of posts. I outlined this in an old post: How do I show a default number of posts on my blog home page?. I set the default to 10 posts. So blogs created now will always show a up to or a maximum of the 10 most recent posts no matter what. I did this by altering the <MTEntries> tag in the Main Index Template:


has been altered to look like this:

<MTEntries lastn="10">

If you would like to revert back to a set number of days of postings on your blog home page simply delete 'lastn="10"' from the <MTEntries> tag. For those of you with older blogs who would like to implement this functionality, follow the instructions in the post above.

Posted by snackeru at 04:29 PM

November 10, 2004


Many of you have asked for certain MT plugins to be installed on UThink. For those of you unfamiliar with MT plugins, they extend the functionality of Movable Type (the blogging software used by UThink). There have been many plugins written for Movable Type. These are the plugins that have been installed on UThink so far:

  • MTCountdown -- allows you to place a countdown timer in your MT Template. For example, put up a countdown timer for your birthday:
    <div class="sidetitle">
    Countdown to my birthday!
    <div class="side">
    <MTCountdown date="2005-01-17 00:00:00">
    <MTCountdownIfYears><MTCountdownYears> years, </MTCountdownIfYears>
    <MTCountdownIfWeeks><MTCountdownWeeks> weeks, </MTCountdownIfWeeks>
    <MTCountdownIfDays><MTCountdownDays> days, </MTCountdownIfDays>
    <MTCountdownIfHours><MTCountdownHours> hours, </MTCountdownIfHours>
    <MTCountdownIfMinutes><MTCountdownMinutes> minutes, </MTCountdownIfMinutes>
    <MTCountdownIfSeconds><MTCountdownSeconds> seconds</MTCountdownIfSeconds>
    until my birthday. </MTCountdown>
  • MTCloseComments -- A handy plugin to help thwart blog spammers. This plugin will close comments for any post that has fallen off your blog home page, among other possibilties.
  • MTOtherBlog -- Allows you to include content from other blogs on your own blog, as long as those blogs are also a part of UThink. For example:
    <MTOtherBlog blog_id="137">
    <$MTBlogName$><br />
    <MTEntries lastn="2">
    <a href="<$MTEntryLink$>"><$MTEntryTitle$><br />
    Don't know the blog id's for the blogs you'd like to include? Just use the "View Source" capability of your browser and find the code for the Search box on the blog(s) you'd like to include. The blog id for that blog will be listed there.
  • MTGlobalListings -- This plugin allows you to list Entries, Comments, Categories and TrackBack pings across multiple blogs within one MovableType installation. This plugin is a lot like MTOtherBlog, only it will also let you get at the data for comments, categories, and trackbacks, as well as counts for each type of data. See the documentation for more information concerning this powerful plugin.
  • Regex -- Uses regular expressions to accomplish replacement and other advanced text manipulation within your blog templates. If you don't know what a regular expression is, then this plugin probably won't be that useful to you.
  • IfEmpty -- Allows for different options if a field is empty or not empty. For example, you can use this plugin to change the "Posted by" information on a group blog to a nickname if there is one available for that particular author:
    ... <div class="posted">Posted by
    <MTIfNonEmpty tag="MTEntryAuthorNickname">
    <MTIfEmpty var="EntryAuthorNickname">
    </MTIfEmpty> at ...
  • Textile -- A syntax language that allows you to quickly/easily add some HTML elements (bold, italics, hyperlinks, lists, etc) to your posts without learning all of the nitty gritty HTML. See the link for documentation on how to use this plugin.
  • MTBlacklist -- Quite possibly the most important of any of the plugins. Protects UThink blogs from spam, and yes some spam still gets through. It would be even worse without this plugin.

These are the plugins that have been installed so far. Let me know if you have any questions, or if any other plugins look interesting!

Posted by snackeru at 03:38 PM | Comments (1)

May 27, 2004

Post database citations in your blog!

Using Movable Type's bookmarklet functionality, it is now possible to post citations from Find It Enabled databases directly into your blog at the click of a button. To see an example of how this works, visit my test blog: snackeru playground.

Why would you want to use your blog to keep track of citations? Here are a few possibilities:

  • Once you've saved a Find It URL in your blog, you can easily locate it again using your blog's search or categorization functionality.
  • Categorize citations on your blog based on class, assignment, or area of research, or create a blog just for your research citations.
  • Thanks to UThink's date manipulation functionality, use your blog as a class reading list.
  • With Find It URLs saved on your blog, copyright is taken care of and any affiliated U of M - TC user that reads your blog will automatically have off campus access.
  • Share citiations you've found with colleagues who are interested in your research.

To use blogs in this way, first log into your UThink blog. Then do some research in a Find It enabled database. When you find a citation you would like to keep, click on the Find It icon. Find the menu option "Post this citation to your blog on UThink." From there you can post the citation to your blog, and make comments on the citiation.

Please let me know if you have any questions or comments at

Posted by snackeru at 03:19 PM

May 24, 2004

How do I change what my blog looks like?

I have written a new "Templates" page to give people that would like to change the appearance of their weblog(s) a better idea of how to do so. Essentially, the easiest way to change the layout and colors of your site is to change the Stylesheet of your blog. Thanks to styles available from Movable Style, UThink now offers 10 distinct styles ready for you to plug into your blog:

  • Clean
  • Trendy
  • Georgia
  • Gettysburg
  • Rusty
  • Plain Jane
  • Typepad Thin
  • Plain Blue
  • Mac Stripe
  • Matrix Code
  • Simply follow the instructions at the top of the Templates page to implement one of these styles, or visit Movable Style for more choices.

    You may also be wondering why the UThink default template is so dull or why it doesn't contain the U of M wordmark or the block "M." University policy prohibits these symbols of the University from appearing on web pages that are personal in nature. Obviously blogs can be very personal!

    Finally, if you have any skill with CSS and/or HTML please consider using that skill to create new templates for UThink! If you have a style you'd like to share, or if you are thinking about creating a new style for the UThink system, please email

    Posted by snackeru at 04:04 PM

    January 29, 2004

    Almost there

    We're almost there. Bill is putting the finishing touches on the x.500 login system and then he will work on the community blog capabilities. For those of you that don't know what I mean by "x.500" it is the system we use here at the U of M to authenticate students, faculty, and staff as U of M affiliated. It is a single login solution, which means everyone at the U of M only needs to know one username (called an "Internet ID" here) and password. The system a person is trying to log into will then get the person's credentials and decide if he or she should have access to the system. By using the x.500 system we will automatically give our blog site potential connectivity to a slew of other university projects, including the U of M portal, and it will make the site easier to use and administer since we won't have to manage individual usernames and passwords.

    Movable Type also comes with the capability of adding authors to specific blogs to make what are know as "community blogs" or blogs that have multiple authors. We would like to retain this capability, obviously, so that professors or TAs can made class weblogs, or groups of students can maintain weblogs together. Out of the box MT comes with an "add author" capability that is entirely too powerful for our uses. Anyone with this permission can add an author to any blog in the system, or delete any author for that matter. We are currently working on altering this system so that people can add authors to their own blog(s) only. If you are interested, you my check out some of our test pages people will use to create a new blog. Please note, these pages do not work! They are to look at only, no actually create a blog.

    Finally, Seton Hill University has taken the plunge into the world of blogs. It appears that their informational page is a group blog called New Media Journalism @ Seton Hill University. Hopefully we'll be giving our own community this capability soon.

    Posted by snackeru at 03:01 PM

    September 16, 2003

    So far ...

    So far, so good. Bill has been working on setting up our x.500 system as the authentication method of choice for users to both create a blog and log into the MT system. MT blogs are created kind of uniquely in that MT expects the user to first create the web directories that will hold the blog site proper. In other words, before a user can create a blog, they must first create the directories on their web server that will host the blog that everyone sees. The must also give those directories the right permissions so that MT can write to them. What we are trying to do is automate that step so that the necessary directories are created on the fly.

    Of course, it's not really as simple as that. MT is actually a pretty complex piece of coding. However, we have to take out this complexity so the most novice of user can easily create his or her own blog. Here is what we envision:

    1. The user is asked for their x.500 Internet ID and Password
    2. Upon authentication and authorization the system looks to see if the user has already created a blog. If so, they are passed into the administration interface for that blog.
    3. If a blog has not been created for that user they are passed to another interface that asks them:
      1. What do you want to name your blog?
      2. What do you want to name the directory for your blog?
    4. The system then takes this information and:
      1. Creates the main web directory for the blog
      2. Creates the archives directory for the blog
      3. Creates the initial database entry for the blog in the MT MySQL database including the necessary configuration information
      4. Creates the user information in the MT MySQL database including the right permissions to access and modify their newly created blog
    5. The user is then forwarded to the main menu screen of MT where he or she can begin modifying the blog.

    Sounds easy, right? Yes and no. The x.500 authentication is proving to be a little more sticky then expected due to the fact that every transaction within the admin module for MT essentially reauthenticates a person. What Bill has to do is figure out how to force the MT system to use x.500 (or the Central Auth. Hub) rather than MT's built in authentication system. I think he's on the right track, though.

    Posted by snackeru at 04:00 PM

    September 12, 2003

    Technical Issues / Things To Do

    On Monday, September 15 we will begin hacking the MT code to make it work for our goals. This is both exciting and a little daunting. Next week will give us a really good idea of whether or not we have the time, resources, and ability to achieve our goals. Here are some of the things we are going to try to figure out next week:

    • Can we configure MT to work with our x.500 authentication system? Ideally, we'd like students to be able to create and/or modify their own blogs using their university maintained Internet ID and Password. However, a lot has to happen coding wise to make that happen.
    • In order to create a new weblog using MT, the user must first create the web directories that MT will write the public version of the blog to. In addition, these directories must be made chmod 777. We've got to figure out how to do this on the fly.
    • Related to this issue then is a policy issue: what do we call the initial public directory? The easy answer is to name it after the user's Internet ID. My public directory would be called /snackeru/ then. However, that's no fun. Users should be able to name their blog and the directory it sits in anything they want.
    • When a user account is initially created, that user is given permission to post to a particular blog. We have to figure out how to create the blog and the user at the same time and give the user the proper permissions to have complete control over their own blog, but not anyone else's.
    • How will we handle multiple authors for single blogs? The easy answer is to not allow it, but again, that's no fun. Is it possible to allow users the ability to add authors to their own blog and no one else's? Right now, it seems MT comes preconfigured with the ability to turn author creation on or off. If someone has the ability to add users, they also have the ability to assign them to any blog on the system they want. Also, if we allow people to add authors do we want to limit them to the U of M community?
    • We need to set up the WEBLOG CONFIG: Core Setup section so that a user can't change the directories they have been assigned to, unless we can, again, create new directories on the fly and give individual users the power to do so. It seems like that could get really messy. Really, the only thing users should be able to do on the Core Setup page is change the name of their blog. The rest of the Config menu's seem all right (Preferences, Archiving, etc.).

    It appears to me that we've got our work cut out for us. Worst case scenario is that we manually create blogs for anyone that asks and take away access we don't think they should have for security reasons. As I've said before, next week should be very interesting.

    Posted by snackeru at 02:36 PM

    How much space?

    How big should we build the initial server? That is what our server administrator wants to know. More specifically, he wants to know the "expected disc utilization per user." I've asked a few people about this and have never gotten a definitive answer. The following computations are best case scenarios and should not be construed as something we expect, but of something we should be prepared for.

    As I've said in previous posts, the U of M community is at least 60,000 users. We feel that a best case scenario is that 1,000 of these people will become users of the system. Let's say that each entry a user makes in the system is 10K in size. Movable Type writes the entry both on a web page and in the database, so that's 20K per person per day. Multiply that by 365 days, and 1,000 users, and you get 7,300,000 KB.

    A user can also upload other media, such as graphics. Let's say the typical user uploads 1,000 K per week for their blog. 52 weeks equals 52,000 KB. Multiply this times 1,000 users and you get 52,000,000 KB.

    Now, how long do we expect our initial server to last? Let's say 3 years. Technology moves so fast, I don't think it would be wise to go much further out (but I'll leave that decision to the server admin). So, (3 * 7,300,000 KB) = 21,900,000 KB. And (3 * 52,000,000 KB) = 156,000,000 KB. All together that is 177,900,000 KB. That is approximately 170 GB, or about 180 MB per user for 3 years.

    I think the expected uploads per week per user may be a little off. And I don't think we'll get anywhere near 1,000 users to start out with. But, as I said above we should definitely be aware of what the potential is. Oh, and somebody please check my math!

    Posted by snackeru at 11:00 AM

    September 10, 2003

    Why We Chose Movable Type

    Staff of the Digital Library Development Lab of the University Libraries inspected a wide variety of blogging software before settling on Movable Type. I would like to point out that while our first efforts will center around Movable Type, this does not mean that we are definitely going to go with this software package. We still need to make sure that we can modify it in order to suit our purposes. We need to make sure that the faculty, staff, and students will easily be able to set up, modify, use, etc. their own blogs using Movable Type. Please keep checking back for more posts regarding exactly what we are trying to accomplish.

    We have inspected other blogging software applications, most notably Manila from Userland Software. This is the blogging software that Harvard is using for their project. While this software would work, and while it is relatively easy to set up and use, it is also highly proprietary. The software is written in a proprietary language, and it appears the underlying database is also difficult to manipulate. It is also relatively expensive compared to Movable Type (which is free). Given these drawbacks we decided to look for something open source, or a software package that we could modify to suit our needs.

    Movable Type definitely fits the bill. It is open source; it is written in Perl and the underlying database is MySQL. It is also highly configurable both from a programming standpoint and a user standpoint. And speaking of users, it probably has the biggest user base of any blogging software. However, is it easy to use? Can we modify it enough to make it easy enough to use for the beginner, while at the same time powerful enough for the experienced blogger?

    Our first order of business will be to attempt to wrap it around our campus x.500 authentication system. It is our goal to allow people to create and/or modify their own individual blog using the same Internet ID and Password they use to view email. The question is, can we reprogram Movable Type to easily allow for the creation of new blogs in this manner? According to their own documentation Movable Type can host more than one blog. Theoretically we should be able to reprogram it to allow for unmediated creation of new blogs on a single installation of the software. Of course, there are many issues associated with this effort from programming, to graphic design and usability, to policy issues.

    So stay tuned. There is a lot to work on and decide.

    Posted by snackeru at 04:17 PM