*** baldtrol has left #zope3-dev | 00:02 | |
*** VladDrac has quit IRC | 00:02 | |
*** jukart has left #zope3-dev | 00:02 | |
*** VladDrac has joined #zope3-dev | 00:17 | |
*** bradb has left #zope3-dev | 00:31 | |
*** efge has joined #zope3-dev | 00:35 | |
*** niemeyer_ has quit IRC | 00:39 | |
*** projekt01 has joined #zope3-dev | 00:43 | |
projekt01 | J1m, ayt? | 00:45 |
---|---|---|
*** bradb_ has joined #zope3-dev | 00:49 | |
*** J1m has quit IRC | 00:58 | |
*** benji_york has quit IRC | 00:59 | |
*** sashav has joined #zope3-dev | 01:08 | |
*** MJ has joined #zope3-dev | 01:23 | |
*** clueck has quit IRC | 01:26 | |
*** febb has joined #zope3-dev | 01:42 | |
febb | Hi all | 01:42 |
*** genconc has quit IRC | 01:57 | |
*** genconc has joined #zope3-dev | 01:57 | |
*** gnosis has joined #Zope3-dev | 01:58 | |
*** gnosis has quit IRC | 02:04 | |
*** deo has quit IRC | 02:08 | |
*** gnosis has joined #Zope3-dev | 02:14 | |
*** yota has quit IRC | 02:22 | |
*** niemeyer has joined #zope3-dev | 02:32 | |
*** yotaff has quit IRC | 02:39 | |
*** projekt01 has quit IRC | 02:47 | |
*** bskahan has joined #zope3-dev | 02:57 | |
febb | hello | 03:01 |
febb | is anyone alive here ? | 03:01 |
*** stub has joined #zope3-dev | 03:06 | |
*** benji_york has joined #zope3-dev | 03:36 | |
*** robyg has joined #zope3-dev | 04:13 | |
robyg | Is zope3 good? | 04:18 |
*** efge has quit IRC | 04:25 | |
sm | yes | 04:31 |
robyg | better than zope2 ? | 04:34 |
febb | hi all | 05:07 |
febb | anyone has played with Zope3 and psycopgda... ? | 05:07 |
febb | hello | 05:10 |
*** philiKON has joined #zope3-dev | 05:22 | |
*** benji_york has quit IRC | 05:45 | |
*** whit has quit IRC | 05:59 | |
*** niemeyer has quit IRC | 06:03 | |
*** jinty has joined #zope3-dev | 06:04 | |
*** robyg has quit IRC | 06:15 | |
*** MacYET has joined #zope3-dev | 06:22 | |
*** bradb_ has left #zope3-dev | 06:43 | |
*** bskahan has quit IRC | 07:02 | |
*** jinty has quit IRC | 07:47 | |
*** suresh has joined #zope3-dev | 07:53 | |
*** dobee has joined #zope3-dev | 08:03 | |
*** SureshZ has quit IRC | 08:09 | |
*** SureshZ has joined #zope3-dev | 08:13 | |
*** philiKON has quit IRC | 08:14 | |
*** kaczordek has joined #zope3-dev | 08:16 | |
*** efge has joined #zope3-dev | 08:20 | |
*** dobee has quit IRC | 08:27 | |
*** suresh has quit IRC | 08:29 | |
*** deo has joined #zope3-dev | 08:29 | |
*** SureshZ has quit IRC | 08:40 | |
*** zagy has quit IRC | 08:43 | |
*** zagy has joined #zope3-dev | 08:45 | |
*** d2m has joined #zope3-dev | 08:48 | |
*** andres has quit IRC | 08:54 | |
*** sashav has quit IRC | 09:04 | |
*** hdima has joined #zope3-dev | 09:16 | |
*** Soulraven has joined #zope3-dev | 09:38 | |
*** Lewy has joined #zope3-dev | 10:15 | |
*** MJ has quit IRC | 10:17 | |
*** runyaga_ has joined #zope3-dev | 10:19 | |
*** MacYET has left #zope3-dev | 10:27 | |
*** andres has joined #zope3-dev | 10:28 | |
*** sashav_ has joined #zope3-dev | 10:29 | |
*** tekNico has joined #zope3-dev | 10:31 | |
*** runyaga has quit IRC | 10:32 | |
*** philiKON has joined #zope3-dev | 10:38 | |
*** andres_ has joined #zope3-dev | 10:48 | |
*** sashav_ is now known as sashav | 10:48 | |
*** andres has quit IRC | 10:51 | |
*** andres_ is now known as andres | 10:51 | |
*** jvts has joined #zope3-dev | 11:00 | |
*** ChanServ sets mode: +o tav | 11:11 | |
*** MJ has joined #zope3-dev | 11:19 | |
*** Soulraven has quit IRC | 11:30 | |
*** andres has quit IRC | 11:33 | |
*** kaczordek has quit IRC | 11:38 | |
*** MrTopf_ has joined #zope3-dev | 11:38 | |
*** dobee has joined #zope3-dev | 11:40 | |
*** srichter has joined #zope3-dev | 11:42 | |
philiKON | hi srichter | 11:42 |
philiKON | srichter, sprinting? | 11:42 |
*** ChanServ sets mode: +o srichter | 11:44 | |
srichter | we are starting around 13:00 today, but the first people are already here | 11:44 |
philiKON | ic | 11:45 |
*** deo has quit IRC | 12:01 | |
*** tziade has joined #zope3-dev | 12:13 | |
*** tziade is now known as tarek | 12:14 | |
*** SteveA has quit IRC | 12:32 | |
*** zbir has quit IRC | 12:33 | |
*** SteveA has joined #zope3-dev | 12:37 | |
* VladDrac still can't get is IBrowserPublisher adapter to work :( | 12:42 | |
*** andres has joined #zope3-dev | 12:43 | |
VladDrac | ah, slowly getting it to work | 12:47 |
VladDrac | TypeError: unbound method getContact() must be called with DomainTool instance as first argument (got DomainTool instance instead) | 12:49 |
VladDrac | interesting ;) | 12:49 |
*** regebro has joined #zope3-dev | 12:58 | |
VladDrac | ok now that I get the hang of it, the IBrowserPublisher adaption is really nice | 13:07 |
VladDrac | (and http specific so it doesn't mess with my AMF traversal :) | 13:07 |
philiKON | :) | 13:07 |
philiKON | yes, i very much like the cool new ways of specifying more stuff in python code that belongs there and not in zcml | 13:08 |
VladDrac | I'm now adding additional traversing (for http views) on top of my "tool" | 13:08 |
VladDrac | if someone accesses /contact?id=1, a proxy "contact" object is created, loaded with an SQLObject (with id 1) | 13:08 |
VladDrac | zope.formlib works on top of this proxy object (as its context) | 13:09 |
philiKON | why not contact/1/ ? | 13:09 |
VladDrac | rather clean, really nice as well | 13:09 |
philiKON | form values suck for this | 13:09 |
VladDrac | phil: because it would need two levels of traversing | 13:09 |
philiKON | ? | 13:09 |
VladDrac | phil I've considered it, I'm too lazy at this moment | 13:09 |
philiKON | or, contact/++id++1/ | 13:09 |
philiKON | that's very very easy | 13:09 |
philiKON | that == a namespace adapter like ++id++ | 13:10 |
VladDrac | phil: /contact would need to result in something that's traversable as well, so /contact/1 will result in the actual "proxy" | 13:10 |
VladDrac | phil: trivial to you perhaps, I wouldn't know where to start | 13:10 |
philiKON | right | 13:10 |
philiKON | acutally, it's not that hard | 13:11 |
philiKON | let's go back to my suggestion contact/1 | 13:11 |
VladDrac | ok | 13:11 |
* VladDrac 'd like that | 13:11 | |
*** kobold has joined #zope3-dev | 13:11 | |
philiKON | now, i gues syou have something like: | 13:11 |
philiKON | some_folder/contact/1 | 13:12 |
philiKON | yes? | 13:12 |
philiKON | or what would like urls to look like? | 13:12 |
VladDrac | that's what I'd like | 13:12 |
VladDrac | what I have is some_filder/contact?id=1 | 13:12 |
philiKON | ok | 13:13 |
VladDrac | some_folder is my "tool" that currently adapts to IBrowserPublisher | 13:13 |
philiKON | so, you write an ITraversable adapter for some_folder | 13:13 |
VladDrac | offering publishTravers() that traverses /contact | 13:13 |
SteveA | you need ITraversable only when you're concerned with TALES traversal | 13:13 |
philiKON | ok | 13:13 |
philiKON | yes | 13:13 |
SteveA | the main issue in integrating sqlobject into zope3 like this is security | 13:13 |
philiKON | ITraversable is a bit general | 13:14 |
SteveA | ITraversable is for object graph traversal | 13:14 |
SteveA | or TALES traversal, if you prefer that name | 13:14 |
SteveA | so, SQLObject uses classmethods as factories for temporary objects that are representations of rows in the database | 13:14 |
SteveA | there is no "root object" in the sense the ZODB has | 13:15 |
SteveA | in Zope 3, the publication, the thing that deals with web requests, needs to be given access to "assets" through a security-aware channe | 13:15 |
SteveA | channel | 13:15 |
SteveA | it gets the root object as a security proxied root object, in the default zope3 publication | 13:16 |
VladDrac | steve: that would be my "proxy" object right? | 13:16 |
SteveA | and this ensures that all other zodb objects you get will be security proxied | 13:16 |
SteveA | in launchpad, we don't use the zodb | 13:16 |
philiKON | SteveA, so, let me get this right: for URL traversal, Traversables and Traversers aren't used at all, but only IBrowserPublishers? | 13:16 |
SteveA | and our publication doesn't have a useful root object (i think the concept is bogus, but that's another discussion) | 13:16 |
VladDrac | phil: that's what I learned - implementing ITraversable didn't work for me | 13:17 |
philiKON | interesting | 13:17 |
SteveA | so, we need a "security aware channel" to get sql objects for use by the publisher, for traversing | 13:17 |
philiKON | VladDrac, that will have some implications on Five... | 13:17 |
SteveA | in launchpad, we use getUtility(IContentObjectSet), where IContentObjectSet is a singleton that provides methods to query the sql objects | 13:18 |
SteveA | the utility is registered by a secured_utility directive | 13:18 |
* philiKON leaves VladDrac to SteveA's advice and returns coding | 13:18 | |
SteveA | which registers it as a utility, but so that the utility is security-proxied before it is returned | 13:18 |
SteveA | then, there are IBrowserPublisher adapters registered for objects that says how to traverse them | 13:19 |
SteveA | we don't use any but the basic ITraversable adapters as provided by Zope 3 | 13:19 |
SteveA | although, some custom tales PathAdapters implement ITraversable directly | 13:20 |
SteveA | philiKON: the default URL traversal in Zope 3 is an IBrowserPublication that looks up an ITraversable and uses that | 13:20 |
philiKON | SteveA, ah! that's good to know | 13:20 |
SteveA | so, there is, by default, this link between browser traversal and TALES traversal | 13:21 |
SteveA | but, the names are confusing | 13:21 |
SteveA | and this default is actually very confusing | 13:21 |
SteveA | because it promotes the idea that the arrangement of objects in the ZODB is what should be shown throught the web | 13:21 |
SteveA | and that ITraversable is the correct place to change browser traversal | 13:21 |
SteveA | and makes the zope3 framework look more tightly coupled zodb<->web presentation, and more complex, than it really is | 13:22 |
SteveA | i mean, you wrote a book on it, and yet you just had an "aha!" moment | 13:22 |
philiKON | i think the default is sensible. the promotion of which to change should be different, though | 13:22 |
SteveA | well, i'm more radical | 13:22 |
philiKON | i bet i used to know this a year ago but just forgot :) | 13:22 |
SteveA | i think the default zope3 should not include the zodb | 13:23 |
philiKON | i guess that makes a point for you | 13:23 |
SteveA | and the zodb should be an add-on | 13:23 |
* SteveA gets of the soap box, and goes back to implementing "Navigation" components for launchpad | 13:23 | |
philiKON | SteveA, i tend to agree with you more on this than i used to 1-2 years ago | 13:24 |
philiKON | SteveA, maybe this can become reality for zope 3.5 or so | 13:24 |
SteveA | i need to take a vacation from launchpad, and actually do some of these things i keep going on about | 13:24 |
SteveA | but, launchpad needs me for a while longer... | 13:24 |
VladDrac | okay | 13:31 |
VladDrac | I'm lost already :) | 13:31 |
* VladDrac 's gonna stick to his /contact?id=1 implementation for now :) | 13:31 | |
VladDrac | I might optimize later but for now it works | 13:32 |
SteveA | VladDrac: i can explain more simply, but to get the security stuff right, you need to understand the zope3 security model | 13:32 |
SteveA | see, it is very easy to get an sqlobject instance that isn't security proxied | 13:32 |
SteveA | if you don't program it according to what the security model expects | 13:32 |
SteveA | i gave a talk on this at europython | 13:33 |
SteveA | because, the default security model implementation (again) assumes a ZODB model | 13:33 |
SteveA | and this makes it not at all obvious what you need to do to change it | 13:33 |
SteveA | whereas, if the ZODB were distributed separately, it would be clear from seeing how the separate unit needs to plug in | 13:34 |
SteveA | what you need to do to plug in other such systems | 13:34 |
SteveA | runyaga_: i guess you're interested in this too | 13:34 |
SteveA | VladDrac: a simple solution for you for now is to write a ZODB object | 13:34 |
SteveA | which doesn't really do anything except be stored in the ZODB | 13:35 |
SteveA | and which has methods which get you access to your sqlobject objects | 13:35 |
SteveA | that will mean that your sqlobject instances will be security proxied | 13:35 |
SteveA | because they will have ultimately come via the ZODB root object | 13:35 |
SteveA | do you get what i mean? | 13:35 |
VladDrac | steve well yes and no | 13:36 |
VladDrac | it sounds like you're solving a problem that I've already solved | 13:36 |
SteveA | you do the security proxying in your traversal code? | 13:36 |
VladDrac | currently I'm just creating some proxy (not security/zope3 proxy) object on the fly when /contact?id=1 accessed | 13:37 |
VladDrac | which somewhat "wraps" the Contact sql object (->Contact.get(1)) | 13:37 |
SteveA | okay, so it represents the collection of all Contacts | 13:37 |
VladDrac | I explicitly define an interface on this object (a bit redundant, the entire definition is already in the sqlobject, but okay) | 13:38 |
SteveA | this would be getUtility(IContactSet) in launchpad, btw | 13:38 |
SteveA | to link with what i said earlier | 13:38 |
VladDrac | and zope.formlib can then generate forms on top of this | 13:38 |
VladDrac | no not entire sets, individual objects | 13:38 |
SteveA | ok | 13:38 |
VladDrac | none of the objects that are generated are really persistent in the ZODB | 13:38 |
SteveA | i wouldn't bother with the wrapper, although i would use the interface | 13:38 |
VladDrac | they just provide the appropriate context for zope.formlib to work on | 13:39 |
SteveA | but, how do you get one of these wrappers? | 13:39 |
VladDrac | my tool is at, say /tool | 13:39 |
VladDrac | if you access /tool/contact?id=1 | 13:39 |
VladDrac | then the IBrowserPublisher adapter that adapts /tool create such a wrapper and returns it | 13:40 |
VladDrac | and passes the id=1 to it, so it can load the appropriate SQLObject | 13:40 |
SteveA | so, the object at /tool is security proxied | 13:40 |
SteveA | it is in the ZODB, probably | 13:40 |
SteveA | the adapter of /tool is most likely not security proxied, or is protected by just a single permission | 13:41 |
SteveA | the adapter gets an sqlobject instance, which is not security proxied | 13:41 |
VladDrac | correct | 13:41 |
SteveA | so, if this kind of security works for you, that's great. | 13:41 |
SteveA | you may be able to use the content directive to specify more security for your wrapper | 13:42 |
SteveA | but i don't know whether that gets used when it's used as an adapter | 13:42 |
VladDrac | <require | 13:42 |
VladDrac | permission="zope.View" | 13:42 |
VladDrac | interface=".forminterfaces.IDataProxy" | 13:42 |
VladDrac | /> | 13:42 |
VladDrac | it won't work without it, actually | 13:42 |
SteveA | do you define a permission in the adapter directive? | 13:43 |
VladDrac | <browser:view | 13:43 |
VladDrac | for="..interfaces.IDomainTool" | 13:43 |
VladDrac | provides="zope.publisher.interfaces.browser.IBrowserPublisher" | 13:43 |
VladDrac | class=".adapters.DTBrowserPublisher" | 13:43 |
VladDrac | permission="zope.Public" | 13:43 |
VladDrac | /> | 13:43 |
VladDrac | this is all there is basically | 13:43 |
SteveA | i mean, the adapter from tool to wrapper | 13:43 |
*** MrTopf_ has quit IRC | 13:43 | |
VladDrac | that's not done through adaption | 13:43 |
VladDrac | the only adapter is the adapter above that implements IBrowserPublisher on top of my tool | 13:43 |
SteveA | i see, i'd misread what you wrote above | 13:44 |
VladDrac | anyway | 13:44 |
VladDrac | the whole discussion was about a nicer way to traverse | 13:44 |
SteveA | glad you've found something that works | 13:44 |
VladDrac | i.e. /tool/contact/1 or /tool/contact/++id++1/ | 13:44 |
SteveA | the ++id++ thing is way bogus | 13:44 |
SteveA | aesthetically, and practically | 13:45 |
SteveA | contact/1 is much better | 13:45 |
VladDrac | I'd like /contact/1 and that would be doable bit all of this isn't too important right now | 13:45 |
VladDrac | my customer wants a Flex (flash) AMF interface, so all real work is done through amf publication | 13:46 |
VladDrac | I just need the web interface for myself, for maintenance/testing | 13:46 |
SteveA | don't you already have /contact/1 ? | 13:46 |
SteveA | just register an IBrowserPublisher adapter for IDataProxy | 13:46 |
VladDrac | steve no, tool.publishTraverse intercepts requests for "contact" and creates a wrapper based on id | 13:46 |
SteveA | (I'd call it IContact, but still) | 13:46 |
SteveA | so, what interface does the wrapper provide? | 13:47 |
SteveA | if you like, make the wrapper directly provide IBrowserPublisher | 13:47 |
SteveA | or just IPublishTraverse | 13:47 |
VladDrac | it provides IDataProxy and IContactForm | 13:47 |
VladDrac | IDataProxy is a generic wrapper interface, IContactForm is specifically for the Contact object | 13:48 |
VladDrac | (there will be more types of course) | 13:48 |
SteveA | you need to register the IBrowserPublisher for something that your wrapper provides | 13:48 |
SteveA | or make the wrapper class implement IBrowserPublisher itself | 13:48 |
SteveA | wait a sec | 13:49 |
SteveA | you said /tool/contact/1 | 13:49 |
SteveA | so, what is /tool/contact/ ? is /tool/contact/1 where you can edit contact number 1? | 13:50 |
VladDrac | /tool/contact/1 would be the ideal path | 13:50 |
VladDrac | currently, it works with /tool/contact/id=1 | 13:50 |
VladDrac | eh | 13:50 |
VladDrac | currently, it works with /tool/contact?id=1 | 13:50 |
VladDrac | i.e. one level of traversing "below" /tool | 13:50 |
SteveA | what is at /tool/contact ? | 13:50 |
VladDrac | this is: | 13:51 |
VladDrac | def publishTraverse(self, request, name): | 13:51 |
VladDrac | id = int(request.form.get('id', -1)) | 13:51 |
VladDrac | if self.subcontent_map.has_key(name): | 13:51 |
VladDrac | (factory, source) = self.subcontent_map[name] | 13:51 |
VladDrac | return factory(self.context, name, id, source) | 13:51 |
VladDrac | raise NotFound(self.context, name, request) | 13:51 |
VladDrac | subcontent_map maps "contact" to an appropriate wrapper | 13:51 |
*** Aiste has joined #zope3-dev | 13:52 | |
SteveA | i see | 13:52 |
VladDrac | and I could delegate stuff one further level, as you suggest | 13:52 |
VladDrac | i.e. return something that can traverse the /1 and return the appropriate object | 13:52 |
SteveA | i don't get this | 13:53 |
SteveA | what does 'name' do in the code above? | 13:53 |
SteveA | isn't 'name | 13:53 |
SteveA | isn't 'name' the '1' or '2' or whatever? | 13:53 |
VladDrac | name is "contact" | 13:54 |
SteveA | ah | 13:54 |
VladDrac | (or "domain", or any other type of object in my db that's gonna be wrapped) | 13:54 |
SteveA | so, that publishTraverse traverses 'contact' | 13:55 |
VladDrac | yes | 13:55 |
SteveA | you can actually make it traverse more than that in one go | 13:55 |
VladDrac | ok that would be nice, how? | 13:55 |
SteveA | this is more crufty than it should be | 13:55 |
SteveA | because of a bug in the zope3 request | 13:55 |
SteveA | that i need to fix sometime | 13:55 |
SteveA | by a bit of a refactor | 13:55 |
VladDrac | pop elemens out of the requests traversalstack? | 13:55 |
SteveA | yep, i'll show you some code | 13:56 |
VladDrac | sounds zope2-ish :) | 13:56 |
SteveA | traversalstack = request.getTraversalStack() | 13:56 |
SteveA | if len(traversalstack) > 0: | 13:56 |
SteveA | nextstep = traversalstack.pop() | 13:56 |
SteveA | request._traversed_names.append(nextstep) | 13:56 |
SteveA | request.setTraversalStack(traversalstack) | 13:56 |
SteveA | 13:56 | |
SteveA | so, basically, you get the traversal stack | 13:56 |
SteveA | and you can set it when you've done playing with it | 13:56 |
SteveA | it is "backwards" in the sense that you need to pop things out of it to get the next step | 13:56 |
VladDrac | ok, cool, that should work | 13:57 |
SteveA | the bug is, you need to add any names you remove to request._traversed_names | 13:57 |
SteveA | the refactor i need to do | 13:57 |
VladDrac | ok I've seen that before recently somewhere | 13:57 |
SteveA | is to have a request.traversalstack as a list-like object | 13:57 |
VladDrac | probably during amf publication debugging :) | 13:57 |
SteveA | that takes care of its own internal state | 13:57 |
*** mgedmin has joined #zope3-dev | 13:57 | |
SteveA | and deprecate the set / getTraversalStack | 13:57 |
SteveA | VladDrac: so, in summary, it should be easy and obvious how to do browser traversal, multiple steps at a time, in zope3. but it's still rather crufty. | 14:00 |
VladDrac | I've seen worse (in zope2 :) | 14:01 |
VladDrac | the nice thing is | 14:01 |
VladDrac | that I just added it, and it just works :) | 14:01 |
VladDrac | thanks! | 14:01 |
VladDrac | /tool/contact/1/@@edit.html edits object with id=1 nicely | 14:02 |
*** ignas has joined #zope3-dev | 14:10 | |
*** ignas has left #zope3-dev | 14:11 | |
*** ignas has joined #Zope3-dev | 14:11 | |
SteveA | cool | 14:11 |
SteveA | it *should* be more like nextstep = request.traversalstack.pop() | 14:12 |
SteveA | and that's it | 14:12 |
zagy | SteveA: hi :) | 14:26 |
SteveA | hello there mr z | 14:26 |
zagy | how are you doing? | 14:27 |
SteveA | godamn irc meetings all day ;-) | 14:27 |
SteveA | how are you? | 14:27 |
zagy | heh, only managing, right? | 14:28 |
zagy | I'm fine... we're planning to move by the end of the year | 14:28 |
SteveA | to move where? | 14:29 |
SteveA | gocept? | 14:29 |
zagy | both gocept and me :) | 14:29 |
Theuni | what? | 14:29 |
Theuni | where? | 14:29 |
Theuni | someone said gocept | 14:29 |
zagy | to Halle, a larger city about 50km from here | 14:30 |
* Theuni too | 14:30 | |
*** regebro has quit IRC | 14:32 | |
*** drzoltron_ has joined #zope3-dev | 14:33 | |
SteveA | but the office is so nice, and near a very nice sauna place | 14:33 |
SteveA | maybe i should visit before you all move ;-) | 14:34 |
Theuni | you still need a care? | 14:34 |
Theuni | aeh | 14:34 |
Theuni | you still need a car? | 14:34 |
zagy | Theuni: no | 14:35 |
zagy | SteveA: sure | 14:35 |
zagy | the new office will be even nicer though :) | 14:36 |
SteveA | put the car on hold for a while | 14:36 |
*** vlado has joined #zope3-dev | 14:41 | |
*** j-w has joined #zope3-dev | 14:42 | |
*** projekt01 has joined #zope3-dev | 14:57 | |
*** niemeyer has joined #zope3-dev | 14:59 | |
*** vidasp has joined #zope3-dev | 14:59 | |
*** MacYET_ has joined #zope3-dev | 15:00 | |
*** mgedmin has quit IRC | 15:00 | |
*** MrTopf_ has joined #zope3-dev | 15:10 | |
*** bradb has joined #zope3-dev | 15:13 | |
*** Alef has joined #zope3-dev | 15:15 | |
*** jvts has quit IRC | 15:17 | |
*** jvts has joined #zope3-dev | 15:18 | |
VladDrac | what methods are available to introspect attributes/methods implemented by an object? | 15:28 |
SteveA | ask what interfaces it provides | 15:30 |
SteveA | and inspect the interfaces | 15:30 |
SteveA | look in zope/interface/interfaces.py | 15:31 |
VladDrac | hmm ok tried that but I guess I tried wrong ::) | 15:32 |
*** tiredbones has joined #zope3-dev | 15:32 | |
*** sashav has quit IRC | 15:48 | |
*** Aiste has quit IRC | 15:51 | |
*** jvts has quit IRC | 15:52 | |
*** vidasp has quit IRC | 15:54 | |
*** yotaff has joined #zope3-dev | 15:59 | |
yotaff | hi | 15:59 |
*** tekNico has quit IRC | 16:09 | |
*** faassen has joined #zope3-dev | 16:14 | |
*** Alef has quit IRC | 16:14 | |
*** Alef has joined #zope3-dev | 16:14 | |
*** Alef has joined #zope3-dev | 16:15 | |
*** Alef has joined #zope3-dev | 16:16 | |
*** jinty has joined #zope3-dev | 16:16 | |
*** mgedmin has joined #zope3-dev | 16:21 | |
*** Alef has quit IRC | 16:23 | |
*** Alef has joined #zope3-dev | 16:23 | |
*** bradb_ has joined #zope3-dev | 16:24 | |
*** Alef has quit IRC | 16:25 | |
*** Alef has joined #zope3-dev | 16:25 | |
*** Alef has quit IRC | 16:26 | |
*** Alef has joined #zope3-dev | 16:26 | |
*** Alef has joined #zope3-dev | 16:27 | |
*** Alef has joined #zope3-dev | 16:28 | |
VladDrac | alef: could you stop doing that? | 16:28 |
Alef | sory | 16:28 |
*** alga has joined #zope3-dev | 16:28 | |
*** d2m has quit IRC | 16:29 | |
*** sashav has joined #zope3-dev | 16:30 | |
*** bradb has quit IRC | 16:34 | |
*** J1m has joined #zope3-dev | 16:40 | |
J1m | srichter, ayt? | 16:40 |
*** benji_york has joined #zope3-dev | 16:42 | |
*** benji_york_zope has joined #zope3-dev | 16:42 | |
*** benji_york_zope has quit IRC | 16:43 | |
*** Lewy has quit IRC | 16:43 | |
MacYET_ | sr is heavily discussing here | 16:54 |
*** j-w has quit IRC | 16:56 | |
*** jvts has joined #zope3-dev | 16:57 | |
tarek | J1m, ayt ? | 16:57 |
J1m | Yes, and responsing to your email. | 16:58 |
tarek | oh alrite, thx | 16:59 |
J1m | sent | 17:01 |
runyaga_ | SteveA, ahhh you have come to the darkside - i see | 17:03 |
tarek | J1m, thx | 17:03 |
*** bradb_ is now known as bradb | 17:04 | |
*** MrTopf_ has quit IRC | 17:06 | |
mgedmin | dark side? | 17:06 |
* mgedmin goes to read logs | 17:06 | |
*** hdima has quit IRC | 17:11 | |
* MacYET_ thinks about clever method names | 17:17 | |
*** sm is now known as sm-afk | 17:27 | |
*** bradb_ has joined #zope3-dev | 17:29 | |
*** stub has quit IRC | 17:33 | |
*** bradb has quit IRC | 17:37 | |
*** runyaga_ is now known as runyaga | 17:40 | |
*** bradb_ is now known as bradb | 17:40 | |
febb | Hello | 17:51 |
*** bradb_ has joined #zope3-dev | 17:53 | |
*** niemeyer is now known as nie_lunch | 17:54 | |
faassen | mgedmin: what dark side? | 17:55 |
SteveA | must be a PSU plot | 17:56 |
faassen | SteveA: why'd runyaga claim you went to the dark side? which particular dark side? :) | 17:56 |
* J1m wants to know too. :) | 17:57 | |
faassen | SteveA: give us the information! | 17:58 |
faassen | J1m: he's probably the werewolf. | 17:58 |
*** MrTopf_ has joined #zope3-dev | 17:58 | |
SteveA | i was outlining one way to run zope3 without the zodb, with sqlobject, and adapting the security model to do so. | 17:58 |
J1m | faassen, good point. | 17:58 |
* SteveA really needs to get his EP talk slides published | 17:59 | |
faassen | SteveA: where did you outline this? | 17:59 |
SteveA | i outlined it best in the EP talk | 17:59 |
faassen | running zope 3 without the zodb should be something someone advocates. | 17:59 |
SteveA | i advocate it | 17:59 |
faassen | yes. | 17:59 |
faassen | so that's good. | 17:59 |
* runyaga rallies | 17:59 | |
faassen | that's not dark side. | 17:59 |
SteveA | i also advocate running it with the zodb | 17:59 |
SteveA | so, i play on both sides | 17:59 |
runyaga | yes.. by default it should not run zodb (imho) | 18:00 |
runyaga | i love zodb, btw. its fast and effortless | 18:00 |
*** runyaga is now known as run|away | 18:00 | |
SteveA | i think there would be a great many advantages to having the zodb as an optional self-contained add-on to zope3 | 18:00 |
J1m | Hm, I bet Plone would not have taken off the way it did if it weren't for the ZODB. | 18:00 |
SteveA | one advantage would be that people who want to plug in other "asset / content" mechanisms can see a concrete example of how to do it | 18:01 |
run|away | J1m, your probably right. I would still use the zodb | 18:01 |
run|away | I *want* the ZODB. I just dont know if it should be on by default. | 18:01 |
faassen | I agree with everybody on everything here. | 18:01 |
J1m | It could be argued that the "default" case should be very easy. | 18:01 |
SteveA | + | 18:01 |
SteveA | 1 | 18:01 |
faassen | I think it should be on by default. it should just be easy to turn something else on instead by default. | 18:01 |
faassen | well, not by default. :) | 18:01 |
J1m | OTOH, there could be much simpler defaults for -- for example for apps that don't need a database at all. Or need a minimal one. | 18:02 |
faassen | I like the ZODB on by default, as everything else is harder to install. | 18:02 |
faassen | well, that's a default that doesn't do much. | 18:02 |
faassen | no database at all. | 18:02 |
J1m | Hello world doesn't need an object filing system. | 18:02 |
SteveA | nor does a pi server | 18:02 |
faassen | blasphemy! oh, wait, you're the zope pope. | 18:02 |
faassen | what's a pi server? | 18:02 |
SteveA | then again, i'm not sure the world needs a pi server | 18:02 |
faassen | a server that serves up pi? | 18:03 |
SteveA | sure | 18:03 |
SteveA | in octal, perhaps | 18:03 |
*** jukart has joined #zope3-dev | 18:03 | |
faassen | the world needs a pi server, pi needs to be a web service. | 18:03 |
faassen | so that it's easy to reconfigure things if the universe changes fundamentally. | 18:03 |
SteveA | so, /02345 gets you the 02345'th octal digit of pi | 18:03 |
SteveA | or, if you configure the pi service to be at /my/pi/server/ then /my/pi/server/02345 is that digit | 18:04 |
*** bradb has quit IRC | 18:04 | |
benji_york | faassen, I *am* sure the world doesn't need a pi server | 18:05 |
faassen | anyway, while hello world doesn't need an object database. | 18:05 |
faassen | benji_york: how come? :) | 18:05 |
faassen | many trivial web apps taht the 20 minute videos seem to be about do need some form of database. | 18:05 |
faassen | todo lists and such. | 18:05 |
benji_york | because e is much newer and more exciting | 18:05 |
faassen | and we can say "make your objects without writing SQL!" too. :) | 18:05 |
faassen | benji_york: well, they're both related to each other and to i. | 18:06 |
SteveA | you don't need both an e server and a pi server if you have a "Nth root of" server. | 18:08 |
benji_york | class IContentTypeInfo(interface.Interface): | 18:09 |
benji_york | """Information about content types""" | 18:09 |
benji_york | expectedMimeTypes = schema.List( | 18:09 |
benji_york | title=_('Mime Types'), | 18:09 |
benji_york | description=_("The MIME type for the associated content type."), | 18:09 |
benji_york | required=False, | 18:09 |
benji_york | value_type=schema.ASCIILine(constraint=mimeTypeConstraint), | 18:09 |
benji_york | ) | 18:09 |
benji_york | expectedExtensions = schema.List( # XXX check constraint | 18:09 |
benji_york | title=_('Extensions (with leading dot)'), | 18:09 |
benji_york | description=_("Usual extensions for the associated content type;" | 18:09 |
benji_york | " first is preferred."), | 18:09 |
benji_york | required=True, | 18:09 |
benji_york | min_length=0, | 18:09 |
benji_york | value_type=schema.ASCIILine(constraint=re.compile(r'\.').match), | 18:09 |
benji_york | ) | 18:09 |
benji_york | title = MessageID( | 18:09 |
benji_york | title=_("Title"), | 18:09 |
benji_york | description=_("The message id for the human-readable name" | 18:09 |
benji_york | " of this content type."), | 18:09 |
benji_york | required=True, | 18:09 |
benji_york | ) | 18:09 |
benji_york | doh!!! | 18:09 |
*** bradb_ has quit IRC | 18:10 | |
J1m | benji_york, good point. | 18:10 |
* benji_york doesn't get allong with middle-click-paste very well | 18:11 | |
J1m | tarek, you're set up | 18:25 |
tarek | J1m, ok thx | 18:25 |
* philiKON just read up | 18:28 | |
philiKON | i think we need a hyperfine structure constant server | 18:31 |
SteveA | you could have an arkansas overridden PI server that would be simpler to implement | 18:32 |
benji_york | Praline: No I'm sorry, I'm not prepared to pursue my line of enquiry any further as I think this is getting too silly. | 18:32 |
benji_york | Colonel: (coming in) Quite agree. Quite agree. Silly. Silly . . . silly. Right get on with it. Get on with it. | 18:32 |
philiKON | arkansas? | 18:32 |
*** bradb has joined #zope3-dev | 18:32 | |
philiKON | probably the most fascinating number in physics: http://en.wikipedia.org/wiki/Fine_structure_constant | 18:33 |
philiKON | richard feynman: "one of the greatest damn mysteries of physics: a magic number that comes to use with no understanding by man" | 18:34 |
SteveA | didn't they rule that pi is three? | 18:35 |
*** SteveA has quit IRC | 18:35 | |
*** SteveA has joined #zope3-dev | 18:36 | |
philiKON | did they? | 18:37 |
*** alga has quit IRC | 18:37 | |
*** alga has joined #zope3-dev | 18:38 | |
*** vlado has quit IRC | 18:39 | |
*** yotaff has left #zope3-dev | 18:43 | |
*** bradb has quit IRC | 18:43 | |
* MacYET_ curses z3 | 18:44 | |
faassen | zpi. | 18:45 |
faassen | not z3. | 18:45 |
faassen | we're not in arkansas. | 18:45 |
faassen | anyway, they never ruled pi was 3, but some american states did have it up for proposal at various stages, if I recall correctly. | 18:45 |
*** sm-afk is now known as sm | 18:47 | |
*** bradb has joined #zope3-dev | 18:49 | |
*** run|away is now known as runyaga | 18:50 | |
*** nie_lunch is now known as niemeyer | 18:54 | |
*** bradb has quit IRC | 18:54 | |
*** jvts has quit IRC | 18:58 | |
*** MJ has quit IRC | 18:58 | |
*** bradb has joined #zope3-dev | 19:00 | |
philiKON | faassen, why would they ever do that? | 19:02 |
benji_york | philiKON, see http://www.snopes.com/religion/pi.htm | 19:03 |
philiKON | thanks. i tried googling but nothing came up | 19:03 |
*** SureshZ has joined #zope3-dev | 19:05 | |
MacYET_ | checkin messages from branches go to the mailinglist? | 19:06 |
philiKON | yes | 19:08 |
MacYET_ | hmm..then i am missing mine | 19:08 |
*** bradb has quit IRC | 19:13 | |
philiKON | benji_york, http://en.wikipedia.org/wiki/Pi#Less_accurate_approximations | 19:25 |
*** MrTopf_ has quit IRC | 19:25 | |
*** philiKON has quit IRC | 19:25 | |
mgedmin | indiana was the state that tried to legislate PI == 3 | 19:26 |
*** philiKON has joined #zope3-dev | 19:26 | |
mgedmin | or was it 3.2 | 19:26 |
mgedmin | by the way, there is a pi server somewhere on the net | 19:26 |
mgedmin | a coworker of mine left a wget in background and downloaded half a meg of pi digits | 19:26 |
*** bradb has joined #zope3-dev | 19:27 | |
*** Aiste has joined #zope3-dev | 19:29 | |
*** philiKON has quit IRC | 19:32 | |
*** Jonex has joined #zope3-dev | 19:32 | |
*** MJ has joined #zope3-dev | 19:32 | |
Jonex | benji_york: "Download Tim's Windows binaries for the Zope 3 C code and install according to the instructions" | 19:34 |
Jonex | There are none. | 19:34 |
srichter | faassen: tonico strasser is doing the new nice graphics for the new zope3.org site | 19:34 |
mgedmin | nice graphics! yummy! | 19:36 |
runyaga | zope3.org shows viacom properties | 19:37 |
runyaga | wow.. cbsnewyork is looking great! | 19:37 |
MacYET_ | viacom runs on z3? | 19:39 |
*** SteveA has quit IRC | 19:39 | |
runyaga | probably some dns issue - just wanted to say it - not sure if thats desired behavior | 19:40 |
*** SteveA has joined #zope3-dev | 19:40 | |
MacYET_ | :-) | 19:42 |
*** d2m has joined #zope3-dev | 19:48 | |
*** ignas has quit IRC | 19:49 | |
faassen | srichter: cool. :) | 19:59 |
faassen | srichter: I hope they're serious with a bit of spark. | 19:59 |
srichter | me too | 20:00 |
faassen | srichter: we want to look cool but not as cool as some of the new cool looking systems. Zope 3 is needs to come across as cool but we have a lot of experience. | 20:00 |
srichter | they are working hard to get something going :-) | 20:00 |
faassen | srichter: is the sprint ongoing? | 20:00 |
srichter | we started today and will work till Sunday | 20:00 |
srichter | I think we will have things to show | 20:00 |
faassen | srichter: cool. looking forward to taking a look. | 20:00 |
faassen | srichter: anyway, JW and I were chatting about it today. | 20:01 |
faassen | srichter: he basically said, it shouldn't look as cool as TurboGears or Django sites. :) | 20:01 |
mgedmin | I agree -- it should look *cooler*! | 20:01 |
faassen | mgedmin: well, we don't want to look at, oh, yeah, zope 3 is going to do the colorful web page too. | 20:01 |
faassen | mgedmin: better look a bit less playful, though a bit more playful than zope.org. :) | 20:02 |
mgedmin | e.g. http://mono-project.com/Main_Page is very cool | 20:02 |
faassen | mgedmin: if we want playful we have the z3 base. :) | 20:02 |
mgedmin | or it looks very cool at a first glance | 20:02 |
mgedmin | I never actually tried to browse it | 20:02 |
faassen | yeah, that's not as busy as turbogears.org | 20:02 |
mgedmin | yeah, turbogears.org was too busy | 20:02 |
Jonex | benji_york: You can't help? | 20:03 |
faassen | django is a bit less busy, but zope3.org needs to be more understated. :) | 20:03 |
Jonex | turbogears.org will get a slightly less busy look when the next version is released. | 20:05 |
Jonex | At least on the normal pages, the splash screen may be as cluttered even then. | 20:06 |
faassen | Jonex: how od you know? :) | 20:06 |
Jonex | faassen: I made it. :) | 20:06 |
faassen | Jonex: ooh, cool. | 20:06 |
faassen | Jonex: to make it clear, I think turbogears presents itself *way* better than zope. :) | 20:06 |
faassen | Jonex: it's just that zope needs to have more like a 'weight of history' look to it. :) | 20:06 |
Jonex | I'm not sure that's true, I think the web design should rather reflect the feeling of the framework than the stability/history of it. | 20:07 |
faassen | Jonex: but the feeling *is* that we've got years of experience here. | 20:08 |
Jonex | Like now, when I see the current zope web page I get the impression that zope is a big and solid framework that may be a working sollution for large corporations but really hard to customise. | 20:09 |
*** kobold has left #zope3-dev | 20:09 | |
Jonex | I certainly do not get the feeling of an agile, flexible framework that I can use to write my next dynamic web page in. | 20:10 |
*** alga has quit IRC | 20:10 | |
*** alga has joined #zope3-dev | 20:10 | |
faassen | Jonex: yeah, but the current zope.org is not what I was talking about. | 20:12 |
Jonex | But more important than a webste with the right feeling is handholding tutorials and a video showing how effective you can be in it with wome experience. | 20:12 |
faassen | the video seems to be standard issue these days. | 20:12 |
faassen | what happened to text? :) | 20:12 |
faassen | anyway, we'll end up making a screencast, I guess. :) | 20:12 |
Jonex | The advantage of video is that you get a quick overview on how to set up and write a project. The factthat you can even do one of them shows that there isn't lots of boilerplate code to write. | 20:14 |
faassen | Jonex: yes. | 20:14 |
faassen | Jonex: I understand the appeal. | 20:14 |
benji_york | Jonex, I'm back (and reading up on the conversation) | 20:14 |
faassen | Jonex: it's just that ruby on rails managed to make this a requirement for *consideration*. | 20:14 |
faassen | like, Zope 3 has 2 books out. | 20:14 |
faassen | but people say, noo, I won't look into it until it has a video. | 20:14 |
faassen | which is a bit frustrating. :) | 20:14 |
runyaga | well | 20:14 |
mgedmin | Jonex, the turbogears flash video is a wonderful thing -- did you make it? | 20:14 |
runyaga | benji's quick_isntall guide means editing like 5 files | 20:15 |
faassen | but I understand the appeal. | 20:15 |
runyaga | it would be much sexier if you only edited 1 file and voila.. instant CRUD | 20:15 |
runyaga | then you could make a flash video uot of it | 20:15 |
Jonex | mgedmin: No, that was Kevin :) | 20:15 |
faassen | runyaga: are you going to work on the bobo branch? :) | 20:15 |
runyaga | as it stands.. you cant make a flash file to show off z3 sexiness | 20:15 |
runyaga | i would suggest doing a flash file of SIP (our z3 app) before doing one of z3 itself | 20:15 |
benji_york | ok Jonex, your original question was instructions on Tim's Z3 binaries? | 20:16 |
Jonex | faassen: but do you think I'll bother to buy a book before I even know if it does what I want? | 20:16 |
runyaga | re: bobo branch - I'm up for it | 20:16 |
Jonex | benji_york: Yes., I'm trying to follow the quickstart, (in the void of a video tutorial ;)) | 20:16 |
benji_york | runyaga, I plan on consolidating the view, interface, and code into one file in the quick start | 20:16 |
benji_york | :) | 20:16 |
runyaga | benji_york, can we remove the configure.zcml ? | 20:16 |
runyaga | step as well? | 20:16 |
benji_york | runyaga, it's possible, but much uglier in Python than in ZCML (IIRC) | 20:17 |
SteveA | not if you write nice class advisors to do it | 20:17 |
Jonex | Reducing the amount of XML is always a good idea to improve the sexyness of a project. | 20:17 |
runyaga | benji_york, would make the demo sexier *wink* | 20:17 |
SteveA | how about browser_view_on(IFoo, 'index') | 20:17 |
benji_york | Jonex, he instructions are inside the zip | 20:18 |
Jonex | (in the python world that id) | 20:18 |
Jonex | benji_york: Where? | 20:18 |
runyaga | but benji's quickstart is awesome | 20:18 |
benji_york | hmm, let me check... | 20:18 |
SteveA | i'm more and more using zcml directives that just list a module and a bunch of classes | 20:18 |
SteveA | and use class advisors to state 'glue' data about what the classes are used for | 20:19 |
Jonex | Does zope have fancy features like login system, simple logiing and stuff? | 20:19 |
faassen | a login system is fancy? | 20:19 |
benji_york | Jonex, oops, sorry, the instructions are to the right of the archive on the page (in the "description" column) | 20:19 |
runyaga | yes | 20:19 |
runyaga | faassen, sql crud is fancy ;-) | 20:19 |
Jonex | " | 20:19 |
Jonex | .pyd files from Zope3 trunk, compiled with MSVC 7.1. Unzip into the root of a Zope3 trunk checkout. For use with Python 2.4.1. Cannot be used with 2.3. Zope Corp does not support Python 2.4 yet, so you're on your own with this. " | 20:19 |
benji_york | Jonex, right | 20:20 |
benji_york | perhaps I need step-by-step instructions in the quick start | 20:20 |
alga | SteveA: isn't that hurting the pluggability? | 20:21 |
Jonex | Heh, oh, I should do that AND doa checkout. :) | 20:21 |
faassen | SteveA: sounds like what the bobo branch was moving towards. | 20:21 |
Jonex | You should put it into an python egg ;) | 20:21 |
faassen | SteveA: your class advisor stuff. too bad your code isn't out there. | 20:21 |
faassen | we should put zope 3 in a python egg, indeed. | 20:21 |
runyaga | YES! | 20:21 |
runyaga | eggs! | 20:21 |
SteveA | alga: no | 20:22 |
*** yota has joined #zope3-dev | 20:22 | |
SteveA | faassen: yes. it is too bad, though. | 20:22 |
faassen | SteveA: what's too bad? | 20:22 |
* SteveA needs to start a weblog to write about launchpad infrastructure code in detail. | 20:22 | |
faassen | SteveA: you need to get the code out there. | 20:22 |
faassen | SteveA: you need to get stuff into the zope 3 core. | 20:22 |
faassen | SteveA: any chance you'll be able to slip something in before 3.2? | 20:22 |
Jonex | SteveA: ~Maybe the design is to complex? :P | 20:22 |
benji_york | I've thought about egg-ifying Z3, but don't think it will be very useful | 20:23 |
SteveA | faassen: yes, i'd love to, but probably after 3.2, realistically. | 20:23 |
faassen | SteveA: well, that's at least a more solid idea of when you're going to. I'll try to hold you to it. :) | 20:23 |
runyaga | egg-ifying z3 isnt as important and having z3 products such as psycopgda and friends having eggs | 20:24 |
Jonex | benji_york: Why not? If not considering anything else, it'll help increase awareness of eggs. | 20:24 |
runyaga | that zope3 use eggs | 20:24 |
benji_york | right, runyaga | 20:24 |
benji_york | Jonex, because Z3 isn't "library" enough for an egg to make sence, it is more like something you would install eggs /into/ | 20:25 |
SteveA | Z3 darn well should be very "library" | 20:25 |
mgedmin | z3 ought to be a collection of libraries | 20:26 |
SteveA | when it is packaged for debian etc, it is packaged as z3 libraries and the stuff to install instances | 20:26 |
SteveA | and using python eggs will make that easier | 20:26 |
SteveA | and so see zope3 better packaged in linux distros | 20:26 |
faassen | benji_york: eggs support that. | 20:27 |
faassen | benji_york: eggs support a plugin architecture. | 20:27 |
faassen | benji_york: I think it makes a lot of sense to make z3 into eggs. the idea of zpkg is also independent packaging of subcomponents. | 20:27 |
Jonex | Could I expect to be producing working zope code within short time from starting to learn it, if I have experience with other frameworks as RoR and Django? | 20:27 |
faassen | benji_york: so that the idea of what's core and what's not is more diffuse. eggs can support that vision very well. | 20:27 |
benji_york | SteveA and mgedmin, maybe it's just my mental model; the way I use Z3 | 20:27 |
benji_york | faassen, eggs support installing an application (that might include it's own copy of Python)? | 20:28 |
faassen | Jonex: I don't know how fast you can do it with RoR or Django. It's not very hard to produce working z3 code. | 20:28 |
faassen | benji_york: not its own version of Python. why'd you want to do that? | 20:29 |
benji_york | Jonex, yep. | 20:29 |
faassen | benji_york: eggs support installing libraries and python applications. | 20:29 |
Jonex | faassen: That hard part is finding out how I guess. :) (well, I'm following the quickstart now, I hope that will do it) | 20:29 |
faassen | the main limitation of eggs (but it's something that's only half in its purview anyway) is that including binary dependencies (like libxml2 in case of lxml) is not out of the box easy. | 20:30 |
faassen | Jonex: well, no matter where you end up, please send feedback. if you feel it doesn't help you, please let us know too. | 20:30 |
faassen | Jonex: then we can do something to correct it. | 20:30 |
benji_york | faassen: each "buildout" of our products has it's own Python (generally) | 20:31 |
SteveA | the nice thing about eggs as i understand it is that it allows you to have an interface to the operating system's package management system | 20:31 |
SteveA | so, the OS can deal with installing a suitable version of libxml2 | 20:31 |
*** alga has quit IRC | 20:31 | |
*** alga has joined #zope3-dev | 20:31 | |
faassen | SteveA: I didn't understand that, and I asked PJE. | 20:32 |
faassen | SteveA: you can do stuff like that with setuptools, but I can't really have libxml2 shift out from under me, and for the case of windows, I'd like to include it. | 20:33 |
faassen | SteveA: and for zope3, if lxml is a dependency, I want easy_install zope3.. | 20:33 |
faassen | SteveA: to install everything, including libxml2, the works, if needed. | 20:33 |
SteveA | the packagers of zope for debian and ubuntu will make a libxml2 library a dependency | 20:33 |
faassen | SteveA: oh, how come? | 20:33 |
faassen | SteveA: oh, you mean that linux packagers will do that. | 20:33 |
mgedmin | Jonex, it is not difficult to start with Z3 if you're following the current Zope 3 mental model (pseudo-CMS) | 20:33 |
faassen | SteveA: yeah, sure. | 20:33 |
SteveA | because that's what an operating system's packaging system is for | 20:33 |
faassen | SteveA: but that doesn't help adoption. | 20:34 |
SteveA | sure it does | 20:34 |
SteveA | it makes it easy for people to have things work out of the box on ubuntu | 20:34 |
faassen | SteveA: yes, that's true. | 20:34 |
SteveA | allows the ubuntu devs to do decent QA on the packages | 20:34 |
SteveA | allows the packages to be small | 20:34 |
faassen | SteveA: it just doesn't help the use case where someone works against some unreleased version of zope 3, or at least an unpackaged version. | 20:34 |
SteveA | we should aim to help packagers where we can | 20:34 |
SteveA | aha... | 20:35 |
faassen | SteveA: there's something nice about easy_install turbogears | 20:35 |
* SteveA points at grumpy groundhog | 20:35 | |
benji_york | faassen, you might be interested in the buildout code. It includes "recipes" for dependencies. (one of the dependencies we build in one of our product buildouts is libxml2) | 20:35 |
faassen | SteveA: yeah, that might help. :) | 20:35 |
faassen | my main interest is to get libxml2 into Zope 3. | 20:35 |
SteveA | "grumpy" is the set of ubuntu packages build daily from the CVS or whatever | 20:35 |
faassen | if the dependency management is deemed too hard by Jim & co, then it won't be a dependency. | 20:35 |
SteveA | the linux packagers will need to do the work of separating them anyway | 20:36 |
SteveA | it causes a security nightmare to have various different C libraries around when you could have just one | 20:36 |
SteveA | and not being clear what's included where | 20:36 |
SteveA | zlib is an example of that | 20:36 |
* SteveA would invite niemeyer to join the discussion if he weren't so busy | 20:37 | |
faassen | SteveA: I understand, and I agree, but I don't think I can convince Jim with that argument. | 20:37 |
faassen | SteveA: if I tell Jim,you can safely make lxml a dependency of zope 3 core stuff, because the linux packagers will package the right thing. | 20:38 |
faassen | SteveA: then I think Jim won't be convinced. | 20:38 |
faassen | SteveA: perhaps you can convince him. :) | 20:38 |
SteveA | linux packages will do this anyway. it's just whether you allow them to work with a small or with a large diff from what zope3 does. | 20:39 |
faassen | SteveA: I wasn't planning on making lxml hard to package for anyone. | 20:40 |
SteveA | hurrah | 20:40 |
faassen | SteveA: I'm just pointing out that my goal here may not be satisfied by saying 'just trust the linux packagers' to jim. | 20:40 |
* SteveA looks to see if it is ubuntu yet | 20:40 | |
faassen | SteveA: it's not to my knowledge, but I may be wrong. | 20:40 |
SteveA | nope | 20:40 |
J1m | I've heard that lxml uses the most very recent version of libxml. | 20:41 |
SteveA | faassen: i'd like to get this packaged for "universe" for breezy if possible | 20:41 |
faassen | J1m: that's not really true anymore, as we're lagging behind a few versions. | 20:41 |
faassen | SteveA: that'd be cool. it shouldn't be very hard to package. | 20:41 |
faassen | J1m: that is, I guess it works fine with newer versions, and if you need the xml schema improvements in libxml2 then you need a later version. | 20:41 |
SteveA | provided the libxml2 dependency is met | 20:41 |
niemeyer | SteveA: Here | 20:42 |
SteveA | hi gustavo | 20:42 |
J1m | Anyway, I worry that by making even recent versions if libxml a prerequisite for zope 3, we'll be saying that you need a recent version of linux to use zope3 | 20:42 |
SteveA | i've just been talking to faassen about packaging issues | 20:42 |
benji_york | so what happens when you are developing two apps that require different versions of libxml2 | 20:42 |
J1m | Right now, Zope 3 runs on lots of platforms. | 20:43 |
SteveA | but i'm getting out of my depth ;-) | 20:43 |
niemeyer | SteveA: Not "so busy" here.. :) How can I help? | 20:43 |
faassen | right now lxml has been developed against 2.6.16, latest release is 2.6.22 | 20:43 |
J1m | I'm worries about drastically reducing the number of platforms that can readily run zope 3. | 20:43 |
faassen | and since libxml2 doesn't tend to break apis there's not a problem with 2.6.22 either. | 20:43 |
faassen | J1m: the main worry would be windows. unless you're concerned about non-free unices. | 20:43 |
faassen | Mac OS X has had success reports, we got it running too. | 20:44 |
SteveA | J1m: this is the point of having zope releases. the linux OSes package a released version of zope3, and libxml | 20:44 |
J1m | I couldn't easily get it running on fedora core 1. | 20:44 |
SteveA | but there's no separate libxml in zope3 | 20:44 |
faassen | fedora core 1 uses a version of libxml2 from when? :) | 20:44 |
J1m | I don't know. | 20:44 |
J1m | Lots of people now run zope with old os versions. | 20:45 |
SteveA | i'm very keen to make zope3 work well on ubuntu | 20:45 |
Jonex | faassen: I certainly hope OSX works, otherwise I'll have to use something else but Zope3... :) | 20:45 |
J1m | (Let alone stuff like hpux and sunos) | 20:45 |
J1m | I want zope 3 to work well on ubunto too. | 20:45 |
J1m | But I'd like it to run well elsewhere too. | 20:46 |
faassen | libxml2 *builds* just about anywhere. | 20:46 |
SteveA | i think it depends whether you're offering zope3 as a thing to install from outside of the OS's packaging system and its metadata | 20:46 |
SteveA | or whether the OS project cooperates with you in packaging it | 20:46 |
J1m | faassen, it gets complicated when your os has an existing libxml. | 20:46 |
faassen | J1m: I know. | 20:46 |
SteveA | so, you might say "to get zope 3.2 on fedora, get this package with all included, on ubuntu, just install it using apt-get install python-zope3" | 20:47 |
J1m | SteveA, zope 3 is used on lots of OSs for which no one is packaging zope 3. | 20:47 |
J1m | It hasn't been a big deal in the past. | 20:47 |
* niemeyer is floating in the discussion.. | 20:47 | |
J1m | I'm worried that lxml will raise the bar too much. | 20:47 |
niemeyer | It seems like any other traditional package dependency.. | 20:48 |
SteveA | so, i'm suggesting to use some kind of metadata thing like pythoneggs / setup tools for this if possible | 20:48 |
SteveA | so that it is easy for packagers to split up the dependencies | 20:48 |
J1m | I *want* lxml to be used in zope 3 -- but I don't want to cut off lots of potential users. | 20:48 |
J1m | I'm hoping that eggs will somehow rescue us. :) | 20:48 |
faassen | I expect fedora core 1 used libxml2 2.6.2, or 2.6.1. that's a release from november 2003. | 20:48 |
Jonex | What's the xml for? | 20:48 |
J1m | :) | 20:49 |
faassen | J1m: well, eggifying things libxml2 will be hard, I know that. | 20:49 |
faassen | Jonex: the xml is to do xml stuff. :) | 20:49 |
J1m | Jonex, the reason to make it a requirement would be to allow us to use xpath in test assertions. | 20:49 |
benji_york | (amongst many other things) | 20:50 |
faassen | you could also do fun stuff like XSLT templating. it'd open a lot of possibilities. | 20:50 |
J1m | faassen, I don't see that as a reason to make it a requirement. | 20:50 |
faassen | J1m: not any single one thing, no. | 20:50 |
Jonex | faassen: Ah, like inverse compression: Hello, World-> <xml><message><word>Hello,</word> <word>World</word><message></xml> | 20:50 |
faassen | Jonex: please, I've heard enough xml bashing to last me a lifetime. | 20:51 |
Jonex | faassen: There can't be to much xml bashing :p | 20:51 |
J1m | faassen, the only reason to make it a requirement imo is to support test assertions. :) | 20:52 |
faassen | Jonex: I think you should branch out into HTTP bashing. it's also a flawed protocol that has a lot of hype. | 20:52 |
*** tvon has joined #zope3-dev | 20:52 | |
faassen | J1m: well, I think the other reason is that suddenly you can do a lot of XML programming right on top of the core platform. but that won't convince you. :) | 20:52 |
faassen | J1m: it's like having the standard library. | 20:52 |
mgedmin | using doctest ELLIPSIS matching against a part of the document is MUCH MUCH nicer than matching against the whole | 20:53 |
niemeyer | faassen: I don't see that as a reason either.. if I want to have a ot of XML programming on top of the core platform I'll just install it myself.. | 20:53 |
Jonex | faassen: Well, really, XML isn't that flawed, it's just a bit overused in situations where it doesn't have to. It's certainly ok for storing structured content like html. | 20:53 |
mgedmin | xpath is a pretty nice way to get a part of the document that you want to look at | 20:53 |
faassen | niemeyer: you're mostly right. | 20:53 |
mgedmin | Jonex, yep | 20:54 |
mgedmin | Zope Page Templates win a lot from using XML | 20:54 |
Jonex | They do? | 20:54 |
mgedmin | I once tried to use EJB... *shudder* that's an XML nightmare | 20:55 |
J1m | For the record, I'm +1 on zope xml support. | 20:55 |
J1m | For the record, I'm also +1 on zope relational database support, but we don't require a RDB to use Zope. | 20:55 |
*** doko has joined #zope3-dev | 20:56 | |
doko | SteveA: hi | 20:56 |
SteveA | hi | 20:57 |
faassen | J1m: that's a good point, though the comparison between a C library and a separate server is a bit unfair. :) | 20:57 |
runyaga | what abotu sqlite | 20:57 |
runyaga | doesnt require a separate server? | 20:57 |
runyaga | its sane, FAST, and has good python support | 20:58 |
runyaga | gadfly is a nightmare | 20:58 |
faassen | runyaga: if we can lick the lxml packaging issue, then we go there next? :) | 20:58 |
runyaga | how about all at once? | 20:58 |
faassen | runyaga: how does it work with multiple threads? | 20:58 |
faassen | runyaga: if you're going to do the work? :) | 20:58 |
runyaga | ahh packaging it for z3? | 20:58 |
faassen | runyaga: evolution, not revolution! | 20:58 |
faassen | runyaga: yeah, let's package step by step. :) | 20:58 |
runyaga | no problem for me | 20:59 |
runyaga | i'm all abotu incermental | 20:59 |
runyaga | as long as its not every 6 months incremental | 20:59 |
runyaga | *wink* | 20:59 |
* faassen grins. | 20:59 | |
*** runyaga is now known as run|away | 20:59 | |
run|away | gotta split.. | 20:59 |
faassen | run|away: see you | 20:59 |
faassen | I am splitting too. :) | 20:59 |
* faassen waves. | 20:59 | |
*** faassen has quit IRC | 20:59 | |
SteveA | faassen: i'd like you and doko to talk about packaging lxml for ubuntu | 21:01 |
SteveA | darn, my irc connection has become laggy | 21:01 |
*** alga has quit IRC | 21:02 | |
*** alga has joined #zope3-dev | 21:02 | |
SteveA | doko: that didn't work out :-) | 21:03 |
doko | SteveA: no haste ... | 21:03 |
SteveA | i'll find the repository for lxml and let you know what it is | 21:03 |
* SteveA finds it http://codespeak.net/lxml/ | 21:04 | |
niemeyer | Ah, he's the binding author.. :) | 21:09 |
* MacYET_ grumbles | 21:10 | |
*** alga has quit IRC | 21:11 | |
*** alga has joined #zope3-dev | 21:11 | |
niemeyer | lxml is a nice idea | 21:11 |
*** MacYET_ has quit IRC | 21:23 | |
*** alga has quit IRC | 21:27 | |
*** alga has joined #zope3-dev | 21:27 | |
J1m | srichter, benji and gary say that testbrowser currently inclused all of it's dependencies. | 21:33 |
J1m | srichter, benji and gary say that testbrowser currently includes all of it's dependencies. | 21:33 |
srichter | really? | 21:33 |
srichter | ok | 21:33 |
srichter | that's cool | 21:33 |
mp | hm, what happened to my zca? did it make its way to you? | 21:33 |
J1m | eventually, the author of the dependencies will: | 21:33 |
srichter | so when I merge it, I simply add the necessary license headers to LICENSES.txt | 21:33 |
J1m | - incorporate our changes | 21:33 |
J1m | - release under zpl | 21:34 |
srichter | oh, he will? | 21:34 |
srichter | awesome | 21:34 |
J1m | at which time, we'll integrate them differently. | 21:34 |
srichter | right | 21:34 |
J1m | good point wrt LICENSES.txt. | 21:34 |
benji_york | srichter, they're currently BSD | 21:34 |
J1m | mp, who are you? | 21:34 |
srichter | yeah, I remember | 21:34 |
mp | I'm me, Maciej Pietrzak that is | 21:35 |
J1m | How did you send it? | 21:35 |
mp | snail mail | 21:36 |
J1m | ugh | 21:36 |
J1m | I don't think we've received it yet. | 21:36 |
J1m | But I'll double check | 21:36 |
J1m | when did you send it? | 21:37 |
J1m | From where? :) | 21:37 |
mp | Poland, Warsaw | 21:38 |
J1m | when? | 21:38 |
mp | and afaik it was simple snail mail (no priorities or other special features), so it may take a while | 21:39 |
*** MacYET has joined #zope3-dev | 21:39 | |
J1m | mp, when did you send it? | 21:39 |
mp | Date: Sep 18, 2005 3:18 PM | 21:39 |
J1m | I'm sure it's not here then. | 21:40 |
mp | ok :) | 21:40 |
* J1m doesn't understand why it takes so long to deliver paper in this day and age.... but it seems to | 21:41 | |
* drzoltron_ recommends the "print-pdf-sign-it-scan-it-and-mail-it-to-the-right-jim" | 21:41 | |
drzoltron_ | .. way | 21:41 |
J1m | That is definately the fastest, along with faxing | 21:42 |
drzoltron_ | and the right Jim's response time is sensational ;) | 21:42 |
J1m | most of the time. :) | 21:43 |
drzoltron_ | hehe | 21:43 |
*** MacYET has left #zope3-dev | 21:46 | |
*** newpers_ has joined #zope3-dev | 21:53 | |
mp | which Jim is not right? | 21:53 |
*** run|away is now known as runyaga | 21:54 | |
drzoltron_ | jim at zope.org | 21:55 |
mp | which Jim is right, then | 21:55 |
jukart | No, jim at zope.com ! | 21:56 |
jukart | see : http://zope3.pov.lt/irclogs/%23zope3-dev.2005-10-04.log.html | 21:56 |
mp | I might have sent it to wrong address to | 21:58 |
mp | but that was long time ago anyway | 21:58 |
drzoltron_ | jukart: exactly, mp asked for the wrong J1m ;) | 21:59 |
*** sm is now known as sm-afk | 22:02 | |
*** newpers has quit IRC | 22:03 | |
mp | who gets all that mail from .org anyway? | 22:04 |
J1m | There are very few valid zope.org email addresses. | 22:05 |
J1m | Pretty much just mailing lists. | 22:05 |
drzoltron_ | it didn't bounce back, so someone must have gotten it | 22:05 |
J1m | good point. | 22:06 |
J1m | I don't know. :) | 22:06 |
*** Jonex has quit IRC | 22:08 | |
*** jukart has left #zope3-dev | 22:13 | |
*** alga has quit IRC | 22:32 | |
*** alga has joined #zope3-dev | 22:32 | |
mgedmin | benji_york, did you get my email (about quick_start.txt)? | 22:40 |
benji_york | yep, just haven't had time to respond yet (although I did run the spelling correctinos through Vim :) | 22:41 |
mgedmin | no hurry, I just wanted to know if my email got through | 22:42 |
*** mgedmin has quit IRC | 22:45 | |
srichter | ok, so I am going to work on the final testbrowser move | 22:49 |
srichter | benji_york: where is ClientCookie in zope.testbrowser? :-) | 22:50 |
benji_york | hmm, let me see | 22:50 |
*** doko has left #zope3-dev | 22:50 | |
benji_york | it's not included | 22:51 |
srichter | ok, but I think it is needed for mechanize | 22:51 |
benji_york | it is, I'd say just add it for now | 22:51 |
*** xenru has joined #zope3-dev | 22:51 | |
srichter | in zope.testbrowser? | 22:51 |
benji_york | and when we redo the packaging we can fix it | 22:51 |
benji_york | yep | 22:51 |
srichter | ok, and I do the sys.modules magic | 22:52 |
benji_york | yep | 22:52 |
*** dobee has quit IRC | 22:54 | |
*** zbir has joined #zope3-dev | 22:55 | |
*** tarek has quit IRC | 22:57 | |
*** alga has quit IRC | 23:02 | |
*** zbir has quit IRC | 23:08 | |
*** zbir has joined #zope3-dev | 23:10 | |
*** drzoltron_ has quit IRC | 23:21 | |
*** ignas has joined #Zope3-dev | 23:24 | |
*** ignas has quit IRC | 23:28 | |
*** ignas has joined #Zope3-dev | 23:28 | |
*** benji_york has quit IRC | 23:28 | |
*** tvon has quit IRC | 23:29 | |
*** jinty has quit IRC | 23:33 | |
*** tiredbones has quit IRC | 23:39 | |
*** projekt01 has quit IRC | 23:42 | |
*** hazmat has joined #zope3-dev | 23:43 | |
*** ChanServ sets mode: +o hazmat | 23:43 | |
*** sm-afk is now known as sm | 23:47 | |
*** zbir has quit IRC | 23:55 | |
*** srichter has quit IRC | 23:56 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!