Geeklog Documentation

# Thank You!

First of all, a big Thank You for downloading Geeklog. We have spent a long time working on making this the best weblog software we can, and I am sure you will find it very easy to use, and very powerful.

These documents have been created to make Geeklog even easier for you! Apart from the usual stuff like how to install Geeklog, we also provide links to the full Developer API documentation, so you can develop your own themes and plugins and make it even better.

- Features of Geeklog
- Introduction
- How to install Geeklog (includes updating instructions)
- Configuration Options
- Pre-installed plugins
  - Calendar plugin - a calendar for your site
  - Links plugin - your collection of links to other sites
  - Polls plugin - let your users vote on something
  - Spam-X plugin - fight comment spam!
  - Static Pages plugin - for other static and non-static content
  - XMLSitemap plugin - creates `sitemap.xml` files for search engines
- Trackback, Pingback, Ping
- Geeklog's API
  - Plugin Development
  - Theme Development
- Support
- List of Changes

Further information about using Geeklog can be found in our ever-expanding Geeklog Documentation Wiki, maintained by the Geeklog community.

## Features of 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.

### 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, OAuth, and other remote authentication methods.
- Extendible via numerous Open Source plugins.

### Administration Features

- Easy to install with an automated installer
- 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, PostgreSQL, and MS SQL supported directly).

## Introduction

Geeklog was originally developed for the Security Geeks web site and was originally authored by Jason Whittenburg. In early 2001, Jason decided it was time to devote his time to other things and handed the project over to Tony Bibbs. Three years later, Tony handed the project over to Dirk Haun, who has since been acting as the Geeklog maintainer.

Geeklog is bona fide open-source software and has been released under the GNU GPLv2 for use by others. Configuring Geeklog is meant to be an easy process though it will require you to have access to several components of your system.

This document is still evolving, so there may be unintended omissions or various steps may be over or under explained. It's assumed that you have some working experience with some form of Apache (or IIS), SQL databases (such as MySQL, PostgreSQL, and MS SQL), and PHP.