New Installation of The Commons including Buddy Press Part 3

Caching, Buddy Press and Joss’s bits’n’peices

Caching and Speed-ups

I’m using some of the things Joss and I talked about but, also, this page on optimising WordPress.

This is the second time I’ve looked at caching in WordPress.  Our WordPress is implemented as multi-site (WPMU).  We have a hand full of plugins which combined with WPMU  and, say, the version of PHP we have on CentOS didn’t work with the caching solutions I tried then.  I didn’t have the time, and again I don’t now, to spend too much time trying to get caching working.  I’m going to roll the dice a few times and check against our most complicated blog created by Rob Watson.  Here goes:

  • APC and APC Object Cache Backend didn’t work with the Twitter widgets in the test blog. Not sure of that now because the radio blog is using HTTPS plugin which can confuse web browser with mixed http/https.
  • Expires Headers in .htaccess
    <FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
    ExpiresActive on
    ExpiresDefault "access plus 30 days"
    Header unset ETag
    FileETag None

didn’t break anything

  • Installed WP_DBManager and switched on the optimise and repair database functions.  There is potential for damage here (I’m not a fan of MySQL)
  • eAccelerator switched on.  88.99 MB/sec for the iSCSI, 170.54 MB/sec for ‘local’ (VM) disk. 254.87 MB/sec for a RAM disk!!!! If the VM had enough memory I could create the eAccelerator cache in RAM.  Need to measure the size of the cache over time.
  • WP Super Cache turned on, claimed web pages served from 2 to 250, but may be a little too hairy for users as the settings are per blog.  <—
  • Even though the servers side of things may be very quick now the radio blog still takes about 5 seconds to render.  This is likely to do with the amount of client side rendering to be done by JavaScript by plugins like Twitter.  Using Chrome (don’t do this at home, folks) can help in this respect.

Now for the reason we’re here today: Buddy Press

Nicky Rowe had a quick look at Buddypress BP on our install.

Here are the issues so far encountered:

  • When https is in the address bar, clicking on users’ names sends you to their network-wide Buddypress profile (like it should), but when the link is just http, it tries to send you to a non-existent profile on the individual blog. This happens on both Buddypress and non-Buddypress themes. From what little I’ve read it seems to be a problem with permalinks or http headers or something.
  • Not all members are showing up on the Members list – apparently this is because it will only show members who have logged in after BP was installed. The way this laptop is set up it might not be possible to test non-admin users.
  • You can only invite people to join a group if you are already ‘friends’ with them – probably a bit of a hassle for staff who might want to use BP like Blackboard, but there is a plugin called Invite Anyone that will let invites go to anyone.
  • Sometimes blogs don’t show up on the list of blogs – sometimes I click on Blogs and it shows 30 blogs, other times it shows 350. Will keep an eye on this.
  • If a user makes a post on a blog, but that blog has been set to block search engines, then it won’t show up on the Buddypress activity stream, and therefore the Commons portal when it’s built. Users will need to be notified to enable it if they want to appear on the portal.

So, here goes.  I’m going to install the plugin via the Install Plugins page…boom!  I’ve accepted, via the wizard, all of the defaults and installed the BuddyPress Template Pack.

Soon, I’m asked to ‘Repair’ BP by creating new pages and associating them with features of BP:

I’ve named them like this to make them stand out against previously authored pages but also pages named similarly will help build a language around The Commons that will be distinct and, possibly, less confusing to users e.g. “Would you like a Spot on The Commons?”

I’m changing the page name to the implicit titles because the BP tools bar uses the implicit titles.  Anything else would be confusing.

I’m pleased to find that user’s blogs aren’t touched by the change but I want to convert my blog to be compatible with BP.  Initially, I tried to use the theme Custom Community which is BP compatible but all I got after Network Activating and using it was a 500 message with out any more detail. Then I discovered that the BuddyPress Default needs to be Network Activated.

Added plugins:

  •  Subscribe to Comments
  • New Blog Defaults
  • Suffusion BuddyPress Pack
  • BuddyPress Template Pack
  • Buddypress Toolbar
  • BP MPO (More Privacy Options)
  • BuddyPress Group Email (is a pay for plugin)
  • BuddyPress Group Email Subscription
  • BP Mobile
  • BP External Group Blogs
  • Custom headers and footers
  • Buddypress Ajax Chat
  • Buddypress Twitter
  • Google Plus and Facebook buttons ???
  • Klout???
  • BuddyPress Registration Groups
  • BuddyPress Album
  • Achievements for BuddyPress ???
  • Buddypress Topic Mover
  • Can’t connect to Jetpack because I’m on the dev machine which can’t be seen from the web.
  • Looking at Status as a responsive front page.  Looks useful but not there (for the effort I’ve put in.)
  • Bebop by JISC
  • Twitter Cards Participate
  • Enable BuddyPress themes for the main blog only
  • Piwik ??? If we configure it, how does it relate to WPMU? How do users check the stats for their blogs?
  • CollabPress Project Management
  • wp-content/plugins/buddypress/bp-themes/bp-default/_inc/css/default.css:
#header h1 a {
 color: #fff;
 font-size: 56px;  <----
 text-decoration: none;
 margin-left: 250px;  <----
  • Update avatar for OurAdmin

Images, Video and Audio with HTML5 and Flash support

oEmbed is a technique that can be support by a website supplying content, for example, YouTube and Twitter:

For an example of embedding YouTube:

Click on the Share button to discover the link and then, just, paste it in to the blog:

The problem with oEmbed, of course, is that the original source may get deleted.  Taking a copy has licensing issues as, might, embedding the object.

Better control of your media library:

Video.  Display of video is tricky.  For compatibility across browsers video needs to be stored in MP4 (including h.264), WebM and Ogg Vorbis Theora.  Miro Video Converter will do the hard work.

  • Disabled WP YouTube Player and Youtuber which will affect blog entries that have already used them.
  • MoviesHTML5 Video (on supported browsers), Flash fallback, CSS-skin’d player, hMedia Micro-formats, attach images to videos (when used with Shuffle). Uses [movie] tag.
  • Degradable HTML5 audio and video which we’ve had for a while.  Uses [ video ] and [ audio ] tags.
  • BuddyPress Media Component

Well, it’s nearly that time.  Tomorrow I’ll be launching this and heading for the hills.  Plugins target, this attachment shows the plugins I’ve settled on.  These will no doubt change over time.  It should be possible to see the difference between The Commons I and The Commons II by comparing this blog entry with the list in the PDF.

One thing to note is that the more plugins you have the more updates the WordPress install needs.  We have to go through Change Management.  I’ll put that differently, we use Change Management to track changes to our services, this is a good thing.  The board meet once a week.  I may need a permanent seat at the table.

About c3iq

Free(dom) software, GNU/Linux, Fish, Family
This entry was posted in CELT, Library, The Commons. Bookmark the permalink.