I’ve been getting some inquiries, and it’s been a while since I last described our eportfolio setup, so I thought I might put it all in a post instead of copying and pasting into various emails.
We host our eportfolios on an external server. It’s a dedicated server, all ours–but it’s the same server we use for many other purposes, so it would be misleading to think that it’s all for the eportfolios. But in any case, it’s got a quad-core xeon processor with 8gb of RAM. We backup nightly, and backup the databases four times a day. We currently have close to 2000 sites and a similar number of users. At this point we’re doing fine on hard drive space (we have 150GB, with two drives in a RAID), but the vault we use for backups is smaller and getting pretty full. I think we will be needing a storage space increase next year.
We’re using WordPress (with Multisite), keeping up with version upgrades fairly religiously (3.1.3 as of today). We’re running Red Hat Linux, and we have Apache 2.2.3 PHP version 5.3.6 and MySQL version 5.0.45.
The WordPress install is pretty much stock, out-of-the-box. I try not to modify the core code if I can avoid it, because it just causes hell around upgrade time. However, there are a couple of exceptions that help with security and spam prevention. One is that I’ve renamed the file wp-signup.php, and deleted the wp-signup.php file that normally exists within BuddyPress. The other is that I’ve completely deleted wp-trackback.php. That means no trackbacks, but trackback spam was just killing us otherwise, and since we don’t/can’t use Akismet (more about that below) it was the only option (the nuclear option) to get rid of the trackback spam problem. I do also use a translation file to change the word “blog” to “site” throughout the admin interface.
This is where things get a little complicated. We have about 140 plugins available (219 themes), and just about all of them have some value, at least to someone. There are a few that are orphaned, and I’m overdue for a cleanout of those, but for the most part they are there because somebody wanted them and is using them. And I don’t want to really review/explain all of them. But I will give the highlights–the ones that we use the most often and find the most valuable. (All of these, except where noted, can be found by googling–they’re mostly in the WordPress repository).
System-wide there are five plugins in our MU (must-use) folder:
- PostByMailEnabler–This one is probably not a total “must use,” but it has been useful for some students, particularly when traveling abroad. It allows the “post by email” function that is otherwise only possible in a stand-alone WordPress site.
- Signup Question–This is a critical plugin for us. Because we do not limit user registration by email domain as most campuses might, we have to have some way to control who registers–to limit it to our students and alumni. Signup Question lets me pick a codeword, and only people who have the codeword can register. It’s a simple matter to give the codeword to our students, or anyone else who we think should have an account, and when/if that codeword gets compromised, it’s a simple matter to change it.
- Userthemes Revisited Plugin–Actually, Userthemes, and even Userthemes Revisited, do not work in the current version of WordPress. But thanks to the heroic efforts this semester of a student intern, we do have a working version of this plugin, with about 99.5% of its functionality. It’s not in the WordPress repository yet, but I hope to get it there soon. In the meantime I can share it by request. This is a fantastic plugin IF you are running a multisite installation with some small group of users who are extra skilled and extra trustworthy. They can (once you allow them) edit theme files to their heart’s content, without harming or affecting the theme itself–and you don’t have to give them FTP access or do any FTPing for them. They can go beyond just editing the CSS, and edit the PHP and HTML code of the theme files. As you can guess, this can be dangerous–they can do tons of damage if they’re malicious–so you really have to only use it for trusted users. But for them, and in those cases where editing the CSS (more about that below) just won’t do what they need to do, it’s invaluable.
- WordPress MU Theme Stats–Probably not critical, but I find it useful to see what themes are being used by which sites, and it helps to know that it’s safe to eliminate some themes if they’re not being used by anyone.
- WPMU Plugin Manager–WordPress multisite with its “Network Activate” option for plugins takes away some of the usefulness of this one, but not all. I like the fact that I can have some plugins I might not be ready to give everyone access to, but still have them available for my couple of super-admins, or with discretion for a few users. Sometimes there is a plugin that is good to have, but only for some users, not all. This gives that control.
Then there are a bunch of other plugins–here are some of the most critical. Some of these are most useful for class sites (and we have a lot of those). In many ways, aside from using WordPress as a personal eportfolio platform, we also use it as a kind of an LMS–for “class eportfolios”–I’ll try to note those cases, because people looking just for individual eportfolios might not care about those:
- Add Users Sidebar Widget–This is one that is very useful for class sites. In fact it’s the main way we have students added to those sites. It takes the responsibility for populating those sites out of the faculty (or staff or admin) hands, and puts it into the students’ hands. They have to actively join the site, instead of waiting passively for “someone” to set up their accounts.
- Admin Ads–Maybe not critical, but handy for administrators to give a message to all users–like “we’re going down for maintenance tomorrow for three hours!” or “The eportfolio expo is coming up next week!” You can style the announcements and add images…but of course, like any mass announcement, you want to use it sparingly.
- Anthologize–Takes your WordPress site and turns it into an ebook–or pdf. Early stages, but awfully useful for archiving, and a kind of publishing.
- AStickyPostOrderER–an unofficial version by Max Bond to work with current WordPress version. Allows manual ordering of posts, without the kluge of altering publication dates. Really makes WordPress more of a publishing platform and less of a blog platform.
- Auto Thickbox–OK, not critical, but I like Thickbox popups for images. I really do. Students seem to, also, so this makes every image link into a pretty thickbox popup link.
- BuddyPress–Adds social networking to the eportfolio platform. Groups, friends, profiles, for all users. This is something students requested very strongly…but then never really used it too much. It’s there, and some use it, especially as they’re getting started at the college, but they seem to migrate pretty quickly to their own other platforms (facebook). A college-specific social network is something that seems nice in the abstract, but doesn’t appeal quite so much in the reality. Still, it’s there, and it does get some use, and I wouldn’t want to take it away.
- Capability Manager–Very useful on some class sites where the standard WordPress roles and capabilities aren’t fine-grained enough. Some faculty want students to be able to do some of what Editors do, but not all. Or all of what Authors do, and even a little of what Admins do. This plugin lets the admin choose exactly what each user role can do or not do.
- Category Order–Pretty much what it says. Makes it easy to put categories into different orders for arranging menus. Custom menus in newer WordPress themes makes this unnecessary, but for themes that don’t support custom menus, it helps.
- Digress.it–So powerful and useful for classes, and for individual publications, but hasn’t seen that much implementation for us yet. Waiting for the right project, I guess. Allows paragraph-by-paragraph commenting (annotation!) on a posted text.
- Easy Facebook Like Button–Students like this a lot (ha!). Their friends can easily “like” a post, and then everyone on facebook knows about it! We have some students very savvy about social networking and promotion.
- Email Users–NOTE–this can NOT be used anymore! Causes Mysql to crash in big installations! Critical for class sites. One of professors’ most-requested features. They want to blast an email to all their students, or to selected students, and this makes that relatively simple (sometimes students send the emails to their spam folders–not much to be done about that!)
- FD Footnotes–For students interested in using their eportfolios to publish research work, this makes footnotes extremely elegant and simple.
- Grader–For class sites. Enables administrators to grade posts, and for users and administrators to view their grades through a gradebook-like interface.
- Keep IFrame–stops the problem of WordPress stripping away iframe tags (for example, for google maps or dipity timelines) when they are in posts.
- More Privacy Options–Critical for us. Makes privacy options human-readable and more fine-grained. Users can choose from:
- I would like my site to be visible to everyone, including search engines (like Google, Bing, Technorati) and archivers
- I would like to block search engines, but allow normal visitors
- I would like my site to be visible only to registered users of this network
- I would like my site to be visible only to registered users of the site itself
- I would like my site to be visible only to Admins.
This plugin (along with password protecting posts and pages), is critical to our philosophy of allowing the students themselves to actively consider and determine (and change at will) what is public and what is private on their eportfolios
- NextGEN Gallery–Very heavily used (although it’s a bit of a steep learning curve) in class sites and some individual eportfolios. A great solution for displaying galleries of images (slideshows, albums, etc.)
- Page Links To–Lets you link a page to any URL–a specific post, an external site, whatever. This makes organizing menus much more effective. Along with custom menus, you can really design a site navigation with this.
- pageMash–Quickly and easily change page orders and parent/child relationships. Another good navigation organizer.
- podPress–generally we encourage the posting of video files to youtube or vimeo, to try to spare our storage space. But when that’s not possible, because of privacy concerns or other reasons, or when there’s an audio file to be posted, PodPress is an excellent solution. Upload the file to the site, enter the URL in PodPress, and there’s a nice embedded player with good options and functionality. Also can produce an iTunes-compatible feed, although that’s not something we’ve had much interest in yet.
- Private Comments–Mainly used for class sites–but could be helpful for any case when an outside evaluator is to look at a student’s eportfolio. It lets the commenter preface the comment with a (configurable) short-code, and any comment so prefaced will only be visible to the commenter and the author of the post being commented on.
- Simple:Press–I can’t say enough in praise of Simple:Press for class sites. This is a fully-featured, completely functional, discussion forum platform. It’s not just a plugin, it’s the equal (or better) of phpbb or ip.board or vbulletin. And it’s completely free. Far better than bbpress. Because it’s so feature-rich, it’s a bit complicated to setup, but so elegant and usable. There isn’t a better threaded discussion forum platform.
- Simple Import Users–for class sites–IF you don’t use Add Users Sidebar Widget (above). IF you’d rather import all the users from a list and set up their accounts for them. This plugin does it. But again, philosophically, I’m opposed to this approach for students. I think the active engagement of creating and managing their own accounts is preferable.
- Site Template–This one is CRITICAL to our model of giving students freedom to design different types of sites, but still giving them some guidance as to the fundamental outlines or beginning steps. Site Template lets a super-admin build some sites–selecting for each one a theme, a set of plugins, even default pages and text on them. Each of those sites can then (with one click) be labelled as a “template” and any new site, at the time of creation, can choose to use that template. In this way students have a starting point–any part of which can be altered as they choose. Templates can be added or subtracted at any time. We currently give students six template options:
- A Basic, Flexible, Reflective Eportfolio
- A Resume/Career Eportfolio
- A Photography/Artwork Eportfolio
- A Study Abroady/Travel Eportfolio
- A Fun, Whimsical Eportfolio
Each one has specific starting structure–but none of those structures are permanent. They’re just a kind of default scaffolding. And we might well add another template or two soon.
- Subscribe To Comments–WordPress automatically notifies an author of a comment on a post. But students who leave comments like to be notified that somebody else has commented later, and sometimes discussion gets going that way.
- TinyMCE Advanced–mainly useful for tables! Students seem to want to organize content in posts into columns and rows (for example, to have control over where pictures and text appear). They don’t have to know the code to create tables, if they just use the toolbar buttons TinyMCE Advanced can provide.
- Who We Are–For class sites, makes a nice-looking page of all the authors on the site, pulling their info and avatars from their BuddyPress Profiles
- WordPress.com Custom CSS–This plugin almost, almost, makes userthemes unnecessary. For the more advanced design-minded students, they can control almost all the styling of their site, without ever touching the original theme’s stylesheet. Safe and effective. And (especially with Firebug in Firefox, or “inspect element” in Chrome–but I prefer Firebug), it lets students begin to learn some CSS, which is sure to stand them in good stead. Even for things like removing the “posted on date” or “posted in category” lines below the titles of posts (something that many themes include, and many students don’t like), they can just learn the use of display: none; . Et voila!
- WP-reCAPTCHA–As I mentioned above, we can’t (aren’t presently willing to) use Akismet. I understand that Akismet has to pay their own bills, and I understand that they’re trying to come up with some model for educational pricing (and I hope they will soon, and I think it will be fair). But right now, for a network like ours, we would have to pay more than we can afford. And I respect what they do too much to cheat on that. So until the educational pricing model comes out in a way that will work for us, we have to have an alternative anti-spam solution. WP-reCAPTCHA stops all the spambots (except trackback spam which I kill using the nuclear option described above). It doesn’t stop human-created spam, but that’s a tiny problem. I know that CAPTCHAs are a pain. I know that they may discourage some commenters. But for now, it’s the solution we’re using. At least reCAPTCHA does some good for a larger project.
That’s about the size of it, as of the date of this writing. In the fall, with a whole new crop of freshmen, things will change again. And a new WordPress version will be along soon, too. So I probably shouldn’t wait two years again without updating this!
(And I didn’t even talk much about themes–we’ve got an awful lot of those! and with userthemes and customs css, I suppose you could say we even have infinite themes!)