Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

IrcSession20050519: IrcSession20050519.log

Line 
1 May 19 20:07:28 <Remi>  Alright, let's get started :-)
2 May 19 20:07:41 <Remi>  First topic: The spam on the wiki
3 May 19 20:08:12 ---     Lawouach_ gives channel operator status to Remi
4 May 19 20:08:15 <Remi>  Remco patched Trac so it will now stop bots from automatically adding a bunch of links ...
5 May 19 20:08:21 <Lawouach_>     you can change the topic if needed
6 May 19 20:08:28 <Remi>  This was put live a few days ago.
7 May 19 20:08:29 -->     ^Devil^ (~lbolognin@83-70-76-19.b-ras1.srl.dublin.eircom.net) has joined #cherrypy
8 May 19 20:09:11 <Remi>  Hopefully we should be getting a lot less spam now (unless spammers get smarter) ... Let's wait and see ...
9 May 19 20:09:24 <Lawouach_>     how does it work roughly?
10 May 19 20:10:52 <Remi>  It's pretty basic: if someone makes a change with too many links they get an error. This only works as long as this patch is not wide-spread and thus spammers don't learn a way around it.
11 May 19 20:11:38 <Remi>  Next topic: Europython
12 May 19 20:11:53 <Lawouach_>     hold on
13 May 19 20:11:54 <Lawouach_>     remi
14 May 19 20:11:59 <Lawouach_>     just have one question
15 May 19 20:12:00 <Remi>  ok
16 May 19 20:12:03 <Lawouach_>     regarding the wiki
17 May 19 20:12:19 <Lawouach_>     basically, on the list i've put a link of extensions for trac
18 May 19 20:12:22 <Lawouach_>     some might be useful
19 May 19 20:12:30 <Lawouach_>     like a site tree
20 May 19 20:12:38 <Lawouach_>     because we get more and more pages on the wiki
21 May 19 20:12:47 <Lawouach_>     but it's hard to find them
22 May 19 20:12:58 <Lawouach_>     could be useful to add some extensions, don't you think?
23 May 19 20:13:26 <Remi>  right. the wiki is getting a bit messy ...
24 May 19 20:13:42 <Lawouach_>     yeah a bit
25 May 19 20:13:56 <Remi>  I'll add this "site tree" extension.
26 May 19 20:14:52 <Remi>  any more questions about the wiki ?
27 May 19 20:14:52 <Lawouach_>     nice
28 May 19 20:14:55 <Lawouach_>     nope
29 May 19 20:15:02 <verbosus>      Remi: do you have any plans for what will be after the wiki?
30 May 19 20:15:20 <Lawouach_>     verbosus, do you feel we need more?
31 May 19 20:15:24 <Remi>  verbosus: in this IRC session ?
32 May 19 20:15:39 <mikerobi>      verbosus: do you mean formal docs?
33 May 19 20:15:43 <Almad> btw, I'd like to have a question too...I think it'll be useful to have wikipage with backward-incompatible changes in cp2
34 May 19 20:16:07 <verbosus>      Lawouach_: I mean, since we????????????re  going to outgrow the wiki anyway, I reckon, are there any plans for what will come afterwards?
35 May 19 20:16:17 <Remi>  almad: the list of backward-incompatibilities is included with each release
36 May 19 20:16:52 <fernique>      Remi: how about to implement anti-bot check feature with graphic picture with digits, literals or something like this?
37 May 19 20:16:53 <Remi>  verbosus: no, no plans to move to something else in the short term ...
38 May 19 20:16:55 -->     rsz (~d9992716@webuser.thegrebs.com) has joined #cherrypy
39 May 19 20:17:00 <verbosus>      ok, thanks
40 May 19 20:17:12 <Remi>  fernique: sure, if you want to write the Trac patch, I'll gladly include it ...
41 May 19 20:17:20 <Almad> remi: in changelog?
42 May 19 20:17:42 <Lawouach_>     verbosus, sure but I didn't feel like the wiki would be limited even if the community gets bigger. but surely it would need to be improved a bit
43 May 19 20:17:58 -->     deelan (~chatzilla@ip-137-11.sn2.eutelia.it) has joined #cherrypy
44 May 19 20:17:59 <Remi>  Almad: right now I think it's only in the release notes (on the website). But you're right, it *should* be in the ChangeLog
45 May 19 20:18:07 <fernique>      Remi: ok, do you know how this feature named officially?
46 May 19 20:18:21 <Almad> Remi: Well, I think it should have a single page too
47 May 19 20:18:21 <mikerobi>      Haven't a revision history would be awsome
48 May 19 20:19:04 <Remi>  fernique: not sure what the usual name is for this ...
49 May 19 20:19:17 <fumanchu>      Almad: maybe a wiki page for major version only
50 May 19 20:19:21 <Almad> Remi: as in changelog it's hidden between other changes...and this is the most important thing...it should contain only incompatible changes only against latest stable release
51 May 19 20:19:27 <Almad> fum: right
52 May 19 20:19:32 <fernique>      Remi: I know it is named after it's author
53 May 19 20:19:42 <steadicat>     fernique: http://en.wikipedia.org/wiki/Captcha
54 May 19 20:19:57 <mikerobi>      Almad: you bring up a good point, too many questions on the ml pertain to features in the wiki that are not in the official release
55 May 19 20:20:06 <fernique>      steadicat: thanks a lot!
56 May 19 20:20:32 <mikerobi>      fernique: YOu could use ascii art generated by figlet http://www.figlet.org/
57 May 19 20:20:42 <fernique>      yeah, it is Turing's test.
58 May 19 20:21:45 *       Lawouach_ hopes Remi takes notes :)
59 May 19 20:22:13 <steadicat>     next topic?
60 May 19 20:22:14 *       fumanchu notes IRC takes notes
61 May 19 20:22:36 <verbosus>      steadicat: Remi was mentioning Europython, I reckon
62 May 19 20:22:40 <--     rsz has quit (Quit: http://thegrebs.com/oftc/)
63 May 19 20:22:51 <Remi>  OK, EuroPython
64 May 19 20:22:51 -->     lexmeta (~mc@terminal-dogma.metacarta.com) has joined #cherrypy
65 May 19 20:23:11 <Remi>  There isn't much to say: I'll be giving a 45 min persentation. It'll will be mostly targeted for beginners
66 May 19 20:23:48 <Remi>  I hope to put some faces behind some e-mail addresses :-)
67 May 19 20:24:01 <mortenbagai>   will the presentation be made available for dl, for those of us not there?
68 May 19 20:24:06 <Remi>  sure
69 May 19 20:24:09 <mortenbagai>   cool
70 May 19 20:24:10 <JZ>    will be movie available online with your presentation?
71 May 19 20:24:57 <Remi>  hmm .. don't think there'll be a movie. I tried it last year with a camcorder but you couldn't hear anything ... We'd need a very good camera with a very good microphone, which I don't have ...
72 May 19 20:25:12 <Remi>  I don't think the Europython people will provide one ...
73 May 19 20:25:22 <JZ>    organizators should deal with that
74 May 19 20:25:41 <Remi>  well, they didn't in the past and I doubt they will this year ...
75 May 19 20:26:40 <steadicat>     fair enough
76 May 19 20:26:40 <Remi>  alright, next topic ...
77 May 19 20:26:51 <Remi>  CherryObject ?
78 May 19 20:26:55 <Lawouach_>     :)
79 May 19 20:26:57 <Lawouach_>     yup
80 May 19 20:27:42 <fumanchu>      I. What is CO?
81 May 19 20:27:42 <Remi>  It will be under very active development over the next few weeks/months, since I need to develop a pretty big application with it
82 May 19 20:27:42 <JZ>    it looks like another subway project
83 May 19 20:27:47 <himizu>        will there be a webcast of the EuroPython presentation, or an archive?
84 May 19 20:28:04 <Remi>  himizu: most likely just some slides
85 May 19 20:28:15 <verbosus>      fumanchu: http://cherryobject.python-hosting.com/
86 May 19 20:28:22 <JZ>    Remi:  r u serious? big appl with cp2?
87 May 19 20:28:40 <deelan>        why not? :)
88 May 19 20:28:40 <Lawouach_>     JZ: hmm why not?
89 May 19 20:28:43 <JZ>    I think cp2 is not enough mature. We had meny problems with it
90 May 19 20:28:48 <Remi>  JZ: There are already some big apps with CP ...
91 May 19 20:28:58 <JZ>    yes, our is the bigiest
92 May 19 20:29:05 <Lawouach_>     JZ: no showstoppers AFAIK
93 May 19 20:29:43 <Almad> however, i'm agreeing with jz
94 May 19 20:29:43 <JZ>    we had problems with locking, with forks, with sessions, with stability
95 May 19 20:30:00 <JZ>    cp2 shoud focus its atentions on core, not new features
96 May 19 20:30:10 <climbus>       right
97 May 19 20:30:13 <fumanchu>      Note that CherryObject will be designed for multiple frontends besides CherryPy
98 May 19 20:30:15 <Lawouach_>     those are important issues yeah, but they don't mean you can't run any kind of app with cp
99 May 19 20:30:51 <JZ>    i want to say cp2 is not mature now, and it is a mistake to focus on new features instead of core
100 May 19 20:31:00 <Remi>  jz: that's the whole point: CP will remain low-level and CO is another level on top of it (just like Subway is)
101 May 19 20:31:03 <JZ>    like twisted did
102 May 19 20:31:14 <Remi>  JZ: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/52021001ad3bbeec/00221985ece6ddfd?q=cherrypy&rnum=11#00221985ece6ddfd
103 May 19 20:31:17 <fumanchu>      separate distros, I should think
104 May 19 20:31:53 <JZ>    co is build on top of unstable cp2...
105 May 19 20:32:08 <JZ>    basemant should be strong
106 May 19 20:32:10 <climbus>       so co will be unstable:)
107 May 19 20:32:21 <Lawouach_>     JZ: I totally agree that we need to fix many annoying bugs and even stabilize for once the api. but still, i'm quite ocnfident you can run average applications with it
108 May 19 20:32:34 <Lawouach_>     JZ: CP api is pretty stable
109 May 19 20:32:42 <Remi>  JZ: If you want we can talk about your stability problems later ... I'm running big CP apps as well and they are *very* stable ...
110 May 19 20:32:44 <Lawouach_>     the way it works internally is not a problem of CO
111 May 19 20:33:16 <Remi>  Anyway, back to CO ...
112 May 19 20:33:17 <JZ>    it is not the problem of co, right. but it is the problem od cp2
113 May 19 20:33:37 <Lawouach_>     yes
114 May 19 20:33:37 <--     Prip has quit (Read error: Connection reset by peer)
115 May 19 20:33:55 -->     Prip (~Prip@62.211.255.34) has joined #cherrypy
116 May 19 20:33:56 <Lawouach_>     but both can be built at the same time as long as the api from cp2 is stable
117 May 19 20:33:57 <JZ>    Remi: give me some links to those big appls if you can
118 May 19 20:34:21 <Remi>  Well, the main one is a BackOffice so you won't be able to log-in ...
119 May 19 20:34:29 <verbosus>      guys, I think we should stick to the agenda for now
120 May 19 20:35:00 <steadicat>     yes, JZ, we'll talk about core and stability later
121 May 19 20:35:01 <Lawouach_>     verbosus, right
122 May 19 20:35:03 <Remi>  JZ: Let's talk about your problems later ... But for now, let's get moving on the agenda
123 May 19 20:35:27 -->     vargas (~52439345@webuser.thegrebs.com) has joined #cherrypy
124 May 19 20:35:53 <Remi>  So, CO is basically another layer on top of CP that adds many of the things that are missing from CP: From handling, Authentication, ...
125 May 19 20:36:26 <verbosus>      Remi: my main issue with it is that it????????????s rewriting bits of FormEncode and SQLObject, to be honest
126 May 19 20:36:35 <Remi>  But it is *much* more than that ... It's true that it might look similar to Subway or Rails at first sight but it is actually much more
127 May 19 20:36:36 <Lawouach_>     Remi, can we be sure that CP will never require CO?
128 May 19 20:36:47 <Remi>  Lawouach: 100% sure :-)
129 May 19 20:36:51 <Lawouach_>     great
130 May 19 20:36:58 <Lawouach_>     that's all i'm interested in for now :)
131 May 19 20:37:07 <Lawouach_>     keep cp independant
132 May 19 20:37:21 <Remi>  verbosus: that's probably true, but that's because it does much more than FormEncode and SQLObject ...
133 May 19 20:37:29 <Lawouach_>     then let us know, how is it more?
134 May 19 20:37:31 <Lawouach_>     in a few lines
135 May 19 20:37:39 <Lawouach_>     or is it too early
136 May 19 20:37:48 <mikerobi>      i think we should get back to CP
137 May 19 20:38:06 <Remi>  support for multiple backends (ex: MySql, PostgreSql, XML-RPC server, ...) and multiple frontends (ex: CherryPy, wxPython, XML-RPC server, ...)
138 May 19 20:39:25 <Remi>  But anyway, I think the best way to convince people of its power is to write an actual application with it (ie: a web forum) and to show them how easy it is ...
139 May 19 20:39:32 <Lawouach_>     hmmm, i think it will need a lot of tutorial for me to get the all image here :)
140 May 19 20:39:41 <Remi>  It is not 100% there yet but it will be in the next few weeks ...
141 May 19 20:39:52 <Lawouach_>     but sounds a good layer that a lot of newbies would like to have atop CP I think
142 May 19 20:40:11 <Remi>  All you need to know for now is that CP will remain quite low level, as it is now
143 May 19 20:41:52 <Remi>  I think that within a few weeks, we won't need all the little recipes about how to do authentication, how to do form handling, etc ...
144 May 19 20:41:52 <mikerobi>      can we move on?
145 May 19 20:42:03 <verbosus>      mikerobi: +1
146 May 19 20:42:06 <Remi>  OK, let's move one
147 May 19 20:42:07 <Lawouach_>     :)
148 May 19 20:42:08 <Remi>  on
149 May 19 20:42:13 <Remi>  CP-2.1
150 May 19 20:42:21 <mikerobi>      important tickets?
151 May 19 20:42:38 <Lawouach_>     yeah, many things need to be fixed before we get there
152 May 19 20:42:39 <Remi>  My top priority (I hope to finish it tomorrow) is to finish the new configuration system
153 May 19 20:43:04 <Remi>  (ticket-112)
154 May 19 20:43:06 <fumanchu>      Is there an expected 2. release date?
155 May 19 20:43:09 <fumanchu>      2.1
156 May 19 20:43:15 <mikerobi>      I think the new config system should use unrepr to convert values to python objects
157 May 19 20:43:27 <mikerobi>      validation could then be done with isinstance
158 May 19 20:43:53 <verbosus>      Remi: will we be able to have custom values in the config file, and access them from the Cpy app?
159 May 19 20:43:53 <--     vargas has quit (Quit: http://thegrebs.com/oftc/ (EOF))
160 May 19 20:44:05 <mikerobi>      verbosus: yes
161 May 19 20:44:10 <Remi>  verbosus: what do u mean by custom values ?
162 May 19 20:44:39 <Remi>  mikerobi: I think it's up to each component that reads stuff from the config file to know which type it expects and to convert the value to the right type
163 May 19 20:44:46 <verbosus>      Remi: values that are not related to the Cpy server
164 May 19 20:44:47 <fumanchu>      I think he means, values not used by the core itself
165 May 19 20:45:00 <Lawouach_>     I don't follow you guys
166 May 19 20:45:01 <deelan>        i guess you can already access to custom values
167 May 19 20:45:06 <Remi>  verbosus: sure, you can already put those ...
168 May 19 20:45:18 -->     vargas (~52439345@67.18.92.222) has joined #cherrypy
169 May 19 20:45:45 <steadicat>     is it documented?
170 May 19 20:45:59 <Remi>  So anyway, I'll create a 2.1 branch and I'll start coding in there
171 May 19 20:46:04 <JZ>    ann: jak ktos tu mowi po polsku to prosze na priva (sorry, i am looking some guiys here)
172 May 19 20:46:19 <mikerobi>      Remi:  i don't disagree, I also think knowTypes should be moved from _cpconfig to _cpdefaults
173 May 19 20:46:39 <Remi>  right
174 May 19 20:47:32 <Lawouach_>     Remi, what other showstopper tickets for 2.1?
175 May 19 20:47:35 <verbosus>      deelan: how do you access these custom values?
176 May 19 20:47:39 <Remi>  verbosus: they're in configMap
177 May 19 20:48:01 <Remi>  So, once we have this configuration system we can implement a better system for filters
178 May 19 20:48:03 <verbosus>      Remi: thanks, I'll have a look
179 May 19 20:48:13 <Remi>  I'll try to do that tomorrow as well
180 May 19 20:48:56 <Remi>  Basically, a lot of the filters will be included by default, but they'll be disabled. And all you'll have to do to enable them is flip a switch in the config file
181 May 19 20:49:36 <mikerobi>      I think filter filenames should follow the same conventions as filter classes
182 May 19 20:49:42 <Remi>  which filter filenames
183 May 19 20:49:44 <Remi>  ?
184 May 19 20:49:47 <fumanchu>      mikerobi: you mean with caps?
185 May 19 20:49:53 <mikerobi>      fumanchu: yes
186 May 19 20:50:00 <mikerobi>      i'll even write a conversion script
187 May 19 20:50:31 <Remi>  Isn't it in PEP8 that filename should be lowercase ?
188 May 19 20:50:35 <Remi>  filenames
189 May 19 20:50:40 <Lawouach_>     yeah
190 May 19 20:50:48 <fumanchu>      some platforms have problems with caps in filenames, hence PEP 8 guideline
191 May 19 20:50:49 <Lawouach_>     i do not like caps too much
192 May 19 20:50:53 <Lawouach_>     it looks like old C
193 May 19 20:51:10 <deelan>        all lowercase, please
194 May 19 20:51:27 <Remi>  So anyway, these 2 changes (new config system + new filter system) are coming up soon.
195 May 19 20:51:44 <deelan>        i've nightmares about from StringIO  import  StringIO
196 May 19 20:51:51 <mikerobi>      I really missrepresend what I was doing with the session system, When i clean it up and post some examples I think people will really like it,
197 May 19 20:52:08 <mikerobi>      very easy to add new storage types
198 May 19 20:52:16 <Lawouach_>     yeah, that's nice but some tickets really needs to be fixed before a 2.1. which ones are the most important to you remi?
199 May 19 20:52:33 <Remi>  Another change I have in mind is this: each config file should have a variable called "env" or so that could be "development", "staging" or "production"
200 May 19 20:53:20 <Remi>  And things like default.cpOnError could behave differently based on this (for instance, in production, it could return real HTTP errors, but in development, it could return 200 with a traceback, as it does now)
201 May 19 20:53:21 <fumanchu>      "env" sounds nice, but where would the switching be done?
202 May 19 20:53:31 <Remi>  in the config file
203 May 19 20:53:42 <fumanchu>      I mean consumers of that file
204 May 19 20:54:10 <Lawouach_>     env is not meaningful i think
205 May 19 20:54:20 <Lawouach_>     reagarding what you want to do with it
206 May 19 20:54:33 <fumanchu>      maybe "stage"
207 May 19 20:54:35 <Remi>  it would only affect the default behavior of some components (ie: default.cpOnError, default.cpLogMessage, some filers, ...)
208 May 19 20:54:37 <himizu>        can that adaptable behavior be done via an aspect?
209 May 19 20:55:00 <deelan>        how does it work in rails? it has the "development", "staging" or "production" thing too.
210 May 19 20:55:08 <verbosus>      I'm afraid but I must leave, I'll check the logs later. Cheers.
211 May 19 20:55:14 <--     verbosus has quit (Quit: verbosus)
212 May 19 20:55:41 <Remi>  the idea is that in a development environment, you have by default things like this: check HTML with Tidy, log page info (build time, session size, ...), nice tracebacks in the browser, ...
213 May 19 20:56:02 <Remi>  deelan: yes, I think that rails has this too
214 May 19 20:56:52 <Remi>  Alright, now let's talk about tickets and problems that people are having with CP
215 May 19 20:57:02 <mikerobi>      I know ticket 102 is slated for 2.2, but I believe its nearly complete, is it a possibillity for 2.1
216 May 19 20:57:14 <mikerobi>      some users are very eager
217 May 19 20:57:59 <Lawouach_>     Remi: this is not cler for me what exactly will have to be fixed/changed before 2.1. I mean a complete TODO would clarify things. Could we check that later on before i post a summary of the meeting?
218 May 19 20:58:45 <Remi>  mikerobi: I think that Remco is almost finished with 102 so it should be included in 2.1
219 May 19 20:58:54 <Lawouach_>     good
220 May 19 20:59:20 <Lawouach_>     Remi, then what about ticket 86? http://www.cherrypy.org/ticket/86
221 May 19 20:59:21 <fumanchu>      What's the approach to HTTP/1.1 in general?...
222 May 19 20:59:25 <Lawouach_>     full http1.1 support
223 May 19 20:59:26 <mikerobi>      will 2.1 need to work in python < 2.4
224 May 19 20:59:29 <fumanchu>      Are we just adding bits as we find them?
225 May 19 21:00:04 <Remi>  mikerobi: yes, CP supports python-2.3 and later
226 May 19 21:00:16 <fumanchu>      I'm worried we're handling PUT, DELETE but using HTTP/1.0 in the headers
227 May 19 21:00:21 <Lawouach_>     yeah, we can't drop Python 2.3. too soon
228 May 19 21:00:39 <mikerobi>      I think ticket #88 is fixed, but I don't quite understand the original post
229 May 19 21:00:54 <Remi>  fumanchu: HTTP/1.1 will not be in CP-2.1
230 May 19 21:01:15 <Lawouach_>     hmmm then we should be careful about what we add to 2.1 :)
231 May 19 21:01:24 <Lawouach_>     otherwise clients might react weirdly
232 May 19 21:01:38 <fumanchu>      right--so new verbs are for CP 2.2
233 May 19 21:02:24 <Remi>  Well, it doesn't hurt to add them now ... But you're right, I don't know if they're useful with HTTP/1.0
234 May 19 21:02:53 <Lawouach_>     Regarding all of this, I have two questions : 1. could we make sure that when opening a ticket, it has a very clear description. It's hard sometimes to get to the point of some tickets. 2. could we build some unitestin or regression testing for all our modification?
235 May 19 21:03:01 <fumanchu>      Can apps set their own _protocolVersion if using a server other than CherryHTTPServer?
236 May 19 21:03:30 <mikerobi>      Lawouach_: I think the current unitest is to difficult to extend
237 May 19 21:03:47 <fumanchu>      mikerobi, totally agree
238 May 19 21:04:03 <fumanchu>      fighting a test for 147 right now
239 May 19 21:04:12 <Lawouach_>     i'm not good at unitesting so i can't tell. but it'd be nice to have one to rely on
240 May 19 21:04:22 <Remi>  well, it's not a unittest ... it's an "integration test". Nothing stops you from adding some real unittests in each module
241 May 19 21:05:20 <fumanchu>      I plan to run all tests against the new wsgiapp interface...
242 May 19 21:05:27 <Remi>  Let me try to summarize the roadmap for CP2.1:
243 May 19 21:05:33 <Remi>  1- New config system
244 May 19 21:05:34 <Lawouach_>     Remi, well i think it'd be useful at least to test the URL-to-obecjt routine extensively :)
245 May 19 21:05:34 <fumanchu>      so I'll probably hit that hard and abstract as much as possible
246 May 19 21:05:41 <Remi>  2- New filter system
247 May 19 21:06:09 <Remi>  3- New file upload system (yes, I'm ready to change it)
248 May 19 21:06:14 <alankila>      that's good news
249 May 19 21:06:24 <Lawouach_>     what will change exactly for 2) ?
250 May 19 21:06:30 <Remi>  4- Maybe new session implementation (if we have a good one)
251 May 19 21:06:38 <mikerobi>      we will, i promise
252 May 19 21:06:54 <alankila>      mikerobi: as soon as you give up your requirement of predeclaring the keys...
253 May 19 21:07:07 <mikerobi>      alankila: already done
254 May 19 21:07:16 <alankila>      thanks a lot. It's a big relief to me.
255 May 19 21:07:24 <JZ>    It would be nice to add c based cgi adapter between eg. apache and cp server
256 May 19 21:07:41 <fumanchu>      JZ: wsgi?
257 May 19 21:08:09 <JZ>    i am not sure. rather small adapter like webware  has (did you see wkcgi?)
258 May 19 21:08:26 <Remi>  Lawouach: most standard filters will be *always* included
259 May 19 21:08:30 <mikerobi>      i think mod_webit could easily be adapted
260 May 19 21:08:37 <JZ>    it is easy to join cp with apache if you cannot use tcp ports
261 May 19 21:08:53 <alankila>      JZ: for what purpose, isn't the mod_proxy-based TCP-using adapter good enough?
262 May 19 21:08:56 <Lawouach_>     Remi, ok. will there be a procedure or some standards to follow to be included? how ill choose?
263 May 19 21:08:58 <--     lsnduck (~lsnduck@i-195-137-105-14.freedom2surf.net) has left #cherrypy
264 May 19 21:09:06 <Lawouach_>     alankila, i quite agree with you
265 May 19 21:09:23 <Remi>  lawouach: standard filters will *always* be included but will be turned on/off through the config file
266 May 19 21:09:33 <JZ>    alankila: e.g. i can start cp using forks and unix socket and how to use it if i cannot use tcp port?
267 May 19 21:09:34 <alankila>      hmm, being unable to use CGI ports could be an issue... If Apache allowed pushing requests to unix sockets and cherry could listen to them the problem would be solved, yes?
268 May 19 21:09:40 <alankila>      s/CGI/TPC
269 May 19 21:09:52 <alankila>      still wrong. I'm cursed.
270 May 19 21:09:52 -->     ksmith (~ksmith939@206-55-248-2.dsl.mbay.net) has joined #cherrypy
271 May 19 21:09:59 <mikerobi>      alankila: i think thats what lihui did with mod_python
272 May 19 21:10:03 <climbus>       is forking stable and finished?
273 May 19 21:10:17 <JZ>    alakila: yes, but the problem is apache can push reuest to unix sockets?
274 May 19 21:10:30 <--     vargas has quit (Quit: http://thegrebs.com/oftc/ (Ping timeout))
275 May 19 21:10:40 <Remi>  Forking support was dropped ... The recommended setup is thread pool
276 May 19 21:10:55 <alankila>      JZ: that's a good question. I'd hope mod_proxy would have a url syntax like local:///tmp/socket or something
277 May 19 21:10:57 <Remi>  JZ: Let's talk about your setup if you want
278 May 19 21:11:13 <Remi>  First of all, I'm curious to know why you can't use TCP ports ?
279 May 19 21:11:18 <alankila>      it shouldn't be too hard to be done
280 May 19 21:11:38 <Lawouach_>     Remi : standard filters will *always* be included but will be turned on/off through the config file <-- yeah but my question is not "how it wil work" but "what are you defining as a 'standard filter'?" (those that we have today?)
281 May 19 21:11:43 <JZ>    Remi: many providers forbid
282 May 19 21:12:08 <JZ>    file based unix socket are always available
283 May 19 21:12:23 <Remi>  JZ: Then you can run CP on a unix socket and use mod_rewrite
284 May 19 21:13:02 <JZ>    Remi: but how to rewrite request to unix socket? is it possible? i always thought it can proxy to tcp ports
285 May 19 21:13:02 <climbus>       we write big app in cp on forking and you droped this, good news
286 May 19 21:13:07 <Remi>  But I need to fix ticket 16 so that you can run multiple threads (the fix should be trivial)
287 May 19 21:13:23 <Remi>  JZ: yes, just use something liks this:
288 May 19 21:13:52 <Remi>  [hold on ... searching ...]
289 May 19 21:14:35 <alankila>      climbus: there are probably ways to emulate forking, such as run 5 servers and let apache pick a free server and write request to that -- I assume you fork because you are using a library that only allows a single thread?
290 May 19 21:14:59 <Remi>  JZ: Actually, you're right ... I think you need to use the little "cherrypcgi.cgi" script from CP1 ...
291 May 19 21:15:23 <climbus>       we like forks
292 May 19 21:15:25 <climbus>       :)
293 May 19 21:15:31 <mikerobi>      the biggest (only) advantage of forking is process migration to multiple processors
294 May 19 21:15:49 <JZ>    forks for our 2xXeon works faster
295 May 19 21:16:07 <Remi>  Just start 2 processes then ...
296 May 19 21:16:20 <alankila>      until python fixes the global interpreter lock, if ever
297 May 19 21:16:26 <climbus>       when we start writing cp wasn't thread safe, i think
298 May 19 21:16:37 <mikerobi>      alankila: python 3, i hope
299 May 19 21:16:42 <alankila>      yes, the python 3.
300 May 19 21:17:10 <Remi>  anyway, JZ, can you talk about the stability problems that you're having ?
301 May 19 21:17:14 <Lawouach_>     the pb is not to judge whether an user is right or wrong to do it. the problem for CP is to state officially whether it supports it or not. if yes, then we need some fixing. if not then too bad. I think CP is low level and flexible but we should not try to do everything.
302 May 19 21:17:16 <mikerobi>      aren't threads cheap enough to create one for every request?
303 May 19 21:18:07 <fumanchu>      mikerobi: not all apps are thread-safe
304 May 19 21:18:20 <Remi>  JZ ?
305 May 19 21:18:33 <JZ>    it is a pity, robert, guy who had to fix those cp2 bugs cannot be now online. :(
306 May 19 21:18:39 <mikerobi>      mikerobi: wouldn't you have the same problem with a thread pool you would have creating one for every request?
307 May 19 21:18:59 <mikerobi>      I just adressed a question to myself
308 May 19 21:19:11 *       fumanchu laughs
309 May 19 21:19:23 <JZ>    we had problems with sessions
310 May 19 21:19:34 <climbus>       we had problems with sessions and blocking files and cleaning files
311 May 19 21:19:42 <JZ>    files was not locked against paraller access
312 May 19 21:20:21 <fumanchu>      mikerobi: more, since apps rarely clean out threads when they're done with them
313 May 19 21:20:27 <alankila>      mikerobi: what was your system's take on the locking? You went for a read/write lock?
314 May 19 21:20:36 <JZ>    we had to fix several different fixes ad hoc and now we cannot easy upgrade cp2, because our applcan fail
315 May 19 21:20:48 <Remi>  I agree: "file storage" for sessions isn't very well tested ...
316 May 19 21:21:00 <climbus>       CP2 is satble?
317 May 19 21:21:05 <climbus>       stable
318 May 19 21:21:10 <climbus>       and not tested?
319 May 19 21:21:27 <alankila>      climbus: the entire file-based session thing is just a handful of lines of code
320 May 19 21:21:58 <mikerobi>      alankila: i'm not to keen when it comes to threads, but I like the mrow sollution http://www.cherrypy.org/wiki/CherryPySessions
321 May 19 21:22:23 <alankila>      yes, I see
322 May 19 21:22:43 <JZ>    mikerobi: it is memory based sessions, not file based
323 May 19 21:23:06 <alankila>      this sounds like you would be serializing the _smlock_ in sessionMap
324 May 19 21:23:12 <alankila>      definitely is going to crash and burn, yes?
325 May 19 21:23:38 <mikerobi>      I thought the file session use a lock
326 May 19 21:24:19 <mikerobi>      JZ: I wasn't pointing to mrow as an application solution, but as a possible internal fix
327 May 19 21:24:33 <alankila>      but I agree with the general concept of @sessionReader and @sessionWriter
328 May 19 21:25:39 <JZ>    mikerobi: i know, but this shows that cp2 is not ready to enterprise solution
329 May 19 21:26:20 <JZ>    so my point is: first foundations later walls and windows should be built
330 May 19 21:26:26 *       fumanchu dreams of wsgi session middleware
331 May 19 21:27:13 <Remi>  JZ: The problem is that people want to use CP in all sort of different ways ...
332 May 19 21:27:41 <JZ>    Remi: What you mean by different ways?
333 May 19 21:28:03 <Remi>  Well, for instance, this page "http://www.cherrypy.org/wiki/CherryPyProductionSetup" recommends to use CP behind Apache with mod_rewrite
334 May 19 21:28:16 <Lawouach_>     JZ: that's pretty much what is happening right now. I don't think we saw Remi doing some ads saying that Remi was the next WebLogic ;). Yes you're right, CP has some issues. Some importants but none that makes yoyu unable to use it live.
335 May 19 21:28:30 <Remi>  And this is in my opinion a rock-solid setup
336 May 19 21:28:33 <Lawouach_>     -Remi+CP
337 May 19 21:28:50 <JZ>    We use cp behind apache of course. it is not the point
338 May 19 21:28:53 <Remi>  But if people start using it with mod_python or wsgi and whatnot, then it may be less stable
339 May 19 21:29:11 -->     goodchilde (~d8c211c2@webuser.thegrebs.com) has joined #cherrypy
340 May 19 21:29:23 <Remi>  I probably should have written a similar page about sessions ...
341 May 19 21:29:29 <goodchilde>    good afternoon.
342 May 19 21:29:30 <fumanchu>      Remi: mod_py and wsgi fixes can be VERY simple
343 May 19 21:29:45 <Lawouach_>     hi goodchilde
344 May 19 21:30:05 <fumanchu>      ...if we can get generators all the way down, that's half the battle
345 May 19 21:30:06 <climbus>       "CherryPy supports sessions out of the box with multiple storage types (Database, RAM, file, ...)." - file not tested, Database?
346 May 19 21:30:14 <goodchilde>    I'm trying to use cherrypy to build a toolbox app.
347 May 19 21:30:30 <alankila>      Database is not implemented
348 May 19 21:30:36 <alankila>      there's some awful cookie-based storage commented out.
349 May 19 21:30:49 <goodchilde>    Where I work, we have a collection of Python CGI tools for tech support.
350 May 19 21:30:58 <Remi>  climus: For DB, you have to override some methods yourself
351 May 19 21:31:05 <goodchilde>    I'm tasked to gather them into a web app.
352 May 19 21:31:08 <alankila>      someone should eliminate it completely or add digital signature to the cookie to prevent browser from modifying the data that's going to get deserialized
353 May 19 21:31:09 <JZ>    Remi: hiding cobehind apache does not solve the main problems with session, lacking of working reloading (with python2.4.1), lackng of ready to use /etc/init.d/startup.sh etc.etc
354 May 19 21:31:34 <Lawouach_>     JZ: actually, i think it would be really useful for CP if you could send a message on the list stating what you feel needs to be stabilized. It's the way CP has been working for a while now. It's always nice to hearing from people.
355 May 19 21:31:57 <goodchilde>    I'm trying to figure out how to get each generated page in the toolbox to have navigation to all other pages in the toolbox.
356 May 19 21:31:58 <^Devil^>       JZ can u open specific tickets on the problems u are having?
357 May 19 21:32:22 <goodchilde>    Where ideally each app in the toolbox could be a stand-alone app.
358 May 19 21:32:25 <Lawouach_>     goodchilde, it's gonna be a bit hard to focus on your issue right now :) Hold on a minute ;)
359 May 19 21:32:30 <JZ>    I can open them but it does not change the problem I have now
360 May 19 21:32:35 <fumanchu>      we're having a meeting goodchilde
361 May 19 21:32:46 <^Devil^>       JZ it will never be fixed then
362 May 19 21:32:55 <climbus>       if app is stable, all features are stable and tested
363 May 19 21:32:55 <goodchilde>    No worries.  Sorry to intrude.
364 May 19 21:33:04 <Lawouach_>     goodchilde, no pb. welcome on board :)
365 May 19 21:33:05 <mikerobi>      goodchilde: stick around you might learn somethign
366 May 19 21:33:21 <JZ>    I have to decide for choosing good and stable pythonic framework for our next several big applications.
367 May 19 21:33:24 <Remi>  climbus: tell that to Microsoft !
368 May 19 21:33:35 <Lawouach_>     thin ice...
369 May 19 21:33:36 <Lawouach_>     :)
370 May 19 21:33:58 <JZ>    And I am afraid of cp after our experience. I am thinking about twisted2 and nevow although it seems more complicated
371 May 19 21:34:01 <climbus>       you write that cp has something and somebody must go to cp code and check this
372 May 19 21:34:49 -->     peterhunt (~petaire@c-24-61-144-229.hsd1.ma.comcast.net) has joined #cherrypy
373 May 19 21:34:49 <peterhunt>     hello
374 May 19 21:34:49 <deelan>        hi man
375 May 19 21:34:49 <fumanchu>      hi peter
376 May 19 21:34:49 <JZ>    climbus: maybe cp should have more unittest?
377 May 19 21:34:50 <^Devil^>       hi peterhunt
378 May 19 21:34:51 <Remi>  JZ: We all agreed that there was a concurrency issue with the current session implementation (which can be taken care in your application code if you use locks on your own). Apart from that, I'm not aware of any other stability problem ...
379 May 19 21:34:56 <--     lexmeta (~mc@terminal-dogma.metacarta.com) has left #cherrypy
380 May 19 21:34:56 <peterhunt>     was not able to get here until now
381 May 19 21:34:59 <climbus>       i tell this to you, you are better, i think
382 May 19 21:35:08 <fumanchu>      JZ: yes more tests. Please write some. :)
383 May 19 21:35:24 <Lawouach_>     climbus, JZ, yes you're both right. CP ain't twisted nor Zope. But CP2 started something like 10 months ago only. So "stable" might not mean "enterprise stable" but you may feel it is stable enough in most cases. Plus CP is evolving quite quickly
384 May 19 21:35:38 <Lawouach_>     peterhunt, hi peter!
385 May 19 21:35:38 <peterhunt>     what's the topic of discussion?
386 May 19 21:35:45 <^Devil^>       JZ write the reproduction steps and describe the environment u're using along with some logs in the tickets
387 May 19 21:35:56 <mikerobi>      peterhunt: i think we are debating if software should be stable
388 May 19 21:35:57 <Lawouach_>     well the fact that CP is not ready for enterprise solutions
389 May 19 21:36:01 <climbus>       write this in yours website
390 May 19 21:36:03 <peterhunt>     ah
391 May 19 21:36:08 <JZ>    fumanchu: i have no time i am afraid. i have to quickly choose stable framework. it is not easy choice if i wanted to use python
392 May 19 21:36:09 <peterhunt>     may i add my 2 cents?
393 May 19 21:36:20 <Lawouach_>     peterhunt, sure
394 May 19 21:36:22 <Lawouach_>     shoot
395 May 19 21:36:28 <uche>  back
396 May 19 21:36:30 <peterhunt>     i think that the 2.0 series should be merely bugfixes
397 May 19 21:36:45 <peterhunt>     i think absolutely no backwards compatibility changes should occur whatsoever
398 May 19 21:36:48 <mikerobi>      JZ: it would probably take less time to fix any related cherry bugs than to learn zope
399 May 19 21:36:49 <Lawouach_>     JZ : twisted is much more stable but also much more complex. CP evolves really quickly.
400 May 19 21:36:52 <peterhunt>     (not that i really have a say in this)
401 May 19 21:36:54 <alankila>      climbus: I agree with you there. The wiki is overly optimistic about CherryPy's capabilities. The good news is that it actually _is_ improving.
402 May 19 21:37:09 <fumanchu>      agree with mikerobi
403 May 19 21:37:24 <Lawouach_>     uche : still crazy week? ;)
404 May 19 21:37:26 <peterhunt>     i agree as well
405 May 19 21:37:32 <fumanchu>      peterhunt: but I have so many fixes!! ;)
406 May 19 21:37:34 <Lawouach_>     so do i
407 May 19 21:37:38 -->     goodchil1e (~zathrus@veryclever.net) has joined #cherrypy
408 May 19 21:37:53 <JZ>    mikerobi: zope is not good, it is extemaly slow and is too complicated and has inconherent, messy API. it is not only my appinion, zope3 guys wrote it
409 May 19 21:38:06 <uche>  yesh
410 May 19 21:38:15 <peterhunt>     fumanchu: fixes are OK, but silly things like reworking the object mapping or session api just for the hell of it is kind of not so good
411 May 19 21:38:15 <uche>  huge logs to read here...
412 May 19 21:38:18 <Lawouach_>     yes, and it took them almost 8 years to admit it
413 May 19 21:38:28 <Lawouach_>     CP2 started 8 months ago
414 May 19 21:38:34 <Lawouach_>     :)
415 May 19 21:38:36 <peterhunt>     and zope3 is overengineered
416 May 19 21:38:48 <Lawouach_>     uche : i'll make a summary
417 May 19 21:38:54 <peterhunt>     yes please do
418 May 19 21:39:01 <steadicat>     peterhunt: who gets to decide which proposed changes are 'silly'?
419 May 19 21:39:15 <himizu>        steadicat: The Ministry of Silly Walks, naturally
420 May 19 21:39:15 <climbus>       in 8 months you done goo job
421 May 19 21:39:15 <peterhunt>     if they break backwards compatibility
422 May 19 21:39:22 <Almad> (hi peter)
423 May 19 21:39:23 <climbus>       but tell truth:)
424 May 19 21:39:54 <fumanchu>      steadicat: the CPBDFL, of course
425 May 19 21:39:55 <peterhunt>     to tell you the truth, CP2 gives off a really good, polished, warm fuzzy feeling
426 May 19 21:39:58 <JZ>    Lawouach_: zope3 is not oveerengineered, it looks promise, but it is too monolitic for our purpose
427 May 19 21:40:04 <alankila>      but I do think the session system needs some changes. I think the new one has a good chance to be fully backwards compatible, too.
428 May 19 21:40:07 <steadicat>     peterhunt: i feel the exact opposite
429 May 19 21:40:23 <peterhunt>     steadicat: i meant to say should :)
430 May 19 21:40:31 <steadicat>     ;)
431 May 19 21:40:41 <peterhunt>     but it does in a limited sense
432 May 19 21:40:42 <mortenbagai>   is there any place to find out more about mikerobi's proposed new session system at this point?
433 May 19 21:40:53 <mikerobi>      mortenbagai: when i get around to writing it
434 May 19 21:40:56 <mikerobi>      mortenbagai: I just moved
435 May 19 21:40:59 <peterhunt>     i mean, CherryPy 2.0.0 sounds so much better than nevow 0.4, for example
436 May 19 21:41:05 <mikerobi>      mortenbagai: so i'm a little behind
437 May 19 21:41:10 <fumanchu>      amen, peter
438 May 19 21:41:14 <mortenbagai>   mikerobi: cool
439 May 19 21:41:17 <climbus>       sounds
440 May 19 21:41:32 <JZ>    peterhunt: i am not sure, nevow is based on much, much stable and mature framework twisted2 is
441 May 19 21:41:35 <peterhunt>     the reason most people are afraid to use python for web development is that none appear to be mature
442 May 19 21:41:52 <JZ>    peterhunt: exactly!
443 May 19 21:41:57 <climbus>       right
444 May 19 21:41:58 <peterhunt>     JZ: i know, but it still feels beta when looking at docs etc
445 May 19 21:41:59 <mortenbagai>   for someone who's new to cp, this is one of the things that i'd like to see a more easy-to-use implementation of. sessions, that is
446 May 19 21:42:11 <peterhunt>     mortenbagai: what do you mean?
447 May 19 21:42:19 <climbus>       cp is beta and has 2.0 number
448 May 19 21:42:26 <peterhunt>     clumbus: there's a final out
449 May 19 21:42:33 <JZ>    i see, it looks misleading
450 May 19 21:42:47 <mortenbagai>   i was trying to get url-based sessions to work following the recipe, and it just won't for me.
451 May 19 21:43:07 <climbus>       somthing not tested, somthing not implemented, stable?
452 May 19 21:43:12 <climbus>       fineal?
453 May 19 21:43:18 <alankila>      I think the url-based sessions should be made with a helper function to generate urls for cherrypy apps. It would appear to be the simplest solution to me...
454 May 19 21:43:21 <peterhunt>     climbus: yeah, that's why i have an issue
455 May 19 21:43:54 <himizu>        is CP2 good with respect to reference leaks and such?   can I put a simple CP2-based app on an embedded device and leave it running for a long time w/o the memory getting exhausted?
456 May 19 21:44:10 <mikerobi>      mortenbagai: If you are using my branch, then the session filter definately won't work, it needs to be updated to work with my system
457 May 19 21:44:14 <peterhunt>     climbus: cherrypy 2.0.0 final is out, so in-my-humble-opinion-which-will-yield-to-remi's-in-an-instant, i don't think there should be any monumental changes to CP2
458 May 19 21:44:35 <JZ>    right!
459 May 19 21:45:02 <fumanchu>      peterhunt: I'd say no monumental changes to the app interface, but internals are fine, aren't they?
460 May 19 21:45:08 <peterhunt>     yeah
461 May 19 21:45:17 <peterhunt>     you can rewrite the internals all you want, as long as it doesn't break the api
462 May 19 21:45:18 <steadicat>     *relief*
463 May 19 21:45:21 <Remi>  Well, hopefully mikerobi will give us a good/stable session implementation
464 May 19 21:45:25 <Lawouach_>     peterhunt, +1
465 May 19 21:45:38 <JZ>    fumachu: no, internals are not fine
466 May 19 21:45:48 <fumanchu>      example?
467 May 19 21:45:58 <climbus>       internal should be stable
468 May 19 21:46:13 <peterhunt>     Remi: i just humbly request that cpg.request.sessionMap survives, even if its depreciated, and that there are no limits (except with respect to pickling) to what can be stored in sessions
469 May 19 21:46:15 <fumanchu>      OK, given the caveat that changes will have tests
470 May 19 21:46:22 <JZ>    fumachu: w.g. sessions and concurrent access
471 May 19 21:46:30 <climbus>       i write 10 methods with pass, is this stable app?
472 May 19 21:46:31 <mikerobi>      peterhunt: there won't be limits, only for certian storage typs
473 May 19 21:46:39 <peterhunt>     what really put me off about the new session api is that there was a limitation on what can be stored in a session
474 May 19 21:46:54 <peterhunt>     mikerobi: why not just pickle?
475 May 19 21:46:55 <alankila>      peterhunt: now lifted
476 May 19 21:47:05 <alankila>      mikerobi has agreed to pressure, it seems. (Good for him.)
477 May 19 21:47:10 <peterhunt>     ah
478 May 19 21:47:33 <mikerobi>      peterhunt: storing pickled objects in a relational database defeats the purpose of a rdmbs
479 May 19 21:47:52 <alankila>      so not using pickled there unless user wants to is the way to go.
480 May 19 21:48:03 <JZ>    mikerobi: not necessary.skunkweb uses rdbms for storage with success
481 May 19 21:48:05 <fumanchu>      "the purpose"?
482 May 19 21:48:14 <peterhunt>     mikerobi: if you have a changing interface for different storage backend plugins, then you're defeating the purpose of OOP and encapsulation
483 May 19 21:48:15 <alankila>      the purpose is to allow session data to be used like ordinary table data
484 May 19 21:48:29 <fumanchu>      No, the purpose is for data to persist
485 May 19 21:48:41 <peterhunt>     if i develop my app using RAM sessions, and then deploy on SQL, it could cause unforseen development errors
486 May 19 21:48:41 <mikerobi>      peterhunt: just wait till i have some time to make some updates and write some more documentation
487 May 19 21:48:48 <alankila>      sure we can quibble over that but relational systems can offer that one extra benefit, if it is a benefit to you
488 May 19 21:48:52 <alankila>      so let it do that.
489 May 19 21:49:14 <Lawouach_>     if you're done with the session system, could i bring the subject of Aspect?
490 May 19 21:49:16 <mikerobi>      peterhunt: with ram sessions added a new key is trivial, but adding a collumn to a table is not
491 May 19 21:49:17 <alankila>      it's not a benefit for me so I strongly maintain that pickling is the default way to go
492 May 19 21:49:21 <fumanchu>      I'll let it do that if it doesn't limit the types
493 May 19 21:49:21 <Lawouach_>     ok not now :)
494 May 19 21:49:22 <peterhunt>     mikerobi: how about a pickleValue configuration setting?
495 May 19 21:49:32 <mikerobi>      peterhunt: lets debate this later
496 May 19 21:49:36 <fumanchu>      yeah
497 May 19 21:49:37 <peterhunt>     k
498 May 19 21:49:49 <fumanchu>      who's using Aspect?
499 May 19 21:49:55 <peterhunt>     i used to
500 May 19 21:49:55 <Lawouach_>     me
501 May 19 21:50:14 <Remi>  I'm only using it in csauthenticate but this should be replaced with a filter
502 May 19 21:50:24 <peterhunt>     why don't we just link to logilab and deprecate it?
503 May 19 21:50:40 <Lawouach_>     I feel like AOP impl in Cp is too simple to be useful. And quite miselading if you wnat more.
504 May 19 21:50:51 <Remi>  I agree
505 May 19 21:50:54 <peterhunt>     yeah
506 May 19 21:51:00 <alankila>      I think we should point to 3rd party Aspect implementation as well
507 May 19 21:51:01 <peterhunt>     logilab provides a full-featured aop suite
508 May 19 21:51:03 <alankila>      it sounds most sensible.
509 May 19 21:51:07 <Lawouach_>     yup
510 May 19 21:51:09 <Lawouach_>     ok good
511 May 19 21:51:18 <Lawouach_>     was quicker than the session system subject :)
512 May 19 21:51:27 <alankila>      Cherry might retain a small compatibility class for users who now use Aspect, but that's it.
513 May 19 21:51:28 <fumanchu>      FYI http://www.logilab.org/projects/aspects
514 May 19 21:51:42 <peterhunt>     alankila: we should leave it in there as it is, but just give a deprecation warning
515 May 19 21:51:47 <peterhunt>     fumanchu: yes, that
516 May 19 21:51:49 <alankila>      (I suppose the current implementation is very simple to begin with though, I haven't looked at the code.)
517 May 19 21:52:11 <alankila>      peterhunt: yeah, agree
518 May 19 21:52:12 <alankila>      2:44 <@Lawouach_> I feel like AOP impl in Cp is too simple to be useful. And
519 May 19 21:52:12 <alankila>                         quite miselading if you wnat more.
520 May 19 21:52:20 <alankila>      sorry ;-)
521 May 19 21:53:04 <peterhunt>     hows the wsgi app coming along?
522 May 19 21:53:09 <Lawouach_>     alankila, :)
523 May 19 21:53:19 <Lawouach_>     yeah my fingers are going to fast
524 May 19 21:53:26 <fumanchu>      ? Besides the checked in patches? ;)
525 May 19 21:53:48 <peterhunt>     are they in?
526 May 19 21:54:06 <fumanchu>      I don't have SVN access--see ticket 146
527 May 19 21:54:24 <fumanchu>      I meant "posted" not "checked in" :(
528 May 19 21:54:35 <peterhunt>     yeah, i'm waiting for checkin :)
529 May 19 21:55:11 <peterhunt>     by the way, was looking at other web frameworks for python...cherrypy is the best by far :)
530 May 19 21:55:43 <fumanchu>      just did the same assessment and agree completely
531 May 19 21:55:43 <fumanchu>      abandoning my own for cp
532 May 19 21:55:45 <alankila>      I also checked them out. I really breathed a sigh of relief when I saw how simple cherrypy apps were
533 May 19 21:56:10 <fumanchu>      It should stay that way if we can only stave off Ian's Paste ;)
534 May 19 21:56:15 <alankila>      I was completely sure I'd be using it when I glanced at a 5-line hello world or so
535 May 19 21:56:16 <JZ>    peterhunt: i thought the same until i started to make  big apllications in cp
536 May 19 21:56:17 <mikerobi>      nice to agree on something
537 May 19 21:56:25 <peterhunt>     JZ: what happened?
538 May 19 21:56:30 <fumanchu>      not again
539 May 19 21:56:49 <peterhunt>     fumanchu: i based subway off of paste, it's moving so fast that it's scary
540 May 19 21:56:58 <fumanchu>      heh, yeah, j/k
541 May 19 21:56:59 <JZ>    peterhunt: many problems with stabilty, sessions etc. :) we had discussion once here :)
542 May 19 21:57:12 <goodchilde>    peterhunt: subway operates on top of cherrypy?
543 May 19 21:57:25 <peterhunt>     yes
544 May 19 21:57:31 <peterhunt>     JZ: with subway or paste?
545 May 19 21:57:46 <JZ>    peterhunt: with pure cp2
546 May 19 21:58:01 <peterhunt>     oh there were?
547 May 19 21:58:08 <JZ>    i tried to use subway but i do not like sqlobject
548 May 19 21:58:18 <peterhunt>     heh, you don't want to use subway just yet
549 May 19 21:58:20 <fumanchu>      ops: back to showstoppers for 2.1...
550 May 19 21:58:31 -->     Maciek (~m.starzyk@195.46.43.177) has joined #cherrypy
551 May 19 21:58:32 <fumanchu>      Ticket 147 should be fixed asap
552 May 19 21:58:35 <JZ>    peterhunt: r u asking for link to our appl?
553 May 19 21:58:46 <peterhunt>     ?
554 May 19 21:58:51 <peterhunt>     what's appl?
555 May 19 21:59:58 <JZ>    peterhunt: so i didn't undersdand your answer "oh there were?"
556 May 19 22:00:11 <Remi>  JZ: I'm curious: what is your app :-)
557 May 19 22:00:21 <JZ>    http://bank.muratordom.pl
558 May 19 22:00:22 <peterhunt>     no i wasn't asking, was just wondering how severe they were
559 May 19 22:00:45 <JZ>    it is splitted to also http://bank.muratorplus.pl
560 May 19 22:00:51 <^Devil^>       JZ u keep repeating this stuff since 2 weeks. it's time to open some tickets. everything might have been fixed by now
561 May 19 22:01:07 <Remi>  Nice site
562 May 19 22:01:20 <climbus>       what about threadsafe
563 May 19 22:01:32 <climbus>       when we change for to thread
564 May 19 22:01:38 <climbus>       forks
565 May 19 22:01:44 <mikerobi>      climbus: refering to the sessionmaps?
566 May 19 22:01:45 <fumanchu>      what are you asking climbus?
567 May 19 22:01:48 <peterhunt>     can't it be done manually?
568 May 19 22:02:02 <JZ>    dev: i know, i know. but you can understand, i have several new simillar complex site to prepare and i am afrais of using cp2 with its state
569 May 19 22:02:21 <^Devil^>       yeah that was your same line 2 weeks ago...
570 May 19 22:02:25 <Almad> agreeing with JZ
571 May 19 22:02:25 <Remi>  JZ: Well, how can we make you less scare ??
572 May 19 22:02:33 <climbus>       about changing without changes in code
573 May 19 22:02:48 <fumanchu>      climbus: changing WHAT?
574 May 19 22:03:04 <climbus>       forkin to thread
575 May 19 22:03:20 <Almad> as I'd like to have site stable for next few, say, five years...with backward compatible api
576 May 19 22:03:29 <JZ>    cp should assume like myghty project did: huge traffic, many several request
577 May 19 22:03:56 <^Devil^>       JZ u should be using perl mason then
578 May 19 22:03:59 <fumanchu>      AFAICT CP is thread-safe...
579 May 19 22:03:59 <JZ>    only with those assumptions in mind we can stard to buld good sessions and other core
580 May 19 22:04:22 <peterhunt>     ^Devil^: JZ has a good point
581 May 19 22:04:23 <JZ>    dev: i do not like perlish philosophy
582 May 19 22:04:26 <peterhunt>     a very good one
583 May 19 22:05:20 <peterhunt>     i have a controversial idea i've been mulling over...
584 May 19 22:05:27 <^Devil^>       yeah peterhunt i'd like to have something i can rely on too. just asking for a more positive approach. if there's a problem either u fix it or u open a ticket. that's what open source is for i believe
585 May 19 22:05:29 <mikerobi>      peterhunt: CherrypPerl?
586 May 19 22:05:35 <^Devil^>       :)
587 May 19 22:05:44 <peterhunt>     not that controversial :)
588 May 19 22:05:49 <peterhunt>     dumping the built-in web server
589 May 19 22:05:49 <goodchilde>    CherryRuby?
590 May 19 22:06:01 <fumanchu>      peterhunt: don't dump--just abstract better
591 May 19 22:06:07 <peterhunt>     making it a pure WSGI app, and then perhaps including a default WSGI server to run it
592 May 19 22:06:10 <steadicat>     peterhunt: been thinking about that myself
593 May 19 22:06:13 <fumanchu>      should be able to develop each in isolation
594 May 19 22:06:19 <fumanchu>      YEA
595 May 19 22:06:25 <steadicat>     this http server is way too simple
596 May 19 22:06:29 <steadicat>     it doesn't support head
597 May 19 22:06:35 <steadicat>     it crashes if the Host: header is missing
598 May 19 22:06:41 <peterhunt>     yeah
599 May 19 22:06:47 <fumanchu>      right--instant access to HTTP/1.1
600 May 19 22:06:48 <steadicat>     it doesn't support keepalives
601 May 19 22:07:07 <Remi>  This is exactly why I recommend to run CP behind Apache !!!
602 May 19 22:07:08 <JZ>    maybe we should borrow some ideas of how to create good http server from twisted? its asynchronic server isvery fast and stable
603 May 19 22:07:10 <peterhunt>     and also, if only a wsgi-app was developed and not two separate servers (wsgi and cp server), there wouldn't be issues such as ticket 146
604 May 19 22:07:34 <peterhunt>     that's my primary reason for supporting it
605 May 19 22:07:48 <peterhunt>     because you can already deploy it behind apache and via wsgi
606 May 19 22:08:06 <JZ>    Remi: you cannot run python of cp behind apache :) IT is only for static files. Nothing more
607 May 19 22:08:10 <mikerobi>      is there a performace boost?
608 May 19 22:08:28 <mikerobi>      with wsgi?
609 May 19 22:08:43 <peterhunt>     not neccesarily
610 May 19 22:09:00 <peterhunt>     but if you have a solid, optimized WSGI implementation, you can instantly deploy on fastcgi, mod_python, and IIS ISAPI, to name a few
611 May 19 22:09:10 <fumanchu>      so performance depends on server you choose
612 May 19 22:09:11 <peterhunt>     or twisted, or BaseHTTP, or plain cgi
613 May 19 22:09:17 <alankila>      I think the case is compelling, unless using WSGI makes something else suck
614 May 19 22:09:21 <JZ>    is there any solid wsgi anywhere?
615 May 19 22:09:30 <fumanchu>      ..but you could then choose the deployment server which best matches your data and environment
616 May 19 22:09:47 <deelan>        mike orr has written a very nice doc about WSGI
617 May 19 22:09:49 <peterhunt>     JZ: yes, those that i just named are stable
618 May 19 22:09:58 <deelan>        dunno if you guys known it
619 May 19 22:10:26 <peterhunt>     CP would just need to refactor its current server to just be the default WSGI gateway instead of have cherrypy code in it
620 May 19 22:10:36 <deelan>        WSGI Explorations with Python -- http://rex.kicks-ass.net/python/wsgi-explorations.html
621 May 19 22:11:28 <fumanchu>      peterhunt: If this is the consensus, I was already ready to try it this week and next
622 May 19 22:11:35 <fumanchu>      I was going to do it skunkworks anyway
623 May 19 22:12:01 <alankila>      are there downsides, if any, known to using WSGI? Is the code good? Will it work? Is there some weird dependencies, stuff nobody has installed already? Etc.
624 May 19 22:12:33 <peterhunt>     it works today
625 May 19 22:12:34 <fumanchu>      WSGI is a protocol--downsides will depend on specific implementations
626 May 19 22:12:34 <mikerobi>      the standalone server is so easy for development
627 May 19 22:12:47 <mikerobi>      i wouldn't want it to disappear
628 May 19 22:12:52 <peterhunt>     i have to go :(
629 May 19 22:12:53 <alankila>      aha, so it's a protocol. All right. Then the question didn't make sense.
630 May 19 22:12:57 <fumanchu>      mikerobi: we can support both
631 May 19 22:13:02 <Remi>  peterhunt: do filters still work fine with WSGI ?
632 May 19 22:13:14 <fumanchu>      with my new 146 fix, filters work
633 May 19 22:13:15 <steadicat>     there is a standalone wsgi server in paste, right?
634 May 19 22:13:21 <peterhunt>     Remi: i haven't tried the patch yet, but before, input filters and _cpOnError were broken
635 May 19 22:13:33 <peterhunt>     steadicat: wsgiref and wsgiutils have them
636 May 19 22:13:39 <fumanchu>      peterhunt: before you go, what was the problem with cpOnError?
637 May 19 22:13:47 <peterhunt>     it didn't catch errors :)
638 May 19 22:13:58 <fumanchu>      OK, I'll add a test for that
639 May 19 22:13:58 <peterhunt>     i just couldn't get _cpOnError to get called
640 May 19 22:14:06 <peterhunt>     one last thing before i leave...
641 May 19 22:14:13 <fumanchu>      It should nw be called, since that try/except is inside doRequest
642 May 19 22:14:22 <peterhunt>     a nice feature enhancement would be
643 May 19 22:14:26 <peterhunt>     [staticContent]
644 May 19 22:14:30 <peterhunt>     .=somedir/
645 May 19 22:14:43 <peterhunt>     to automatically have staticContent at the root
646 May 19 22:15:13 <peterhunt>     now i really need to be going
647 May 19 22:15:18 <peterhunt>     goodbye
648 May 19 22:15:20 <Remi>  bye
649 May 19 22:15:21 <fumanchu>      bye
650 May 19 22:15:30 <--     peterhunt has quit (Quit: )
651 May 19 22:15:45 <fumanchu>      Remi: so, yes, filters and _cpOnError should both be fixed now with Ticket 146
652 May 19 22:15:55 <Remi>  what about xml-rpc ?
653 May 19 22:15:55 <--     Prip has quit (Read error: Connection reset by peer)
654 May 19 22:16:12 <fumanchu>      haven't tried, because I don't have a test :(
655 May 19 22:16:43 <fumanchu>      The point is, the new wsgiapp just calls doRequest, exactly like CherryHTTPServer does
656
657 May 19 22:16:53 <Remi>  ok
658 May 19 22:17:02 <Lawouach_>     oops missed quite some lines
659 May 19 22:17:20 <Lawouach_>     I'd like to react to "<steadicat> this http server is way too simple"
660 May 19 22:17:32 <Lawouach_>     To be honest, I fairly agree.
661 May 19 22:17:41 <steadicat>     but? ;)
662 May 19 22:17:51 <Remi>  hence http://www.cherrypy.org/wiki/CherryPyProductionSetup
663 May 19 22:17:59 <mikerobi>      on the topic of doRequest, that giant try block might catch exceptions that should be raised back to the aplication
664 May 19 22:18:01 <alankila>      I'm only worried that changing it will make development/deployment more painful. Right now it's nice.
665 May 19 22:18:01 <Lawouach_>     I really think we would have less trouble/work by basing CP routines on a better Web server
666 May 19 22:18:20 <Lawouach_>     Remi: i agree. I'm using apache in front of CP
667 May 19 22:18:24 <Lawouach_>     but this is not an answer
668 May 19 22:18:27 <Lawouach_>     this is a workaround
669 May 19 22:18:30 <alankila>      and I don't have much love for apache, either, although nothing specific against it.
670 May 19 22:18:46 <fumanchu>      alankila: again, we can support both models
671 May 19 22:18:53 <Lawouach_>     the real issue is : "is it worth the pain keeping the actual web server we have?"
672 May 19 22:18:56 <fernique>      thanks a lot guys. bye!
673 May 19 22:19:01 <fumanchu>      hasta
674 May 19 22:19:21 <Lawouach_>     i mean, try to telnet a CP application server. it crashes and doesn't react well to a simple "GET / HTTP/1.0"
675 May 19 22:19:25 <--     fernique (~igor@jabber.hst.ru) has left #cherrypy
676 May 19 22:19:29 <Lawouach_>     this is far from being good
677 May 19 22:19:34 <alankila>      well, I would imagine that if main cherrypy listens to wsgi then writing an adapter from tcp-to-wsgi or most likely using an existing such adapter is a no-brainer
678 May 19 22:19:40 <Lawouach_>     we could fix all those bugs maybe. but is it worth the value?
679 May 19 22:19:48 <fumanchu>      mikerobi: if you want exceptions to go back to the app, then write a cusomt _cpOnError for your Root class.
680 May 19 22:19:55 <fumanchu>      custom
681 May 19 22:19:59 <steadicat>     alankila: such adapter already exists, and it would probably be included in cpy
682 May 19 22:20:05 <steadicat>     so you can develop like you do now
683 May 19 22:20:16 <alankila>      steadicat: then I see no downsides at all.
684 May 19 22:20:23 <steadicat>     me neither
685 May 19 22:20:32 <alankila>      and plenty of benefits, including the possibility to skip Apache alltogether.
686 May 19 22:20:50 <Lawouach_>     I mean no offense Remi. You did a great job with the web server. But does it fulfill what developers are waiting from CP ?
687 May 19 22:21:17 <fumanchu>      Lawouach_: it's worth keeping a simple server in order to attract new developers, at least -- quick startup is a plus
688 May 19 22:21:27 <mikerobi>      fumanchu: the problem is that the function has a generic except: block
689 May 19 22:21:37 <alankila>      quick startup is essentialy. Every step it takes to run the thing is costing in new users.
690 May 19 22:21:39 <goodchilde>    FWIW, the quick startup is a bunch of what sold me on CP.
691 May 19 22:21:42 <Lawouach_>     fumanchu, I agree but it can be misleading too as people tend to always ask more from simple things :)
692 May 19 22:21:59 <goodchilde>    That, and the magic URLs.
693 May 19 22:22:00 <fumanchu>      mikerobi: and that except block calls _cpOnError, right?
694 May 19 22:22:08 <mikerobi>      no
695 May 19 22:22:14 <Remi>  Lawouach: what do you suggest ?
696 May 19 22:22:16 <Lawouach_>     then we should keep it and insist on the fact it should not be used in production
697 May 19 22:22:19 <Lawouach_>     period
698 May 19 22:22:25 <alankila>      the URL mapper is not nice, but it isn't *too* awful either. If anything it's just trying to be too smart, I think.
699 May 19 22:22:32 <Almad> to be honest...Apache is simply mature, tested...I prefer it too
700 May 19 22:22:46 <steadicat>     Lawouach_: we can keep the simplicity with a stand alone wsgi server, can't we?
701 May 19 22:22:47 <fumanchu>      mikerobi: mine does, line 220
702 May 19 22:22:49 <fumanchu>      220
703 May 19 22:23:07 <mikerobi>      ahh silly me
704 May 19 22:23:21 <steadicat>     that's what peterhunt suggested, i think
705 May 19 22:23:22 <mikerobi>      fumanchu: I did a search but with a type
706 May 19 22:23:29 <fumanchu>      steadicat: we'd have to write our own standalone wsgi server in that case, or require inclusion of wsgiref or other
707 May 19 22:23:43 <steadicat>     i'd say we include wsgiref or similar
708 May 19 22:24:03 <Lawouach_>     Remi : I don't know to be honest. I don't have one best option :(
709 May 19 22:25:04 <Lawouach_>     I use CP behind Apache but I've found that it was useless to go through two webservers...
710 May 19 22:25:27 <Remi>  Well, I think it's reasonable to package CP with an internal HTTP server that's OK for testing and require another HTTP server (ie: Apache) in front of it for production sites
711 May 19 22:25:39 <Lawouach_>     one solution might be to write a mod_cherrypy. just for parsing the request and feeding the application server behind
712 May 19 22:25:54 <fumanchu>      sure
713 May 19 22:26:02 <fumanchu>      Let us know when you're done. ;)
714 May 19 22:26:11 <Lawouach_>     fumanchu, lol
715 May 19 22:26:18 *       Lawouach_ is goind away...
716 May 19 22:26:20 <JZ>    Lawouach_: webware can work without its httpd at all.
717 May 19 22:26:21 <Lawouach_>     far far away
718 May 19 22:26:27 <JZ>    So cp could also
719 May 19 22:26:28 <Remi>  Lawouach: but in practise you'll gain very little speed by doing this (compared to using mod_rewrite)
720 May 19 22:26:31 <mikerobi>      Lawouach_: with a well written mod_cherrypy, you could probably approach php speed
721 May 19 22:26:41 <Lawouach_>     Remi: speed is not my concern
722 May 19 22:26:56 <Remi>  so why would mod_cherrypy be better than mod_rewrite ?
723 May 19 22:27:11 <mikerobi>      mod_rewrite is complicated/overwhelming
724 May 19 22:27:23 <Remi>  mikerobi: ??? How so ?
725 May 19 22:27:43 <Remi>  The only drawback is that you have to use BaseUrlFilter  in your CP app ...
726 May 19 22:27:49 <Lawouach_>     OK. so whether or not we keep ot for production. we definitely need a better support of HTTP 1.1
727 May 19 22:28:14 <mikerobi>      "mod_rewrite's major drawback is that it is     not easy to understand and use for the beginner" apache documentation
728 May 19 22:28:41 <Remi>  Lawouach: Well, that's the whole point ...  By putting Apache in front of CP you get HTTP/1.1 between the browser and Apache ...
729 May 19 22:28:47 <Lawouach_>     well i quite agree that mod_rewrite 3 lines i had to use for my own server drove me crazy
730 May 19 22:28:53 <Lawouach_>     but it might just be me :)
731 May 19 22:29:03 <alankila>      mod_proxy is much better than mod_rewrite
732 May 19 22:29:16 <alankila>      it does the simple case with much less weird-looking stuff like (.*) and $1
733 May 19 22:29:25 <Remi>  mod_rewrite can be tricky if you try to do complicated stuff, but it's very easy for simple things ...
734 May 19 22:29:35 <Lawouach_>     alankila, the nice thing with mod_rewrite is that it works from within .htaccess
735 May 19 22:29:45 <Lawouach_>     and thus needs less permissions
736 May 19 22:29:46 <alankila>      doesn't mod_proxy, then?
737 May 19 22:29:52 <Lawouach_>     i don't think so
738 May 19 22:29:55 <Lawouach_>     but i might be wrong
739 May 19 22:29:59 <alankila>      Illogical. But Apache is like that.
740 May 19 22:29:59 <JZ>    alankila: i do not like mod_proxy, mod_rewrite is more flexible and can work with other different rules
741 May 19 22:30:06 <Remi>  mod_proxy works just as well ...
742 May 19 22:30:21 <Remi>  It's just that with mod_rewrite you can easily configure Apache to serve static files directly
743 May 19 22:30:54 <Lawouach_>     mod_proxy uses mod_rewrite if i'm not mistaken anyhow
744 May 19 22:30:58 *       mikerobi has to give his dog a bone
745 May 19 22:31:14 <steadicat>     i think it's  the other way round
746 May 19 22:31:18 <steadicat>     mod_rewrite uses mod_proxy
747 May 19 22:31:22 <Lawouach_>     hmmm
748 May 19 22:31:24 <Lawouach_>     let me check
749 May 19 22:31:26 <steadicat>     with the [P] flag
750 May 19 22:31:32 <JZ>    alankila: i am using mod_rewrite for proxing plone and excuting php under the same vhost. it is very difficult to do the same using only mod_proxy
751 May 19 22:31:57 <Remi>  Lawouach: Did we have anything else on the agenda ?
752 May 19 22:31:57 <alankila>      mod_rewrite does not support ProxyPassReverse
753 May 19 22:32:09 <Lawouach_>     Remi, don't think so no
754 May 19 22:32:12 <alankila>      but you can use it in tandem with mod_rewrite though
755 May 19 22:32:20 <alankila>      I just think the end result looks more logical with ProxyPass
756 May 19 22:32:20 <Lawouach_>     we approached everything we needed
757 May 19 22:32:34 <JZ>    steadicat: mod_rewrite is a differe module, but with flag [p] it can do proxy work
758 May 19 22:33:10 <steadicat>     yes, and it does it using mod_proxy
759 May 19 22:33:15 <mortenbagai>   well, from a newcomer's perspective, mod_rewrite works as well as anything, but having said that, the ease of establishing a development setup with the built-in server is one the primary attractions of cp
760 May 19 22:33:18 <JZ>    alankila: i do not need proxypassreverse, plone works fine without it
761 May 19 22:33:18 <Lawouach_>     guys
762 May 19 22:33:19 <Lawouach_>     guys
763 May 19 22:33:19 <Lawouach_>     guys
764 May 19 22:33:24 <Lawouach_>     anything else to add ?
765 May 19 22:33:32 <steadicat>     autoreload
766 May 19 22:33:40 <steadicat>     is there any way to get it to work
767 May 19 22:33:57 <steadicat>     cause rails's autoreload is really sexy and tempting :P
768 May 19 22:33:59 <fumanchu>      Just that I'll go ahead and work on abstracting the server from the rest of the core, like we were saying above
769 May 19 22:34:38 <Remi>  fumanchu: OK, but I still want a way of running "Hello world" without any external dependencies ...
770 May 19 22:34:45 <fumanchu>      steadicat: reload of cpg.root classes?
771 May 19 22:34:50 <fumanchu>      Remi: right, absolutely.
772 May 19 22:34:51 <Lawouach_>     fumanchu, i'd be happy to discuss that as well
773 May 19 22:35:12 <Remi>  steadicat: doesn't autoreload work for you ?
774 May 19 22:35:14 <Lawouach_>     it'd be great if CP could be web ser