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]