WordPress 2.9 – An Amazing Update

I have been working with WordPress 2.9 now for a few weeks and I cannot remember the last time I was so excited with the new features of WordPress. There are countless little improvements most users would not notice, but there are some killer new features that should not be overlooked.

  • First and foremost – working with images just got a lot cooler!
    • Thumbnails Finally after creating several custom plugins for this – there is now a simple way to select and then use a thumbnail for each post. Simply add a few lines of code into your theme’s functions.php file and you are ready to go.
      add_theme_support( 'post-thumbnails' );
      set_post_thumbnail_size( 150, 150, true ); // Normal post thumbnails

      (more details)

    • Cropping Ever need to crop a photo for your post or page? You can now upload any image, use built in crop functions to select the part of the image you want, save the cropped photo, and then use it – all within WordPress. Say goodbye to opening up Photoshop, cropping, saving, uploading, etc. Say hello to an easy to use streamlined process.
  • We’ve got trash! No more “crap I just deleted that post”. Now you have the option to Edit, View, or Trash a post or several posts. Once the items are in the trash you can easily recover them or permanently delete them.
  • Repair those tables please.Now you can automatically optimization your database by adding this line to your wp-config.php file: define(‘WP_ALLOW_REPAIR’, true);

Some screenshots of interest

Use As Thumbnail

Crop, Scale, etc

If you have not updated to this version – please take some time and take a look. The cropping alone will save hours of time if you ever needed to manipulate your images! Overall, this update took things one step further to making a solid, feature rich content management system and I am excited to use some of these new features with each new site I create!

WordPress Wednesdays: The Power of Self Publishing

Having a blog or CMS that uses something like WordPress is a great way to easily publish content and is very easy for people who have no understanding of HTML, images or design but this power comes with a double edged sword.

On one hand, anyone can quickly upload images, video, and write text…even add some floating elements (picture on the left, picture on the right) without seeing any code. While this is great for most people, when something goes wrong (unclosed HTML tag) this can wreak all kinds of havoc on a site. I often get questions like “why is my entire blog in bold” or “what happened to my sidebar – it is now under the content. I even get people who look at my portfolio and email me about “you might want to fix this site because x is all messed up”.

While self publishing is great because it gives the writer all the power – it is also problematic because…it gives all the power to the writer. With this power – comes responsibility. If you want your business or personal image to be based on what people see on your web site – please take the time to learn some basics. Images look best at x size in this spot…this is how I bold something…etc.

As a web developer – I give my clients guidelines and do a lot of defensive programming to try and eliminate anything that I can foresee as being an issue – but please remember – while systems like WordPress easily allow you to publish your content – it also easily allows you to publish sloppy content.

There is a reason why most large companies have entire departments that control what goes out to the public with complicated review systems in place. So if you want to take advantage of something like WordPress, remember that you have all the control – both good and bad. If you see a site in my portfolio that looks skewed – know that the client would not allow me to hand that over to them like that. It is like that because they have complete control over the content. 😉

apache, mysql, php update.

Finally after two years of contemplating the updates to Apache 2.x, MySQL 5.x, and PHP 5.x, I finally updated my server to the latest version os Apache, MySQL, and PHP. I was not too concerned about custom work or any of my WordPress sites, but I was concerned XOOPS and/or XOOPS modules would have some problems, but it is now a week later and everything is running smoothly. Why finally? Well, as of the end of this month, support for PHP 4 will be discontinued. Better late than never. Time to update your servers too?

Slightly Less Busy Now!

I am always excited to complete a project – as the end of the project is by far the most stressful, but when the project goes live – it makes up for it. The last few months I have been working with a talented group of people at TIME Inc. to create a web site for their senior political analyst Mark Halperin and the site debuted today. The site was exciting to work on and I learned a lot. Now that this is out, hopefully I will be able to post a bit more.

The Page

debugging web site/database lessons.

After spending a frustrating day yesterday working with a client, their web site overload issues, and the hosting “advanced support” I am worn out. The issue: extremely high traffic database driven web site – when moved into the production environment on a dedicated server – would spike the processors’ load to 100% and would then need to be restarted. I got called to help solve the problem. The “advanced support” blamed it on the CMS and that is where I stepped in. The first thing I wanted to see were the server logs. (Apache and MySQL to start) After a long and frustrating time on the phone with the “advanced support” they were finally convinced I knew what I was talking about and gave me shell access to the server so I could tail (tail -f logname_log) the log in order to see what kind of error messages were generated. Mind you – my client had been dealing with the “advanced support” for two days at this point and not once did they look at the log files. Within a few seconds I was able to see the errors that were causing Apache and MySQL to run out of control and within a short while, I had a solution.

The lesson here – and it seems like I have tried to get this across many times before – if you are experiencing server issues of any kind – DNS, email, web, database – always check the logs first. The log files will either tell you what is wrong right away, or give you something to search for on your search engine of choice. The other lesson of the day: if you are have a content management system that uses a lot of database queries on a very busy site – make sure you you are using some sort of caching. (such as the MySQL Query Cache)

