This page explains how is this site built and how does it work.
The whole site is installed and runs on a hired hosting service. The main pieces of the installation are three different free software applications — WordPress, MediaWiki and BibCiter — that share a unique header and footer, including styles.
Thus, there is a folder called “common” that contains these common files retrieved by the other applications. The three of them have been (easily) purged so that only the “bodies” and “sidebars” remain in their respective places, then calling the rest of the pieces from the
common folder, at the same time passing some parameters so that these common parts adapt some things (e.g. to highlight the section you’re visiting at the menu bar).
The static pages — except for a reduced number of them — are part of the blog installation, which acts as the main framework for the site.
The blog runs with a WordPress installation. The main plugins installed are Exec-PHP — which allows including PHP code in your posts, used here to be able to “share” the posts with the Review section — and MediaWiki Markup for WordPress — which lets you easily include links to (in this case) the Wiki section of the site.
As said, most of the static pages are made with this installation, that works perfect as a Content Management System. As per static pages, they usually have their own templates, which means, among other things, different sidebars (e.g. the Bio section).
No big news here either. The Wiki section runs with MediaWiki and has also been adapted to call the common files. That certainly required more time and attention, but once it’s done, you find it easier to do than it appeared at first sight.
Hint: with MediaWiki, do not try to adapt an existing template. Begin from scratch: take (for instance) your WordPress template, clear out all of the blog functions, and then add, one by one, the MediaWiki functions.
The MediaWiki installation has an added plugin: the SlideShare Widget Extension, its purpose evident enough.
First things first: the Review is almost the same this as the blog. Better said: the Review is exactly the blog’s articles but the least relevant ones (e.g. announcements, posts about the setup of the blog, etc.) and in the formal shape of a review.
The question here is how to avoid copying the articles from one place to the other, or how to switch the template to make the Blog and the Review look different. The solution is as follows.
There are two different WordPress installations (three, now, if we count Events too): one for the Blog, another one for the Review, each one with its own templates (though sharing the common files, blah, blah, blah). But they work with the same database. Yes, they do. As WordPress keeps information about URLs and templates in the database (not in a config file, which would make things pretty easier to solve), some hacking is needed.
So, I coded DB Redirect, a plugin for WordPress which enables having two installations of WordPress using the same data. What the plugin does is to intercept the second installation of WordPress and force it to look at the options we want and not the ones that it would normally be reading. Then, you can forget about the Review installation. Each month, I just create a new page in the Blog installation with the table of contents of that month’s issue and update the sidebar of the Review. No need to copy the articles. No need to do anything more at all.
Hint: to avoid trouble, it’s good that you keep your alternate installation with exactly the same setup (version, plugins) than your primary one.
Hint: even if you’re not actually using your alternate installation’s database, it’s good to keep it as a backup of your primary one, so export/import exercises between both are a good practice.
As we have described before, most of the About Me section is made with the main WordPress installation by creating
pages in it. A different template with a different sidebar is being used for this static pages.
The contact section — with its own template — is but a couple of pages (contact form and return from the contact form) with a little bit of code to draw the form and send its data by e-mail. There’s plenty of info out there. I don’t even remember where I got it, but I could code it now by myself. Honestly: no difficult at all.
The highlights section is yet another page with a different template. It does, nevertheless, get most of its information from an independent file that actually holds the highlighted items. This is done because this information is also called from the 404 error page (different template, same sidebar).
The Works section is an alternate installation of BibCiter that retrieves data from the same database than the one used for the Bibliography while keeping different look and feel. Unlike WordPress, this is done very easily with BibCiter, by just changing in the
config.php file the parameters that you need. In my case, besides the evident (different URLs), I had to add the following line:
$oneauthor_id = 1;
so that BibCiter shows only the works of the author whose ID = 1 (me). Doing so, I can use BibCiter as a bibliographic manager, repository and publisher only for my own works.