README.txt
CMFReportTool
Copyright (C) 2002, net-labs Systemhaus GmbH.
CMFReportTool is an Extension to Zope/CMF and Plone.
Similar to HTML-Skins one can use PML
to describe Dynamic
Content as PDF-Document using the advanced layout-capabilities
of reportlab's Platypus module. The MarkupLanguage is inspired
by pythonpoint (example from reportlab) but is provides all
features of the Platypus module.
The Product supplies a tool: portal_report
and several skins
as well as an Installation routine.
The portal_report
Tool renders PML
Documents to pdf and
converts StructuredText-Documents to PML
. the provided
skins are mostly examples of views for CMF Standard Types.
The Rendering-Process uses a script with traversal to
determine the PDF-Templatename and the PDF-Documentname.
The templatename is looked up in the context of portal_report
,
which is folderish and usually holds the portals templates.
the documentname is looked up in the context of the object (here)
and the portal_skins
Tool will provide the right objects.
PML
Documents are (Alt)PageTemplates that are parsed/interpreted
and result in a valid (hopefully valid - the parser is not
perfect yet) PML
Document that is rendered using reportlab.
the portal_report
Tool returns a buffer that needs to be
return to the client (setting the header to application/pdf
is required - look at the example-skins)
External Resources (Images) can be located in ZODB or Filesystem.
A filename-Attribute knows two url-schemes: file://
The Markup-Language (PML
- PageMarkupLanguage) defines:
- Templates: Templates define static elements, stylesheets as well as Frames. It works like Quark-XPress or FrameMaker. Predefined and linked Frames are filled with Flowables from the Document (think like slots in PageTemplates, but content is concated and nicely distributed across the frames.
- Documents: Documents define dynamic Content, Images, Vectorgraphics as well as Metadata. This part is usually generated when the client requests a view as PDF and it is filled in (using PageTemplates) with the objects/lists values and rendered.
- Styles: Paragraph- and Table-Styles can be preconfigured within the Template-Header.
- Static-Elements: FixedImage,InfoString,Line,Rectangle,.. all these Static-Element-Types are usable within the Templates Pagedefinition to setup static content.
- Frames: Frames hold Flowables (Dynamic-Elements). They are linked via Names to enable things like: different Startpage, left/right-page of books, etc.
- Flowables: Dynamic-Elements are called Flowables. They are aranged within the predefined order in Frames. Available Types are: Paragraph, Preformatted, Table, Image, Line, Rectangle, ...
What is needed ??
- >= Zope-2.5.1
- CMF-1.3
- PageTemplates
CVS is available:
http://collective.sourceforge.net
This tool is made by
Ulrich Eck (net-labs Systemhaus GmbH, Germany) email: [email protected]