App-Office-CMS

 view release on metacpan or  search on metacpan

lib/App/Office/CMS.pm  view on Meta::CPAN

reading.

This is a simplified version:

=over 4

=item o Multiple web sites

You can create any number of web sites.

=item o Multiple designs per web site

Each web site can have any number of designs.

Every design has a menu of web pages.

=item o Multiple web pages per design

As expected, each design consists of any number of web pages.

=item o Auto-generation of web pages and assets.

When you create a new site and design, a default web page is created.

This also happens if you change the name of a web site or of a design, and
click Save.

This web page has a default asset (output file template), and default (empty) content.

=item o Why is the name of the homepage in the config file?

To make it easy to edit!

Also note that there are 2 template files shipped with this distro, one for the homepage
and one for any other page. These templates are not fancy, they are just there as guidelines
for how you should develop your own templates.

See htdocs/assets/templates/app/office/cms/page.templates/*.tx for the templates.

See also data/asset_types.txt for the other place template information is stored.

=item o Web page attributes

So far, each web page is given a small number of attributes, including the
template to be used to create the corresponding output web page (at generation time).

Using the Javascript editor, you create the content for each page.

=item o Output

Web pages are generated by pouring the content into the template.

Two (2) sample templates are provided.

=item o Configuration

See lib/App/Office/CMS/.htoffice.cms.conf.

=item o Errors

As far as possible, L<Try::Tiny> is used to catch non-DBI errors.

DBI errors are caught using the HandleError attribute key in the call to
DBI's connect() method.

=back

=head1 Security

Minimal effort has been made to sanitize error messages, so there's a risk
that information you don't wish to leak out may be displayed on the end-user's
screen.

Feel free to recommend changes in this area.

CGI form field data is passed thru CGI::Untaint and, optionally, HTML::Defang.

=head1 Distributions

This module is available as a Unix-style distro (*.tgz).

See L<http://savage.net.au/Perl-modules/html/installing-a-module.html>
for help on unpacking and installing distros.

=head1 Installation Pre-requisites

=head2 The Yahoo User Interface (YUI)

This module does not ship with YUI. You can get it from:
L<http://developer.yahoo.com/yui>.

All development was done using V 2.8.1.

Currently, I have no plans to port this code to V 3 of YUI.

See also lib/App/Office/CMS/.htoffice.cms.conf, where it specifies the
URL used by the code to find YUI's JavaScript files.

The output templates use these 5 YUI files:

=over 4

=item o CSS: yui/build/treeview/assets/skins/sam/treeview.css

=item o JS: yui/build/yahoo/yahoo-min.js

=item o JS: yui/build/dom/dom-min.js

=item o JS: yui/build/event/event-min.js

=item o JS: yui/build/treeview/treeview.js

=back

=head2 More on Configuration

At various places I refer to a file, lib/App/Office/CMS/.htoffice.cms.conf,
shipped in this distro.

Please realize that if you edit this file, you must ensure the copy you are editing
is the one used by the code at run-time.



( run in 1.728 second using v1.01-cache-2.11-cpan-437f7b0c052 )