Grant McWilliams

Site

Back-end cleanup creating broken image links

The Man, The Myth, The Legend has been online for more than 12 years now. In that time we've updated our content management system 132 times! We've migrated databases 4 times, moved to blogging systems that I eventually jettisoned and had an embedded external Photo Gallery website which eventually got replaced as well. We had content construction kits, content organizers, plugins, modules and components that got replaced.

During those 12 years we've written 562 articles, uploaded 10,000 photos (gave or take a few) and had over 7 million visitors. In that time we've also spun off some of the content into other complete websites as needs dictated.

You don't start a site like this with the complete design in your mind. You also might not be as disciplined in the beginning in how you organize content and manage naming conventions. With this in mind I'm trying to do more cleanup as the old cruft is no longer manageable.

What this means to you is that there will be broken images in articles. Most of these should be in old blog posts. I'll try to find them but due to my performance enhancing cache and content delivery network they may be hidden from me. If you see a broken link please let me know.

Thanks in advance. 

 

Site maintenance is done

It's been a long month or so.  The Man, the Myth, the Legend has been on the Internet for about 10 years now with 6 million page views (counter says 5 million as I restored from a backup). The current rendition of the site started with Joomla 1.1 in 2005. We then migrated to 1.5 which broke a bunch of things (Gallery2 being the big one). Then we upgraded to 1.6 and 1.7. Another migration took us to Joomla! 2.5 which is where we stayed for years. Joomla 2.5 was end-of-lifed on January 1st so there would be no more security updates forcing us to do the big move to Joomla! 3.4.

Recently we were using various pieces of software that had to be updated:

  • Joomla 2.5
  • Sobi
  • Gallery2/Gallery2 bridge
  • K2 with Disqus comments
  • Docman

The first component I wanted to get rid of was Gallery2 as I was embedding it into Joomla with a bridge. It had a weird single sign-on that sort of worked and felt old and slow. My Gallery2 installation actually pre-dates my Joomla! installation although I don't remember how many years earlier.  During one of the upgrades the bridge stopped working so I had to move to JFusion as my bridge. Then Gallery2 stopped being developed which left me dead in the water for updates. About a year ago Ignite Gallery became good enough to migrate to - all 10,000 photos! That process took about a month. 

