Archive for January 2006

 
 

Drupal instead of TWiki

In my company I’m still running TWiki as the department collaboration tool. Although to be honest, except for 2 or 3 people in my group the usefulness of a Wiki has not yet really been understood.

Anyway, I’m still running the September, 2001 version of TWiki with some local design modifications. Since I have redesigned my departments website, I thought, it was time for an Twiki refresh as well. A release candidate for version 4.0 was announced recently on freshmeat, so I gave this version a try. And I must say, that I’m very probably going to switch to Drupal. I found TWiki’s customization layer not very user friendly and somewhat hard to understand. There are so many files with so many TMPL definition. In the end I might not have tried hard enough to understand it all, but it sure looks intimidating. Drupal on the other hand was very easy to understand, one template file styled with CSS. To have a little more flexibility, I installed the PHPtemplate engine and after about a hour I had a basic working design implementation even though I never have programmed one line in PHP. With the installed Markdown module, text input for any user will be just as easy as with a Wiki.

So, I guess, Drupal will be it in the end.

Rediscovery

Long time no write. These first weeks in January I have been pretty busy with redesigning the departments Web site. Most of it was done during the evenings and weekends. After fighting a couple of hours against junk, one is usually not longer in the condition to write an inspired entry.

I’ve haven’t been doing serious Web design and programming for more than a year. Since my company implemented a new corporate internal design sometime in 2005 for the Intranet and since my departments web appearance needed a face lift according to that design, I decided to plunge in and rediscover some old knowledge.

However, in the end I wasn’t prepared for shit, that come downhill. The Intranet design is implemented pretty 1999ish with tons of tables (somewhere I read, that some of the MS Visual .NET tools might be responsible for the bad code). Articles likes this and this come to mind, when you look at the source code. Having read stylin’ with CSS and Eric Meyer On CSS and More Eric Meyer on CSS I thought, that I was sufficiently prepared to recreate something in pure CSS, which looks just a good.

Well, in the end I think, I was sufficiently prepared as long as Firefox was concerned. I wasn’t prepared for the pile of shit IE really is. I now know more about IE misbehavior and the workarounds, then I ever wanted to know. Without position is everything I would have been completely lost. Even more depressing is the fact, that some of the workarounds won’t be working any more, when IE7 comes along. Still, I’m pretty happy with the final visual and source code outcome (without a table), even if I couldn’t reach 100% identity.

This whole project also gave me the occasion to refresh my Cocoon knowledge since I did the original implementation completely in XML. And I worked pretty intensively with Eclipse.

Multiple Green Interfaces with IPCOP

In the company I’ve been using IPCOP to decouple a configuration of more than 20 systems (Linux and Solaris) from the company network. This allowed me to provide all the amenities of Web access and so on within this system configuration without the need to register each system with the company’s DNS system. The access to the configuration, which in terms of IPCOP is on the GREEN network, from the company network (IPCOP’s RED network) was achieved by means of port forwarding.

Now, it was required to extend this setup with another configuration of about the same size. So I required another GREEN network. Since the configurations are interconnected by a Cisco switch, the new configuration was connected to IPCOP by means of a VLAN.

Here is the list of changes, which were required for the 1.4.10 IPCOP software.

/etc/rc.d/rc.network This startup script mainly load all the IPTABLES modules. Below the commands for loading these modules, these two lines were inserted.

echo "Loading VLAN module"
modprobe 8021q

/etc/rc.d/rc.netaddress.up This script configures the network interfaces. Below the ifconfig for the GREEN network, these commands were inserted. (Everything is hard coded into the scripts. This could be made nicer I guess.)

vconfig set_name_type VLAN_PLUS_VID
vconfig add $GREEN_DEV 40
ifconfig vlan0040 192.168.40.4 netmask 0xffffff00 broadcast 192.168.40.255

/etc/rc.d/rc.firewall.local is extended with statements, which configure the firewall rules for VLAN in a similiar way as for the GREEN interface. For the start function:

/sbin/iptables -A INPUT   -i vlan0040  -m state --state NEW -j ACCEPT -p ! icmp
/sbin/iptables -A FORWARD -i vlan0040  -m state --state NEW -j ACCEPT

and for the stop function:

/sbin/iptables -A INPUT -i vlan0040 -m state --state NEW -j ACCEPT

/etc/rc.d/rc.netaddress.down is changed for proper deconfiguration. Below the ifconfig for the GREEN network, these lines were inserted:

ifconfig vlan0040 down 2> /dev/null
vconfig rem vlan0040 2> /dev/null

Pretty neat to have a open source solution, were changes like these are possible.