wordpress 2.0

I finally had a few minutes to download the latest Release Candidate of WordPress 2.0 yesterday and install it. Like usual, I created a full backup of my current site files and database, then installed the new version of WordPress and ran the super easy “upgrade” script. I was extrememly surprised when I did not encounter any real issues…especially since I hacked together so much with WordPress 1.5. My plugins worked and this I am able to post! I have not had a lot of time to play around with all the new features (most which are behind the scenes), but I look forward to checking them out soon.

I am including a screenshot of the admin area to show anyone who has not used a CMS or a blog just how easy it is to post content on a web site. If you can type and click a mouse button, you can have your own web site 😉 If you have never played with AJAX, there are lot of little AJAX goodies in this latest release!  Good job WordPress developers on the new release!
WordPress 2.0
[tags]WordPress, AJAX, CMS, blog[/tags]

content management systems and java applications.

I have been tasked with implementing a heavy duty content management system within the next year. I have played around with many CMSes over the past year (Drupal, TikiWiki, and Plone) as well as implemented a few web sites using XOOPS and my own homebrew of WordPress. While I would not hesitate to continue using XOOPS, Plone, or try Joomla!, I have to also be considerate of some other factors that are out of my control. I have to figure out some system that will play nicely with java applications. (access control, template system, etc)

So, my task…to find, research, and play around with some Java CMSes. If anyone has any experience with this, please email me or leave a comment. Any help/pointers would be appreciated.
[tags]CMSes[/tags]

web site optimization.

