[X] The "Vixta.org-098.01.En.iso" file could not be found or is not available. Please select another file.

Penguin Greetings (pgreet) is a Perl web-based ecards for UNIX systems. pgreet is template-based and makes ecards more like email. pgreet can use SpeedyCGI for faster CGI transactions. A separate daemon does the emailing and data storage for security


http://pgreet.sourceforge.net





Separate each tag with a space.

Release Date:

2005-06-06

Topic:

Operating System:

License:

Translations:

Intended Audience:

User Interface:

Programming Language:

Registered:

2003-01-31

Ratings and Reviews

Be the first to post a text review of Penguin Greetings. Rate and review a project by clicking thumbs up or thumbs down in the right column.

Project Feed

  • Penguin Greetings 1.0.0 released

    It's official! There were no issues with Penguin Greetings 0.9.9, so that is now the 1.0.0 release. Nothing has been changed but the version numbers. Penguin Greetings is now considered stable for production use.

    posted by elagache 1673 days ago

  • File released: /pgreet/1.0.0/pgreet-1.0.0.tar.bz2

    posted 1673 days ago

  • File released: /pgreet/1.0.0/pgreet-1.0.0.tar.gz

    posted 1673 days ago

  • Code committed

    elagache committed patchset 1211 of module pgreet to the Penguin Greetings CVS repository, changing 1 files

    posted by elagache 1673 days ago

  • Code committed

    elagache committed patchset 1210 of module pgreet to the Penguin Greetings CVS repository, changing 1 files

    posted by elagache 1673 days ago

  • Code committed

    elagache committed patchset 1209 of module pgreet to the Penguin Greetings CVS repository, changing 1 files

    posted by elagache 1673 days ago

  • Code committed

    elagache committed patchset 1208 of module pgreet to the Penguin Greetings CVS repository, changing 2 files

    posted by elagache 1673 days ago

  • pgreet 1.0.0 file released: pgreet-1.0.0.tar.bz2

    2005-06-06 [elagache]1.0.0 Identical to 0.9.9 release except for version number updates as needed for charity. Software now out of beta and in production/stable status. 2005-05-09 [elagache]0.9.9 RELEASE CANDIDATE FOR 1.0.0 - Added support for HTML::Mason as an alternative Embedded Perl in HTML framework to Embperl. Penguin Greetings can now support either framework and a single pgreet.pl.cgi application can serve secondary ecard sites in both Embperl and Mason at the same time. - Created a new secondary ecard site using HTML::Mason: "Savoring the sights of Seattle" that features photos taken while I was working for Amazon.com in Seattle (Development of Mason is occuring mostly at Amazon.com.) - Created a collection of general use Embperl templates to simplify the creation of ecard sites by handling the routine chores required for any ecard creation. - Moved all bilingual ecard sites but the Saints card collection to use Locale::Maketext Perl module for localization. Created a new module in the Pgreet library: Pgreet:I18N to implement the new localization scheme. - Added support in the Embperl layer for automatically displaying card categories between configurable dates. - Updated default site, PgSaint and PgXmas sites to use Object-Oriented Embperl. Gave sites revised website graphics and a general face-lift. - Fixed a bug in Pgreet::Config that would cause Embperl secondary sites to use the object-oriented environment of the primary card site if the primary site was object-oriented. - Fixed a bug in pgreet.pl.cgi related to error condition: 111. This error no longer causes the script to exit forcing SpeedyCGI to start up a new process. - Fixed a logging bug in pgreetd that could cause the daemon to crash when a warning was to be logged. - Added over 50 cards to the default, PgXmas and PgPoppy sites in addition to the 16 new cards uniquely included in the PgSeattle site. 2004-03-30 [elagache]0.9.8 - Created a new demonstration ecard site: Pg4Seasons - The Penguin Greetings Four Seasons collection which includes 24 new images from Northern California and uses the capabilities of Embperl to create customizable ecards. This site demonstrates the flexibility of the Penguin Greeting ecard engine. - Added a test to pgreet.pl.(s)cgi to compare the ecard name in the request against a list (array) in the card.conf file of a given site under the name 'cards'. If a 'cards' array exists, but the card name requested isn't on that list, Penguin Greetings produce a standard error (error number 40) in reply. - Added error number 40 to error_messages.pl files in all ecard sites (English and French.) - Created a new installer for object-oriented secondary ecard sites: install_site_obj.sh - Fixed a bug in Pgreet::CGIUtils that prevented more than one template to bypass object-oriented processing. - Added 8 new cards and revised 9 others in the general collection (these in addition to the 24 new cards which only appear in the Four Seasons collection.) All the Holy image cards have been reworked to appear more natural and human. In addition there are 2 new Easter cards. 2004-03-06 [elagache]0.9.7 NOTE: 0.9.6 was never released except for the Pgreet Perl module. - Added a -x command line switch to PgTemplateTest to allow the utility to automatically purge temporary HTML files that were older than 'purge_after' days. A new configuration item 'purge_after' was added. - Created prototype command line utility 'PgreetDButil.pl' that can "manually" purge old cards from database if administrators on as "as needed" basis. The utility can also create compacted copies of database files. - Added 'Log::Dispatch' to list of prerequisites that are checked by 'Install.PL' and included it in documentation. - Changed the Embperl code that generates the popup menu for quickly selecting a card to chomp a card caption when they run over 80 characters. The more complicated cards would run more than double that and would cause the popup menu to extend beyond the end of banner of the default web site. - Implemented reloading of configuration files for application daemon and SpeedyCGI web application 'pgreet.pl.scgi'. This can be done via a SIGHUP signal and is done periodically via the configuration variable 'reload_config'. SIGHUP automatically causes SpeedyCGI apps to reload. - Rewrote and cleaned up event loop in application daemon. Now all events are controled by specifying how often in time they are to be performed. Replaced the confusion 'flush_on_cycle' with 'flush_pause' indicating now many seconds between flushing stale state files. - Implemented transparent caching of Secondary ecard information in Pgreet::Config so that persistent applications like SpeedyCGI version of pgreet.pl.scgi and the application daemon can access secondary ecards sites without going back to the disk files - greatly speeding up access of secondary ecard sites. However, this means that these applications must reload the Pgreet::Config object every time any configuration file is changed. - Implemented purging of old cards after a certain number of days. A backup copy of the databases is left in the same directory as a adminstrative resource. Code to implement purging is housed in Pgreet::DaemonUtils module. - Created a new module: Pgreet::DaemonUtils to house code shared between the application daemon and command line utilities. - Fix a bug caused by creating a new Pgreet::Error object and omitting to attach the active Pgreet::CGIUtils object to it for secondary ecard sites. - Moved the code that actually calls Embperl into the Pgreet::CGIUtils module. That way there is a uniform interface for Embperl for all applications that use it (pgreet.pl.cgi and PgTemplateTest for example.) - Added the CGI environment variable lang_code so that web site developers can have the templates change behavior based not only on raw the HTTP_ACCEPT_LANGUAGE string, but the string returned from I18N::AcceptLanguage negotiation. - Created a California Poppy themed secondary ecard site that takes advantage of the Embperl::Object features supported in Penguin Greetings. The site was produced in English and French using components common to both sites. - Passed the version number string $VERSION from the pgreet.pl.(s)cgi application to the templates so that developers could determine and program based on the version of Penguin Greetings they were running under. - Added new California Poppy themed ecards. Replaced old ecards which were not photo-based with updated images more in keeping with the present collection. Disabled a few cards that were reduntant but left them in distribution. Added new cards for St. Patricks day. 2004-01-15 [elagache]0.9.5 - Added support for Localization/Internationalization based on the browser environment variable HTTP_ACCEPT_LANGUAGE. This is done by using the CPAN module: I18N::AcceptLanguage. Each supported language is implemented as a secondary ecard site. - Translated the PgSaint secondary ecard site into French. Provided a Christmas ecard site PgXmas in English and French. - Reworked the Holy ecard images for the PgSaint ecard site using the enhanced capabilities of Canvas-9 to make the interface between the statues and background much less visible. - Added new ecards for Valentine's day. 2003-12-14 [elagache] 0.9.4 - Added final cards for Christmas 2003. This is a partial release to provide Christmas and New Year cards for those sites that use the Penguin Greeting content in time for users to compose their Christmas cards. - Fixed a bug in preview template that only allowed users to send cards to months in the future of the current year. This prevented sending cards in the start of the following year. 2003-11-18 [elagache] 0.9.3 - Added tests to creation of URL short cut in CGIUtils.pm so that it is impossible to attempt to create one without having all the pieces defined. This avoids a join warning. - Cleaned up code and improved code documentation in pgreetd.pl. Replaced obsolete early exit calls with proper shutdown_daemon calls where appropriate. removed a superfulous DBopen call that was duplicated in a subroutine by later subroutine revisions. - Cleaned up code in pgreet.pl.(s)cgi to remove global variables that had been eliminated over time but not "garbage collected." Improved code modularity. Improved code commenting. - Corrected faulty logic in pgreet.pl.(s)cgi. The error of mismatched login/password was being reported twice. - Changed the way errors are reported pgreet.pl.(s)cgi so that error messages are always logged first before displaying the error template. That way catastrophic failures will leave a log message if possible. - Added 14 new ecards including 5 new cards for Thanksgiving and 3 Christmas/Holiday Season cards. 2003-09-29 [elagache] 0.9.2 - Added support for a suffix when creating a string to launch a browser with PgTemplateTest. Changed launch string in configuration file for mozilla to assume an existing process and create a new tab in the existing window. - Fixed two bug in the email envelope headers. When switching from using sendmail to Net::SMTP, the 'From: ' line was accidentally omitted. Also, the Date: field was lost because when the card is created, the date stamped does take into account that the card may be scheduled to be sent later. This field was therefore changed into the pseudo field: X-Date-Written. That left a missing Date field. - Implemented CGI framework to implement moving backward in the ecard creation process. Because Penguin Greetings retains state from one creation page to the next, this meant transporting that state information rather than storing it anew. + Added code to "rewrite" (i.e. create an intermediate state file) that contained the settings provided by the user before any processing by pgreet.pl.cgi. This insures the integrity of the user data and avoids any risk of overflowing even POST requests. - Changed the default site to use the CGI version of back buttons. This is not as straightforward as using some client side solution such as JavaScript. The secondary ecard sites have been left with JavaScript back buttons to illustrate the differences. - Created a new module: Pgreet::CGIUtils that contains the old subroutine ChangeVars. This module is for any routines that are needed for CGI access and must be shared between the CGI Application and the modules of Penguin Greetings. - Added ecards for Halloween. 2003-08-31 [elagache] 0.9.1 - Created a framework to test Penguin Greetings configuration parameters based on String::Checker: + Added methods to Pgreet::Config to test parameters with String::Checker. Added Penguin Greetings specific predicates to fill out testing tools. Test results are returned as a hash reference to calling application to provide diagnostic support. + Added tests to pgreetd to check if configuration variables are usable before proceeding. If the primary configuration file has unusable variables, the daemon will terminate. If a secondary configuration file has unusable variables. that website will not be processed until the file is fixed. + Added a new utility PgreetConfTest that provides detailed diagnostic information for configuration variables that are not usable. This utility avoids the need to spew out very long error message into syslog and/or the Penguin Greetings log file. - Fixed a bug in the Installer configuration that caused the pgreet UID and PID to be quoted and thus not interpreted as numbers. - Added cards for Grandparents day and Grandparents in general. 2003-08-25 [elagache] 0.9.0 - Changed files so that they can now be localized by the installer. Both applications and configuration files are now localized directly by the installer. - Extensively rewrote Install.PL to incorportate the following additional functionality. + Install.PL now provides the ability to make simple text substitutions within the files it installed. This can be used for both application and configuration files. + Install.PL can now store arbitrary strings that can be used within the installation (for example to substitute strings that are the user must be prompted for.) + Install.PL can now install a list of Perl modules using the CPAN Perl module. + Install.PL can run arbitrary predicates for testing the environment. + Install.PL has a systematic scheme for installing optional files as well as a "one-time" ignore scheme for files that can be from time to time skipped. + Install.PL has a much expanded cache system that caches all the items above in addition to the file configuration. - Changed default installation to not be login only, so that administrators do not have to create an .htpasswd file in order to test their installation. - Created a CPAN installation bundle to simplify the task of installing the required modules for Penguin Greetings. - Uploaded Pgreet.pm module to CPAN to simplify installation of that module by using CPAN module. - Split off part of Penguin Greetings Installation guide into Penguin Greeting Administrators' Guide. - Added over 15 new cards in multiple categories 2003-07-22 [elagache]0.8.8 - Added support for a user-defined subject line for the email message. This makes the cards more personally noticable to a recipient (especially someone who gets a lot of email) and may reduce the risk of a Penguin Greeting getting wrongly tagged as spam. - Fixed some Install.PL bugs that prevented directories from being created and/or assigned the right user/group ID. - Move the hash of error messages test into separate file error_messages.pl that can be loaded into either primary or secondary web sites. - Changed name of TemplateTest tool to PgTemplateTest so that it could be dropped into a general bin without ambiguity. Change PgTemplateTest to use the Pgreet::Config and Pgreet::Error modules, and incorporated the same logic for reading configuration files. Added support for reading secondary site files without requiring the user to specify directly the paths to the files. Changed the way CGI state variable were temporarily substituted. Created a new configuration file stored in the conf directory of the primary Penguin Greeting website: PgTemplateTest.conf that allows for the state variables to be specified as well as the browser and other variables. - Added a new configuration option: Force_to_array so that fields in the card configuration file could be specified as being stored as array references even when they are a single value and would be stored initially by Config::General as scalars. This is needed to avoid having to make awkward loop tests to avoid trying to do a foreach on a scalar and replaces a kludgy patch which ws not independent of the demonstration site configuration structure. - Modified BerkDB2text.pl and text2BerkDB.pl so that they are inverse operations of each other. This allows adminstrators to "edit" databases by converting them to text files and then converting them back. Users should note the 3 tabs between the key and data. - Created a new utility: PgreetDBinit.pl to initialize a Penguin Greeting Database set. - Created two demonstration secondary ecard sites: one of cards based on Camel photos taken at the Benicia Camel Races and one based on my Holy Images. Each site has variations on the same templates and configuration files. - Created support for multiple Penguin Greeting's web sites on the same server. Added an error 4 for attempts to access a non-existent secondary web site. Added additional logging support for secondary websites. - Created a new group of shared Perl object modules: Pgreet.pm, Pgreet/Error.pm, Pgreet/Config.pm to bring common tasks into single code base. Now error handling is one through one set of objects and CGI errors are sorted out from daemon calls to syslog. The configuration file system is handled by single module Pgreet/Config.pm. Also the reading and writing of state files is done in Pgreet.pm. - Added support to Install.PL for optionally installed files. There is a new binary attribute to file_data: optional. Optional files can be ignored by using the -i flag. Installer now installs PgreetDBinit and PgTemplateTest into a standard bin (default: /usr/local/bin) for the general use of the server's users. - Changed mail sending implementation in pgreetd.pl from using the UNIX standard 'sendmail' to directly communicating with the SMTP server of choice. This involves adding the following configuration variables in the group SMTP_server: Host, Hello, LocalAddr, LocalPort, and Timeout. All these variables come directly from the Perl 5.8.0 module Net::SMTP. This module will use either the localhost (the config file default) or any other available SMTP server. - Changed default encoding from 'binary' to '8bit' in MIME types. Thanks to David Talmage <talmage@acm.org> for observation and suggestion. - Corrected typos in various texts. The error message for a mismatched password had the world 'to' instead of 'do.' The French word 'chose' was mispelled. etc. - Added over 20 new cards in all categories including the cards for the 2 secondary ecard sites. The same images are used in both the primary and scondary ecard site to reduce the site the download archive. 2003-06-15 [elagache] 0.8.3 - Added the ability to pass state variables and values to TemplateTest.pl so that one can test a template with a given set of conditions. - Added a browser-view mode to TemplateTest.pl - Added loading the file pgreet.conf to TemplateTest.pl so that templates would be rendered with all the same configuration options as Penguin Greetings is normally. - Provided captions for all card thumbnails and provided users the chose to see the card full-size or start filling out that card. A preview of the full size image was always included in the page which asked for the card information, but you needed to scroll down to see it. Now users know what clicking on the image will do. - Provided two "quick-choose" menus that are inserted to the category and card selection pages. This allows users to select a card or category quickly or go back to another category if they didn't find anything in the category the chose. - Added a card-preview template allowing a visitor to see the card image in a fully mocked up template. This allows users to see what a card would look like with all features of the associated HTML template displayed. - Added support for a CGI "standby mode." Now it is possible to leave a message to users that the service is unavailable while working on Penguin Greetings internals. The templates implement a "will return to service" date and time for routine maintenance. - Added over 18 new cards in all categories including cards for United States Independence day (4th July.) Added a new "recently added cards" category to help users see which cards are new in a given release. 2003-05-29 [elagache] 0.8.2 - Added support for SpeedyCGI persistent Perl interpreters. Added new configuration variables: 'Timeout' and 'MaxRuns' to permit tuning of SpeedyCGI sessions. Created a conditional initialization subroutine so that the same code could be shared between the standard and SpeedyCGI versions of pgreet.pl.cgi. - Created a sed script to generate the SpeedyCGI version of pgreet.pl.cgi. Modified Install.PL to create the SpeedyCGI version and install it. The result of this choice is cached in installer.cache. - Changed error handling so that pgreet.pl.cgi will not die except for truly catastrophic failures that warrant bringing down a persistent interpreter. - Changed the way temporary state files and transfer files were made unique by computing the MD5 Digest instead of using the PID number. That way files could be generated by a persistent process and still be unique. - Added additional cards and 3 new categories: Patriotic, Fathers' Day, and Thank you. 2003-04-28 [elagache] 0.8.1 - Removed all "hard-wired" error messages in favor of a template based error reporting system with error code numbers. All calls that involve a fatal failure of pgreet.pl.cgi first call the subroutine 'Report_error' which will pass to the template set by the configuration variable 'default_error' with an error code number. In the template specified by 'default_error' is the translation table from code to whatever language the website is in. - Added a new system to check the contents of CGI form field variables based on the CPAN module: String::Checker. This allows content developers to specify the conditions that must be satisifed for Penguin Greetings to accept the result from a CGI form. These are specified in hidden fields which have special names. The values of these special form variables are a list of "expectations" that the field should meet. Otherwise Penguin Greetings will call a special template and report the error. - Added a new configuration option 'no_html_tags' which causes pgreet.pl.cgi to substitute < and > for the < > characters in the messages. This option should probably be left always on since HTML tags make no sense for text only messages. However, for some private servers, people may prefer to have the freedom to insert tags "on the fly" in their cards. - Added over 10 new cards and 3 new categories: Religious cards, Sympathy/Solace cards, and Mother's day cards. 2003-04-08 [elagache] 0.8.0 - Replaced the ad-hoc system of defining ecards using an array of images that was left over from WebGrams to a appropiate Perl data-structure which is defined in its own configuration file: cards.conf. Now every card has a unique symbolic name and the content of a card can be arbitarily defined both in type and number of items. This information is passed to templates without modification so that content developers can develop their own card data structures without modifying the Penguin Greetings code. - Upgraded documentation. Separated installation information from content development information. - Implemented a demonstration web site using the new card configuration information and Embperl that takes advantage of the power of Embperl when used with Perl data-structures. - Included many new cards (over 20 in all) in the following categories: Easter, St. Patrick's, Encouragement, Hello, General, Birthday, New_Year, Postcards, and Love. - Wrote a utility 'CardConfTest.pl' to examine cards.conf files, report any syntax errors, and provide a summary of the card contents. - Added support for backing up file targets in Install.PL using the facilities build into the BSD utility install. Added a system to test the version of the installer.cache so that users upgrading from one version of Install.PL to another won't have incompatibilities. - Fixed a bug in pgreet.pl.cgi in the way that message text was entered into the DBM databases. No conversion of tab characters was being performed. Since tab characters are used to delimit the fields in the database, this meant that parts of messages were being cut off. Now any tab characters entered into the message text are converted into 8 spaces. - Changed the way pgreet.pl.cgi handled execution from one template to the next. Before, the execution action was both an action for pgreet.pl.cgi to perform and the name of the next template to use. Now pgreet.pl.cgi expects an action to perform and a next_template to use. This allows any number of templates to be associated with the same action depending on how it is called. This allows content developers much more control on how their pages are executed. - Added a configuration variable 'hostname' and passed it into templates for content developers to use. Hostname defaults to the hostname of 127.0.0.1. - Added a CGI state variable 'card_count' that is passed to the templates for content developers. - Created a new utility picDB_to_cardDB.pl for users to convert pgreet 0.7.x databases into 0.8.0 databases. - Added loading in of the configuration file cards.conf in TemplateTest.pl so that content developers can see how the templates are being created using their own card configuration data. - Replaced incomplete copy of GPL license and added a Design Science License to state the copyright conditions for the card artwork now included in Penguin Greetings. 2003-03-20 [elagache]0.7.8 (0.8.0 Release Candidate) - Changed handling of embedded Perl variables in HTML templates from an ad-hoc system of substituting values for text to a system based on the Embperl module system (http://perl.apache.org/embperl/). Used a transfer hash to move values from the CGI script to Embperl environment for evaluation. Switched from internal scheme for recursively including templates to using the Embperl 'Execute' function. - Changed the default name of templates from '.tpl' to '.tpl.html'. This allows editors and other software to recognize that the content of templates is mostly HTML. Added a new configuration variable 'template_suffix' to allow users to choose another suffix if they desire. - Created a new utility program: 'TemplateTest.pl'. This script can be used to test if a HTML template file parses correctly by Embperl and if the variables to be passed into the HTML appear correctly. - Added another CGI state variable 'html_message' so that the context of the HTML message is available at the same time as the text message. - Added preliminary documentation to the Penguin Greetings' How-To on using Embperl in templates to create web cards and web pages to generate them. 2003-03-09 [elagache]0.7.1 - Replaced temporary install_pgreet.sh shell script with a home-brew Perl based installer: Install.PL. Install.PL has the standard functionality of an installer and makes the required system-checks for using Penguin Greetings. - Fixed a bug with the quick-access URLs. URLs were not encoded and thus passwords with whitespace would be dropped. Also, wrapped the URLs in angle brackets in the hope that email clients would avoid breaking the URL into multiple lines. - Added card images for Saint Patrick's day. 2003-02-05 [elagache]0.7.0 Initial release

    posted 1673 days ago

  • pgreet 1.0.0 file released: pgreet-1.0.0.tar.gz

    2005-06-06 [elagache]1.0.0 Identical to 0.9.9 release except for version number updates as needed for charity. Software now out of beta and in production/stable status. 2005-05-09 [elagache]0.9.9 RELEASE CANDIDATE FOR 1.0.0 - Added support for HTML::Mason as an alternative Embedded Perl in HTML framework to Embperl. Penguin Greetings can now support either framework and a single pgreet.pl.cgi application can serve secondary ecard sites in both Embperl and Mason at the same time. - Created a new secondary ecard site using HTML::Mason: "Savoring the sights of Seattle" that features photos taken while I was working for Amazon.com in Seattle (Development of Mason is occuring mostly at Amazon.com.) - Created a collection of general use Embperl templates to simplify the creation of ecard sites by handling the routine chores required for any ecard creation. - Moved all bilingual ecard sites but the Saints card collection to use Locale::Maketext Perl module for localization. Created a new module in the Pgreet library: Pgreet:I18N to implement the new localization scheme. - Added support in the Embperl layer for automatically displaying card categories between configurable dates. - Updated default site, PgSaint and PgXmas sites to use Object-Oriented Embperl. Gave sites revised website graphics and a general face-lift. - Fixed a bug in Pgreet::Config that would cause Embperl secondary sites to use the object-oriented environment of the primary card site if the primary site was object-oriented. - Fixed a bug in pgreet.pl.cgi related to error condition: 111. This error no longer causes the script to exit forcing SpeedyCGI to start up a new process. - Fixed a logging bug in pgreetd that could cause the daemon to crash when a warning was to be logged. - Added over 50 cards to the default, PgXmas and PgPoppy sites in addition to the 16 new cards uniquely included in the PgSeattle site. 2004-03-30 [elagache]0.9.8 - Created a new demonstration ecard site: Pg4Seasons - The Penguin Greetings Four Seasons collection which includes 24 new images from Northern California and uses the capabilities of Embperl to create customizable ecards. This site demonstrates the flexibility of the Penguin Greeting ecard engine. - Added a test to pgreet.pl.(s)cgi to compare the ecard name in the request against a list (array) in the card.conf file of a given site under the name 'cards'. If a 'cards' array exists, but the card name requested isn't on that list, Penguin Greetings produce a standard error (error number 40) in reply. - Added error number 40 to error_messages.pl files in all ecard sites (English and French.) - Created a new installer for object-oriented secondary ecard sites: install_site_obj.sh - Fixed a bug in Pgreet::CGIUtils that prevented more than one template to bypass object-oriented processing. - Added 8 new cards and revised 9 others in the general collection (these in addition to the 24 new cards which only appear in the Four Seasons collection.) All the Holy image cards have been reworked to appear more natural and human. In addition there are 2 new Easter cards. 2004-03-06 [elagache]0.9.7 NOTE: 0.9.6 was never released except for the Pgreet Perl module. - Added a -x command line switch to PgTemplateTest to allow the utility to automatically purge temporary HTML files that were older than 'purge_after' days. A new configuration item 'purge_after' was added. - Created prototype command line utility 'PgreetDButil.pl' that can "manually" purge old cards from database if administrators on as "as needed" basis. The utility can also create compacted copies of database files. - Added 'Log::Dispatch' to list of prerequisites that are checked by 'Install.PL' and included it in documentation. - Changed the Embperl code that generates the popup menu for quickly selecting a card to chomp a card caption when they run over 80 characters. The more complicated cards would run more than double that and would cause the popup menu to extend beyond the end of banner of the default web site. - Implemented reloading of configuration files for application daemon and SpeedyCGI web application 'pgreet.pl.scgi'. This can be done via a SIGHUP signal and is done periodically via the configuration variable 'reload_config'. SIGHUP automatically causes SpeedyCGI apps to reload. - Rewrote and cleaned up event loop in application daemon. Now all events are controled by specifying how often in time they are to be performed. Replaced the confusion 'flush_on_cycle' with 'flush_pause' indicating now many seconds between flushing stale state files. - Implemented transparent caching of Secondary ecard information in Pgreet::Config so that persistent applications like SpeedyCGI version of pgreet.pl.scgi and the application daemon can access secondary ecards sites without going back to the disk files - greatly speeding up access of secondary ecard sites. However, this means that these applications must reload the Pgreet::Config object every time any configuration file is changed. - Implemented purging of old cards after a certain number of days. A backup copy of the databases is left in the same directory as a adminstrative resource. Code to implement purging is housed in Pgreet::DaemonUtils module. - Created a new module: Pgreet::DaemonUtils to house code shared between the application daemon and command line utilities. - Fix a bug caused by creating a new Pgreet::Error object and omitting to attach the active Pgreet::CGIUtils object to it for secondary ecard sites. - Moved the code that actually calls Embperl into the Pgreet::CGIUtils module. That way there is a uniform interface for Embperl for all applications that use it (pgreet.pl.cgi and PgTemplateTest for example.) - Added the CGI environment variable lang_code so that web site developers can have the templates change behavior based not only on raw the HTTP_ACCEPT_LANGUAGE string, but the string returned from I18N::AcceptLanguage negotiation. - Created a California Poppy themed secondary ecard site that takes advantage of the Embperl::Object features supported in Penguin Greetings. The site was produced in English and French using components common to both sites. - Passed the version number string $VERSION from the pgreet.pl.(s)cgi application to the templates so that developers could determine and program based on the version of Penguin Greetings they were running under. - Added new California Poppy themed ecards. Replaced old ecards which were not photo-based with updated images more in keeping with the present collection. Disabled a few cards that were reduntant but left them in distribution. Added new cards for St. Patricks day. 2004-01-15 [elagache]0.9.5 - Added support for Localization/Internationalization based on the browser environment variable HTTP_ACCEPT_LANGUAGE. This is done by using the CPAN module: I18N::AcceptLanguage. Each supported language is implemented as a secondary ecard site. - Translated the PgSaint secondary ecard site into French. Provided a Christmas ecard site PgXmas in English and French. - Reworked the Holy ecard images for the PgSaint ecard site using the enhanced capabilities of Canvas-9 to make the interface between the statues and background much less visible. - Added new ecards for Valentine's day. 2003-12-14 [elagache] 0.9.4 - Added final cards for Christmas 2003. This is a partial release to provide Christmas and New Year cards for those sites that use the Penguin Greeting content in time for users to compose their Christmas cards. - Fixed a bug in preview template that only allowed users to send cards to months in the future of the current year. This prevented sending cards in the start of the following year. 2003-11-18 [elagache] 0.9.3 - Added tests to creation of URL short cut in CGIUtils.pm so that it is impossible to attempt to create one without having all the pieces defined. This avoids a join warning. - Cleaned up code and improved code documentation in pgreetd.pl. Replaced obsolete early exit calls with proper shutdown_daemon calls where appropriate. removed a superfulous DBopen call that was duplicated in a subroutine by later subroutine revisions. - Cleaned up code in pgreet.pl.(s)cgi to remove global variables that had been eliminated over time but not "garbage collected." Improved code modularity. Improved code commenting. - Corrected faulty logic in pgreet.pl.(s)cgi. The error of mismatched login/password was being reported twice. - Changed the way errors are reported pgreet.pl.(s)cgi so that error messages are always logged first before displaying the error template. That way catastrophic failures will leave a log message if possible. - Added 14 new ecards including 5 new cards for Thanksgiving and 3 Christmas/Holiday Season cards. 2003-09-29 [elagache] 0.9.2 - Added support for a suffix when creating a string to launch a browser with PgTemplateTest. Changed launch string in configuration file for mozilla to assume an existing process and create a new tab in the existing window. - Fixed two bug in the email envelope headers. When switching from using sendmail to Net::SMTP, the 'From: ' line was accidentally omitted. Also, the Date: field was lost because when the card is created, the date stamped does take into account that the card may be scheduled to be sent later. This field was therefore changed into the pseudo field: X-Date-Written. That left a missing Date field. - Implemented CGI framework to implement moving backward in the ecard creation process. Because Penguin Greetings retains state from one creation page to the next, this meant transporting that state information rather than storing it anew. + Added code to "rewrite" (i.e. create an intermediate state file) that contained the settings provided by the user before any processing by pgreet.pl.cgi. This insures the integrity of the user data and avoids any risk of overflowing even POST requests. - Changed the default site to use the CGI version of back buttons. This is not as straightforward as using some client side solution such as JavaScript. The secondary ecard sites have been left with JavaScript back buttons to illustrate the differences. - Created a new module: Pgreet::CGIUtils that contains the old subroutine ChangeVars. This module is for any routines that are needed for CGI access and must be shared between the CGI Application and the modules of Penguin Greetings. - Added ecards for Halloween. 2003-08-31 [elagache] 0.9.1 - Created a framework to test Penguin Greetings configuration parameters based on String::Checker: + Added methods to Pgreet::Config to test parameters with String::Checker. Added Penguin Greetings specific predicates to fill out testing tools. Test results are returned as a hash reference to calling application to provide diagnostic support. + Added tests to pgreetd to check if configuration variables are usable before proceeding. If the primary configuration file has unusable variables, the daemon will terminate. If a secondary configuration file has unusable variables. that website will not be processed until the file is fixed. + Added a new utility PgreetConfTest that provides detailed diagnostic information for configuration variables that are not usable. This utility avoids the need to spew out very long error message into syslog and/or the Penguin Greetings log file. - Fixed a bug in the Installer configuration that caused the pgreet UID and PID to be quoted and thus not interpreted as numbers. - Added cards for Grandparents day and Grandparents in general. 2003-08-25 [elagache] 0.9.0 - Changed files so that they can now be localized by the installer. Both applications and configuration files are now localized directly by the installer. - Extensively rewrote Install.PL to incorportate the following additional functionality. + Install.PL now provides the ability to make simple text substitutions within the files it installed. This can be used for both application and configuration files. + Install.PL can now store arbitrary strings that can be used within the installation (for example to substitute strings that are the user must be prompted for.) + Install.PL can now install a list of Perl modules using the CPAN Perl module. + Install.PL can run arbitrary predicates for testing the environment. + Install.PL has a systematic scheme for installing optional files as well as a "one-time" ignore scheme for files that can be from time to time skipped. + Install.PL has a much expanded cache system that caches all the items above in addition to the file configuration. - Changed default installation to not be login only, so that administrators do not have to create an .htpasswd file in order to test their installation. - Created a CPAN installation bundle to simplify the task of installing the required modules for Penguin Greetings. - Uploaded Pgreet.pm module to CPAN to simplify installation of that module by using CPAN module. - Split off part of Penguin Greetings Installation guide into Penguin Greeting Administrators' Guide. - Added over 15 new cards in multiple categories 2003-07-22 [elagache]0.8.8 - Added support for a user-defined subject line for the email message. This makes the cards more personally noticable to a recipient (especially someone who gets a lot of email) and may reduce the risk of a Penguin Greeting getting wrongly tagged as spam. - Fixed some Install.PL bugs that prevented directories from being created and/or assigned the right user/group ID. - Move the hash of error messages test into separate file error_messages.pl that can be loaded into either primary or secondary web sites. - Changed name of TemplateTest tool to PgTemplateTest so that it could be dropped into a general bin without ambiguity. Change PgTemplateTest to use the Pgreet::Config and Pgreet::Error modules, and incorporated the same logic for reading configuration files. Added support for reading secondary site files without requiring the user to specify directly the paths to the files. Changed the way CGI state variable were temporarily substituted. Created a new configuration file stored in the conf directory of the primary Penguin Greeting website: PgTemplateTest.conf that allows for the state variables to be specified as well as the browser and other variables. - Added a new configuration option: Force_to_array so that fields in the card configuration file could be specified as being stored as array references even when they are a single value and would be stored initially by Config::General as scalars. This is needed to avoid having to make awkward loop tests to avoid trying to do a foreach on a scalar and replaces a kludgy patch which ws not independent of the demonstration site configuration structure. - Modified BerkDB2text.pl and text2BerkDB.pl so that they are inverse operations of each other. This allows adminstrators to "edit" databases by converting them to text files and then converting them back. Users should note the 3 tabs between the key and data. - Created a new utility: PgreetDBinit.pl to initialize a Penguin Greeting Database set. - Created two demonstration secondary ecard sites: one of cards based on Camel photos taken at the Benicia Camel Races and one based on my Holy Images. Each site has variations on the same templates and configuration files. - Created support for multiple Penguin Greeting's web sites on the same server. Added an error 4 for attempts to access a non-existent secondary web site. Added additional logging support for secondary websites. - Created a new group of shared Perl object modules: Pgreet.pm, Pgreet/Error.pm, Pgreet/Config.pm to bring common tasks into single code base. Now error handling is one through one set of objects and CGI errors are sorted out from daemon calls to syslog. The configuration file system is handled by single module Pgreet/Config.pm. Also the reading and writing of state files is done in Pgreet.pm. - Added support to Install.PL for optionally installed files. There is a new binary attribute to file_data: optional. Optional files can be ignored by using the -i flag. Installer now installs PgreetDBinit and PgTemplateTest into a standard bin (default: /usr/local/bin) for the general use of the server's users. - Changed mail sending implementation in pgreetd.pl from using the UNIX standard 'sendmail' to directly communicating with the SMTP server of choice. This involves adding the following configuration variables in the group SMTP_server: Host, Hello, LocalAddr, LocalPort, and Timeout. All these variables come directly from the Perl 5.8.0 module Net::SMTP. This module will use either the localhost (the config file default) or any other available SMTP server. - Changed default encoding from 'binary' to '8bit' in MIME types. Thanks to David Talmage <talmage@acm.org> for observation and suggestion. - Corrected typos in various texts. The error message for a mismatched password had the world 'to' instead of 'do.' The French word 'chose' was mispelled. etc. - Added over 20 new cards in all categories including the cards for the 2 secondary ecard sites. The same images are used in both the primary and scondary ecard site to reduce the site the download archive. 2003-06-15 [elagache] 0.8.3 - Added the ability to pass state variables and values to TemplateTest.pl so that one can test a template with a given set of conditions. - Added a browser-view mode to TemplateTest.pl - Added loading the file pgreet.conf to TemplateTest.pl so that templates would be rendered with all the same configuration options as Penguin Greetings is normally. - Provided captions for all card thumbnails and provided users the chose to see the card full-size or start filling out that card. A preview of the full size image was always included in the page which asked for the card information, but you needed to scroll down to see it. Now users know what clicking on the image will do. - Provided two "quick-choose" menus that are inserted to the category and card selection pages. This allows users to select a card or category quickly or go back to another category if they didn't find anything in the category the chose. - Added a card-preview template allowing a visitor to see the card image in a fully mocked up template. This allows users to see what a card would look like with all features of the associated HTML template displayed. - Added support for a CGI "standby mode." Now it is possible to leave a message to users that the service is unavailable while working on Penguin Greetings internals. The templates implement a "will return to service" date and time for routine maintenance. - Added over 18 new cards in all categories including cards for United States Independence day (4th July.) Added a new "recently added cards" category to help users see which cards are new in a given release. 2003-05-29 [elagache] 0.8.2 - Added support for SpeedyCGI persistent Perl interpreters. Added new configuration variables: 'Timeout' and 'MaxRuns' to permit tuning of SpeedyCGI sessions. Created a conditional initialization subroutine so that the same code could be shared between the standard and SpeedyCGI versions of pgreet.pl.cgi. - Created a sed script to generate the SpeedyCGI version of pgreet.pl.cgi. Modified Install.PL to create the SpeedyCGI version and install it. The result of this choice is cached in installer.cache. - Changed error handling so that pgreet.pl.cgi will not die except for truly catastrophic failures that warrant bringing down a persistent interpreter. - Changed the way temporary state files and transfer files were made unique by computing the MD5 Digest instead of using the PID number. That way files could be generated by a persistent process and still be unique. - Added additional cards and 3 new categories: Patriotic, Fathers' Day, and Thank you. 2003-04-28 [elagache] 0.8.1 - Removed all "hard-wired" error messages in favor of a template based error reporting system with error code numbers. All calls that involve a fatal failure of pgreet.pl.cgi first call the subroutine 'Report_error' which will pass to the template set by the configuration variable 'default_error' with an error code number. In the template specified by 'default_error' is the translation table from code to whatever language the website is in. - Added a new system to check the contents of CGI form field variables based on the CPAN module: String::Checker. This allows content developers to specify the conditions that must be satisifed for Penguin Greetings to accept the result from a CGI form. These are specified in hidden fields which have special names. The values of these special form variables are a list of "expectations" that the field should meet. Otherwise Penguin Greetings will call a special template and report the error. - Added a new configuration option 'no_html_tags' which causes pgreet.pl.cgi to substitute < and > for the < > characters in the messages. This option should probably be left always on since HTML tags make no sense for text only messages. However, for some private servers, people may prefer to have the freedom to insert tags "on the fly" in their cards. - Added over 10 new cards and 3 new categories: Religious cards, Sympathy/Solace cards, and Mother's day cards. 2003-04-08 [elagache] 0.8.0 - Replaced the ad-hoc system of defining ecards using an array of images that was left over from WebGrams to a appropiate Perl data-structure which is defined in its own configuration file: cards.conf. Now every card has a unique symbolic name and the content of a card can be arbitarily defined both in type and number of items. This information is passed to templates without modification so that content developers can develop their own card data structures without modifying the Penguin Greetings code. - Upgraded documentation. Separated installation information from content development information. - Implemented a demonstration web site using the new card configuration information and Embperl that takes advantage of the power of Embperl when used with Perl data-structures. - Included many new cards (over 20 in all) in the following categories: Easter, St. Patrick's, Encouragement, Hello, General, Birthday, New_Year, Postcards, and Love. - Wrote a utility 'CardConfTest.pl' to examine cards.conf files, report any syntax errors, and provide a summary of the card contents. - Added support for backing up file targets in Install.PL using the facilities build into the BSD utility install. Added a system to test the version of the installer.cache so that users upgrading from one version of Install.PL to another won't have incompatibilities. - Fixed a bug in pgreet.pl.cgi in the way that message text was entered into the DBM databases. No conversion of tab characters was being performed. Since tab characters are used to delimit the fields in the database, this meant that parts of messages were being cut off. Now any tab characters entered into the message text are converted into 8 spaces. - Changed the way pgreet.pl.cgi handled execution from one template to the next. Before, the execution action was both an action for pgreet.pl.cgi to perform and the name of the next template to use. Now pgreet.pl.cgi expects an action to perform and a next_template to use. This allows any number of templates to be associated with the same action depending on how it is called. This allows content developers much more control on how their pages are executed. - Added a configuration variable 'hostname' and passed it into templates for content developers to use. Hostname defaults to the hostname of 127.0.0.1. - Added a CGI state variable 'card_count' that is passed to the templates for content developers. - Created a new utility picDB_to_cardDB.pl for users to convert pgreet 0.7.x databases into 0.8.0 databases. - Added loading in of the configuration file cards.conf in TemplateTest.pl so that content developers can see how the templates are being created using their own card configuration data. - Replaced incomplete copy of GPL license and added a Design Science License to state the copyright conditions for the card artwork now included in Penguin Greetings. 2003-03-20 [elagache]0.7.8 (0.8.0 Release Candidate) - Changed handling of embedded Perl variables in HTML templates from an ad-hoc system of substituting values for text to a system based on the Embperl module system (http://perl.apache.org/embperl/). Used a transfer hash to move values from the CGI script to Embperl environment for evaluation. Switched from internal scheme for recursively including templates to using the Embperl 'Execute' function. - Changed the default name of templates from '.tpl' to '.tpl.html'. This allows editors and other software to recognize that the content of templates is mostly HTML. Added a new configuration variable 'template_suffix' to allow users to choose another suffix if they desire. - Created a new utility program: 'TemplateTest.pl'. This script can be used to test if a HTML template file parses correctly by Embperl and if the variables to be passed into the HTML appear correctly. - Added another CGI state variable 'html_message' so that the context of the HTML message is available at the same time as the text message. - Added preliminary documentation to the Penguin Greetings' How-To on using Embperl in templates to create web cards and web pages to generate them. 2003-03-09 [elagache]0.7.1 - Replaced temporary install_pgreet.sh shell script with a home-brew Perl based installer: Install.PL. Install.PL has the standard functionality of an installer and makes the required system-checks for using Penguin Greetings. - Fixed a bug with the quick-access URLs. URLs were not encoded and thus passwords with whitespace would be dropped. Also, wrapped the URLs in angle brackets in the hope that email clients would avoid breaking the URL into multiple lines. - Added card images for Saint Patrick's day. 2003-02-05 [elagache]0.7.0 Initial release

    posted 1673 days ago

  • Code committed

    elagache committed patchset 1207 of module pgreet to the Penguin Greetings CVS repository, changing 4 files

    posted by elagache 1676 days ago

Rate and Review

Be the first person to add a text review.

Would you recommend this project?






<

Related Projects

Penguin Greetings Actions

Thanks for your rating!

Would you also like to write a review?





Skip Review

Thanks for your review!

Get credit for your review by logging in via OpenID. Click your account provider:

No Thanks