The next component I wanted to get rid of was K2. K2 handled my blogging features, custom fields (which I wasn't using), Disqus comments, tags and more.  Originally Joomla! didn't have a lot of blogging features so I tried out a bunch of the commercial offerings such as MyBlog and EasyBlog. One or the other refused to update his component because he didn't like the license change with Joomla! 1.6 so I moved to the other. I eventually moved to K2 as it had real ACLs, tags and hierarchical categories which were missing in early Joomla versions. Joomla 2.5 got us the all of those things so I stopped needing K2 but since I had over 500 articles written in it  I was stuck. I recently found a migration plugin that would copy all of my K2 articles to Joomla Articles. It mostly worked.

Docman got replaced with PhocaDownloads which I'm reasonably happy with.

Sobi which I liked got replaced with Sobi2 because they stopped developing the original. Sobi2 has issues from what I can see.

 

I'm now running on:

  • Joomla! 3.4.x
  • Native Joomla Articles
  • PhocaDownloads
  • Sobi2 (for reviews/recipes)
  • Disqus plugin

 

While I was cleaning things up I went through the database and got rid of any tables no longer needed. My database went from 252 tables to 125! Even more amazing the database size went from 160 MB to 20 MB. I've also cleaned up templates, graphics, CSS files, and found replacements for modules and plugins associated with the software above. K2 had it's fingers in everything so it took a while to get rid of it. 

I have not spent this amount of time in one spot on this website in 10 years! So far I'm happy with it and you can expect more articles in short succession as I feel OK contributing again. I've just spent the last week optimizing and I'll write another article about that in the future.

Site maintenance causing intermittent availability

We've been doing massive restructuring of the hardware that underlies The Man, The Myth, The Legend.  I'll outline the changes in a later post when I'm done but you'll probably notice that the site has been down multiple times and there's probably a few more reboots to go before I'm done. I have several articles waiting to go up but have been holding off until the move was finished. Later in the month I'm moving more hardware out from under the site but due to the changes I've made this week that will entail one outage and no more (in theory). 

Oh, and there's a lot of stuff that just isn't working right. Feeds are messed up, the "Green Guy" logo is missing, blocks not configured right etc.. I'm putting it all back together as I get time.

Stay tuned!

Goodbye Gallery2, hello Ignite - it was a nice 10 years.

Before I started using Joomla! I had a website with a photo gallery for my travel/food/other photos. Due to not wanting to create a PHP photo gallery from scratch I used Gallery1 which did a fine job. Later when Gallery2 became available I migrated to that. At some point I realized that creating my own HTML website was a lot harder than just using a Content Management System so I rolled out Xoops and a couple of other CMSes and each time I realized they were buggy and/or limited. When the Mambo development team forked Joomla! I installed it and thought that it had enough promise to stick around for a while. I went from Joomla! 1.0 to 2.5 over the years (and my other sites - Recessionchef.com, xenapiadmin.com and xenmagic.com are running newer versions still).

It's been a struggle to keep Gallery2 embedded inside of Joomla!. During the Joomla 1.x series I had a connector made specially for Gallery2 but the developer decided not to update the component when Joomla broke the old code with 1.5/1.6 so I had to find a new connector which I did in JFusion. JFusion connects a lot of outside software to Joomla and it was successful in embedding Gallery2 in Joomla!. It wasn't perfect though and Gallery2 was starting to look very old and slow. Web2.0 happened and Gallery2 didn't notice so I started looking for replacements knowing that moving 10,000 photos wasn't going to be easy so I took the job very serious. Each year I'd look for a native Joomla Photo gallery that supported hierarchies and every year I patched Gallery2 up a bit more to keep it running. This year things became critical because the developers of Gallery2 abandoned it. They realized that a complete rewrite would have to happen and there was no reason to do it. This also meant that vulnerabilities wouldn't be fixed. The search intensified. 

This year I ran into Ignite Gallery which is native to Joomla, supports galleries in galleries and looked fairly nice. The download cost was $40 for one year of support and the code is GPL which I'm willing to pay for. After installing it and testing a few galleries I decided to go all the way and migrate Gallery2 to Ignite. In hindsight I should have written migration software to do it for me but it seemed so easy - create galleries, select my gallery2 photos in the Ignite file selector and upload - voila!  Come to find out I had 550 galleries and 11,000 photos. About halfway though I'd invested too much time to quit and I pushed through. Two months later I'm done with the migration. 

As of now all photos have been uploaded into Ignite. There are some issues with the software that I have to work through as well as theming but for the most part I'm happy. The gallery runs fast on the front-end (slow as heck on the backend though) and it's easy to browse. 

So without further ado may I present my photo galleries. 

Travel Gallery

Photography Portfolio

 

Media Validator

Media Validator - $1000.

the Man, the Myth, the Legend asleep?

There's been a long drought of articles here at The Man, The Myth, The Legend and for that I apologize. The only thing I can say is life has gotten more complex and very busy. I started a new relationship and the school quarter is ending thus most of my time/energy/motivation has gone into those things. As I find balance I should be able to get back to posting more often.

A note to my readers though, looks like we'll push past 2 MILLION unique visitors this month. It took 4 years to get the first million and only since September to get the second. This is a huge milestone and I hope the increased traffic continues. I'd like to see more commenting of course though.

Another announcement is that I'll be pushing the Recession Chef articles out to a new website - recessionchef.com. Don't get too excited yet as I'm still working on it but you can wander over there and tell me what you think if you'd like. I'll still post general food blog posts here and I'll repost Recession Chef articles here (or at least promote them) but all articles having to do with "Eating well on a recession budget" will be posted there. That content will go toward the book. If you'd like to follow the Recession Chef on Google+ (where all the cool kids hang out -  Oh my gosh, Facebook is sooo MySpace!) you can circle the Recession Chef Google+ page.

the Man, the Myth, the Legend traffic progress

Last August I decided to get serious about SEO/SEF and getting rid of bottlenecks in my site. A fast site gets indexed and just now in January am I getting the site close to what I want it to do. The gallery's are still a mess and I have some other issues I need to deal with (disqus comments still don't attach to the old articles) but I'm working on them. The Disqus problem will get taken care of in the coming weeks. The Galleries I'm not sure what I'll do about. I'd really like to move away from embedded Gallery2 but haven't found a Joomla gallery that was anything more than a lightbox showing photos in a folder. I really don't think that will work for 6000 photos. 

