The ideas behind seems good. But all development seems to have stopped in 2001!??? Why is that? \Oliver
Oliver Marx wrote:
The ideas behind seems good.
They are, IMHO. Very good.
But all development seems to have stopped in 2001!???
Sadly, yes... *sigh*
Why is that?
I can't say for sure, but I have a couple of ideas... First, the learning curve for understanding ZPatterns is very, very steep. The learning curve for Zope itself is rather steep, but compared to ZPatterns, Zope is completely transparent. There is a fair amount of documentation, but it is not very organized, it's hard to find, and it's very obtuse, due to the fact that it is littered with a great deal of complicated nomenclature, none of which makes any sense until you understand the rest of it. The aspiring ZPatterns developer is required to deal with and grok terms such as Specialist, DataSkin, DataManager, Rack, PlugIn, PlugInContainer, SkinScript, Sheet/AttributeProvider, and the RIPP (i.e. "Racks, Implementors, PropertyHandlers, and Predicates") design pattern. Since these ideas are all interrelated, usually the learning process involves reading pages and pages of documentation littered with all of these terms for weeks at a time, understanding very little, until finally a gestalt occurs and the whole thing begins to make sense. Very few folks have the patience that an undertaking like this requires. This seems to me to be the most likely reason that ZPatterns was not widely adapted by the Zope developer community. Since a critical mass of users never developed, investing the amount of time required to keep the ZPatterns code base current with new versions of Zope probably didn't seem worth it to the developers. This is a tragedy, in my eyes, because I think that the value that ZPatterns brings to the table for Zope application development far outweighs the time invested in learning the system. All is not lost, however... Philip Eby (ZPatterns creator) is currently working on TransWarp (http://telecommunity.com/TransWarp/), which is, as far as I can tell, a generalization of the ZPatterns ideas out of the Zope framework and into Python itself. (ZPatterns is essentially useless outside of Zope...) Since Zope3 will allow for much better integration of non-Zope specific Python classes into its framework, it is to be expected that the benefits of ZPatterns will eventually resurface in some sort of Zope3/TransWarp-based set of tools. In the meantime, however, folks who want to keep current with Zope and still use ZPatterns (and possibly even LoginManager) are out of luck. ZPatterns is not supported beyond the Zope 2.3 series. I, however, have a tarball that integrates the ZedPatterns/TransactionAgents patches and LoginManager, and it works quite well with an out-of-the-box 2.4.4 Zope. (Unfortunately, it doesn't work w/ 2.5... and I don't have the time to port it...) I haven't looked at the Zope licenses to see if redistributing this would be allowed, but if anyone's interested in getting their hands on it, send me an email off-list. If I get enough responses (and the license allows) then I'll put a member page w/ the tarball up on zope.org. I'd love to see ZPatterns get revived. -r
Strange! I've been using TransactionAgents/LoginManager with Zope-2.5.x a lot! What problems do you see? thanks, -steve On Wednesday, May 29, 2002, at 04:15 PM, ra@burningman.com wrote:
(Unfortunately, it doesn't work w/ 2.5... and I don't have the time to port it...) I haven't looked at the Zope licenses to see if redistributing this would be allowed, but if anyone's interested in getting their hands on it, send me an email off-list. If I get enough responses (and the license allows) then I'll put a member page w/ the tarball up on zope.org. I'd love to see ZPatterns get revived.
Steve Spicklemire wrote:
Strange! I've been using TransactionAgents/LoginManager with Zope-2.5.x a lot!
Really!? That's great news...
What problems do you see?
Well, there are two major problems I've experienced. The first is a trouble w/ VirtualHostBase, using an Apache/ProxyPass setup that works fine w/ several other 2.3.X and 2.4.X versions. It involves an Apache VirtualHost resolving to a one-below-the-root folder in Zope which is authenticated via a LoginManager. When I try it w/ 2.5.1, I get the login screen, but then, regardless of whether or not I authenticate correctly, I get a strange set of nested site errors. There's one 'NotFound' error, and in the place where the error's text message should be, there's ANOTHER site error that says 'Resource Not Found'. And looking at the URL, I see that it looks like so: https://www.blackrockcity.org/VirtualHostBase/https/www.blackrockcity.org:44... instead of merely "https://www.blackrockcity.org/". Note that I can replace my 2.5.1 install w/ a 2.4.4 install that is identical in all other ways, and it will work. The other problem I have is that a SkinScript that is in my UserSource can't seem to find a ZSQL method that lives directly above it. I have a method called "SQL_findMember" in the LoginManager proper (i.e. the acl_users folder). In the "member_storage" SkinScript that is in the UserSource, I have the following line: WITH QUERY SQL_findMember(member_name=self.id) COMPUTE member_id, member_name, password, is_active, is_passwd_bad When I try to authenticate, though, it is unsuccessful, and the STUPID_ZOPE_LOG shows the following error: --------------- 2002-05-30T06:09:28 PROBLEM(100) ZPatterns Error computing attribute member_name Traceback (innermost last): File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/AttributeProviders.py, line 302, in _AttributeFor (Object: member_storage, line 1) File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/Expressions.py, line 123, in eval File /usr/home/zope/src/zope/lib/python/DocumentTemplate/DT_Util.py, line 231, in eval (Object: SQL_findMember ( member_name = self . id )) (Info: self) File <string>, line 2, in f NameError: global name 'SQL_findMember' is not defined --------------- Any help resolving these issues would be HUGELY appreciated. There's so little ZPatterns discussion anymore (and generally silence on the list whenever anyone asks about it) that I had just assumed it was a wash... -r
Hi R (a ?), On Thursday, May 30, 2002, at 01:19 AM, ra@burningman.com wrote:
Well, there are two major problems I've experienced. The first is a trouble w/ VirtualHostBase, using an Apache/ProxyPass setup that works fine w/ several other 2.3.X and 2.4.X versions. It involves an Apache VirtualHost resolving to a one-below-the-root folder in Zope which is authenticated via a LoginManager. When I try it w/ 2.5.1, I get the login screen, but then, regardless of whether or not I authenticate correctly, I get a strange set of nested site errors. There's one 'NotFound' error, and in the place where the error's text message should be, there's ANOTHER site error that says 'Resource Not Found'. And looking at the URL, I see that it looks like so:
https://www.blackrockcity.org/VirtualHostBase/https/www.blackrockcity.org: 443/brc/VirtualHostRoot/
instead of merely "https://www.blackrockcity.org/". Note that I can replace my 2.5.1 install w/ a 2.4.4 install that is identical in all other ways, and it will work.
Hmmm.. is it the exact same Data.fs? It smells like you don't actually *have* a VirtualHostMonster installed. I've done this on 2.5.1/LoginManager with no trouble (albeit, not using https/LoginManager, but I've used https with VHM many times with no trouble. One issue is that it should probably be http://www.backrockcity.org/VirtualHostBase/https/.... )
The other problem I have is that a SkinScript that is in my UserSource can't seem to find a ZSQL method that lives directly above it. I have a method called "SQL_findMember" in the LoginManager proper (i.e. the acl_users folder). In the "member_storage" SkinScript that is in the UserSource, I have the following line:
WITH QUERY SQL_findMember(member_name=self.id) COMPUTE member_id, member_name, password, is_active, is_passwd_bad
When I try to authenticate, though, it is unsuccessful, and the STUPID_ZOPE_LOG shows the following error:
--------------- 2002-05-30T06:09:28 PROBLEM(100) ZPatterns Error computing attribute member_name Traceback (innermost last): File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/AttributeProviders. py, line 302, in _AttributeFor (Object: member_storage, line 1) File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/Expressions.py, line 123, in eval File /usr/home/zope/src/zope/lib/python/DocumentTemplate/DT_Util.py, line 231, in eval (Object: SQL_findMember ( member_name = self . id )) (Info: self) File <string>, line 2, in f NameError: global name 'SQL_findMember' is not defined ---------------
Any help resolving these issues would be HUGELY appreciated. There's so little ZPatterns discussion anymore (and generally silence on the list whenever anyone asks about it) that I had just assumed it was a wash...
Hmm.. well, this is a login manager problem I've not tickled, since I've been using userXXX methods defined in the UserSource rather than SkinScript, thought I've used plenty of SkinScript in ZPatterns/2.5.x and not seen any problems with acquisition/visibility before. I'm guessing you set "member_name" as the "load by accessing" attribute? Hmm.. I just tried something to test this and it seemed to work for me. Are you using TransactionAgents005? take care, -steve
-r
Steve Spicklemire wrote:
Hi R (a ?),
On Thursday, May 30, 2002, at 01:19 AM, ra@burningman.com wrote:
Well, there are two major problems I've experienced. The first is a trouble w/ VirtualHostBase, using an Apache/ProxyPass setup that works fine w/ several other 2.3.X and 2.4.X versions. It involves an Apache VirtualHost resolving to a one-below-the-root folder in Zope which is authenticated via a LoginManager. When I try it w/ 2.5.1, I get the login screen, but then, regardless of whether or not I authenticate correctly, I get a strange set of nested site errors. There's one 'NotFound' error, and in the place where the error's text message should be, there's ANOTHER site error that says 'Resource Not Found'. And looking at the URL, I see that it looks like so:
https://www.blackrockcity.org/VirtualHostBase/https/www.blackrockcity.org:44...
instead of merely "https://www.blackrockcity.org/". Note that I can replace my 2.5.1 install w/ a 2.4.4 install that is identical in all other ways, and it will work.
Hmmm.. is it the exact same Data.fs? It smells like you don't actually *have* a VirtualHostMonster installed. I've done this on 2.5.1/LoginManager with no trouble (albeit, not using https/LoginManager, but I've used https with VHM many times with no trouble. One issue is that it should probably be http://www.backrockcity.org/VirtualHostBase/https/.... )
It's not the same Data.fs. But there is a VHM. My first connection works... If I point a browser at www.blackrockcity.org I get the LoginManager's login screen. It's only when I submit my authentication data that I have the problem.
The other problem I have is that a SkinScript that is in my UserSource can't seem to find a ZSQL method that lives directly above it. I have a method called "SQL_findMember" in the LoginManager proper (i.e. the acl_users folder). In the "member_storage" SkinScript that is in the UserSource, I have the following line:
WITH QUERY SQL_findMember(member_name=self.id) COMPUTE member_id, member_name, password, is_active, is_passwd_bad
When I try to authenticate, though, it is unsuccessful, and the STUPID_ZOPE_LOG shows the following error:
--------------- 2002-05-30T06:09:28 PROBLEM(100) ZPatterns Error computing attribute member_name Traceback (innermost last): File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/AttributeProviders. py, line 302, in _AttributeFor (Object: member_storage, line 1) File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/Expressions.py, line 123, in eval File /usr/home/zope/src/zope/lib/python/DocumentTemplate/DT_Util.py, line 231, in eval (Object: SQL_findMember ( member_name = self . id )) (Info: self) File <string>, line 2, in f NameError: global name 'SQL_findMember' is not defined ---------------
Any help resolving these issues would be HUGELY appreciated. There's so little ZPatterns discussion anymore (and generally silence on the list whenever anyone asks about it) that I had just assumed it was a wash...
Hmm.. well, this is a login manager problem I've not tickled, since I've been using userXXX methods defined in the UserSource rather than SkinScript, thought I've used plenty of SkinScript in ZPatterns/2.5.x and not seen any problems with acquisition/visibility before. I'm guessing you set "member_name" as the "load by accessing" attribute? Hmm.. I just tried something to test this and it seemed to work for me. Are you using TransactionAgents005?
No, I'm using a very old 0.0.1. Where do I get a more recent version? Searches on zope.org and google don't help me. I'm heartened to hear that you (and others) have this working. I'll start from scratch w/ recent versions and will give it another go. If it all works, I'd love to package the whole kit-n-kaboodle up to help keep others from having to go through what I have... -r
Hi RA, I think SteveA has it posted somewhere.. but you can also get it at: http://www.zopeonarope.com/ch11/TransactionAgents-005.tgz -steve On Thursday, May 30, 2002, at 02:39 PM, ra@burningman.com wrote:
Steve Spicklemire wrote:
Hi R (a ?), On Thursday, May 30, 2002, at 01:19 AM, ra@burningman.com wrote:
Well, there are two major problems I've experienced. The first is a trouble w/ VirtualHostBase, using an Apache/ProxyPass setup that works fine w/ several other 2.3.X and 2.4.X versions. It involves an Apache VirtualHost resolving to a one-below-the-root folder in Zope which is authenticated via a LoginManager. When I try it w/ 2.5.1, I get the login screen, but then, regardless of whether or not I authenticate correctly, I get a strange set of nested site errors. There's one 'NotFound' error, and in the place where the error's text message should be, there's ANOTHER site error that says 'Resource Not Found'. And looking at the URL, I see that it looks like so:
https://www.blackrockcity.org/VirtualHostBase/https/www.blackrockcity.org: 443/brc/VirtualHostRoot/
instead of merely "https://www.blackrockcity.org/". Note that I can replace my 2.5.1 install w/ a 2.4.4 install that is identical in all other ways, and it will work.
Hmmm.. is it the exact same Data.fs? It smells like you don't actually *have* a VirtualHostMonster installed. I've done this on 2.5.1/LoginManager with no trouble (albeit, not using https/LoginManager, but I've used https with VHM many times with no trouble. One issue is that it should probably be http://www.backrockcity.org/VirtualHostBase/https/.... )
It's not the same Data.fs. But there is a VHM. My first connection works... If I point a browser at www.blackrockcity.org I get the LoginManager's login screen. It's only when I submit my authentication data that I have the problem.
The other problem I have is that a SkinScript that is in my UserSource can't seem to find a ZSQL method that lives directly above it. I have a method called "SQL_findMember" in the LoginManager proper (i.e. the acl_users folder). In the "member_storage" SkinScript that is in the UserSource, I have the following line:
WITH QUERY SQL_findMember(member_name=self.id) COMPUTE member_id, member_name, password, is_active, is_passwd_bad
When I try to authenticate, though, it is unsuccessful, and the STUPID_ZOPE_LOG shows the following error:
--------------- 2002-05-30T06:09:28 PROBLEM(100) ZPatterns Error computing attribute member_name Traceback (innermost last): File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/AttributeProviders. py, line 302, in _AttributeFor (Object: member_storage, line 1) File /usr/home/zope/src/zope/lib/python/Products/ZPatterns/Expressions.py, line 123, in eval File /usr/home/zope/src/zope/lib/python/DocumentTemplate/DT_Util.py, line 231, in eval (Object: SQL_findMember ( member_name = self . id )) (Info: self) File <string>, line 2, in f NameError: global name 'SQL_findMember' is not defined ---------------
Any help resolving these issues would be HUGELY appreciated. There's so little ZPatterns discussion anymore (and generally silence on the list whenever anyone asks about it) that I had just assumed it was a wash... Hmm.. well, this is a login manager problem I've not tickled, since I've been using userXXX methods defined in the UserSource rather than SkinScript, thought I've used plenty of SkinScript in ZPatterns/2.5.x and not seen any problems with acquisition/visibility before. I'm guessing you set "member_name" as the "load by accessing" attribute? Hmm.. I just tried something to test this and it seemed to work for me. Are you using TransactionAgents005?
No, I'm using a very old 0.0.1. Where do I get a more recent version? Searches on zope.org and google don't help me.
I'm heartened to hear that you (and others) have this working. I'll start from scratch w/ recent versions and will give it another go. If it all works, I'd love to package the whole kit-n-kaboodle up to help keep others from having to go through what I have...
-r
On Thu, May 30, 2002 at 12:39:05PM -0700, ra@burningman.com wrote:
Steve Spicklemire wrote:
Hmm.. well, this is a login manager problem I've not tickled, since I've been using userXXX methods defined in the UserSource rather than SkinScript, thought I've used plenty of SkinScript in ZPatterns/2.5.x and not seen any problems with acquisition/visibility before. I'm guessing you set "member_name" as the "load by accessing" attribute? Hmm.. I just tried something to test this and it seemed to work for me. Are you using TransactionAgents005?
No, I'm using a very old 0.0.1. Where do I get a more recent version? Searches on zope.org and google don't help me.
I'm heartened to hear that you (and others) have this working. I'll start from scratch w/ recent versions and will give it another go. If it all works, I'd love to package the whole kit-n-kaboodle up to help keep others from having to go through what I have...
This may be unrelated to the specific problem you're facing, but I just ported a LoginManager-based application from Zope 2.3.x to Zope 2.5.1 and I have a suggestion: Make sure that the authentication functions add the new 'Authenticated' role to the list of roles for each authenticated user. I spent several hours tracking this one down. This may be a FAQ, but I've been only skimming the Zope list over the last year and missed it. In my case, the specific fix required a change to the getRoles method of the authentication ZClass used with LoginManager. My new code looks like this: result = [] if self.role_list: for r in self.role_list: result.append(r.role_name) result.append('Authenticated') return result I added that penultimate line to get things working again, along with installing the TransactionAgents stuff. -- Fred Yankowski fred@ontosys.com tel: +1.630.879.1312 OntoSys, Inc PGP keyID: 7B449345 fax: +1.630.879.1370 www.ontosys.com 38W242 Deerpath Rd, Batavia, IL 60510-9461, USA
Hi Fred, Yes.. this is a good point! I tried to submit a patch to LM for this many moons ago... but instead these days I just add it in the 'userRoles' method. http://www.eby-sarna.com/pipermail/zpatterns/2001-July/000098.html take care, -steve On Thursday, May 30, 2002, at 06:29 PM, fred@ontosys.com wrote:
On Thu, May 30, 2002 at 12:39:05PM -0700, ra@burningman.com wrote:
Steve Spicklemire wrote:
Hmm.. well, this is a login manager problem I've not tickled, since I've been using userXXX methods defined in the UserSource rather than SkinScript, thought I've used plenty of SkinScript in ZPatterns/2.5.x and not seen any problems with acquisition/visibility before. I'm guessing you set "member_name" as the "load by accessing" attribute? Hmm.. I just tried something to test this and it seemed to work for me. Are you using TransactionAgents005?
No, I'm using a very old 0.0.1. Where do I get a more recent version? Searches on zope.org and google don't help me.
I'm heartened to hear that you (and others) have this working. I'll start from scratch w/ recent versions and will give it another go. If it all works, I'd love to package the whole kit-n-kaboodle up to help keep others from having to go through what I have...
This may be unrelated to the specific problem you're facing, but I just ported a LoginManager-based application from Zope 2.3.x to Zope 2.5.1 and I have a suggestion:
Make sure that the authentication functions add the new 'Authenticated' role to the list of roles for each authenticated user.
I spent several hours tracking this one down. This may be a FAQ, but I've been only skimming the Zope list over the last year and missed it.
In my case, the specific fix required a change to the getRoles method of the authentication ZClass used with LoginManager. My new code looks like this:
result = [] if self.role_list: for r in self.role_list: result.append(r.role_name) result.append('Authenticated') return result
I added that penultimate line to get things working again, along with installing the TransactionAgents stuff.
-- Fred Yankowski fred@ontosys.com tel: +1.630.879.1312 OntoSys, Inc PGP keyID: 7B449345 fax: +1.630.879.1370 www.ontosys.com 38W242 Deerpath Rd, Batavia, IL 60510-9461, USA
Me too !! --On Donnerstag, Mai 30, 2002 00:23:20 -0500 Steve Spicklemire <steve@spvi.com> wrote:
Strange! I've been using TransactionAgents/LoginManager with Zope-2.5.x a lot! What problems do you see?
thanks, -steve
On Wednesday, May 29, 2002, at 04:15 PM, ra@burningman.com wrote:
(Unfortunately, it doesn't work w/ 2.5... and I don't have the time to port it...) I haven't looked at the Zope licenses to see if redistributing this would be allowed, but if anyone's interested in getting their hands on it, send me an email off-list. If I get enough responses (and the license allows) then I'll put a member page w/ the tarball up on zope.org. I'd love to see ZPatterns get revived.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Mit freundlichen Grüßen Joachim Schmitz -------------------------------------------------------------------- AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 -------------------------------------------------------------------- Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/
participants (5)
-
fred@ontosys.com -
Joachim Schmitz -
Oliver Marx -
ra@burningman.com -
Steve Spicklemire