[Plone Scandinavia] A couple of questions

Malthe Borch mborch at gmail.com
Thu May 10 13:51:34 UTC 2007


> I've used ArgoUML /ArchGenXML to create two custom content types: "payment"
> and "reminder" to be placed in membership folders. This would allow memers
> to see their payments, and it would link a payment to a member.

You might want to consider if having paid is "content" or if it's
actually metadata. That said, the remember-product
(http://plone.org/products/remember) lets you annotate various
information onto a member.

> (...) But reminders
> need to be handled more automatically, since sometimes 100 reminders must be
> created when a payment deadline expires. So, how do I e.g. search for
> membership folders not containing a payment marked "2007", automatically add
> a reminder object to the folder and send an email to the offending member?

The membrane-tool (which remember builds on) has a catalog built-in I
think, which you could query using a boolean expression. Something
like this (untested obviously):

some_membrane_catalog({'query': received_payment, 'operator': 'not'})

This assumes received_payment is a KeywordIndex that you've somehow
added and that it connects to some annotated field that you set up
using remember.

Note that you probably don't want to create a reminder-object. Why
would you? You can send out a reminder without creating an object and
you don't have to remember that you did since the rule is that you
always send out reminders (you state it should be automatic).

> Is it possible to generate an RTF or PDF file using Plone?

If you're on linux then there should be plenty of tools that can
convert HTML-documents into PDF. That's probably the easiest. You
could create a Zope 3 view, connect it to a template and in the
__call__-method, put something like:

def __call__(self):
  mime_type = 'application/pdf'
  my_template_result = self.index()
  pdf_data = my_html2pdf_function(my_template)
  return pdf_data

or you could skip some steps and just attach the generated pdf to the
e-mail using some Python-library.

\malthe




More information about the Plone-Scandinavia mailing list