Really easy-to-use Zope-based Content Management © iuveno AG

Download Report

Transcript Really easy-to-use Zope-based Content Management © iuveno AG

Really easy-to-use
Zope-based Content Management
© iuveno AG 2003
Joachim Werner
Charleroi, June 27, 2003
1
KONTENTOR: a 30 minute indroduction
●
Installing KONTENTOR
●
Adding a KONTENTOR instance
●
Adding content
●
Customizing KONTENTOR
●
Internationalization
●
Resources, Downloads
2
Installing KONTENTOR
●
●
Standard tarball installation into the Zope Products
directory
PIL (Python Imaging Library) is needed;
install files for Windows are provided in a separate
tarball
●
Zope 2.6.1/2.6.2
●
Python 2.1.3 or 2.2.3.
3
Adding a KONTENTOR Instance
●
Select Kontentor from the Add menu
●
Choose an Id
●
A configuration wizard is run that helps with configuring
the new KONTENTOR instance
4
5
6
7
8
9
10
11
Show/hide the tree view
12
Edit the current page
13
Section
14
Section
15
Edit this element
(the header)
16
New element
above this one
17
18
19
20
Edit this element
21
Bavaria State University: University of Bavarian Culture
22
Move the header
to the top
23
Publish the page
24
Add new page below this one
25
Page is not published yet (red icon)
26
The page is edited by
another editor who uses
the WYSIWYG editor
in Internet Explorer 6.0.
After editing the editor clicks
to request the review.
27
There is a review request for the page courses.
The Reviewer visits the page and reviews it.
Everything is o.k., so the reviewer publishes
the page.
28
Copy, Paste, Symlink
●
●
In KONTENTOR you can
–
Copy & paste
–
Cut & paste
–
Create symbolic links
When elements are pasted to another page with a
different chrome, the layout of the element changes
automatically
29
Dynamic Content in KONTENTOR (I)
●
●
●
Auto-publication with predefined publication and
removal dates (per element!)
Randomizer object (for banner or image rotation,
arbitrary quotes etc.)
News, events, press releases:
–
Top news
–
News archive, press releases archive
–
Top events
–
Event calendar
30
31
32
Dynamic Content in KONTENTOR (II)
●
Quick index
●
Addresses from database
●
Full text search
●
Dynamic image resizing, image manipulation
●
Dynamically created graphical text buttons
●
Fully integrated Newsletter system
33
34
The elements on this slide are
all fed by the same address
objects, but use different
templates. If the address
is changed, all occurences
of the address object are
automatically up-to-date.
35
Image Manipulation
Images can be
–
converted to different
image formats
–
resized
–
colorized or converted to
black & white
–
masked
–
...
36
Customize a KONTENTOR instance
●
Color scheme
●
Page layout
●
Stylesheets
●
Element templates
37
Color Schemes
●
●
The colors for a Chrome
preset can be easily
configured with the Color
Scheme object.
Additional colors can be
added to the list.
38
KONTENTOR Page Layout
●
●
The page layout is
defined in a ZPT or
DTML Method called
index.html ...
CSS 2 stylesheets in four
layers allow changing the
default styles without
loosing upgradability ...
39
Element Templates:
Utilizing the Power of Zope Page Templates
<div metal:define-macro="header">
<h1 tal:replace="structure string:${here/beginEdit}<h${here/size}>${here/text}</h${here/size}>${here/endEdit}">Header</h1>
</div>
<div metal:define-macro="textBlock">
<span tal:replace="here/beginEdit"></span>
<div
tal:content="structure here/processedText">
</div>
<span tal:replace="here/endEdit"></span>
</div>
<div metal:define-macro="link">
<span tal:replace="here/beginEdit"></span>
<p><a href="" tal:attributes="href here/completeLink; target here/target" target="_top"><img
tal:replace="structure python:here.getChromeObject(here.typeOfLink(), render=0).tag()"
src=""><span tal:replace="here/text">Link</span></a></p>
<span tal:replace="here/endEdit"></span>
</div>
<div metal:define-macro="separator">
<span tal:replace="here/beginEdit"></span>
<hr tal:attributes="width here/width; size here/separatorSize" noshade="noshade">
<span tal:replace="here/endEdit"></span>
</div>
40
Internationalization
●
KONTENTOR is localized to German and English
●
Content as well as the user interface are multi-lingual.
●
Support for UTF 8 is currently being added
●
Localizer is used as a message catalog
●
Support for Zbabel-style markup
41
42