Labyrinth
=========
A Website Management Framework - extensible websites in a box.
Labyrinth began life in 2002, with a small set of plugins to enable various
features of web site management. The core set of plugins are now available as
the Labyrinth-Plugin-Core package, with this Core package providing the core
functionality that drives the Labyrinth framework system.
The intention for Labyrinth was always to make building simple websites easy.
The idea of a "website in a box" that has subsequently been used by other
website applications in other languages. Sadly Perl has fell way behind with
this, and Labyrinth ultimately still aims to provide several solutions to the
kinds of websites people want to implement quickly, such as blogs, wikis and
basic content sites.
The fact that Labyrinth can be extended further and build on the core structure
for virtually any website you may want is its target audience. Labyrinth wasn't
built for complex corporate websites, and there are many other applications and
frameworks available if that is what you want.
Labyrinth also tries to keep it simple, so that it is fairly quick to get
going, without the need for several weeks of design.
Please note the tests for this code is very basic. If you wish to help me out
and can add to the test suite, please feel free.
INSTALLATION
See the INSTALL file for full instructions.
DEPENDENCIES
The core Labyrinth distribution requires the following Perl modules to be
installed:
Archive::Extract
CGI
CGI::Cookie
Config::IniFiles
Cwd
Data::Dumper
Data::FormValidator
Data::FormValidator::Constraints::Upload
Data::FormValidator::Constraints::Words
Data::FormValidator::Filters::Demoroniser
Data::Phrasebook
Data::Phrasebook::Loader::Ini
DateTime
DBD::mysql
DBI
Digest::MD5
Encode::ZapCP1252
File::Basename
File::Copy
File::Path
File::Slurp
File::Spec::Functions
HTML::TagCloud
Image::Size
IO::File
JSON::XS
Log::LogLite
MIME::Lite
MIME::Lite::TT::HTML
MIME::Types
Module::Pluggable
Regexp::Assemble
Regexp::Common
Session::Token
Template
Text::Wrap
Time::Local
URI::Escape
WWW::Mechanize
In addition the following are used within the core application for RSS support.
However, the RSS feed is ran from a independent script and necessary for the
running of a website.
XML::Atom
XML::Atom::Feed
XML::Atom::Entry
XML::RSS
Note RSS support and functionality is likely to be abstracted out to a plugin
in the future.
ADDITIONAL FILES
Additional files are needed to enable Labyrinth and any installed plugins to
work correctly. These files consist of SQL, HTML template and configuration
files, together with some basic CSS and Javascript files.
Please see the Labyrinth-Demo package for an example set of these files.
However, these files are only the beginning, and to implement your website,
you will need to update the appropriate files to use your own layout design.
ADDITION INFORMATION
Although Labyrinth has long been in development, documentation has not been a
priority. As such much of the documentation you may need to understand how to
use Labyrinth is the code itself. If you have the inclination, documentation
patches would be very gratefully received.
The Labyrinth website [1] will eventually feature a documentation site, wiki
and other features which are intended to provide you with the information to
use and extend Labyrinth as you wish.
AUTHOR
Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions,
COPYRIGHT & LICENSE
Copyright (C) 2002-2015 Barbie for Miss Barbell Productions
All Rights Reserved.
This distribution is free software; you can redistribute it and/or
modify it under the Artistic Licence v2.