February 14, 2006
Upgrading to Movable Type 3.2
We are preparing to upgrade our blog system to Movable Type 3.2. View the rest of this message for details about the upgrade and changes.
We have a few things to finish off before we set a date for the upgrade, but in the meantime, you can have a sneak peak at the new system by logging in to https://wwwtest.usask.ca/mt/mt.cgi
This is a test system with a copy of all blogs as of last Tuesday. Please login, "Rebuild" each of your blogs, and check to make sure they work properly. If you do find any problems, please send mail to blog_support@usask.ca.
I'll say this one more time: this is a test system. Feel free to create, edit and delete entries, create and delete blogs, whatever you want. Nothing you do on the test system will affect your real blogs.
Note that files that you've uploaded to your blogs have not been copied to the test system. If you want these in test, you will have to upload them there.
One thing to watch out for: the Movable Type templating system has changed in 3.2. Some new features (such as the new template picker (aka the StyleCatcher plugin) will not work unless you upgrade your templates.
Here's a note from the MT 3.2 documentation on upgrading templates:
Once you have completed upgrading the system software, you may wish to also upgrade your templates in order to take advantage of the latest capabilities of the system. While Movable Type attempts to maintain backwards compatibility with previous versions, some behavioral changes may result in incorrect display of your published content.
If you'd like to restore any of your templates to the default settings in Movable Type 3.2, you can use the template refresh functionality provided by the "Template Backup and Refresh" plugin.
* You can select individual templates to refresh from the weblog's template listing screen. Select the option "Refresh template(s) from the dropdown in the action bar and the selected templates will be updated to the latest.
* If you want to refresh all templates in a blog, you can do so via the System Overview weblog listing. Just select the weblog from that listing and the dropdown option "Refresh template(s)" and all existing templates in your blog will be refreshed to the latest.
Posted by elf123 at 02:21 PM | Comments (1)
November 03, 2005
more work on MT 3.2
I'm redoing some of the customizations I'd done for MT 3.1, getting ready for an upgrade to 3.2 and found a few differences. More work for me, sigh.
1) There is a new permissions setting: Blog Administrator
If you are the Blog Administrator for any blog, then you see
an AUTHORS link on the MT home page and can view the entire
list of MT authors. Even though you can see the list, it looks
like only MT Administrators can change other people's permissions.
We don't want people to see the list of all authors due to
privacy issues, so we won't make most people Blog Administrators.
But we do want people to be able to add additional authors to their blogs, as they can in MT 3.1. With MT 3.2, either we'll have to do this for them, or I'll write a program so blog owners can do it themselves. Policy issue: if I add you to my blog, and give you
full permissions, should you be able to take away my permissions?
If not, how can we tell who are the "primary" authors?
2) The way you specify the Archive Path and URL in 3.2 has changed,
and by default archives go into the main blog directory. That's ok,
but we don't want people specifying any of these paths (so two people don't accidentally overwrite each other's blogs). I've modified the blog config form so you can see these paths and URLs, but can't change them.
3) In MT 3.1 the authentication cookie was of the form username::cryptpw::rememberflag, which meant that anyone who
could steal your cookie could bypass MT authentication and login as you.
In MT 3.2 this has changed to username::sessionid::rememberflag.
Once you logout the sessionid is invalid so people who steal cookies can only use them for a limited time.
This is a good change, of course, but it does mean I had to rewrite my code that integrates Kerberos authentication into MT, and does single sign-on to our Luminis portal.
4) There are some other changes to the blog config screens related to comments and trackbacks. We'll have to do some thorough testing new blogs created under 3.2 to make sure they get the default settings we want, and also with old ones we migrate to 3.2 to make sure the old settings are preserved.
5) When I change the license of my blog to attribution-sharealike,
it says I'm using the Attribution-ShareAlike 2.5 License. But the
blog config screen and the Creative Commons link on the published blog both point to http://creativecommons.org/licenses/by-sa/1.0/ .
So we need to update these templates.
Actually this is a bit of a messy issue, because internally MT stores the license as "by-sa" without a version number. So after we fix the default template, anyone who adopts the new templates will as a side effect switch from the 1.0 to the 2.5 CC license.
Posted by elf123 at 02:33 PM | Comments (4) | TrackBack
September 28, 2005
Fixing Movable Type StyleCatcher
StyleCatcher is a template picker for Movable Type 3.2. It lets authors easily change the look and feel of their blogs by choosing templates from a library.
It sounds great but I had to go through some hoops to get it to work
on our test system. It is not yet available on blogs.usask.ca.
The StyleCatcher 1.01 README.txt file says installation consists of
copying the appropriate files into your "plugins" and "mt-static"
directories and setting permissions. But there's a bit more to it than that.
Once you've installed the plugin, you have to login to MT as an administrator, go to the PLUGINS page, and configure the StyleCatchter plugin (select "Show Settings").
There are two settings:
Theme Root URL:
Theme Root Path:
The latter is the path to the "themes" folder that you need to create. The former is the URL for this folder. For example:
Theme Root URL: /mt/mt-static/themes
Theme Root Path: /var/www/html/mt/mt-static/themes
Make sure you set permissions on this folder so the web server can write to it, as this is where StyleCatcher will store themes that
it downloads.
I had some trouble with this, because StyleCatcher filled in these two fields for me, and it chose the wrong URL which meant it couldn't find any local themes.
To test local themes, download a theme from the Movable Type Styles Library (http://www.sixapart.com/movabletype/styles/library) and
unpack it into your themes folder.
At this point, you should be able to go into StyleCatcher and see the themes you've downloaded, and apply them to your blogs.
You can get into StyleCatcher by selecting it from the list of
PLUGINS on the right side of the MT main screen. There is also a "Select a design using StyleCatcher" link at the bottom of the Templates screen for each blog.
Getting remote themes to work was a challenge.
UPDATE: Thanks to Jay Allen and Brad Choate at
Sixapart, we determined that the problem I encountered was due
to an old version of the libwww-perl (LWP) perl library. I've
upgraded to the latest version of LWP, and StyleCatcher is working
great. There's no reason for anyone to use my StyleCatcher patch
unless you are stuck with an old version of LWP and can't upgrade.
The StyleCatcher 1.01 code just plain doesn't work. It couldn't find any themes in the Movable Type Styles Library. I don't know why it's broken, but it's broken. So I fixed it.
So, if you install StyleCatcher and you can't see any remote themes, try this: make a backup of your StyleCatcher.pm file and then change these lines:
diff -c StyleCatcher.pm.orig StyleCatcher.pm
*** StyleCatcher.pm.orig Mon Sep 26 16:32:03 2005
--- StyleCatcher.pm Tue Sep 27 13:09:33 2005
***************
*** 386,408 ****
$data->{themes} = [ $theme ];
} elsif ($type =~ m!^text/html!) {
my @repo_themes;
! for my $link (ref($response->headers->{'link'}) eq 'ARRAY'
! ? @{ $response->headers->{'link'} }
! : $response->headers->{'link'} ) {
! my ($css, @parsed_link) = split(/;/, $link);
! $css =~ s/[<>]//g;
! my %attr;
! foreach (@parsed_link) {
! my ($name, $val) = split /=/, $_, 2;
! $name =~ s/^ //;
! $val =~ s/^['"]|['"]$//g;
! next if $name eq '/';
! $attr{lc($name)} = $val;
! }
! next unless lc $attr{rel} eq 'theme';
! next unless lc $attr{type} eq 'text/x-theme';
! push @repo_themes, $css;
! }
my $themes = [];
for my $repo_theme (@repo_themes) {
--- 386,399 ----
$data->{themes} = [ $theme ];
} elsif ($type =~ m!^text/html!) {
my @repo_themes;
! my $c = $response->content;
! while ($c =~ m#<link([^>]+)<#g) {
! my $tags = $1;
! next unless $tags =~ m#rel=['"]?theme#i;
! next unless $tags =~ m#type=['"]?text/x-theme#i;
! my $href = $1 if $tags =~ m#\bhref=["']?([^\s"']+)#;
! push @repo_themes, $href;
! }
my $themes = [];
for my $repo_theme (@repo_themes) {
Posted by elf123 at 03:43 PM | Comments (28)
July 21, 2005
NSID authentication for Blogs
In talking with Kevin last week, the main technical issues with our blog pilot were to streamline the first-time login process and using NSID authentication so that people don't have a separate password for blogs.
I've done this.
Here's how it works. The blogs.usask.ca home page now has a "Login"
link, which pops up a standard Apache authentication dialog. Once you login with your NSID, you are in Movable Type. If you do not have a blog account, then the first time you login we automatically creates one for you.
At the moment, anyone with an NSID can have a blog. If we decide
to restrict eligibility, then we can use SSAM to maintain an eligibility list (an htgroup file) for the blog service.
Posted by elf123 at 03:35 PM | Comments (3)
June 28, 2005
Importing Blog Entries
I've changed the templates to prevent end users from using the "import"
feature. Export is still allowed (so people can backup their blogs),
but they'll have to contact a blog administrator if they need an import.
Kevin pointed out that MT's import for end users is not well thought out.
> 1) It required an "import" folder be created in the Movable Type area.
> I've created "/cwis/aliases/blogs/mt/import" so now the directory
> exists.
>
> 2) End users must be able to FTP their exported blog into this folder so
> they can do the import. But our users don't have FTP access to "www".
>
> This looks really strange to me because:
>
> 1) Why are they using FTP to put the files there? Why not use a web-based
> file upload?
>
> 2) Why is there only one "import" directory? Wouldn't it make more sense
> from a security point of view to have a separate "import" folder for
> each blog, not one common folder for the entire system that eveyone
> shares?
>
> 3) The software also has an option to "create new users" to match the users
> in the imported blog. Is that something that end users should be able
> to do?
Well, no, we want central control over who gets blog accounts, so end users
should not be able to create new users.
I'll also put in a call to Movable Type support on this. Hopefully
they can address it in a future release.
Posted by elf123 at 11:34 AM
May 06, 2005
A few more template changes
I've made some changes to the screens where people create new blogs and edit authors and permissions to make them safer. As distributed, these screens are inherently dangerous, because they let you mess up other authors and their blogs.
"Create New Weblog" now uses my create script. This prevents
people from overwriting an existing blog when they create a new one.
"Edit Authors and Permissions" no longer lets you create
accounts, delete accounts, or change global permissions
(permission to create blogs and view server activity log).
Accounts are now managed outside of Movable Type, so we
will be able to ensure that accounts are only created for
people who are eligible (once we decide on our eligibility
criteria).
You can still add authors to your blogs, they just have to
exist in Movable Type first.
Posted by elf123 at 09:27 AM
May 05, 2005
Changes to list_blog and edit_blog templates
I've changed the MT edit_blog.tmpl file so that people can view the
site and archive paths for their blogs, but can't change them.
Otherwise, two people could set these paths to the same place,
and overwrite each other's blogs.
I've also changed the list_blog.tmpl file so that it has a link
to the Movable Type news site, but does not retrieve a list of news
items. This speeds up the MT login process.
Posted by elf123 at 11:55 AM
April 28, 2005
Planning a Weblog Service - Technical requirements
I'd like us to develop an action plan that would get the U of S weblog service live as soon as possible. Spring and summer is the time that faculty, students and staff can explore new tools and think about how to use them in courses and administrative work for the fall.
Here are some things I think we need to consider, technically:
#1. Get the software up and running. - Seems to be working!
#2. Set up automatic blog creation. - Plan ahead. If one blog is good, will some people want two or three? Probably.
#3. Create single sign-on.
What else do we need technically right away?
Templates
I think we set up a central blog/home page about the blogging service that has the U of S design. Check out how Darryl Friesen has done this on the Library's News and Events weblog.
What about our users? Would they like a "default" U of S template or the option to select from a set of a preloaded. We would need to change the software to add a "template picker" feature like Blogger has.
Should be add a "standard footer" - service provided by ITS and a link back to U of S Blog Central which would provide a campus weblog directory and other information?
What about blogs with names - not NSID paths?
weblogs.usask.ca/history ...
Wish List -- Stuff to Do After Early Launch
#1. Full text search of all blogs
#2. Create a class blog. Have a button in Paws so you can click "create class blog". How can we automatically load your whole class list to a "class blog"?
#3. What's hot. Post a list popular posts (ones with lots of links to them)
#4. What's new. List the latest posts to help people discover other blogs on campus
#5. Blog directory (automatically created) to find other weblogs on campus
#6. Blog summary statistics - check out UThink
#7. Categories or Tags Can we spark the use of "tags" like uofsevent to create an events channel?
#8. How can I delete a blog or all my posts?
#9. How do I make a blog private - just for my group or committee?
Posted by dmf527 at 11:53 PM
April 26, 2005
Customizing Movable Type
Some of the default settings and permissions in Movable Type are not very good. Some are inconvenient, others are downright dangerous, so we need to make some changes.
Here's what I've noticed so far:
- when you create a blog, the local site path, local archive path, site url, archive url and timezone are all wrong. If we let users change the site path and archive path, they can easily wipe out other people's blogs. If two blogs to use the same site path, both get generated to the same place, so they overwrite each other.
- when you create a blog, the timezone is wrong
- the only way to let someone add another author to their blog is to give people access to the Authors and Permissions screens. But then they can create MT accounts for anyone in the world, rather than just U of S folks. Also, from that screen you can take away your own access to that screen.
- I'd like the option to allow comments from any local MT user, but the only options I see are either to allow comments from anyone in the world without logging in, or to allow comments from TypeKey users.
- By default, MT generates static templates for everything, which means generating takes a while. I'd like to make the default to
use dynamic templates for archives, but if you do that there's a bug that prevents you from editing templates. There's a workaround to the bug, but I don't want to have to teach people the workaround.
I think the way to go for most of this is to write some custom code to let people create MT accounts and blogs outside of the MT interface. That way we can set reasonable defaults and hide the dangerous setting screens inside MT.
We should also customize the default templates so that new blogs
look nicer (more of a U of S look?). We should also look at Minnesota's template changer. It would be nice to let people choose
a look for their blog without editing templates directly.
Posted by elf123 at 05:57 PM | Comments (2)
Movable Type 3.16 Installed
I've installed Movable Type 3.16 on blogs.usask.ca.
Pretty much followed the directions in mtinstall.html except for some permissions, since the defaults are way too open. I've made mt-db-pass.cgi readable only by the web server, blogs writable
by the web server and members of the 'blog' group.
Here's what I changed in mt.cfg:
CGIPath https://blogs.usask.ca/mt/
ObjectDriver DBI::mysql
Database mt
DBUser mt
DBHost localhost
CGIMaxUpload 5000000
DBUmask 0002
HTMLUmask 0002
UploadUmask 0002
DirUmask 0002
TimeOffset -6
MaxResults 100
With MT 3.15, you had to manually create a directory for each blog and a templates_c sub-directory if you wanted to use dynamic templates. MT 3.16 does this for us, and comes with the nofollow plugins. Unfortunately, it still has the editing dynamic templates bug.
I also set php's open_basedir so mtview.php in blogs using dynamic templates can include files from the /mt/ directory.
Posted by elf123 at 05:23 PM
