Hi, 1. I want to set some object attributes every time the object is changed (for example, to store the name of the user making the change). I looked at using a Generic Trigger or a SkinScript but I can't figure how to do it with either one. With a Trigger, I guess I need to set "Set Sttrs" to all the object attributes except the ones I intend to set (otherwise, would setting an attribute in the Trigger cause the Trigger to be called again?) and then call a method to set the attributes - but how do I set the attributes? Do I have to call changeProperties for the object or can I make the change directly on the DataSkin? With SkinScript, I can't figure out the STORE and USING syntax... also, if I use WHEN OBJECT CHANGED to change the object, would I get infinite recursion? Can I evaluate REQUEST['AUTHENTICATED_USER'] in the SkinScript or do I need to call a method for that? 2. I want to store a list of products, and give each one an arbitrary number of photos. I can use a Product ZClass, subclassed from ObjectManager and store Image objects inside it. But what will happen to these objects if I use this ZClass in a Rack? And how would I handle storing the objects in SQL tables - I will need to somehow turn each Image object into a table entry, and the same Generic Attribute Provider will have to work with 2 SQL tables. Is there a nice way of doing this? Or should I store the photos in a separate ZClass and use it in another Rack in the Products Specialist? Actually, I can't put an Image object on a DataSkin, right? So however I store it, it's going to have to be a my own custom Image object subclassed from DataSkin... TIA, Itai -- Itai Tavor "Je sautille, donc je suis." C3Works itai@c3works.com - Kermit the Frog "If you haven't got your health, you haven't got anything"