Setting up Drupal

Here's a quick guide for Drupal installation and configuration with a minimum of useful base components.

To exemplify, I'll use Lampp, but for Xampp it won't be much different.

Before you start, go to your php.ini file and increase the memory_limit parameter to, at least, 16 megabytes and restart your webserver in order to apply the changes. This amount of memory is usually enough, but when in trouble, use a bigger value, like 24 or 32.
The php.ini file location depends on your system. In Lampp, for instance, it is in /opt/lampp/etc/php.ini, in Windows it is somewhere under the apache directory.

First, get the latest version of Drupal, currently 6.10.

Uncompress the .tar.gz using tar -zxvf drupal-6.10.tar.gz and copy its contents into the web server web site location.
From now on, the Drupal install location is referred only as {install_location} and the web site will be referred as {mywebsite}.
A Lampp/Xampp example of the {install_location} would be {lampp}/htdocs/{mywebsite}.

If you want Drupal in diferent languages, get the necessary translations for your Drupal version. Uncompress the files and copy the contents into the Drupal install location. Using the previous example, the file contents go into {install_location}.

Copy the {install_location}/sites/default/default.settings.php file to {install_location}/sites/default/settings.php, i. e., make a copy of the file in the same directory and rename it to settings.php.
In the same location, create a new directory named files and make it writable.
Under Linux, both settings.php file and the {install_location}/sites/default/files directory must be writable, therefor perform a chmod +w to both.

Access your database engine, currently MySQL and PostgreSQL and create the database and correspondent user and password for the created database.
This has to be done because Drupal installation does not perform the database creation.

Assuming there's a web server already running on localhost, install Drupal by pointing your browser address to http://localhost/{mywebsite} and just follow the installation wizard. In the database configuration remember to refer the previously created database and user.

After the creation of the database fill in the site configuration information and save the changes.

The installation should finish without trouble. At the end, there is a link pointing to your new site. Just click on it and you will be redirected to the web site using administration credentials.

But that is raw Drupal installation. Usually one wants a nice template a WYSIWYG editor, an integrated content media management, so that one can upload videos, pictures and other documents.
Some of these modules actually should already be part of the Drupal default modules and should already be configured for default usage.

The add-on modules and themes go into a special directory, they are not mixed up with the default modules nor themes, and they have a standard installation procedure. The themes go into {install_location}/sites/all/themes/ and the modules go into {install_location}/sites/all/modules/. These directories do not exist on a new Drupal installation. When using Linux, do not forget to give the appropriate access permissions to these directories and its contents.
When in doubt, read to the module or template documentation.

Start with the template, get a template for your Drupal version and download it. Uncompress it and copy its contents to {install_location}/sites/all/themes/{newtheme}. It is possible to and install as many themes as necessary.
To select a new theme, go to the menu option Home › Administer › Site building, mark the desired template as the default nd press the Save configuration button.

Installing a WYSIWYG HTML editor requires two modules, the base WYSIWYG API module and an HTML editor, like FCK Editor. Uncompress the WYSIWYG API module file and copy its contents into {install_location}/sites/all/modules/wysiwyg. As a curiosity, the {install_location}/sites/all/modules/wysiwyg/editors directory have all the supported HTML editors, there is an .inc file for each supported editor.
To install the FCK Editor, uncompress the file and copy its contents into the editor directory inside the WYSIWYG API install directory, {install_location}/sites/all/modules/wysiwyg/fckeditor.

To activate the HTML editor module, go to the menu option Home › Administer › Site building, enable the Wysiwyg user interface module and press the Save configuration.

To configure the HTML editor, go to the menu option Administer > Site configuration > Input Formats, press Add input format. Name it Default HTML Editor, select both roles, and disable HTML filter, Line break converter and URL filter. Press Save configuration button, go back to Administer > Site configuration > Input Formats and select the Default HTML Editor as the default HTML editor.

