Spent all day battling this. Drupal 6.x core (up to 6.22 as of today) has a critical bug that causes data loss when using taxonomy synonyms and related terms: http://drupal.org/node/251255. (This is a three-year-old bug!) Basically, when a user reorders taxonomy terms, all synonyms and related relationships are deleted. This can also occur if a contrib/custom module calls taxonomy_save_term() without properly loading synonyms/related terms first. I suppose one downside of open-source is when people can't agree on the correct fix to the problem!
For the past decade, the media has struck fear into workers by reminding us how IT jobs are increasingly outsourced cheaply to India. As a U.S. web developer, this has never once concerned me because while overseas developers may be less expensive, their technical skill set is nowhere near as strong or competitive as mine. The old adage remains true: you get what you pay for.
This is my sixth "personal" website I've built in the past ten years. My first site used plain HTML files, then server-side includes (SSI), next ASP.NET/C#, and now finally, Drupal!
After much thought about the direction of my career as a web developer, I've come up with this roadmap:
Devote myself fully to Drupal.
What is Drupal? The most popular and successful open-source content management system and framework (sites that run off Drupal: whitehouse.gov, mtv.co.uk, michaeljackson.com, plus hundreds of thousands more)!
Two years ago in early 2008 I chose lighttpd 1.5 as my preferred lightweight webserver and Apache alternative (for those of you who don't follow HTTP server software, Apache is a bloated memory hogging beast, especially when running mod_php). I have nothing but praise for the actual lighttpd software--it's fast and flexible and gets the job done. While some have complained about lighttpd memory leaks, I have not experienced such stability issues, though my usage was not with high-volume sites. So, why am I no longer using it?
How fast do your dynamic PHP/MySQL pages load? Answer: not fast enough. A truly optimized website should serve pages instantaneously to its visitors. There should be no lag time, even 200 milliseconds of server-side script execution time should be considered a burden worth removing.
Everyone knows backups are important, not just for restoring from a system failure, but also for fixing user/admin/developer mistakes. Here's an efficient way to automatically backup files on your Linux/CentOS server using a spare Windows or Linux machine. You should already have a basic grasp of the Linux shell prompt for this guide.
I love databases because I always feel there is a way for retrieving my data in any shape or form I desire. Trying to find the correct syntax can sometimes be frustrating, however. Here are two tricks that have helped me during those special times:
Custom "ORDER BY"
It's easy to order by ASC or DESC, but what if we want a custom order returned? This is when the FIELD() function comes in handy.