Basic, conceptual help / advice?
Greetings: Background: I have been a Zope user and implementor for a couple of years now, and have created a few non-trivial "applications" using DTML and _very_ basic python scripting. I have recently expanded my Python knowledge somewhat and have an understanding of external methods, etc. Before Zope, my background has been solidly in the LAMP model. Now, I am on the task of writing a much larger application, and I selected Zope + Postgres rather than Apache+SQL+PHP. Here's where I need some conceptual advice, and this highlights where I am weakest: I really want to build this application in a more modular, OO way than I am used to working. I am still using SQL to store most of the information that is custom and specific to users. I want to structure this application in a way that I have, say, a user object / class, with methods on that object to handle all of the data operations, i.e. User.getinfo, User.updateinfo, User.get_some_more_specific_info, User.create, User.destroy - I'm sure you get the idea. However, I am NOT sure of which of the Zope paradigms to go with in this situation. It doesn't seem like ZClass is the way to go (if I understand things right), because I am not going to be creating instances of users in the ZODB. (Unneeded detail: I am using ExUserFolder so that auth information etc. is in my pgsql database). Right now, I am implementing what needs to be a prototype in DTML, but it's already getting to be spaghetti, with UI and logic code all intermingled. I am leaning toward creating big external methods for the encapsulation that I need, but it just *seems like I am missing something*. I have read everything I can get my hands on, and just feel like I am missing some top-level conceptual business. The docs all seem to be *very* high level, or the opposite - deeply technical and syntax-specific. Any comments, or pointers to the kind of info I am looking for? Thanks for any and all constructive advice, ------------------------- zoper@disturbance.dhs.org
Right now, I am implementing what needs to be a prototype in DTML, but it's already getting to be spaghetti, with UI and logic code all intermingled. I am leaning toward creating big external methods for the encapsulation that I need, but it just *seems like I am missing something*.
Write a Product and put all your logic there in Python, use DTML or ZPT to do your presentation. http://www.zope.org/Documentation/Books/ZDG/current/Products.stx will help. -- Andy McKay
participants (2)
-
Andy McKay -
zoper@disturbance.dhs.org