Now setup editor profiles in Administer > Site configuration > Wysiwyg menu option.
Select FKCEditor (version) for all Input formats and press Save.

There are many available modules for many extra functionalities. A recomended administration module is the Administration Menu, witch provides easy and fast access to administration items.

For instance, if you're looking for an e-commerce solution, check out Ubercart. To set it up, check the How to make an online store look great with your new theme from TopNotchThemes and the Ubercart User's Guide for a quick start.

./M6

Evaluating open source CMS

I've used Mambo, then I've changed to Joomla! and, more recently, I've evaluated Drupal, after discussing open source CMSs with a friend, and I've concluded that it suits me better.

When one has used other CMSs before, the comparison is inevitable.
But this time I had the change to perform the comparison with non-technical people beside me.

Here's an overview of the conclusions.

Overall, Drupal is less user friendly when it comes to system management and it's event less attractive, as I've seen non-technical people saying they liked Joomla! better because it looks nicer. And they are right. Drupal is by far the less attractive and the hardest to manage of the three.

While a module installation in Drupal requires manual intervention like unziping and moving the files to the correct location, which is not always straight forward and is much less error-free, Joomla! and Mambo haver a nice management GUI where one can upload, or specify the URL, of the component to install and everything is easy and straight forward. Some Joomla! add-ons, like internationalization, are usually manually installed, but that seems a non-issue by non-technical people.

When it comes to content management I find Drupal more goal oriented, while in Joomla! to publish something one has to make a lot of mouse clicks. But even though, non-technical people prefer the looks over the functionality, and even here Joomla! wins for most people.

Regarding other functionality, like menu creation, component configuration and placeholder content definition, I find Drupal easier and, again, more goal oriented.

After some reasoning about what would be the best CMS for me, I've decided to move to Drupal, even if I have to live with manual intervention and use a less attractive management look.

./M6

Asus WL-500g Premium

I have an Asus WL-500g Premium and I've just upgraded the firmware, plugged a 640Gb external hard drive (actually it's a Conceptronic CM3S media center), set up the Dynamic-DNS system (a free account from DynDNS.com) and configured the access with username and password.

The whole thing works just fine.

Now I have access to a network drive both from my intranet, via Samba, and from the internet via FTP.

I had to do one trick though, since the router node sharing with authentication has specific requirements.
I had to set up one user for each shared node plus one with access to all nodes.
I had to do this because via FTP a user could only access one predefined node, therefor I had to set up one user per node, and via Samba I could not use distinct users to access different nodes on the same partition, so I had to setup an extra user with access to all nodes.

This trick was was easy to do and it solved my problem.

./M6

Subversion project tree structure is not like CVS

I've used CVS for many years but I've made a move to Subversion (Svn) a couple of years ago.
CVS and Svn share the concepts of main trunk, tag and branch, but in Svn, things are work a little different so I had to learn how to make tags and branches again.

The main differences rely on Svn structure,that specifies each on its own location:
  • {repository}/trunk/{project}
  • {repository}/tags/{project}
  • {repository}/branches/{project}
This is actually easy to learn and use.

The trunk is were the daily development goes. Here's a couple of examples:
svn://myserver.net/repository/trunk/msc-project
svn://myserver.net/repository/trunk/msc-thesis

The tags is where a tag goes. Here's the same example:
svn://myserver.net/repository/tags/msc-project-stable
svn://myserver.net/repository/tags/msc-thesis-revision1

The branches is where where a branch goes. Again, the same example:
svn://myserver.net/repository/branches/msc-project-v1
svn://myserver.net/repository/branches/msc-thesis-final

For more information about Svn, I advise the reading of Version Control with Subversion.

./M6

Google Chrome, almost there for me

I'm a long time Firefox user - previous SeaMonkey user, previous Mozilla user, previous Netscape Communicator user - so it's been a pleasure to have (again) a fast and light browser on my system: Google Chrome.

