It’s time to recap some of the major changes made to the Ocean Informatics Site this week. Beware, this post is hefty. Let’s get started!
New Theme
As mentioned in the previous post, the Ocean Informatics blog now employs a new theme. For those not in the know, this Ocean Informatics blog is powered by WordPress, an open-source php/mysql application. WordPress is a very popular and widely used blogging platform. Additionaly, it benefits from having excellent documentation and strong community support, resulting in a on-growing collection of plugins (functionality) and templates/themes (presentation).
The original theme we used for this blog was a modification of the default WordPress theme. It was pretty bland. This new theme comes from a 3rd-party designer, and is also found on WordPress’s page of featured themes.
This theme is entitled Connections. I changed the hues of all the images and styles from green to blue to fit better with our original Ocean Informatics header image. I also moved the search bar to the top right of the page, and changed the nav links and the sidebar blocks to better fit our needs.
Development/Modification of a WordPress theme is fairly simple yet time-consuming. Fortunately, the bulk of the layout and structure work had already been accomplished, so my main focus was in changing the colors.
Oceaninformatics.ucsd.edu and the old OI Site
Up until 2 days ago, going to oceaninformatics.ucsd.edu would redirect you to Ocean Informatics Portal. This portal site was virtually a scaffolding site, resulting from a rapid development that wasnt given much thought. To be honest, I’m not sure what its purpose ever was, and I know for sure that no one has ever been using it.
I’ve read that WordPress can be used as a simple CMS tool in addition to a blog. Afterall, WordPress allows for the creation of static pages in addition to blog posts. Also, with the armada of external plugins available, it should be no problem to find (or develop) WordPress plugins to bolster our specific needs. Thus, I decided that the dormant OI Portal site can be integrated with WordPress. Given the power and simplicity of WordPress, we can update extra pages/data in addition to blog posts, creating a multi-functional Ocean Informatics web space.
Our WordPress installation resided in oceaninformatics.ucsd.edu/wordpress. I moved the installation source up one level to oceaninformatics.ucsd.edu. Now, instead of redirecting to the OI Portal Site, the domain points to this blog’s home page (which has the same content as the portal’s home page). The link to the OI blog remains the same.
Technical Notes on the Installation Migration
- Before the move: The original WordPress location resided in a directory called “wordpress”. A symbolic link named “blog” pointed to the wordpress directory. This is how the oceaninformatics.ucsd.edu/blog link worked. The oceaninformatics.ucsd.edu/wordpress link also worked, though we always used “blog” instead. (Both links are still active at the time of this writing… try them out).
- The move: I didn’t actually “move” the source code. Instead, I copied it up on level. Thus, the source code is duplicated at 2 places: The oceaninformatics.ucsd.edu root, and the oceaninfomatics.ucsd.edu/wordpress directory. Since changes (hacks, plugins, themes) are only being made to the source code at the root level, the oceaninformatics.ucsd.edu/wordpress is now obsolete.
- After the move: Originally, oceaninformatics.ucsd.edu pointed not to a home page, but to the blog page. I installed a plugin that enables a WordPress site to have a static front page. To maintain the blog url, I added apache mod_rewrite rules to the .htaccess file so that oceaninformatics.ucsd.edu/blog really points to oceaninformatics.ucsd.edu/category/blog. (This is how the blog url stays the same). More on categories in the next section….
Categories
Our list of blogging categories continues to evolve. WordPress supports hierarchal categories, and thus, our categories have become hierarchal. You’ll notice this next time you write a new post. The current state of categories looks like:
- Blog
– Announcements
– Community
– Data/Metadata
– Environment
– Hints
– Questions
– Tools
– Visualization
- Page
- Private
– … (not typed here to protect cat. name)
– … (not typed here to protect cat. name)
- Public
– Reading Group
The only categories this blog is concerned with are those that fall within the parent Blog category. Hence, the blog category page becomes our blog. You do not need to explicity categorize a blog post with “Blog”. As long as any one of the child categories are used, the Blog category is inferred. By default, all new posts are categorized under Blog.
The Page category used to be called “Uncategorized”. By default, WordPress categorized all pages under Uncategorized. I simply changed its name to Page. There is no interface in the admin panel to change a Page’s category.
The Private category (and its children) may be used to store information that only registered users should access. Likewise, the Public categories may contain information that anyone can access. This information can be stored in posts and also the custom meta fields. At this time, I am not sure if or how I would implement this functionality. My reasoning for private vs. public stems from the fact the the OI Portal site contained extra “private” information that was only accessible once you were logged in. The addition of these categories is currently serving as an experiment, and they may not ever be used.
Plugins
Plugins are a way to add extra functionality to WordPress. We’ve had some plugins installed since day one. Here’s a run-down of plugins we are currently using.
Active Plugins
- Extended Live Archive - This recently installed plugin provides an AJAX-based interface for browsing through our entry archives. It rocks.
- Email Notify Comment Authors - This plugin emails all authors in a thread anytime a new comment appears in that thread.
- Search Everything - This plugin extends the WordPress search capabilites to look in comments and pages in addition to just posts.
- Static Front Page - This plugin allows the front page of your WordPress site to be a static page instead of the blog. (To display the blog page, we point to the Blog Category Page).
- Subscribe2 - This plugin sends email notifications to users anything there is a new post in the blog.
- Time Zone - This must-have plugin tells WordPress to justify time changes related to Daylight Savings Time
Additionally, I am also considering a plugin entitled Private Categories 2 which allows you to mark a category as “private” so to hide any posts under that category from unregistered users. As of now, I am not impressed with the robustness of the plugin, and may search for alternative solutions. (Hence, I may not use those Private/Public categories at all).
Hacks
Jerry discovered that WordPress lacks the ability for registered users to edit their own comments. What a surprise… honestly! I figured that implementing this functionality would be somewhat trivial, and that surely someone had already developed a plugin to add this feature. Apparently, it’s a tough plugin to write.
Fortunately, for me it was an easy hack. As an aid to group blogging, users can now edit any of their own comments. (See the previous thread for the back-and-forth conversation between Jerry and myself regarding this issue).
Pages
I am in the process of porting over some of the “static” pages from the portal site to WordPress. The Pages links can be seen on the home page in the Pages block in the sidebar. One example of a ported page is Reading Groups.
» New Reading Groups page
» Old Reading Groups page
Concluding Notes and Thoughts
- I’m partially convinced that the old OI portal site never got use because it wasn’t well supported, especially as a CMS tool (for common users to edit content). I’m not sure if migrating it to WordPress will resurrect any usage, but I feel that providing some simple means for collaboration may help.
- I turned on the permalinks function for WordPress, which uses mod_rewrite. Basically, what this means is we now have “pretty” urls. So we see http://oceaninformatics.ucsd.edu/2005/11/15/testing-new-theme/ instead of http://oceaninformatics.ucsd.edu/blog/?p=76, even though they both point to the exact same place.
- Regarding email notifications: No offense, but email notifications are sooooooo 1997. The real method now is RSS. We have 2 plugins used for email notifications, but WordPress offers 2 RSS feeds as part of its core functionality: One for new posts, the other for new comments. For those who like to evolve with technology, consider using these instead.
- Regarding editing comments and posts: I mentioned this in the previous thread, but any edits to comments and posts should be done with care. It’s one thing to fix a small typo, or to rephrase a sentence. However, it’s bad practice to edit a bulk of content, or remove it completely. If you need to update any information mentioned in a previous comment or post, the best way to do it is to append the new information at the top (or bottom) of the post, headlined with “UPDATE”. This gives the users a clear visual clue that something has changed.