[Zope-DB] Strategy

Antoine Muller Antoine.Muller@unine.ch
Wed, 19 Dec 2001 10:31:54 +0100


I would like to submit the following project for comments.
We want to make a intranet application for the followup of manufacturing
and administrative tasks for our companny. We have  a lot of very
similar db access to manage, we would like to avoid as much as possible
to do copy paste coding. We are new to the zope world and would like to
avoid reinventing the wheel.

The basic concept is that we have a page showing the status of some
records in a db and we want to do actions on it. We show the records on
a page and propose several actions options. Each action option calls a
zope ressource that will recognise the action to perform, do it and re
render the initial page showing the modified records.

Our project is the following:
  1- Make a base script that manages the parameters and local variables
as well as the business logic and rendering associated to the processing
of a table or view of the database associated to a specific
administrative action. Essentially add, edit, remove, associate records
in a database as well as calculating reports ect...
    1.1- It would maintain a list of parameters and default values to
transmit in the url each time the user selects an action.
    1.2- It would call itself with an action parameter showing the
action to perform and a previous state parameter enabeling to code
actions for each relevant possibilities of going from one state to
another.
   2 - To manage these actions, the base script would call an additional
script (one for each pages) that would define a dictionary containing
the parameters to transmit, the local variables to define and pointers
to the scripts or methods to use depending on the requested user
actions. This script would be diferent for each pages.
   3 - In order to set the correct url in the action links, another base
script (only one for the whole application) would use the data defined
by 2 to generate the url as a function of the present parameters value
set by the action scripts.

So at the end, to define a page one would have to define a script making
the parameters dictionary as well as seting the pointers to the methods
performing the business logic and the rendering of the results and
define the methods. The interaction with the user would be handeled by
the 1 script and the actions url would be reduced to a call to the 3
script. If it is eventually possible to imagine writing an interface to
a db table that would collect the informations regarding parameters,
their various attributes like default value and presence in the url and
have a script generating the 2 script automatically to reduce errors.

I'd live to learn it already exists.
Cheers
AM

--
Antoine Muller                   Tel +41 878 803 041
Alpes Lasers                     Fax +41 878 803 042
2 r. de Champréveyres            http://www.alpeslasers.ch
2008 Neuchâtel                   mailto:amuller@alpeslasers.ch