new cms to consider: drupal.

I have worked with a number of content management systems over the years and have never been so impressed – and able to use something out of the box – as I was with Drupal 5.x. A prospective client of mine a short while ago mentioned something about Drupal and I had not used it since the last major upgrade. After installing it and using it for 20 minutes, I became very impressed. Drupal is the most elegant CMS I have ever used and the most “clean”. By clean, I mean very organized (file structure and Admin area). I also believe that Drupal is the most feature rich and easy to use CMS out of the box. At this point, I am going to drop all XOOPS development and move any new clients to either WordPress or Drupal. Nice work Drupal!

wordpress documentation.

As most people know, I am a huge fan of WordPress. I get a number of potential clients that ask to help build their company or organization a web site which is easy to update without knowing any HTML. Of course – 9 out of 10 times I start talking about the benefits of WordPress. As a developer as well as someone who does not want to depend on someone else for a lot, I really like all the documentation and examples or “lessons” that are available for WordPress. When clients see all the documentation, their minds are more at ease and often feel more empowered which make me happy. If you are interested in working with WordPress or have a WordPress blog currently but are looking to do more, I recommend the following resources:

  • Working With WordPress – A one stop shop of information on everything from how to create a post to what user roles are to how to create a plugin.
  • WordPress Lessons – Basic lessons to help you get to know and feel more comfortable with WordPress
  • WordPress Advanced Topics – More advanced WordPress information if you want to use WordPress for photoblogging, create templates, etc
  • Google “WordPress Howtos” – There are several video and written tutorials out there.

Of course, I am always available for hire if you have any development needs.

how to clone the SmartSection module for XOOPS.

I was recently asked how to clone the SmartSection module for XOOPS, so I thought I would document the process here on my blog. (XOOPS is another favorite CMS I use for my clients when they want a CMS)

  1. Download SmartSection (http://smartfactory.ca/
  2. Duplicate the smartsection module folder (this is the folder with all the module files in it – the folder you will put into the “modules” directory within your XOOPS install)
  3. Now it is time to do a few “find and replaces” with your favorite text editor. (I prefer TextWrangler) For the sake of an example, I am going to name my cloned version of the SmartSection module SmartJappler. Within the entire duplicated folder, find and replace every instance of the following with the name of your newly cloned module. **Make sure you are replacing every instance in all the files**
    1. Find: smartsection and replace it with smartjappler (your module name here)
    2. Find: SMARTSECTION and replace it with SMARTJAPPLER (your module name here)
    3. Find: SmartSection and replace it with SmartJappler (your module name here)
    4. Find: Smart Section and replace it with Smart Jappler (your module name here)
    5. Find: SSECTION and replace it with SJAPPLER (your module name here)
    6. Find: Smartsection and replace it with Smartjappler (your module name here)
  4. You also need to change the template file names in your duplicated folder to match your cloned module name. In the SmartJappler (or whatever you renamed the module) find the /templates/ folder and rename all files that have “smartsection” in the file name to “smartjappler” (or whatever you renamed the module). **Make sure all files in /templates/ and /templates/blocks/ have the new file names. (ex. smartsection_rss.html would be renamed to smartjappler.html)
  5. Last but not least, you will need to do one more find and replace within one file: /sql/mysql.sql. Again, with your favorite text editor, find all instances of: smartsection_ and replace it with the name of your module. In my case I would replace it with smartjappler_.

Once you have completed these steps, upload the duplicated folder (now your cloned module) and install it though the XOOPS Admin panel. Questions, comments? Let me know!
[tags]XOOPS, SmartSection, clone, XOOPS module, TextWrangler[/tags]

WordPress Newsletter Plugin

I have been working with WordPress for multiple years now and I decided I needed to start reviewing some of my favorite plugins – as I receive a number of requests about what plugins I use/prefer. I am going to start with a newcomer: WP Newsletter. This plugin works great for WordPress sites allows you to:

  • create a customized newsletter for your readers or customers using the same theme based layout as you use for creating WordPress themes
  • offer a newsletter archive within WordPress
  • seamless integration with the WordPress Admin
  • use custom Newsletter WordPress template for easy integration into existing WordPress web site or blog
  • customize welcome email for new subscribers that can be modified within the WordPress Admin

The plugin developer is very responsive and open to new ideas and adding functionality to his plugin. There are also many other general newsletter functions you would expect and want

If you need a newsletter plugin for WordPess, check it out!

UPDATE: 02.2009
This plugin is no longer recommended. If you are looking for a great newsletter plugin – check out MailPress

wordpress resources.

I have been creating more CMS web site solutions using WordPress over the last year and and have collected some great resources along solid product right out of the box, it is highly configurable, there are endless plugins, and everything is well documented. So, if you are ever looking to build a web site using WordPress and want to do it for yourself I would recommend using:

  1. WordPress Documentation (Codex)
  2. WordPress Plugins Database
  3. My del.icio.us bookmarks (check out WordPress/Logic, WordPress/Plugins, WordPress/Templates). I will continue to add to these bookmarks so stay tuned.

[tags]WordPress[/tags]