History of LibertyPackage

Version 42

LibertyPackage

Explanation of the CMS Content Engine

Created by: laetzer, Last modification: 17 Sep 2008 (18:00 UTC) by laetzer
Liberty Package is the heart of bitweaver's content management system. Liberty provides fundamental functionality and utility to all content built on Liberty. Liberty provides both a universal database table that all Liberty derived content is stored in, as well as a collection of features all Liberty derived content can use.

The Liberty database table stores common data such as content Title, Description, and page Data, as well as Creation and Modification dates and authors for all content. By holding all the text data for various content in one column, bitweaver achieves super fast searching, as well as simplified data storage/retrieval & text processing. But Liberty goes a step further than that.

Liberty provides a number of useful enhancements to content. Liberty is a base class that various content (blogs, wiki pages, articles, map content, etc) is built on. Through this class all content has access to Liberty's various text parsers, its image attachment utilities, its commenting utility, and the storage of historical changes (all Liberty based content automatically has a history like wiki pages traditionally do!).

Here is a conceptual image that shows how Liberty and other btiweaver packages inter-relate:



Liberty Classes

The vast majority of content created with bitweaver is derived from these classes.

LibertyBase

LibertyBase is a foundation class for other Liberty classes and is not something generally used by those looking to build other packages on top of Liberty.

LibertyContent

LibertyContent is our basic content class, this provides access to storage and retrieval of basic universal content properties, like title, data, history, preferences, permissions, etc.

LibertyAttachments

Deprecated in R2.0.3 in favor of LibertyMime

LibertyMime

LibertyMime builds on LibertyContent, but adds handlers for enabling files to be attached to content. File attachments can be handled in different ways. FisheyePackage for example creates a one to one relationship between a single attachment and its LibertyContent object, a Photo. WikiPages on the other hand allow multiple attachments to be associated with its LibertyContent object, a Page.

LibertyComments

LibertyComments are derived from LibertyContent and provide comments functionality to any LibertyContent derived objects, which opt in to using comments.

LibertyStructure

@todo explain

LibertySystem

@todo explain

Liberty Features

Liberty Feature Description Availability
Google "nofollow"comment spam protectionBitweaver 1.0+
Inline DiffUses PEAR Text_Wiki for an inline diff, instead of the line-based tool. This is particularly useful when using a WYSIWYG editor.Bitweaver 2.0+
Format Pluginstikiwiki, HTML, BBCode, MediaWiki, etc.Bitweaver 1.0+


There is also a highly flexible mechanism for attaching *any* id driven mechanism to content - this is call TikiStorage. The storage types are handled completely through Liberty storage plugins. Tutorial - Liberty Plugins

Schema Diagram

Here is a diagram of how the Tables interface (note this diagram was prior to ReleaseOne and the names have changed in ReleaseTwo, however the ideas are largely still the same):



Page History
Date/CommentUserIPVersion
18 Dec 2008 (03:09 UTC)
new page link
Will69.203.72.16143
Current • Source
laetzer85.178.14.21642
View • Compare • Difference • Source
Kozuch85.207.244.16041
View • Compare • Difference • Source
Will69.203.72.16139
View • Compare • Difference • Source
laetzer85.178.62.11738
View • Compare • Difference • Source
Will206.83.76.1536
View • Compare • Difference • Source
Will206.83.76.1535
View • Compare • Difference • Source
Will206.83.76.1534
View • Compare • Difference • Source
dspt213.184.224.332
View • Compare • Difference • Source
spiderr66.93.240.20431
View • Compare • Difference • Source
spiderr66.93.240.20430
View • Compare • Difference • Source
spiderr68.125.207.11628
View • Compare • Difference • Source
spiderr66.93.240.20427
View • Compare • Difference • Source
Stephan Borg218.214.1.11324
View • Compare • Difference • Source
spiderr66.93.240.20423
View • Compare • Difference • Source
SEWilco207.195.192.922
View • Compare • Difference • Source
SEWilco207.195.192.920
View • Compare • Difference • Source
spiderr66.93.240.20419
View • Compare • Difference • Source
spiderr66.93.240.20418
View • Compare • Difference • Source
spiderr66.93.240.20417
View • Compare • Difference • Source
spiderr66.93.240.20416
View • Compare • Difference • Source
spiderr66.93.240.20415
View • Compare • Difference • Source
spiderr66.93.240.20414
View • Compare • Difference • Source
spiderr66.93.240.20413
View • Compare • Difference • Source
spiderr66.93.240.20412
View • Compare • Difference • Source
spiderr66.93.240.20411
View • Compare • Difference • Source