hi out there,
this is my first posting on this list. Right now I think
this is the right place to ask details about ZPatterns.
I think a ZPatterns-Mailinglist should be set up, where
people like me, working hard to get the "Zen of ZPatterns"
can discuss questions related to USING ZPatterns.
Here my first little problem:
I've a db_sequence specialist who serves the Framework with
db_id's for new Records like:
>>> newid = db_sequence.getItem('<sequence_name>').nextid
The Attribute nextid is provided by a Skinscript-Method:
WITH getNextId(seq_name=self.id)
COMPUTE seq_name=seq_name,nextid=_.int(nextid)
"getNextId()" is a PythonMethod and uses ZSQL-Methods to
compute the NextId while Locking the Table:
PARAMETER:  self, seq_name
nid = 1
for cur_id in self.sql_NextIdGet(seq_name=seq_name):
 nid = cur_id.nextid + 1
return {'seq_name':seq_name, 'nextid':nid}     # HERE'S MY PROBLEM I THINK !!!!
I tried to return nearly everything expect a certain instance of a
"special getNextId-Return-Object" e.g. return nid / return (seq_name,nid) ...
I tried serveral ways to reach my return values in the SSMethod:
... COMPUTE nextid=nextid or nextid=self.nextid or nextid=RESULT ...
Finally i tried to follow what happens during a get-call of an Attribute in the source ..
no success ..
except  when i use some Dummy ZSQL-Method which does the following and works (but this is not the way to do it ..)
"select <value> as nextid, <value> as seq_name"
can someone give some advice or enlighten me about the Namespace I'm in, at SSMethods Attribute providers
at execution-time ?!?
My Second "little" Problem:
i'm not the first one who had problems to manage data with rdbms and zpatterns. i can get Attributes through SSMethods
easily and now tried to setup ADD/CHANGE/DELETED Rules to manage data.
Here my SSMethod for this(getEventById/insertEvent/updateEvent are ZSQL-Methods):
WITH QUERY getEventById(id=self.id) COMPUTE sid=_.int(id),name,time_start
WHEN OBJECT ADDED CALL insertEvent(id=self.sid)
USING updateEvent(id=self.sid,name=self.name,time_start=self.time_start)
I access the Item through loadAttribute: "sid"
I set up a ZClass derived from Dataskin which acts as Storage-Class.
I call  
<dtml-let ni="newItem(key=db.getItem('data_event').nextid)" nips="ni.propertysheets.get('Basic')">
<dtml-var "nips.manage_changeProperties(REQUEST=REQUEST)">
and get back an empty object without any attributes (propertysheet-problem??)
the record in the database is created (but only because I reduced the ZSQL-Insert Method to id-parm only)
this again seems to be a Problem of the namespace I'm in while the _objectAdded() ... method.
- Do I need a PropertySheet when I only want to access/change/create/delete Items/Attributes from a RDBMS ??
  If yes: Which one (CommonInterfaceProp/DataSkinProp)
  If no: how do i Access/Change my Properties ??
- and another Question related to this:
  Which object fires the Trigger-Event (ADDED/CHANGED/DELETED)  ..
  is it the PropertySheet itself ???
lots of questions still there but these are the points i really tried to get working .. but i did'nt..
hope that there is an answer ..
thanks in advance
Ulrich Eck

Reply via email to