I've been testing Google Chrome 1.0 for some time now and, as a long time Firefox user, the comparative was inevitable.
Chrome is light, fast, generally has a good GUI and a set of interesting and useful features.

I'm currently also using Firefox 3.1 Beta 2, which implements some of the nicest Chrome features, like changing tabs into new browsers and vice-versa (currently works much better on Chrome) and cleaning navigation on a specific date interval.
But unfortunately Firefox has become worst each version, to state some of the worst problems:
- The "bookmark this page" dialog is so small it almost become unusable.
- It has two distinct find GUIs, the "find as you type" is different from the "find"
menu option. It even has different options available.
- It's getting hard to find the options in the options dialog.
- It is still impossible to save a proxy username and password for future usage.

To cut a long story short, here's what stopping me to make a definite move to Chrome:
- No Foxmarks plug-in available.
- "Find as you type" unavailable. The find it self is a bit buggy.
- Change between languages on a text box while editing text.

Here's a set of features that I miss on Chrome, but that would not stop me to make the change:
- "Reopen closed tab" unavailable. It forces the user to go to the history.
- Firebug plug-in. The current developer menu options are not enough.
- Ad Block plug-in.
- Down Them All plug-in.
- FoxyProxy plug-in. Using the system settings is not enough when one uses a laptop on several networks.
- Private Browsing.

Mozilla is making an effort to make Firefox 3.1 much better, I believe they are feel the pressure from Chrome, and its release notes show they are on the right track.

By the way, it would be very nice to use it in Linux and it would be a blast if it supported Mozilla plug-ins...

./M6

Windows on critical systems? Thanks, but no thanks.

By reading this post topic I bet you're thinking "Gees, one more Windows hater moron"...
Well, not quite.
I use Windows, Linux, Unix and, sometimes, even Mac. So give me some credit before calling me bad names, ok? :)

There's a desktop market dominant operating system (OS), it's Windows and that is a fact over a decade now.
If anyone had such an OS, and once the desktop market has been dominated, it is clear that the next step is taking control of other devices, like mobile devices. There's nothing wrong with that, since the mobile devices have OSs and GUIs that are designed for personal usage, so having a personal desktop like Windows running on them makes perfect sense.

So, there's Windows, an OS that has been designed for desktop computers and is meant to be used by people that know nothing about computers. Nevertheless, any Windows user is perfectly capable to use it and use it's applications, either games, office suites or web browser.

There has been some usages that proved to be "less intelligent", more or less harmful, like the BMW iDrive (that many users says it sucks, and it really sucks).

And there has been usages that have proven to be totally idiot, careless and even incompetent.
For does that are now thinking I'm being "unfair", I'll prove all I'm saying.

Imagine that someone thinks that it is a good idea to use an OS that, again, has been designed for desktop usage, and stuff it into critical systems, like, for instance, medical-device equipment used on an hospital.
For those that are not scared, think Automatic Updates rebooting after, silently, downloading and installing an update.
For those that still are not scared, think virus and worms.
Mix all that and here's what you got: a critical system that is vulnerable to virus and worms and that will reboot anytime it wishes.

If you're not scared yet, think of yourself lying on an operation table connected to a medical-device equipment running Windows, and its automatic update client has just download and installed the latest security patches. You know what comes next, don't you?...

Now, I bet you're thinking all that is necessary is to turn the automatic updates off.

Ok then, think of yourself lying on an operation table connected to a medical-device equipment running Windows that is infected with a virus or a worm because it does not have the latest security patches since the automatic updates are off. You know what comes next, don't you?...

For those that are skeptical about such scenario, I have really bad news for you: it has already happened at Sheffield hospitals.
This is not new and it's actually a trend for some years now.

Scared now?...

If this isn't an idiot, careless and incompetent usage of Windows, then I don't know what it is...
Windows on critical systems? Thanks, but no thanks.

./M6