December 13, 2004

Free (and open) holiday greeting cards

Author: Sean Michael Kerner

Setting up an electronic greeting card site for your own purposes is easier than you think. There are at least two respectable well-maintained open-source-licensed applications that can help you get your holiday e-cards to friends, family, co-workers, or customers this season. Sendcard and Penguin Greetings can give you the bragging rights to say you run your own e-card service.


On the basic side is the PHP-based sendcard, which is licensed under the OSI-approved Q public license. Though the name implies that you can send a card with this app, all it does currently is send a link to the card, which resides on a server; HTML emails that include the card are not currently part of the application, though that feature is part of the future roadmap and there's even a placeholder for it in the admin config file.

Sendcard integrates easily with PHPNuke and PHPWeb open source content management systems. Cards can include Java, Flash or even QuickTime, adding the "multimedia" element to the experience. Multiple senders and scheduled sending are also part of this application's default feature set. Senders receive a confirmation email when their card has been picked up.

To install sendcard, download the latest version in compressed tar (no need to compile) or ZIP format. Simply decompress and post the files to the spot on your server where you want to offer sendcard from (i.e. Sendcard includes a nice little script (chmod.php) that automagically adjusts the required permissions for read/write access to the applications files. Sendcard also has a Web-based installation configuration procedure, though each config line item opens up a new window by default (I just opened up new tabs for each -- less mess) instead of having a sequential screen-by-screen install.

Unlike some open source applications, sendcard can support more than just MySQL for its database component. In fact, sendcard support nine different databases, including MySQL, PostgreSQL, Microsoft SQL Server, Oracle, and Sybase. As long as you can get PHP 4.1.x+ running with one of those databases on your Apache Web server, you should be good to go.

The default installation of sendcard does not create a site that you can use "out of the box." It includes a few card templates, which help for basic syntax, but they are not cards you'd want to send to your holiday list. For that you have to create your own customized cards, which thanks to the solid documentation provided with Sendcard is fairly easy to do.

There are also a few plug-ins that are included with the compressed sendcard file that aren't installed by default with the application, including a back button (which gives you a back button on the card rather than making recipients use the browser back button), Send to A Friend, and a Statistics file that tracks usage of the sendcard application. These plug-ins are easy to add through the plug-ins option in the Administration interface menu.

If you want to pay for additional plug-ins for sendcard, there's also an image uploader add-on (advertised inside of the sendcard application) that allows your users to load their own images for inclusion in e-cards.

The administrative capabilities of the program are basic in that they allow for configuration and for loading of new plug-ins. There isn't any sophisticated user authentication in this application (you could have that though if it is running inside of your PHP-based CMS -- PHPNuke, for example) and you do need to create your own cards. That said, sendcard is an easy-to-use e-card application from both a setup and a user point of view, making it a good choice for those who are looking for a straightforward e-card application.

Penguin Greetings

Penguin Greetings is a step beyond sendcard. Where sendcard lacks HTML emails and default templates that you can use right away, Penguin Greetings excels. A default installation of Penguin Greetings provides more than 150 ready-to-use e-card templates that enable you to hit the ground running with your e-card setup. It also by default sends HTML e-cards, and provides a link to access the e-card via a browser for HTML-challenged email clients.

The install process for Penguin Greetings is a good deal more involved than that of many open source applications. For starters, you need shell (terminal via SSH) access with root privileges on the server on which you want to install Penguin Greetings -- no simple all-in-one Web-based installer here. Penguin Greetings could easily have also been called Perl Greetings, as it relies on a large number of Perl modules that are installed (via CPAN) with the command-line Install.PL script. The applications author recommends that you be already running Perl 5.8.x.

The mistake that I made the first time I ran the install script was that I didn't first create a "pgreet" user on my host system as suggested by the installation documentation. (Note to self: next time read documentation before trying to install.) Pgreet is required in order for the app (and the installation process) to properly work.

Penguin Greetings' whole installation and startup process is a bit overwhelming and significantly more complicated than that of sendcard. Penguin Greetings run inside of your server's cgi-bin directory and also requires a separate daemon. It's probably unlikely that you'll be able to set it up on a shared hosting account. Needless to say, I recommend that you read the Penguin Greetings documentation, which on the surface appears to be quite intimidating.

Thankfully using Penguin Greetings is a whole lot easier than setting it up.
Once you're finally done with the ordeal of installation, what you're left with is a complete e-card site that's ready to work. The documentation for new content creation and administration of the application is quite explicit and clear, making managing a Penguin Greetings setup relatively straightforward. There is no inline new card creation or editing interface -- you'll have to do that on your own -- but it is really is a simple matter of reading the appropriate docs.

Whether you simply want to send a card (that isn't really a card but rather a link to a card) or a full-blown Penguin Greeting, the time of year is definitely appropriate for trying out an e-card application. Both sendcard and Penguin Greetings have their benefits and their shortcomings. The bottom line though is that with either one you can spread some holiday cheer this season. The tagline for Penguin Greetings is "sharing love and good cheer the open source way." In the final analysis, that's what it's all about, isn't it?


  • Open Source
Click Here!