debugging the text editor in sharepoint

tl dr; run IE in 32-bit mode. Seriously. I know. That’s what I said, too. I’ve been using Sharepoint 200712 with my group, to share information about groups and projects on campus. It’s been working, but we just started using the wiki tool3, and my inability to make the visual text editor turn on became […]

tl dr; run IE in 32-bit mode. Seriously. I know. That’s what I said, too.

I’ve been using Sharepoint 200712 with my group, to share information about groups and projects on campus. It’s been working, but we just started using the wiki tool3, and my inability to make the visual text editor turn on became really troublesome. I’d never been able to get the visual editor to show up. I looked in settings – the visual editor in Sharepoint 2007 is implemented as an ActiveX control4 so I made sure I was running Internet Explorer5 (IE9 on Win7). I made sure that I had ActiveX enabled, and that security settings would let it run. All set. Still, no visual editor. WTF?

Lots of pointless googling and duckduckgoing. Some possible leads. Nothing worked.

I tried re-installing Sharepoint tools. No joy.

I tried rebooting. I tried poking around in the Sharepoint site settings and my user preferences. For hours. I looked through the IE prefs again. Still, no joy.

Then, it hit me. I’m running Windows 7 in 64-bit67. Running Internet Explorer 9 in 64-bit8. Maybe the ActiveX isn’t available in a 64-bit version? Browser plugins on MacOSX had a similar problem – 32-bit plugins wouldn’t run in 64-bit Safari, so you could relaunch the browser in 32-bit mode to use those. So I quit IE, and launch the 32-bit version.

And the visual text editor shows up. FML.

Microsoft, in its infinite wisdom, selected a technology for a core component of their enterprise collaboration website software that is only compatible with 32-bit versions of the browser they produce, and no other browsers on any other platform. And, when it fails to load the ActiveX control for the text editor, it does so silently, without even a warning like “hey – you’re missing out on some key functionality, buddy.” It’s just… gone. Unless you run IE on Windows in 32-bit mode. THEN, you get a crappy visual editor with minimal functionality, generating insanely ugly HTML that makes anyone who knows HTML want to drown kittens. Awesome.


Footnotes:

  1. yeah. I know. not a fan of Sharepoint either. but it currently pays my mortgage, so I suck it up and use it.
  2. also, yes, we’re running software that’s 5 years old. it’s kind of a pattern we have on campus. we’re working to update it, hopefully soon, but yeah… our version of Blackboard is about 6 years old, too…
  3. the worst wiki tool I’ve ever used. ever.
  4. again, yeah. I know. let’s build a website that relies on technology that is only implemented in a single browser by a single vendor. wait. it gets better…
  5. once again. yeah. I know. IE9 is better than previous incarnations, but it’s not my first choice. again, with the using-it-pays-my-mortgage stuff, so I suck it up and use it
  6. seriously. again with this? it’s basically an appliance for Outlook, Sharepoint and Dynamics.
  7. if you think Outlook or Sharepoint are painful to use, try Dynamics. Yikes…
  8. because why would I run in 32-bit mode on a 64-bit OS?

Using Flickr Photos

If you’ve got a Flickr account, it’s now really simple to use your photos from Flickr and embed them in posts and pages on your UofCBlogs.ca site. I’ve just enabled a plugin that adds a Flickr media button above the editing form, like this (it’s the 2 dots, taken from the Flickr logo):

If you click that, you’ll be presented with a utility to select photos from your Flickr account:

You can search your own photos, or photos posted by other Flickr users. Once you select a photo, you can define the size and placement of the image using the controls provided:

and once selected, the Flickr photo is embedded in a post, like this:

dawn over the bow

Before using it, you’ll have to authorize UofCBlogs.ca to allow access to your Flickr account – it’s safe, and the plugin walks you through it in the Settings section of the WordPress Admin interface.

Just click the “Flickr authenticate” button, and a new browser window will open, where Flickr.com will ask if you authorize this connection between your blog and Flickr account. You can revoke this at any time, and it won’t add or edit anything on Flickr. If you approve this, just follow the instructions on that page, and close that browser window (or tab) when finished.

Then, just click the “Finish authenticate” button, so your blog will store your Flickr account ID.

Blogging in other languages

I just installed a few language packs for WordPress, which provide native versions of the administrative interface in various languages.

To select the language to use while administering a blog, go to the admin page, and hit “Settings” – scroll down that page to the bottom, and you’ll see this language selector:

Languages available for the WordPress administration interface
Languages available for the WordPress administration interface

For now, I’ve only added a handful of languages, but if I’ve missed a language that you want to use, please let me know and I’ll add it ASAP.

It’s not perfect, and not every bit of text is displayed in the selected language, but it is much better than a non-localizable admin interface. Here’s what the admin interface of my blog looks like with Chinese selected:

My blog's admin interface with Chinese selected as the active language.
My blog's admin interface with Chinese selected as the active language.

Of course, the actual content has to be written in whatever language you need, and this won’t do any translation, but it should help by providing the administrative interface in various languages.

Using WordPress as a CMS

