This is Uberghey CMS                                             version 0.3.0

Contents:
1. Introduction
2. Installation
3. Theming
4. Managing
5. Modules
6. Thanks

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
1. Introduction

  This is an attempt at writing some documentation for Uberghey CMS. Uberghey
CMS started its life as the backend for my personal portfolio, but has since
grown in leaps and bounds.
  From simply being able to translate data from text files into a web-page
(e.g. a theme engine), it now includes an interface for managing these files,
their menus and everything else. It even has support for modules, written in
PHP.

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
2. Installation

  Installing Uberghey CMS is an immensely simple, three step operation:

  A. Decompress the downloaded package
  B. Upload to your web-server
  C. Do one of the following (II is more secure, though also not so flexible)
     I.  Set read-write permissions for everybody on the setup folder and all
         the files contained within
     II. Set the user and group of the setup folder and all files contained
         within to the user and group that is running the web-server

  You're done! Now all you have to do is make the themes you wish to use, which
is described in the next chapter.

---------------------------------------
2.1 Requirements:

  As for requirements, Uberghey CMS itself is very simple, because all it
requires is PHP 4.1.0 and register_globals has no influence on Uberghey CMS'
ability to function.
  The Gallery module requires the GD library, version 2 to work (used for
scaling uploaded images, so if you only need to show a gallery and not add new
images, it will work fine without GD2).

---------------------------------------
2.2 Options:

  There are a number of options you can set, all of which are set in the top of
the index.php file - especially the site owner should be changed, as this is
the name that shows up on the front page.

  You may also wish to set the RewriteBase option found in the .htaccess file.
It defaults to using the base /, which will work if you access the site by for
example www.somesite.com, and not www.somesite.com/thesite/ This will enable
you to use some more sane URLs to redirect people to your website's content.
If you have the site in a subfolder, you will need to change it from / to
whatever the base URL for your website is (for example /~username/mysite/ if
you access it through www.somesite.com/~username/mysite/ ).

  /content/title in stead of
       index.php?page=title

  /content/title/language in stead of
       index.php?page=title&language=language

  /user/username in stead of
       index.php?user_id=username

  /user/username/module in stead of
       index.php?user_id=username&module=profilemodule=module

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
3. Theming

  Theming for Uberghey CMS is a simple process, involving only knowledge of
HTML (or WML or XHTML or whichever type of web-technology you wish to use).
The only requirement is a specific set of styles used by the management
interface. The CSS can be found in the sample theme, and is the only content
of the CSS file in that folder. In this CSS file is also a set of options for
customising the logout, setupsite and editthispage buttons and links.
  To make a theme, simply make the layout for a web-site as you would normally
and then put in placeholders where the actual content will go. A placeholder in
Uberghey CMS is an all-capitals set of characters encapsulated in a set of hash
marks, for example ##THISTHEME##, which translates into the folder where the
current theme is contained (for example "setup/themes/default").

---------------------------------------
3.1 Special CSS ids and selectors:

.menutext
.wikitable
.setupsite
.newpage
.newmenu
.editthispage
.logout
.page_help_term
.page_help_description

.description - Style description links differently
.table...

---------------------------------------
3.2 List of Uberghey CMS Theme placeholders:

...................
Internal placeholders:

General placeholders:
 ##THISTHEME##
   The folder for the current theme (see above)
 ##POWEREDBY##
   A graphic button with the text "powered by Uberghey CMS", 60x26 pixels, PNG
 ##LASTUPDATE##
   A textual representation of the time of the last change
 ##SETUPSITE##
   Text link to site setup
 ##SETUPSITE_GRAPHIC##
   Graphical link (10x10 pixels) to site setup
 ##NEWPAGE##
   Create a new page
 ##NEWPAGE_GRAPHIC##
   Create a new page, graphical link (10x10 pixels)
 ##NEWMENU##
   Create a new menu
 ##NEWMENU_GRAPHIC##
   Create a new menu, graphical link (10x10 pixels)
 ##EDITTHISPAGE##
   Edit current page link
 ##EDITTHISPAGE_GRAPHIC##
   Edit current page, graphical link (10x10 pixels)
 ##LOGOUT##
   Log out text link
 ##LOGOUT_GRAPHIC##
   Log out graphical link (10x10 pixels)
 ##RECENTCHANGES_LIST_HORIZONTAL##
   The latest changes, between 0 and 10 items, listed horizontally
 ##RECENTCHANGES_LIST_VERTICAL##
   The latest changes, between 0 and 10 items, listed vertically
 ##RECENTCHANGES_LIST_DROPDOWN##
   The latest changes, between 0 and 10 items, as options (for use with
   a <select> </select> form)
 ##THEME_LIST_HORIZONTAL##
   A list of all themes, listed horizontally
 ##THEME_LIST_VERTICAL##
   A list of all themes, listed vertically
 ##THEME_LIST_DROPDOWN##
   A list of all themes, as options (for use with a <select> </select> form)
 ##META_HEADERS##
   The meta headers and link headers relevant to the current page


