Zope Business Rules Engine

Peter Hansen peter at engcorp.com
Sat Aug 10 02:03:16 CEST 2002


Brian Corrigan wrote:
> 
> Im looking to develop a payroll application for my company.  Basically
> we want to allow time/expense entry from the field via a web site,
> process the information based on a set of defineable rules, and output
> a text file for input into out accounting system.  I've been trying to
> figure out what the best plan of attack would be, but Im having
> trouble finding the pieces I (think) i need.
> 
> We use ZOPE as our intranet server.  I would like to find some kind of
> rules engine that would work within Zope and allow different people
> (depending on their user rights) to edit the rules that define how
> input is processed into output.  (We have defined about 100 rules at
> least, and they change every few months or so)  It seems to me like I
> need an input screen, a rules engine, and some means to output the
> text file.  Is anyone familiar with a Zope product or something that
> would work as a rules/data processing engine that would take input and
> prodcue output in this fashion?  Maybe something with a predfined
> rules gui?

Not sure exactly what you envision, but here's one thought based
on experience doing similar things (although I _would_ like to have
a nice time-tracking system in Zope).

Don't bother with the "output a text file" part in the usual sense.
Just make sure your object in Zope has the ability to render itself as
text, or a simple CSV file, or perhaps XML (depending on the complexity
of the subsequent processing).  Then just have an external script which
when needed retrieves the data from Zope via urllib.urlopen or something.

If you make the exporting part generic, as in independent of your
accounting system's own special input format, you can decouple the
intranet site from the accounting system.  You would have the 
external script do any necessary conversion.

If you can expand more on the whole "rules" thing we might have 
some other ideas.  It all seems pretty vague to me.

-Peter



More information about the Python-list mailing list