“Design is the choices we make about the world we want to live in.”
“Design is the choices we make about the world we want to live in.”
These are my notes from the 4:15 session I did at WordCamp Portland. It’s a quick introduction WordPress multisite, and why you might want to consider using it.
WordPress Multisite is a way for using one instance of WordPress to host as many sites as you’d like. Originally known as WordPress MU, the multisite functionality was merged into WordPress in WordPress 3.0.
Danger, danger, danger! You’re entering the realm of advanced WordPress user and, by editing files, the database, etc. you can potentially break your site so it will cry. Make sure to back everything up before you get started. And know that you’ve been warned.
WordPress Multisite is especially useful for those who have to administer multiples sites. If you meet all of the prereqs, it can make keeping WordPress up to date, installing new functionality, backing your data up, etc. a breeze. Instead of having to manually update each website you’re responsible for managing, you simply update one.
There is documentation you can follow in the WordPress.org Codex. Basically, what you need to do is configure DNS if you plan to use subdomains, make a change to your wp-config.php file, change .htaccess values if you’re using Apache, and then run through the guide in the admin. Boom, you’re done.
Converting a single instance of WordPress to WordPress Multisite creates and alters database tables, and isn’t recoverable.
Hosting a lot of websites with WordPress Multisite means you should scale the resources available to WordPress accordingly. Otherwise, all of your sites will be slow.
Plugins and themes are installed once, so any changes you make are incurred for all of the users across your site. For this reason, if you’re using any WordPress.org or premium themes, you should make all modifications to the theme as a child theme (or, better yet, just CSS changes).
You can make some themes available to all sites, and other themes available to just specific sites.
If you plan to install a lot of themes, it would benefit you in advance to establish a scheme for storing them (e.g. setting up /wp-content/themes/woothemes/ and /wp-content/themes/wporg/)
Usernames are unique across the network. If you’ve set up a multisite instance for all of your clients, create usernames as firstnamelastname or similar.
Network activating plugins means they’re activated across all the sites in your network, functionality is available by default, and it’s not possible for the site admin to deactivate it.
WordPress Multisite isn’t magic, it’s technology that makes your life awesome.
Use a plugin like Restrict Multisite Plugins to make certain plugins conditionally available to sites.
Map custom domains to sites on your network with the domain mapping plugin.
When importing content with embed codes into a site on your WordPress Multisite network, make sure to disable the KSEs filter. As of WordPress 3.2.1, you need to do so with a special filter (which didn’t exist before 3.2).
You may want to disable some of the email notifications that go out.
Keep your users from needing to modify theme template files with the WordPress.com Custom CSS plugin. This is the same code that formerly ran on WordPress.com, is super awesome, and keeps a revision history of all your changes.
Configure your admin bar to include network admin links for super admins so you can easily access management functionality. You can also expose additional functionality for your users (e.g. custom CSS) where it makes sense.
Write your short plugins to customize the admin interface, and put them in /wp-content/mu-plugins/ to have them automatically loaded.
Other useful management plugins:
What doesn’t make sense about the network admin UI?
What features or functionality would you like developed as plugins?
What features or functionality would you like included in core?
Marc Lavallee (@lavallee) and Wes Lindamood (@lindamood) are half of the NPR Project Argo team. Both were relatively new to WordPress when they started; today they’ll be talking about the zen of using plugins.
“Each plugin speaks with it’s own voice,” says Wes. Sometimes they can produced cluttered and confused experiences for your users. The framework they’ve chosen as it relates to plugins is use, patch or build.
The Argo team decided to build a photo slideshow plugin that leveraged WordPress’ built in gallery functionality, and looked and worked as a standard slideshow.
Their functional starting point was the Slides for WordPress plugin. Wes downloaded and activated the plugin, and made basic presentation tweaks with CSS and Javascript. Unfortunately, there were other behavioral changes they wanted too. They thought about patching but then realized it would too much work. So they went around to rolling their own plugin.
Two improvements worth mentioning are conditionally loading images and Javascript. For the first, the problem to solve is reporters that like 60+ image photo galleries. If you load all of these images on page load, it increases your bandwidth costs and load time for end users. The solution is to reference the image URLs in a storage div, and then only load them when the user is getting close to viewing them. For the second, there’s a global variable on every page load for marking whether a WordPress gallery was included in the post. If so, the Javascript gets added to the footer.
Improvements included reducing the footprint of the plugin from 39k/895 lines to 8k/244 lines.
To make their content more engaging, Argo wanted it to make it easy for their reporters to embed rich media. Initially, this looked like Embedly or oEmbed but they didn’t want to cede control of what was embedded to the content provider.
Solution: A custom post type called Jiffy Posts. Reporters could create a new post with a title, short comment, link to the referenced media, and can include source attribution. Doing it this way, instead of having reporters embed rich media in the post, ensures there’s presentation consistency from post to post and content type to content type.
Ultimate takeaway: The decisions and opinions of plugin authors can directly impact the user experience of your website. Think about this more holistically, beyond just reviewing whether the code is clean.
The slides from the presentation are available on Slideshare and download as a PDF.
WordPress.com is an “awesome blogging platform,” according to Chris Murray of Oomph. WordPress.com is “get started writing or blogging”, not “get started worrying about technology.” WordPress.org requires downloading the software, installing, and configuring. This gives you more flexibility, but it also means it’s more complex. Entreprise customers are somewhat in a lurch choosing between standard WordPress.com and WordPress.org because the former isn’t flexible enough and the latter has the potential of too many headaches.
WordPress.com VIP is the “best of both worlds.” Customers don’t have to worry about keeping servers up, but they have more of the flexibility that comes with installing new plugins, etc.
WordPress.com VIP clients include:
To think about the different types of hosting offerings, a typical basic dedicated server includes hardware, network connectivity, and electricity. Managed services include all of that, plus take care of your basic LAMP stack. WordPress.com VIP cares about everything plus WordPress, including caching, load balancing, upgrades and functionality.
When working with WordPress.com VIP, the process is probably a little different:
Code is a little different too:
When it comes down to it, the biggest different between WordPress.com VIP and self-hosted: you (have to|get to|learn how to) do it right.
Q: How do you do staging?
Chris: Often we’ll have a staging server in-house that’s client facing and/or use one of our five sites with the standard package as the pre-production site.
Q: Could you explain more about the lack of network admin?
Chris: WordPress.com is a multisite network in itself, so they don’t give you super admin access. If you want to set up a new blog, it’s a more involved process including requesting the site, configuring everything, submitting a theme for review, etc.
Q: Is customer code required to be licensed under the GPL?
Chris: I’m not sure. Licensing is definitely something to be discussed.
Q: What types of things does VIP support?
Chris: VIP support offers lots of support including theme reviews, plugin reviews, data migration. They don’t write code for you however. Any custom development should be done in-house or with a contracter.
Chris: “Working with the VIP team has added tons and tons of knowledge to my team.”
Other questions:
This gallery contains 12 photos.
In an hour, I’ll be presenting Edit Flow for tonight’s Hacks/Hackers Demo Night at New Work City. Edit Flow is a WordPress plugin to supercharge your editorial workflow within WordPress. All too often a news organization uses a combination of … Continue reading
I’m giving this presentation today as a part of a panel at a global health weekend my friend Alex Goodell spent a significant amount of time putting together. The conference is “You Can’t Crush a Louse with Only One Thumb: Integrating Biomedical & Sociocultural Approaches to HIV/AIDS in Africa” and my panel focuses on student experiences in these issues.
To make this interesting, I’ll be arguing that both the university system and standard practices in international development are broken, and that, more importantly, there are ways to fix each which will create more desirable future. It’s not about who should be to blame, but rather how the methods for each can be improved. One of these days, I’ll start producing second version of my presentations that include more narrative text too (I’m too much of a minimalist to include extensive text on my slides). Because the Oregon Direct Action project ended before implementation, I also hope to do a retrospect post on what worked and what didn’t work in the effort.
Whitman Direct Action has been active recently, first posting an update about their most recent project, The Transnational Community Development, and then reporting on meetings with a couple of the NGOs they’re supporting.
I’ve also uploaded a PDF of the report we produced last spring, titled “Developing Water.” Through a series of surveys, focus groups, and interviews, we took a look at the socio-cultural constraints to clean water access in the Kolwan Valley. It isn’t necessarily anything groundbreaking if you’ve been working in the sector, but it does serve as a pretty legit primer to water access issues in India.
At about 0800 hours tomorrow morning, or today based on your timezone, I’ll be giving a presentation to the Asian Studies Program at Portland Community College, Rock Creek Campus.
It’s a longer, more in-depth version of the one I gave in November, which means I get to expand a bit on the times I slept on train station platforms and when I got ringworm. We’ve finally finished the report associated with the Appropriate Technology Study Group, too, and I’m excited to go over some of the findings.
Sidenote: SlideShare doesn’t seem to think Helvetica Neue Light is a legitimate font and instead replaces it with some medieval looking thing. This is especially fun to discover by trial and error at midnight when you have to wake up early the next morning. Yes, I know that the lettering is too big on the first slide.
This afternoon, after about 4 months of postponing, I finally gave a promised presentation on the Sadhana Clean Water Project and my journey through India this spring. The lucky audience was Portland-area IIT alumni; it was my return favor for the wonderful advice I received before the trip from a Mr. Harbans Lal, an environmental engineer, neighbor, and now close friend.
Slides, as always, are far more rich with the stories and explanation. In any regard, it’s been fun to flip back through the memories. On top of that, I figured out this morning how to go through my tweets from the trip and find my favorite.