Anyway here's the results of the work I've been putting into this. Let it be known that it took four years to get to my first million hits. Now I'm doing 200k - 250k per month. 

 

New site status update (updated)

As I work through functional bugs I'm able to file them away on the site migration. Up until yesterday RSS feeds had stopped working. This had to do with some very aggressive caching I was doing. This has been fixed by turning the caching off.

 

What's still broken/sucks.

  1. Photo gallery theme still so ugly it's mother doesn't even appreciate it
  2. Disqus comments broken. Not sure if it's a bug in SP comments (it's sending a relative URL to Disqus) or a site misconfiguration
  3. Old Disqus comments are not mapped to the new URLs. I have the URL map in csv and now just need to write a script that dumps the new URLs from mysql, greps for the article name and rewrites the URL. This will then be uploaded to Disqus. Sort of moot since they don't work anyway.
  4. I need an old URL to new URL map for mod_rewrite so all links out there pointing to the old URLs still work
  5. My visitor counter either doesn't seem to be reporting the same statistics as the old one or Google is severely punishing me (perhaps the latter) for changing all the URLs it had cached. If it's the latter it will go away at some point.
  6. My visitor counter and who's online module don't agree. There will be 50 people online but the visitor counter says there's only been 8 people all day. How is that possible?
  7. Lots of CSS work still to be done. I'd like to have an automatic white space border around photos plus a nice charcoal gray line. Also the right hand column of links will probably be moved back to the left but I need to write the CSS for that. I'd also like to move the search bar down to the menu bar, re-enable breadcrumbs and work on the surrounding whitespace which I don't like. I'm also going to change the main body text from 12 points to 13 as soon as I figure out who's overriding whom in the CSS.
  8. Recipebook is completely offline. I'm building a new one with SobiPro. This also means I'll need to purchase some modules to get the same functionality that I had before. 
  9. Restaurant Reviews are also offline for the reason stated in number 7.
  10. No file download manager to manage all downloadable scripts, templates etc..
We'll get there. Once all functionality has been restored I'll be working on performance. I'd really like to get all my caching back on. I'm also thinking of running a Varnish server in front of the website.

New site rollout!

 After a month (count them, 30 days!) of working on the new site I've rolled it out. The amount of work involved in completely recreating a working production website that's been online for years is quite a lot. Below I've created a table to give you an idea of what was done. 

 

  Old Site  New Site 
Host Operating System     CentOS 5.3      Xen Cloud Platform 1.1    
Hypervisor  Xen 3.4.0  Xen 3.4.2
Virtualization Stack  OSS Xen  XAPI  
Guest Operating System  CentOS 5.6  CentOS 6.1
Memory   2 GB  7 GB
Guest Operating System        CentOS 5.6  CentOS 6.1
Storage Subsystem   File based local disk       iSCSI SAN
Content Management System    Joomla! 1.5 Legacy mode   Joomla! 1.7 Native mode
Blogging component  Superblogger  K2
Directory component  Sobi2  Sobi Pro
Photo Gallery  Gallery 2.1  Gallery 2.3
Gallery Bridge  g2bridge  Jfusion
Gallery Theme  PGtheme  ?
Joomla Theme  Modified JA-Purity  Modified JA-Purity ii

 

If you look at this chart it may not seem like it was that big of a deal however, it was.

Hardware:

I built new hardware based around AMD's Phenom II hexacore CPU. The old server has been awesome but just buying ram to upgrade it was getting difficult and expensive. Also since that server is a real server with real jet airplane speed fans it has to be in remote parts of the building otherwise you'd need new eardrums. Because of this the network connection was tunneled across a wifi link. Not ideal but it's always worked. In order to gain reliability the new server is wired directly into the ISPs connection. I'm looking into a dedicated connection and another speed increase.

Virtualization Stack:

Open source Xen has served me well for many years but as I move everything over to clouds I've been rolling out more Xen Cloud Platform installations. I could have cheated and just migrated the old disk image but I really wanted to take the time to create a new fresh disk image and also roll out CentOS 6.x. .While going through this process I created new XCP howtos on how to install CentOS 6.x on Xen Cloud Platform.