This article is currently on the WordPress admin dashboard, so people who obsessively check their WordPress admin page will have seen it already. But, it’s worth pointing to the article again as it outlines some things to consider when using WordPress as a CMS. I’m still a pretty hardcore Drupal guy – I use it for dozens of website projects, and it’s the Officially Supported Web Content Management System on campus (YAY!) – but there’s just something so nice, clean, and elegant about the WordPress UI.

And since we’re at a point now where the exact technology chosen really Does Not Matter Anymore (you can get pretty much any web software to do pretty much anything with proper prodding and understanding – and they pretty much all now properly grok RSS and tags, so it’s easy to reuse and republish what you get out there in multiple other formats and locations), it’s good to keep an open mind. Especially when getting ready to start rolling out a campus blogging system based on WPMU

Posting from iPhone or iPod Touch

Now that I’ve updated this site to WordPress MultiUser 2.6, the cool new native iPhone and iPod Touch blogging app will work. Just point it to your blog, give it your ucalgaryblogs.ca username and password, and you’re off and running!

For example, I used dlnorman.ucalgaryblogs.ca as the blog address, and gave it my login info. It will work with multiple blogs, too – but each blog needs to be configured separately.

photo photo photo

Recipe for building a Drupal-powered blogging community website

I worked with our Faculty of Education to build a community blogging website for use by after-degree student teachers as part of their personal/professional development, reflection, and collaboration process, as well as to collect materials for use in ePortfolios. They had a set of pretty simple constraints. Because the student teachers would be writing about […]

I worked with our Faculty of Education to build a community blogging website for use by after-degree student teachers as part of their personal/professional development, reflection, and collaboration process, as well as to collect materials for use in ePortfolios. They had a set of pretty simple constraints. Because the student teachers would be writing about activities in the K-12 classroom, and likely would be posting media (photos, videos, etc…) they needed to restrict access to the site - there could be no public access to this content. Additionally, they needed to control with a fairly fine granularity which individuals within the community would be able to see specific pieces of content. Because of these constraints, we couldn’t just load up WPMU and set them free, nor could we just point them to WordPress.com or Blogger.com. What to do…

Drupal, of course. It’s got a blogging module available out of the box (it takes a checkbox to enable it). OK. Blogging is taken care of. Members just have to click “Create content” and select “Blog post”. Easy peasey.

Want to allow members of the community to create their own groups? Organic Groups. It’s amazingly flexible, and has an added bonus, in this case, of also enabling access control to content based on group membership (after enabling Organic Groups, go to the settings page for the module and enable “Access Control”). Meaning that the student teachers could create as many private group contexts as they like, and then grant access to their content to any of their groups (and only those groups) if desired. Very powerful stuff.

OK. So now we have a bunch of student teachers blogging their brains out. That’s a lot of content to keep track of. Their professors and practicum teachers need to keep up on all of the relevant posts, and provide feedback in a timely manner. How to provide tools to let individuals track content that they’re allowed to see, that they haven’t seen yet, and that they need to respond to… Views. Drupal’s Views module is killer for this. It’s basically a database query generator, where you can provide a set of criteria to filter content, and create a display on the website. So I created a couple of handy views to help people keep up.

The first view was a simple “all content that has been posted to any of your groups, sorted in reverse chronological order” - this is the “river of news” display, which meant that members didn’t have to go hunting through their various groups (some had over a dozen group memberships) to find new content. It’s all merged, sorted, and presented to them on the front page of the site. This let members keep their fingers on the pulse of the community - they could see at a glance what was being published in all of the groups they cared about. This view also displayed the number of comments (and any new comments were flagged) so people could easily follow up on conversations.

The second view was intended to help members keep up with new content - essentially an “inbox” to be used by professors and teachers. This view was a clone of the first “river of news” view, but only displayed unread items. As a professor viewed a blog post, it would get dropped out of this view for them.

We also used the Book module to create documentation on the site (how to use the site, as well as pages with links to other resources, an FAQ, etc…) and we enabled the Forum module to create a separate non-blog discussion board within the site (but this never really got used much…)

That’s really all there is to it - Drupal just handles the rest, and once it’s configured it takes very little care and feeding.

Here’s the stuff we used (the site was built a year ago on Drupal 4.7, but I’m listing what would be used as of the current Drupal 5.3):

I’ll try to revise this post to clarify stuff as needed, but this is the basic recipe. The best thing to do is just start downloading and playing…

Podcasting with UCalgaryBlogs.ca

The UofCBlogs.ca service offers built-in podcast hosting features, so it’s really easy to start publishing your own podcasts. Assuming you already have the podcast ready in .mp3 format, all you have to do is use the “Upload” utility below the post editor on the “Write Post” page.

upload podcast

Select the file, give it a Title, and upload it to the server. Then, just click “Send to editor” to put it into the blog post.

send to editor

Once added to a blog post, you’ll get a cool web-based media player, like this:

The title of the podcast file goes here.

That’s it. UofCBlogs.ca will take care of generating the proper podcast hosting RSS files, so you can start your incredible podcast series on remote biofilm telemetry, or whatever.