# Geeklog Readme (September 15, 2007)

## Table of Contents

1. What is Geeklog?
2. Features
   1. Blog/CMS Features
   2. Administration Features
   3. Security Features
   4. Developer Features
3. Support
   1. Mailing Lists
   2. IRC Channel
   3. Known Issues
4. System Requirements and Installation
5. Security Issues
6. License
7. Special Thanks
8. Further Documentation

## What is Geeklog?

Geeklog is a PHP/MySQL based application for managing dynamic web content.

"Out of the box", it is a blog engine, or a CMS with support for comments, trackbacks, multiple syndication formats, spam protection, and all the other vital features of such a system.

The core Geeklog distribution can easily be extended by the many community developed plugins to radically alter its functionality. Available plugins include forums, image galleries, and many more.

Geeklog was originally used to run SecurityGeeks and NewsGeeks, and has since been released under the GNU General Public License. It is a bona fide Open Source / Free Software project. The template code Geeklog uses is from PHPLib, however, which is under the LGPL.

Geeklog was originally created by Jason Whittenburg, but like all good open source projects, depends on the community. Geeklog 1.5 is currently maintained by Dirk Haun whilst Tony Bibbs focusses on Geeklog 2. Thanks for your continued support, and let us know what we can do to make Geeklog better.

For the installation instructions please see install.html.

To get the latest Geeklog source, read the latest Geeklog news, and participate in Geeklog discussions, visit the Geeklog site: http://www.geeklog.net

## Features

Geeklog is an extremely extensible system, however a summary of Geeklog's features are as follows:

### Blog/CMS Features

- Create, Schedule, Post and Edit articles in multiple topics
- Save story drafts until they are ready for publishing.
- Control over formatting used in articles (HTML whitelists)
- Control over acceptable content (filtering of offensive language)
- Embed images or other content in articles
- Multiple Authors can post
- Submissions from users
- Support for comments, trackbacks and pingbacks
- Export and import in all common syndication formats (RSS/RDF/Atom etc)
- Spam detection and rejection
- Robust calendar feature with support for personalized calendars.
- Support for OpenID and other remote authentication methods.
- Extendible via numerous Open Source plugins.

### Administration Features

- Easy to install with a new automated installer in 1.5
- Fully support for internationalization and localization
- Easy to use admin interface
- Admin interface has complete configurability for all Geeklog Functions.
- User-specified theming engine for custom look and feel.

### Security Features

- User accounts and access controls.
- Robust *nix-like security model for all objects which can be extended for use in plugins
- Access can be defined for each article, topic etc
- All passwords are stored encrypted.
- All admin access is logged.
- All errors are logged.
- Complete error logging on all forms and SQL calls.

### Developer Features

- Plugin support with API for developers.
- A fully configurable block system, with php-in-block support.
- Well organized codebase, use of PHP's Object-Oriented features.
- Thin database abstraction layer allowing Geeklog to be ported to DBMS's other than the defaults (MySQL and MSSQL supported directly).

## Support

### Mailing Lists

The best support channel is a mailing list located at: http://lists.geeklog.net/mailman/listinfo/geeklog-users
Additionally the Geeklog home page is a good source of information at: http://www.geeklog.net

### IRC Channel

There is also a IRC channel, where we have live Geeklog chat. Once you have IRC client such as mIRC (www.mirc.co.uk), or BitchX the you can log on:

- Server: irc.freenode.net
- Channel: #Geeklog

## Known Issues

All known issues are tracked in our bug tracker. If you identify a bug please let us know by filling out a bug report at: http://project.geeklog.net/tracking/

## System Requirements and Installation

See public_html/docs/install.html or the Geeklog.net site: http://www.geeklog.net/docs/install.html

## Security Issues

Geeklog is a security focussed CMS. We have focussed on making the code secure and the application secure, and have been rewarded with a comparatively low level of exploits having been identified and published by third parties.

We have provided a set of API's and coding guidlines to ensure third party plugin developers do not compromise the security of a Geeklog installation, however, we can not garentee that our work or theirs is secure.

It is up to you to properly secure your database, web server and host settings. If you are looking for information in securing your system some starting points we can recommend are:

- http://www.php.net
- http://www.mysql.com
- http://www.apache.org
- http://www.devshed.com
- http://www.securityfocus.com
- http://www.linux.com

## License

Geeklog is licensed under the GPL. There should be an included LICENSE file - if it really interests you (or you having trouble sleeping) go ahead and read it.

In a nice gesture you could provide a link back to us: http://www.geeklog.net

There is also a button that is in the release that we would appreciate you use (in public_html/images/buttons).

## Special Thanks

I want to send out thanks to:

- Jason Whittenburg - He is the original Geeklog developer!
- PHPWebLog Project - Some of the functions in Geeklog came from them!
- PHPSlash Project - Some of the functions in Geeklog came from them!
- thatphpware Project - Some of the functions in Geeklog came from them!
- PHPBB Project - Some of the functions in Geeklog came from them!
- PHPLib Project - Thanks for the great template engine!

And of course, all the members of the Geeklog mailing lists and IRC channel.

## Further Documentation

Read the documents in the public_html/docs directory for more information, etc.

See also:

- FAQ: http://www.geeklog.net/faqman/
- Support Forum: http://www.geeklog.net/forum/
- Wiki: http://wiki.geeklog.net/
- Plugin Developers Guide: http://gplugs.sourceforge.net/pluginman/

## Appendix A - readme history

Version control information:
$Id: readme,v 1.19 2008/03/16 18:32:25 dhaun Exp $

- 2007-09-15 - readme re-write (mjervis)
- 2007-09-09 - Fixed mailing list URL (dhaun)
- 2007-08-05 - GeekLog to Geeklog (dhaun)
- 2004-08-13 - Documentation path updates (dhaun)
- 2003-12-22 - Minor updates (dhaun)
- 2002-12-28 - URL updates (dhaun)
- 2002-08-14 - IRC Channel updates (dhaun)
- 2002-08-11 - Minor updates (dhaun)
- [various]
- 2001-08-18 - First readme file.