Content Management System:

Once I had that done and the bugs worked out I created I migrated Joomla! 1.5 to Joomla 1.7. This is NOT an upgrade, it's an entire migration. There are some scripts that help you bit in reality what they do is move your articles over and not much more. Because ALL of my components, modules and plugins stopped working on Joomla 1.7 I had to find replacements. The big one was Superblogger which doesn't have a Joomla 1.7 version.

After a great deal of research I went with K2 made by the same folks as Superblogger. K2 isn't an exact replacement since Superblogger is made for blogging and includes trackbacks, Disqus comments and some theming. K2 is really a component that replaces a lot of Joomla! Ironically a lot of it doesn't need to be replaced and I hope in the future we'll see a newer leaner K2. For instance K2 provides nested categories and access control lists, two features not included in Joomla 1.5. However, Joomla! 1.7 has both so K2 doesn't really need them anymore. Using K2 is really an all or nothing proposal since it takes over all of Joomla! categories/articles, access control and some theming. It does NOT include Disqus commenting but there is an extra plugin for that... which unfortunately doesn't work on Joomla! 1.7 (common theme here) so I went with SP Comments.

I used Sobi2 for my restaurant reviews and recipes which as you may have guess also didn't work. The folks that make Sobi have come out with Sobi Pro which won't import Sobi2 data. Sobi Pro looks pretty good and will allow me to get around the hack I had to use to run two copies of Sobi2 in one instance of Joomla!. Most of Sobi Pro's additional functionality though is commercial so it looks like I'll be paying out some money. One example is a tie in with Google maps. It would be nice to do a restaurant review with address and have a Google map appear automatically. 

My old photo gallery was Gallery2 embedded in Joomla! 1.5 using the g2bridge component which as you may have guessed isn't available for Joomla 1.7. I found a replacement in Jfusion which not only will bridge Gallery2 but PHPbb and a bunch of other software. However, I can't figure out how to provide a menu item that links to a specific gallery. I could do this with g2bridge. I also used g2image so I could insert Gallery2 images in articles. I don't have an equivalent with JFusion. I used the PGtheme theme for my embedded Gallery2 which (wait for it....) doesn't work with the downloadable version of Gallery2!  Gallery3 is out but JFusion doesn't support it so the latest version of Gallery2 is what I will use. I haven't even begun writing a new theme for it so it's currently pretty ugly. 

My old Joomla 1.5 theme was JA-Purity which I've always liked. I hacked it up pretty good and it eventually started having problems. JA-Purity doesn't work on Joomla 1.7 (why would it???) but the folks that developed it came up with JA-Purity ii for Joomla! 1.7 which I've also spent quite a lot of time hacking on to get it near where I want it.

In addition, my contact module had to be replaced, my visitor counter had to be replaced, all articles tagged for the new Tag Cloud (which is nice) and more. I've spent so much time on this migration that I don't even remember what I've done anymore. I wished now that I'd documented it all. 

What's left?

  1. Keep working on the Joomla 1.7 theme. There's a ton of cleaning up and redesigning I want to do.
  2. Get serious about SEO. I have SEF working as well as I can so my URLs are better. 
  3. Crate a Gallery2 theme
  4. Create the entire directory structure in Sobi Pro so I can get back to writing reviews and putting recipes up
  5. Find a way to link to specific Gallery2 gallery.
  6. Create metadata for everything
  7. Finish tagging the last 100 articles for the tag cloud
  8. Find a downloads component that works with Joomla 1.7
  9. Find a way to handle weblinks in K2 instead of Joomla! articles
  10. Get an autotweet/facebook plugin
  11. Install tracking/analytics component of some sort
  12. Experiment with putting Varnish between the webserver and the ISP (which is why there's no login form on the front page)
  13. Create a URL map of my old comments mapped to the new URLs for Disqus. Until then old comments won't link properly
  14. Experiment with a server side PHP accelerator
  15. Perhaps look into Adwords/Referrals
  16. Create content!

 

That's it! It's been a lot of work to get a new site that does exactly what the old one accomplished and it's still not quite there.

Latest Comments

{loadposition content_comments}

Add a comment