Page related placeholders:
 ##PAGE_TITLE##
   The title of the current page, without formatting
 ##PAGE_CONTENT##
   The content of the current page, rendered to HTML
 ##PAGE_AUTHOR##
   The page author's name, without formatting
 ##PAGE_AUTHOR_EMAIL##
   The page author's email address, without formatting
 ##PAGE_DATE##
   The last change date of the current page
 ##PAGE_ID##
   The current page ID
 ##PAGE_MENU##
   The current page's menu, rendered to HTML

Internationalisation placeholders:
  The following is a simple list, where the placeholders are shown with their
English language translation. Some may seem banale, but they are nessecary for
internationalisation reasons. They enable the entire site to be translated,
including the interface and not just the content.

 ##READMORE##
   Read more
 ##FINDINFO##
   Find information
 ##FINDIT##
   Find it
 ##USERFUNCTIONS##
   User functions
 ##GOFRONTPAGE##
   Go to the Front page
 ##GOTAGWALL##
   go to the Tag wall
 ##GOPAGELIST##
   See list of all pages
 ##ADMINFUNCTIONS##
   Administration functions
 ##SELECTTHEME##
   Select theme
 ##CHANGETHEME##
   Change theme
 ##SELECTLANGUAGE##
   Select language
 ##COPYRIGHT##
   This page is copyright &copy; 2003 by <a class=\"footer\"
   href=\"./index.php?page=About%20me&amp;language=en\">..Dan Jensen</a>. All
   rights reserved.

...................
Special placeholders:

Language placeholders:
##LANGUAGE##
  Contains the current language code
##LANGUAGELINK_??##
  This contains a local url to the current page, but in the language ?? (country
  code, for example "en", "dk", "se", "fr"...). Used for example as this:
  <a href="##LANGUAGELINK_EN##">English</a> | <a href="##LANGUAGELINK_DK##">Dansk</a>

Theme placeholders:
  This set of placeholders is rather special, and allows you to i18n your
themes. By creating a number of files named messages.??.txt, where ?? is the
country code for the language the file contains, each line in these files are
read by Uberghey and put into a set of placeholders named ##THEME_1##,
##THEME_2## and so on, the numbers being the line number in the file.

---------------------------------------
3.3 Step by Step guide to Theming for Uberghey CMS:

  A. Make a new web-site somewhere on your filesystem using your favorite web
     development environment (Dreamweaver, Quanta+, Kate, emacs...)
  B. Edit this web-site to suit you, using the place-holders described above.

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
4. Managing

  Managing Uberghey CMS is done very simply through the Setup interface. Please
see the Quick Start Guide (in Documentation on the Uberghey CMS home page) for
further information.

  The default username and password for the administrator is:
  Username: admin
  Password: password

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
5. Modules

There are currently two modules included with Uberghey CMS:

---------------------------------------
5.1 The Gallery Module

  Using the gallery is very simple, and the management interface has been
designed for ease of use. You also have two extra CSS classes to help style the
gallery to your liking: table.gallery and td.gallery

...................
Using:

Type the following in your page:

    \gallery(galleryname)

where galleryname is the name of the gallery in question (see bellow)

...................
Managing:

Through the web interface:
  In the bottom of the administration interface, click on Gallery. Hopefully the
interface is self explanatory.

Through file system management:
  The following directory structure is used by the gallery module, where x is the
amount of languages supported and ?? are iso country codes:

    setup/
     modules/
      gallery/
       galleryname/
        gallery.??.txt (times x)
        data/
         imagename.jpg.??.txt (times x)
        images/
         imagename.jpg
        thumbs/
         imagename.jpg

    gallery.??.txt are two or more line text files, containing as follows:
     Line 1: Gallery title
     Subsequent lines: Long description of the gallery

    imagename.jpg.??.txt are text files containing the description of the image,
     in the language described by ??.

---------------------------------------
5.2 RSS Reader (powered by lastRSS)

Using the RSS Reader is extremely simple. Simply type

   \readrss(http://www.url.to/your/file.rss)

in your page, save, and watch the rss loading magic. Very simple list-based
layout.

---------------------------------------
5.3 BloggerMod

Using the blogging module is two-fold - Using it as the site administrator and
using it as a site user.
  As a user you can create entries. This happens from your profile, and you can
create your own additional categories to the ones defined by the
administratior. 
  As an administrator you can add and remove categories to the site-wide list
of categories, and you have an additional category to select when creating new
posts - the system category. You also have the ability to actually show entries
on other pages, by using the \blog() and \blogall() page commands.

...................
Examples:

\blogall(system_category)
  The most used page command normally. This will show all entries in the System
  category, created by any user
\blog(auser anotheruser, system_category ourcategory)
  An example of a specific choise: This will show all entries created by the
  users auser and anotheruser, that are categorised into either the System or
  the ourcategory categories, or both.
\blogall()
  This will return all entries by all users in any category (including none)

.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-._.-=:=-.
6. Thanks

Thanks to the following people and entities are due:

Alex: My inspiration in all things

NOEA: My former school, for making me do a portfolio, which is what originally
      started Uberghey CMS off.

The Slicker Dev. Team: Being the first commercial test-bed for Uberghey CMS

The amaroK dev squad: The coolest development team on the planet, seriously!
      These guys are friendly and serious and decided that Uberghey was the
      thing to use for the amaroK Live! website ;)
