HOME

TheInfoList



OR:

Greymatter is a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
blogging software package, originally created by Noah Grey in November 2000. It was "the original opensource weblogging software". Noah Grey stopped maintaining it around 2002. Since then, it has been maintained by the community of users. It is one of the first software packages created for blogging, and had a large number of users. With the creation of WordPress and Google's Blogspot, its users have declined since 2005, but it is still in use. Greymatter does not require a database; its only requirement is
Perl Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
support on a webserver. It features robust options and extensibility, with a focus on customization and user control. Its current version is 1.8.2.


Design

Greymatter is written in Perl, designed as a
CGI script In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program, typically to process user requests. Such programs are often written in a scripting language and are commonly ref ...
placed in the cgi-bin directory of a website. The blog can be displayed on the website's homepage or in a subdirectory. The archives are in a user customized folder on the server, typically called "archives". The main, archive, and entry pages are written in
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
.


Source files

* GM.cgi is the main powerhouse of the program and the largest file. * GM-Authors.cgi contains author information, which is now encrypted (as of version 1.21d) * GM-Banlist.cgi contains a list of banned IPs (usually comment spammers) which is editable through GM.cgi. * GM-Comments.cgi contains the subroutines not only for comment posting and viewing but also for searching entries. * GM-Config.cgi has information relating to user preferences and site information. * GM-Counter.cgi keeps track of the number of entries, archived entries (entries older than X number of days, specified by user, default 7), the "stay at top" entry which sits at the top of the main page, positive and negative karma votes, comments, opened entries, and closed entries (equivalent of deleted entries but can be re-opened at any time). * GM-CPLog.cgi contains raw HTML for the control panel log (optional feature, user specified). * GM-Entrylist.cgi is a list of all of the entries and information about each (time of post, author, and so on). * GM-Karma.cgi contains the subroutines for karma voting. * GM-Library.cgi contains the most used subroutines. * GM-Templates.cgi contains the user-specified templates for the site's HTML and the format of the entry. * GM-Upload.cgi is the script that enables users to upload files to their site through Greymatter to their archives directory.


Functionality


Static pages

Greymatter creates static pages. Therefore, when an entry is edited, only the main page and the entry's page are rebuilt (but not the monthly or weekly archive file). While static pages are arguably quicker to load for the user, it is time-consuming for the author and resource intensive for the user to constantly rebuild files. Also, by using static pages, at least twice as much space is used on the server as is needed (the entry files, .cgi format, as well as individual entry pages in HTML and weekly or monthly archive logs in HTML). Besides this, sometimes rebuilding is impossible and leads to Greymatter timing out and showing a blank window (usually when there are massive numbers of entries being rebuilt, or when attempting to rebuild all files).


Raw HTML

Raw
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
is included in Greymatter's original Perl source files. The developers discussed the idea of extracting the HTML used in the Greymatter front page's many tables, and a version was made, but was never popularized. This leads the Greymatter source files to be larger than necessary (mostly GM.cgi).


Usability

Because Greymatter is written in Perl, files need to be given the proper permissions with the
chmod In Unix and Unix-like operating systems, is the command and system call used to change the access permissions and the special mode flags (the ''setuid'', ''setgid'', and ''sticky'' flags) of file system objects ( files and directories). Coll ...
command before use. Though an experienced web guru or installer can make the installation in under five minutes, for a one-time install it is more work than many other programs available. It is advertised as being for novice or advanced users. However, Greymatter does automatically try to detect web paths (though not usually successfully) and has many common defaults set.


Customization

Greymatter uses custom designed templates (usually written in HTML), which can be used to completely configure the look and feel of the blog, rather than relying upon static "templates" like Blogspot. This allows the software to integrate into the look and feel of the author's website.


Too many entries

While Greymatter saves entries with 8-digit filenames in the format XXXXXXXX.cgi, after 5,000 entries diagnostic mode would not work in early versions. This bug was fixed, but shows that large numbers of entries hinder Greymatter's performance ability and were not truly planned for.


Features

Greymatter's main features are that it is written in Perl, resides on your own server, and saves .cgi files of the entries (plain text format), as opposed to using
PHP PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
and a
MySQL MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
database (as most blogging software use today). Greymatter has many mods which let users use
emoticons An emoticon (, , rarely , ), short for "emotion icon", also known simply as an emote, is a pictorial representation of a facial expression using characters—usually punctuation marks, numbers, and letters—to express a person's feelings ...
and post the current mood and/or music of the user. There is also an "entrymore" text, which is displayed on the entry's individual page, allowing users to customize the summary which appears on the main page of the blog. Greymatter is easy to customize and is open-source, allowing users to edit the HTML and/or Perl contained within. Many users have been known to edit the color scheme of the Greymatter user page (originally purple, yellow, and green). Greymatter contains many variables within double curly braces (i.e. displays the subject). These variables let users completely customize the way Greymatter displays entries and also the layout of the page. While some variables are predefined by Greymatter, the and variables can contain anything from HTML to Perl.


Mods and edits

Many users have edited Greymatter; this is possible because it is open-source. The best known mods are by Foshdawg for the 1.21 versions, and later by Pete Finnigan. The site also includes information on the set up of all of the cgi files Greymatter uses. Popular mods in early development of Greymatter have been made by flippedcracker and Linear. Hazelorb also implemented dynamic Perl pages and was at one time working on a Java version, showing that Greymatter is extendable. It has been suggested that Greymatter be rewritten in PHP using mySQL. Developers at the Greymatter Forums continue to create new mods and feature requests.


Future

As of February 2001, Greymatter is no longer being developed by Noah Grey, but is instead being maintained and occasionally updated by developers at the Greymatter Forums. Pete Finnigan and Coldstone have been maintaining some more recent versions. Though a core group had been attempting a rewrite as Greymatter 2 (which was set to include RSS/Atom support), a new version has not been released since 2008 and development is not extremely active. Greymatter is believed to be "dead." Noah Grey has no plans to resume involvement with Greymatter in any form. Originally he had said that future versions of Greymatter might not be free, and that he might eventually release a commercial "pro" version. Instead of a "pro" version, Grey had written an all-new PHP- and MySQL-based CMS, Greysight, which was licensed to commercial and private clients.


References

{{reflist


External links

* Greymatter Downloads: http://web.petefinnigan.com/greymatter.htm * Greymatter Forums: http://greymatterforum.proboards.com/ * Greymatter Mods: http://web.petefinnigan.com/greymatter_mods.htm * Setting up Greymatter with RSS 1.0: https://web.archive.org/web/20100820132458/http://webword.com/moving/rss.html


See also

*
Weblog software A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order s ...
Perl software Blog software