The last few days I became obsessed with optimizing jappler.com. It was loading slower and slower with what seemed to be every passing day. Since I had originally designed my web site for an earlier version of WordPress, I figured it was about time for a tune up. I went to the ever-so-helpful codex, to help me figure out what was going on. I went through a number of different steps to troubleshoot the problem and I thought the steps I took might be helpful to others.

  • Is it my host or my site? At first I thought it was a slow host. I had friends from around the country access my web site, and confirm the problem existed for everyone. From all the feedback, I confirmed something was going on. Now it was time to take it to the next step. Was my host slow or was my web site slow? To check this, I grabbed a recent backup and restored it to my desktop to check it out. Once I had everything in place, I hit my web site and it still seemed slow, so I asked Ken to give it a try. He confirmed it was still slow. It was not the host that was slow.
  • Is it my template/XHTML/CSS/graphics that is slow?
    Now it was time to revalidate my XHTML and CSS via W3C. I caught a few errors, but nothing major. I also took a look at my graphics’ sizes…nothing too hideous. I even had a few graphics (Get FireFox, etc) that were being pulled from a remote location…I put an end to that. I then reconfirmed that the site was still slow so I decided to turn to my favorite part about FireFox the Web Developer extension. Under the tools menu, I viewed my site’s speed report via http://www.websiteoptimization.com. I was able to look at everything that was loading from my site, make sure CSS decisions (break up my CSS into a few different files, and then do some minor changes to reduce my HTTP requests from 63 to 36. How? This is where I started getting into some database optimization.
  • MySQL issues? Since everything is page is created dynamically, it was time to shift the focus on the database.
    • Table optimization.
    • I first read about the option to optimize tables, so I logged into phpMyAdmin and optimized all my WordPress tables. I once again did some more performance testing on my site and yet again, no luck…it was still slow. Time for my next hypothesis.

    • Slow queries. I found out that MySQL has the ability to log slow queries by adding log-slow-queries=/var/log/mysql/mysql-slow.log and then defining the slow query variable set-variable = long_query_time=2 in the /etc/my.conf file. (This is not created by default.) Once you have made changes to the my.conf file, you will need to stop/start MySQL. Now to look at the slow queries…simply tail -f your log. (for me: tail -f /var/log/mysql/slow-queries.log) Once again, with some testing (browsing) of my web site, I did not find any queries that stood out.
  • Back to the jappler template: One div at a time. Back to the codex I went searching for tips, examples, etc. What else could be the problem? Time to go through what I know.
    • I have ruled out a slow host.
    • My XHTML and CSS validate (or have only a minor issue with one of my IE tricks, but when I use the default WP theme my pages load fine.
    • I have stripped out the right hand column and the footer to localize the problem to the main part of the page so those parts of the pages are fine.
    • I have disabled and then re-enabled all the WP plugins one at a time (and deleted a number of them)
    • I have optimized my MySQL tables. I have looked at slow queries coming from my theme.

    At this point I did not see too many options other than recreating my templates over one div at a time. Div by div I recreated and tested my web site. (header loads ok…time to add the menu….menu loads ok with header…time to add content. Eventually through enough testing (and some wild plugins) I tracked down the problem…more like problems and started testing multiple templates.

  • What’s left as of today? I still need to work on my index.php to make it load a little quicker. Something is still not happy there. I also need to figure out what is not happy with the news page. Other than that…even though it was a stressful few weeks, I can walk away happy because I learned a lot.
  • Summary.

  • When issues arise, try to pinpoint the problem as much as possible by asking yourself questions.
  • Validate your HTML/XHTML/CSS. Clean code is a good thing.
  • If you are using themes/templates, try a default template.
  • Make use of the Web Developer extension for FireFox.
  • Take a look at your site’s speed report via http://www.websiteoptimization.com.
  • Back up often!! (I just had to slip this in)
  • Be on the lookout for rogue plugins and watch your queries.
  • Don’t give up!

[tags]optimization[/tags]

another cms arrives.

Well, just when you think you have decided on the content management system that is right for you…something else pops up. After having a talking with Ken as he expressed interest in installing Mambo, I wanted to make sure he was aware of the recent turmoil with Mambo, and pointed him to the “new” CMS the once Mambo developers decided to create: Joomla. After looking at it (version 1.0.0 came out Sept 15, 2005), I am interested in seeing what is capable of. The deleopers seem very professional, committed, and knowledgable. I look forward to seeing great things from this CMS and Ken (hopefully at pesanka.com). Once I get some free time, I will play with it. I have a few other pressing projects right now that need all my attention ;).

up late with XOOPs.

After completely moving towards tabless designs, it is hard to look at the cluttered code of tables in code. I have probably put in 15 hours of playing with XOOPs now, a few of these hours stripping code down to be more CSS driven. I am all about clean code these days, but boy do I have my work cut outr for me. I am having problems giving up complete control with layout with a lot of what I am working on, but I have to stay focused on the prize: added functionality without a lot of effort. Last night I upgraded my install to XOOPs 2.2 from 2.13. The upgrade was painless, but some of the modules I want to use are not compatible with the new version. I will wait. Ideally I would some day produce my own CMS, and this idea is why I have been looking at several CMS packages. I would like to take the best from what I have worked with and put it all together. I am at least a year away from doing this, but it is something I am looking towards. I chose XOOPs for several reasons, but one of the main reasons was because it uses Smarty, and I am curious how it handles these templates on a large scale. I am learning a lot about seperating my content from my php code and layout. It is a bit confusing sometimes because of old habits, but it is coming together nicely. I am hoping to have something to show everyone after another 10 or so hours this weekend. I could have easily used one of the layout that comes with XOOPs, but if you know me, you know I could easily spend several hours trying to figure out how to get everything perfectly lined up to the exact pixel, so a custom layout was certainly needed…and a complete CSS driven layout of course. Overall, my work with XOOPs has been pretty positive. Version 2.2 really cleaned up the admin interface which I greatly appreciate. My only complaint so far is that I have to wait a few days/weeks for my choice modules to be updated. OK, I do have one more…the screen refreshes when you authenticate. I would like to go to the page, not refresh to include new content…but I am trying to read up about that…perhaps I can do something about that. Everything is customizable, right? 😉

xoops.

Well, here I am again, looking at different CMSes for a few projects I have up my sleeve and I decided to compare XOOPS and Mambo. Why those two? I have a few friends that used both and liked them for one reason or another. I decided to download XOOPS after doing a comparison at CMS Matrix and played with it last night until midnight. I have to say, now that I have a better understanding of CMSes in general after playing with Plone and hacking WordPress, I am pretty impressed. More in a bit.

jappler.com: database driven (finally)!

wordpress For years I have been searching for a web site solution that would fit my needs:

  • easy to change and edit content (via any web browser)
  • integrated blog
  • integrated search
  • easy to maintain
  • database driven
  • templates
  • able to adapt to mobile technologies

I have played with many CMSes over the years, and I finally realized the power of Plone, but your average hosting company does not offer plone hosting. None of the other CMSes really appealed to me because I had to do so many customizations, and I really don’t have any membership needs, so I decided to look elsewhere for a solution. In my mind I had two options: home made CMS or to do something with my beloved WordPress install. I decided to follow Alex King and to use WordPress to drive my entire web site. I have used a number of plugins, mod_rewrite rules, and some customizations to make it all possible, but so far I am very happy with how everything turned out. I have made several changes so far to multiple pages via my web browser, I looked at my blog via my phone on the train this morning, and am still able to write my blog like I have been for the last year (almost). I had to make a few changes to some plugins to make everything work together, but I learned a lot. I also am very thankful for the documentation available which allowed me to add a lot more flexibility and features in my templates. Perhaps if there is interest, I will break down everything I did so others can do the same.
[tags]jappler.com, WordPress, CMS, Alex King[/tags]

where have I been? zmi.

I have been really busy the past few days, too busy to blog? Probably not…but I have been really focused on a few projects to learn new technology. My biggest project at has been getting plone customized. I knew it was time to get serious with some solid CMS solution, and plone was the best fit. Learning how everything works has been interesting and I am finally pretty comfortable with the ZMI (Zope Management Interface) and am starting to feel better about DTML (Document Template Markup Language). If you are interested in playing with Plone, there are free hosting services that will allow you to build and customize plone sites.