--- Log opened Sun Oct 01 00:00:27 2006
00:40 -!- toby_swe [n=Miranda@nl109-140-176.student.uu.se] has quit ["Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"]
01:24 -!- Trevize [i=derci@bzq-84-108-7-232.cablep.bezeqint.net] has joined #agavi
01:24 < Trevize> Hi
01:24 < Wombert> welcome
01:25 < Trevize> What happened to Mojavi? Is it dead?
01:25 < Wombert> yep
01:25 < Trevize> That's weird...
01:25 < Trevize> In which version did Agavi fork off Mojavi?
01:26 < Wombert> last 3.0-dev revision
01:26 < CIA-1> david * r1069 /trunk/src/filter/AgaviFormPopulationFilter.class.php: FormPopulationFilter: implemented remaining items 3 and 6: support for skipping re-population of certain fields and full support for [] fields (i.e. fields with auto-generated indices). closes #327
01:26 < Wombert> but agavi 0.11 is very different
01:26 < Wombert> give it a shot ;)
01:26 < Wombert> but do not use 0.10.2 from the website
01:26 < Wombert> use SVN instead
01:26 < Wombert> trunk is stable enough for produciton
01:26 < Wombert> a release is imminent, too
01:26 < Wombert> we have many exciting new feature
01:26 < Wombert> s
01:26 < Trevize> A possible employer told me they are working with Mojavi 2.0, and he told me to install it as homework..
01:26 < Wombert> mojavi2?
01:26 < Wombert> oO
01:27 < Wombert> that's php4
01:27 < Trevize> Yes. Maybe I should worry that they are staying in the past?
01:27 < Wombert> well
01:27 < Wombert> it's your decision
01:28 < Wombert> if you ask me, I would prefer _not_ to have a job where I have to code PHP4
01:28 < Wombert> because it's a real pain in the arse ;)
01:28 < Wombert> outdated technology never is a good idea
01:28 < Trevize> My current work is like that.. hmm.. you mean it's bad because of the object oriented problem?
01:28 < Wombert> remember that PHP5 has been stable for two years now
01:28 < Wombert> in the IT world, that's... a very, very long time
01:29 < Wombert> yes, partly because the OO is very messy
01:29 < Wombert> PHP5 certainly allows for cleaner code
01:29 < Trevize> Bah. Many hosting sites don't even have MySQL 4.1
01:29 < Trevize> Even that it's been stable for 2 years as well
01:29 < Wombert> think abstract classes, type hints in declarations, interfaces, iterators etc etc
01:29 < Wombert> yes, but then, most client projects don't run on shared hosts ;)
01:30 < Wombert> if a client can afford hiring a company to develop an application, they can also afford <100 dollars a month for a dedicated server
01:30 < Wombert> let me put it this way
01:30 < Wombert> if you get a job where you may code PHP5
01:30 < Wombert> AND
01:30 < Wombert> use agavi
01:30 < Wombert> it's gonna be absolute heaven
01:30 < Wombert> if not, your mileage may vary
01:31 < Wombert> ;)
01:32 < Trevize> I can't be very picky. I'm kinda desperate - or maybe I shouldn't be?
01:32 < Wombert> we have a very nice routing (a _lot_ better than the solutions other frameworks offer), good security, full i18n based on the entire unicode CLDR data (that means you can format dates, and the month names will be in hebrew automatically; also, you can fetch a list of languages, countries, regions etc in hebrew etc etc etc), a nice filter concept, good performance, sweet stuff such as auto form-repopulation etc
01:32 < Wombert> hmm
01:32 < Wombert> well
01:32 < Wombert> _are_ you desperate?
01:32 < Wombert> I'm not sure what the job market looks like in israel
01:33 < Wombert> you're from israel, aren't you?
01:33 < Trevize> Sort of. I'm 30 and still living with my parents
01:33 < Trevize> Yup, I'm from Israel
01:33 < Trevize> And I love UTF-8.
01:33 < Wombert> that's good
01:33 < Wombert> because we support it from A to Z
01:33 < Wombert> but let's focus on your job issue thing first
01:34 < Wombert> so you have a job right now?
01:34 < Wombert> but it sucks?
01:35 < Trevize> Yup
01:35 < Trevize> I work from home
01:35 < Wombert> but not self-employed?
01:36 < Wombert> did you consider moving to another country or so?
01:36 < Wombert> I heard jake's company needs programmers ;)
01:36 < Wombert> but they are in Seattle, US
01:36 < Trevize> If they send me a flying ticket, maybe
01:36 < Trevize> but I'm addicted to Israeli folk dnces
01:36 < Wombert> lol :>
01:37 < Wombert> well let's focus on israel then
01:37 < Trevize> dances
01:37 < Trevize> so it's a problem
01:37 < Wombert> how
01:37 < Wombert> I mean
01:37 < Trevize> Even that there are good Israeli folk dances in NYC
01:37 < Wombert> aren't there many job opportunities?
01:37 < Trevize> Not in PHP, I'm afraid
01:37 < Wombert> oO
01:37 < Wombert> what's popular then?
01:38 < Wombert> java?
01:38 < Trevize> Java and .NET
01:38 < Wombert> you could certainly learn java in no time
01:38 < Wombert> it's not much different from PHP
01:38 < Wombert> a week and you know your way around the code
01:38 < Trevize> I think .NET is more popuplar
01:38 < Trevize> popular
01:39 < Wombert> after all, you're a programmer, you know how to code already, and a language is just the "tool" to make stuff work the way your brain wants it
01:39 < Wombert> do you have a university degree or so?
01:39 < Trevize> Not yet
01:39 < Trevize> I plan to, some day
01:39 < Wombert> so you're a student?
01:39 < Wombert> hmm
01:39 < Trevize> Actually I tried learning computer science, but the math killed me
01:40 < Wombert> yes, the CS maths sucks big time
01:40 < impl> Ooh, I want some partial differential equations
01:40 < Trevize> God curse Infinitesimal math
01:41 < Wombert> impl: yuck
01:41 < Trevize> So.. what I plan to do is just to try learn .NET alone
01:42 < Wombert> Trevize: my advice would be to expand your field of knowledge
01:42 < Wombert> that would include learning another language or two
01:42 < Wombert> or, even better, study CS
01:42 < Wombert> where the latter implies the former anyway, so that might be the way to go
01:43 < Trevize> Studying CS takes at least 3 years
01:43 < Trevize> I need a job now..
01:43 < Wombert> if not, and if you can't get another job, take the mojavi2 job now
01:43 < Wombert> http://mojavi.net/
01:43 < Trevize> ... which is down. :*(
01:43 < Wombert> no
01:43 < Wombert> click the link ;)
01:44 < Trevize> oh right. .net
01:44 < Wombert> it's a japanese site and they still have mojavi 2.0.3b2
01:44 < Wombert> and no "www" ;>
01:44 < Wombert> once you have the job, you can try to convince your company to switch to PHP5+agavi
01:44 < Wombert> an enterprise framework saves trouble and money ;)
01:45 < Trevize> Why did Mojavi die? Is there any news article about it?
01:45 < Wombert> for example, you write the code to list all products _once_ and then you can deliver it as HTML, RSS, SOAP, whatever you want
01:45 < Wombert> well
01:45 < Wombert> first of all, the development wasn't "open"
01:45 < Wombert> a single person (Sean Kerr) developed it alone
01:45 < Wombert> people had few insight on what was going on etc
01:46 < Wombert> he eventually gave up and handed the project to another bloke called "illusina" (don't remember his real name)
01:46 < Trevize> Sounds like a feminine handle
01:46 < Wombert> he worked on mojavi4, but then the web server crashed, all data was lost and he abandoned the project again
01:46 < Wombert> nah he was male
01:46 < Trevize> Ha, no backups?
01:46 < Wombert> mojavi3 was never released
01:46 < Wombert> nope
01:47 < Wombert> agavi is a fork of mojavi, but it's very different from the original
01:49 * Trevize tries to install the old Mojavi
01:50 < Trevize> There doesn't seem to be an INSTALL file. So what, I should like just extract it under htdocs?
01:50 < impl> Trevize: Do you have 2.0.2?
01:51 < impl> If not I can send it to you
01:51 < Trevize> impl: Yup. The one from the Japanese site
01:51 < Wombert> Trevize: I'm afraid I don't know _anything_ about M2, so I can't help you
01:51 < impl> There's a Japanese site? :s
01:51 < Wombert> http://mojavi.net
01:51 < impl> Whoa
01:51 < impl> WEIRD
01:53 < Trevize> No documentation there
01:53 < Trevize> uffff
01:53 < impl> Trevize: index.php goes in your public html directory
01:54 < impl> Trevize: The other files can go anywhere on your filesystem you can access
01:54 < impl> config.php is in your webapp dir
01:54 < impl> You need to customize it to your liking
01:54 < impl> And include that config.php from your [public index.php
01:54 < impl> s/[//
01:54 < Trevize> can I put it in a subdirectory?
01:55 < impl> Sure
01:55 < Trevize> (index.php)
02:00 < Trevize> Customizing now
02:03 -!- Fastly [n=fafsa@81-179-114-172.dsl.pipex.com] has quit [Read error: 110 (Connection timed out)]
02:05 -!- Fastly [n=fafsa@81-178-121-170.dsl.pipex.com] has joined #agavi
02:07 < Trevize> What's the "all in one class file"? I am supposed to include it in config.php
02:18 < impl> Trevize: It's just the contents of the lib/ directory all packed into one file
02:19 < impl> optimization, basically
02:19 < Trevize> I think it's supposed to be mojavi-all-classes.php
02:21 < Trevize> Ok. Now I'm getting FATAL [C:\Program Files\Apache Group\Apache\htdocs\mojavi\mojavi-all-classes.php:1391] Invalid configuration setting(s): ERROR_404_MODULE (Default) or ERROR_404_ACTION (PageNotFound)
02:25 < impl> That means the PageNotFound action doesn't exist
02:27 < Trevize> I chaned the PageNotFound action to "default", and now it gives me a similar error
02:29 < Trevize> "Default", more precisely
03:27 -!- [1]eremit [n=eremit@p5490DA34.dip.t-dialin.net] has joined #agavi
03:31 < Trevize> Thanks for all the help
03:31 -!- Trevize [i=derci@bzq-84-108-7-232.cablep.bezeqint.net] has quit []
03:36 -!- eremit [n=eremit@p5490F33D.dip.t-dialin.net] has quit [Read error: 145 (Connection timed out)]
03:36 -!- [1]eremit is now known as eremit
03:46 -!- Fastly [n=fafsa@81-178-121-170.dsl.pipex.com] has quit [Read error: 60 (Operation timed out)]
03:55 -!- Fastly [n=fafsa@81-179-95-122.dsl.pipex.com] has joined #agavi
04:14 -!- benny`gentoo [n=benny@p54AC2319.dip0.t-ipconnect.de] has joined #agavi
04:22 -!- benny`work [n=benny@p54AC437D.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)]
05:36 < CIA-1> dominik * r1070 /trunk/src/translation/AgaviLocale.class.php: make the locale work with the format returned by the ldml config handler
05:41 -!- benny`gentoo [n=benny@p54AC2319.dip0.t-ipconnect.de] has quit ["unset($this);"]
07:08 < CIA-1> dominik * r1071 /trunk/src/translation/data/ (406 files in 2 dirs): cldr data release 1.4
07:09 < CIA-1> dominik * r1072 /trunk/src/translation/data/locales/__test.xml: this doesn't belong to here
07:09 < CIA-1> dominik * r1073 /trunk/src/core/Agavi.class.php: new core.cldr_dir setting
07:13 -!- jake [n=bmatheny@c-24-19-45-189.hsd1.wa.comcast.net] has left #agavi ["Leaving"]
07:19 < CIA-1> dominik * r1074 /trunk/src/config/ (3 files in 2 dirs): cldr supplemental data config handler
08:14 < CIA-1> david * r1075 /trunk/ (12 files in 8 dirs):
08:14 < CIA-1> made it possible to still modify the response after redirecting by using the
08:14 < CIA-1> Response instance returned by Controller::redirect(). Threw out the 'dirty' flag
08:14 < CIA-1> from Response. All Controllers (must) have a redirect() now. Sort of refs #184
08:41 < CIA-1> dominik * r1076 /trunk/src/util/AgaviDecimalFormatter.class.php: fix handling of currency symbol char in utf8
08:58 -!- impl [n=impl@httpcraft/php/nforbes] has quit ["Leaving"]
09:15 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
09:22 < raidman> morning #agavi
09:25 < Wombert> hi :)
09:29 < raidman> :)
10:10 -!- Wombert [n=Wombert@dslb-088-064-001-070.pools.arcor-ip.net] has quit [Nick collision from services.]
10:10 -!- Wombert [n=Wombert@dslb-088-064-002-000.pools.arcor-ip.net] has joined #agavi
10:30 -!- raidman [n=raidman@unaffiliated/raidman] has quit ["Leaving"]
10:30 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
12:18 < shoan_> Wombert: you there?
12:19 -!- shoan_ is now known as shoan
12:19 < shoan> anybody using apc?
12:24 -!- stoni [i=sto@33.pool80-103-5.dynamic.uni2.es] has joined #agavi
13:36 -!- raidman [n=raidman@unaffiliated/raidman] has quit [Read error: 60 (Operation timed out)]
13:36 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
13:36 -!- benny`work [n=benny@p54AC2319.dip0.t-ipconnect.de] has joined #agavi
14:07 < digitarald> More and more i18n ... i love agavi :)
14:09 < digitarald> when u need mojavi documentation: http://www.peterrobins.co.uk/it/mojavi/tutorial1.htm
14:40 < raidman> I wonder how can I freez hell?
14:40 < raidman> the hell!
15:29 -!- raidman [n=raidman@unaffiliated/raidman] has quit [Read error: 104 (Connection reset by peer)]
15:29 -!- raidman_ [n=raidman@unaffiliated/raidman] has joined #agavi
15:30 -!- raidman_ is now known as raidman
15:55 -!- raidman [n=raidman@unaffiliated/raidman] has quit ["Leaving"]
17:17 < Wombert> re
17:17 < Wombert> shoan: ?
17:17 < Wombert> digitarald: ?
17:57 < digitarald> here
18:12 < Wombert> digitarald: http://trac.agavi.org/trac.cgi/changeset/1075
18:36 < digitarald> oh nice, the cookie solution
18:38 < Wombert> yes
18:46 -!- raidman [i=armen@unaffiliated/raidman] has joined #agavi
19:09 -!- shoan [n=shoan@59.92.171.25] has quit [Read error: 60 (Operation timed out)]
19:10 -!- shoan [n=shoan@59.92.177.217] has joined #agavi
19:41 -!- impl [n=impl@httpcraft/php/nforbes] has joined #agavi
19:44 < CIA-1> dominik * r1077 /trunk/src/ (4 files in 3 dirs): more locale handling stuff
19:44 < CIA-1> dominik * r1078 /trunk/src/config/AgaviLdmlConfigHandler.class.php: remove debug output
19:44 < splatch`> hello all!
19:44 < CIA-1> dominik * r1079 /trunk/src/translation/AgaviCurrencyFormatter.class.php: use new locale method names
19:44 < Wombert> splatch`: hi
19:45 < Wombert> btw did you talk to your designer friend yet? :)
19:46 < splatch`> Wombert: they haven't free tame
19:46 < splatch`> He looking for a new job
19:48 < splatch`> Wombert: i have news :)
19:48 < splatch`> they'll made something in this week
19:50 < Wombert> oo
19:50 < Wombert> :>>>
19:50 < Wombert> cool
19:50 < splatch`> :]
20:10 -!- raidman [i=armen@unaffiliated/raidman] has quit [Read error: 145 (Connection timed out)]
20:41 < CIA-1> david * r1080 /trunk/ (5 files): updated licensing and copyright information
20:44 -!- jake [n=bmatheny@c-24-19-45-189.hsd1.wa.comcast.net] has joined #agavi
20:44 < Wombert> hey jake
20:44 < Wombert> I improved the redirect stuff a bit
20:44 < Wombert> I'm afraid I still haven't found a proper solution to allow multiple forwards
20:45 < Wombert> err
20:45 < Wombert> redirects, I mean
20:45 < splatch`> when forum will start? :)
21:00 < jake> thanks for looking into it Wombert
21:08 < Wombert> jake: the problem is that I still have to lock the response so no unwanted output arrives together with the forward, such as a comment by ExecutionTimeFilter etc
21:09 < Wombert> I now changed it so you can at least still modify the response and set a cookie, for example
21:09 < Wombert> http://trac.agavi.org/trac.cgi/changeset/1075
21:10 < Wombert> are you using agavi-trunk in development yet?
21:13 < jake> not yet, no
21:13 < Wombert> i18n is almost complete btw
21:13 < jake> reading the diff now
21:13 < Wombert> $req->setLocale('en_US@currency=EUR'); etc
21:14 < Wombert> we're still doing some testing and stuff, but so far, most things work pretty well
21:14 -!- eremit [n=eremit@p5490DA34.dip.t-dialin.net] has quit [Read error: 104 (Connection reset by peer)]
21:15 < Wombert> oh and
21:15 < Wombert> I'm looking into adding SOAP and XMLRPC support right now
21:22 < CIA-1> david * r1081 /trunk/LICENSE: fixed license file info
21:43 -!- stoni [i=sto@33.pool80-103-5.dynamic.uni2.es] has quit [Read error: 145 (Connection timed out)]
21:43 < CIA-1> dominik * r1082 /trunk/src/translation/ (6 files): added phpdocs
22:06 < CIA-1> david * r1083 /trunk/ (COPYRIGHT INSTALL LICENSE docs/docbook/manual.xml): INSTALL, LICENSE, COPYRIGHT and docs update
22:20 -!- Fastly [n=fafsa@81-179-95-122.dsl.pipex.com] has quit [Read error: 60 (Operation timed out)]
22:28 -!- Fastly [n=fafsa@81-178-107-126.dsl.pipex.com] has joined #agavi
23:07 < splatch`> Wombert?
23:07 < splatch`> Einloggen? :D
23:22 < splatch`> anyone online?
23:51 -!- shoan_ [n=shoan@59.92.139.191] has joined #agavi
23:56 -!- shoan [n=shoan@59.92.177.217] has quit [Read error: 145 (Connection timed out)]
--- Day changed Mon Oct 02 2006
00:04 < CIA-1> dominik * r1084 /trunk/API_CHANGELOG: this should be basicly all changes now
00:09 < CIA-1> dominik * r1085 /trunk/src/action/AgaviActionStackEntry.class.php: phpdoc fixes
00:38 < CIA-1> david * r1086 /trunk/src/ (3 files in 3 dirs): cleanup and type hint fixes
01:02 -!- shoan [n=shoan@59.92.129.195] has joined #agavi
01:04 < Wombert> jake: so did you hire sean?
01:04 < Wombert> or is he still unable to move to seattle
01:09 -!- shoan_ [n=shoan@59.92.139.191] has quit [Read error: 110 (Connection timed out)]
01:13 < CIA-1> david * r1087 /trunk/ (samples/pub/index.php src/logging/AgaviMessage.class.php): phpdoc fixes, removed log() method in AgaviMessage
01:14 < CIA-1> david * r1088 /trunk/samples/pub/index.php: oops
01:32 < jake> Yeah, he can't move to Seattle until December, so we're going to look at things again then
01:32 < Wombert> hmmh
01:32 < Wombert> jake: need your advice
01:32 < Wombert> should we drop initialize()
01:32 < Wombert> and use constructors everywhere
01:32 < Wombert> I talked to sean the other day why he used initialize() instead of constructors and he was like "I have no idea"
01:33 < jake> heh
01:33 < jake> I actually can see a reason
01:33 < Wombert> really?
01:33 < Wombert> shoot
01:33 < jake> I think we should keep 'initialize'
01:33 < jake> for this reason; you may want to instantiate an action without having it run it's setup (perhaps for unit testing, pre loading, etc)
01:33 < jake> er, 'its' not it's
01:34 < Wombert> mmmh
01:34 < Wombert> that's a rather good point actually
01:35 < impl> It's also nice to have the ability to separate the setup into two pieces
01:35 < jake> Yeah, I think so. I still use the constructor, to do things that aren't environment specific
01:35 < impl> $o = new something(); /* do more stuff */ $o->initialize();
01:35 < jake> But initialize tends to fetch things from the request object and such
01:35 < jake> yeah, exactly
01:36 < Wombert> guys
01:36 < Wombert> I have to say
01:36 < Wombert> your input was very valuable
01:36 < impl> If you were feeling European you could change it to initialise() though :P
01:36 < Wombert> as usual, I'm glad I ask
01:36 < Wombert> ed
01:36 * Wombert goes find teh big revert button
01:37 < impl> hehe
01:37 < jake> no problem Wombert, we appreciate the asking :)
01:37 < Wombert> speaking of which
01:37 < impl> I'm still working on a solution to slots, I really am
01:37 < Wombert> did you ask your boss to sponsor a trip to europe yet?
01:37 < Wombert> impl: good, good ;)
01:37 < impl> I had a good idea this morning... gonna see how well it works on paper
01:37 < jake> Yeah, I'll know tomorrow
01:37 < impl> I need paper I can write on in the shower
01:37 < impl> :<
01:37 < Wombert> jake: w00t nice
01:38 < Wombert> funny
01:38 < Wombert> I always get the best ideas when I'm in the shower, too
01:38 < Wombert> I always feel a bit embarrassed because that's very geek style
01:38 < Wombert> you know
01:39 < Wombert> thinking about programming when in the shower and all
01:39 < Wombert> mmhmmm
01:39 < impl> Well what else are you supposed to do? :P
01:39 < Wombert> mmmh
01:39 < Wombert> true
01:39 < Wombert> I just wonder what regular people do in the shower
01:39 * Wombert falls over
01:40 < impl> hehe
01:40 < impl> Okay, so here's what I was thinking
01:40 < impl> We take slots out of the view completely and move them into the template
01:40 < impl> So you have a template class
01:40 < impl> And it's just a matter of $template->insert('Module', 'Action');
01:41 < impl> Of course that would only work the PHP renderer
01:41 < impl> But we could extend other templating engines...
01:41 < Wombert> how exactly is that different from the current solution
01:41 < Wombert> I mean
01:42 < Wombert> it makes no difference whether you do it in the template or in the view
01:42 < Wombert> in fact, the template is an element of the view from an MVC standpoint
01:42 < jake> Is there really a benefit to slots? It seems like you can accomplish the same thing by; using the actionchain, rendering to a variable, and displaying how you want
01:42 < Wombert> jake: the thing about the action chain is
01:42 < Wombert> ehm
01:42 < Wombert> I never used M2 but
01:43 < jake> sorry if that's a dumb suggestion, but that's how we accomplished the same thing with m2
01:43 < Wombert> you called the next element in the chain from your action, right?
01:43 < impl> I have to look at actionchains again
01:43 < impl> They confused me greatly the last time I used them
01:43 < Wombert> the thing is
01:43 < Wombert> that slots are always presentational
01:43 < Wombert> they serve no business logic purpose
01:44 < impl> What if you want to call an action within an action just to execute logic?
01:44 < Wombert> so letting your logic (action) decide what slots to run (presentation) is a pretty bad idea
01:44 < jake> There's still some business logic. What to retrieve from the database for display, for instance
01:44 < Wombert> let's say your app has a web interface plus a soap interface
01:44 < Wombert> you then need a view
01:44 < Wombert> because only in the web interface you want to display the slots
01:45 < Wombert> you could of course put some logic into the action then to decide which context or even output type you're serving but
01:45 < Wombert> things get extraordinarily messy then
01:45 < jake> Sure. But that's a different issue. I would create a filter called 'SlotsFilter', which only gets executed in the appropriate context (web)
01:45 < Wombert> what about different output types inside a context
01:46 < Wombert> html, pdf, json are all "web"
01:46 < jake> Sure, but they're just different renderings. Executing the actions would allow for that
01:46 < jake> I'm just trying to understand the _intended_ purpose of slots
01:47 < jake> Because it really seems like a 'trimmed' down version of actions/views (with very little happening in the action)
01:47 < Wombert> actually
01:47 < Wombert> slots are just a normal action/view/template combo
01:48 < jake> yeah, I thought so too. Then why can't slots be accomplished with a modified actionchain?
01:48 < Wombert> how does this action chain stuff work
01:48 < Wombert> I'm sorry, I never used M2
01:48 < jake> Do you have a copy of M2 anywhere?
01:48 < impl> I can pastebin ActionChain.class.php
01:48 < impl> if you want
01:49 * Wombert goes download
01:49 < Wombert> now I have it
01:49 < Wombert> shoot
01:49 < jake> The actionchain is also how we do 'localized' application controllers in m2, besides the code being inefficient, it's very handy
01:49 < impl> jake: iirc (and I haven't used M2 in ages), with actionchains you just instantiated them manually right?
01:50 < jake> no
01:50 < Wombert> can you give me a quick example of how the action chain is used then?
01:50 < impl> $chain = new ActionChain(); $chain->register(...); $chain->register(...); $chain->execute(); ?
01:50 < jake> you do $ac->register('Name', 'Module', 'Action', array('parameters')
01:50 < jake> yeah, exactly impl
01:50 < Wombert> okay
01:50 < Wombert> butz
01:50 < Wombert> uhm
01:50 < jake> then you use fetchResult('Name') to retrieve the rendered result
01:50 < Wombert> doesn't that mean you must know what to register _before_ you run it
01:51 < jake> Of course
01:51 < Wombert> or can you create a _new_ action chain whenever you want
01:51 < Wombert> and run that
01:51 < jake> yeah, you can do that
01:51 < Wombert> e.g. in your view?
01:51 < Wombert> oh
01:51 < Wombert> that's pretty sweet actually
01:51 < jake> yep, wherever you want
01:51 * Wombert thinks about that
01:51 < impl> I used actionchains in the action and then saved them in $request
01:51 < impl> I don't know why, but that's what I did
01:51 < impl> :\
01:51 < Wombert> okay and
01:51 < Wombert> when is the rendering done?
01:51 < jake> Yeah. So we use the Controller class as a front-web controller, and then the action chain allows us to have an application-controller as well
01:51 < Wombert> i.e. where do you assemble the output
01:52 < impl> Wombert: In M2 the renderer was independent of the view
01:52 < impl> So inside View::execute() you'd just say $renderer = new Renderer(); $renderer->setAttribute(...);
01:52 < impl> And stick the output of the actionchain in there
01:52 < impl> Then you returned the renderer, I think
01:52 * impl doesn't remember exactly now
01:53 < jake> you could do that. Or, just do in the view or filter or whatever; $renderer->setAttribute('ThingFromOtherAction', $ac->fetchResult('OtherActionName'))
01:53 < jake> You're right about the view impl
01:53 < Wombert> I see
01:53 < Wombert> and at what point was the template rendered
01:53 < Wombert> and output sent back?
01:54 < impl> Wombert: Let me show you an example from an old app I wrote
01:54 < jake> it's up to you. The content is _rendered_ when you call $ac->execute()
01:54 < jake> but it's displayed whenever you decide to display it
01:54 < impl> Wombert: http://pastebin.ca/188248
02:01 < Wombert> oO
02:02 < Wombert> hmmh
02:02 < Wombert> $controller->dispatch();
02:02 < Wombert> is in the sample index.php
02:02 < Wombert> and at what point is the output sent back
02:02 < Wombert> can't findit
02:03 < Wombert> aaaah
02:03 < Wombert> okay
02:03 < jake> it's not relevant to this discussion. the action chain returns the rendered output in variables, which you can then do what you want with, including outputting them
02:03 < Wombert> it renders that right away because the mode is RENDER_CLIENT
02:03 < Wombert> but if you create a chain
02:03 < Wombert> it's RENDER_VAR
02:03 < Wombert> so you can fetch it
02:03 < Wombert> got it
02:03 < jake> yep, exactly
02:03 < Wombert> jake: yeah I got that I just wondered how the _first_ output (i.e. that of the requested action) is returned
02:04 < Wombert> http://feeds.autoblog.com/~r/weblogsinc/autoblog/~3/30758893/ mmmmh said news and I thought I'd get rich in time to afford one before they stop building them ;)))
02:04 < Wombert> -said+sad
02:10 < Wombert> these existing SOAP and XMLRPC implementations are really frustrating
02:10 < Wombert> they all require you to set up the functions you want to serve beforehand
02:10 < Wombert> I want to use our routing for that
02:10 < Wombert> mmmm000h
02:10 < jake> yeah, we came up with a nice dynamic way to do it though with agavi
02:11 < jake> it didn't require routing either (which wasn't available in the version of agavi we were using)
02:12 < Wombert> I thought about in dispatch() open the SOAP request, check which method it is, register that, __call() will handle the actual forward() call
02:12 < Wombert> is that about what you do?
02:12 < Wombert> I'm not really in the mood to write a full SOAP and XMLRPC server implementation
02:12 < Wombert> so I guess I gotta resort to cheating a bit
02:13 < jake> heh, you don't have to. let me look at code quickly
02:19 < Wombert> thanks
02:20 < jake> So, for Xmlrpc and Soap, I have a controller, request, view and exception class
02:20 < jake> I used the xmlrpc extension, which supports soap 1.1 and xmlrpc
02:21 < jake> The exception knows how to display exceptions appropriately and the xmlrpc and soap controllers make extensive use of them
02:23 < Wombert> okay
02:23 < jake> The request object uses xmlrpc_decode_request and overrides the appropriate methods to set parameters as appropriate
02:24 < jake> the controller doesn't do much except for override dispatch and ensure that we use the appropriate exception types
02:26 < Wombert> aaah
02:26 < Wombert> so you're not using xmlrpc_server_call_method ?
02:26 < jake> then in the XMLRPC/SOAP templates, they do SoapView::output($some_variables), that just does xmlrpc_encode_request
02:26 < jake> Nope, they're not useful in this context
02:26 < jake> The view thing I just said is a hack, but the correct solution is obvious (I think)
02:27 < jake> The 'modern' php implementations for soap and xmlrpc completely suck. In an application like agavi, it's best to just use them for encoding and decoding, not for anything else (like callbacks)
02:28 < Wombert> you know
02:29 < Wombert> I'm surprised that this OO SOAP extension
02:29 < Wombert> doesn't allow to blindly call
02:29 < Wombert> where I could then throw an exception if the method wasn't found or so
02:29 < jake> it blows, it's not really OO. The approach I took started by overriding methods in the OO SOAP extension, but it only supports soap. At least the xmlrpc extension supports xmlrpc and soap 1.1
02:30 < Wombert> interesting
02:30 < Wombert> I planned to support several implementations tho
02:30 < Wombert> because otherwise people will come here and whine about how FubarSoap is better than SnafuSoap
02:30 < Wombert> so I gotta see how to integrate this with the routing
02:30 < jake> You can support as many as you want to. What you're doing is creating a reference implementation
02:30 < Wombert> because we need the ability to define the request method
02:31 < Wombert> e.g. modifying a product is POST => "write"
02:31 < Wombert> getting a list of products is GET => "read"
02:31 < Wombert> and SOAP is always POST
02:32 < Wombert> it's not a _huge_ deal, more like a minor glitch
02:32 < Wombert> still, being able to use the routing to map methods to actions will be nice
02:32 < jake> XMLRPC is always post as well
02:32 < Wombert> yeah
02:34 < Wombert> I'm not toooo familiar with this stuff, so I guess I'll go ahead and implement something and let you and others have a look at it then ;)
02:34 < Wombert> obviously, there will be some interesting situations
02:34 < Wombert> but that's what I want
02:35 < Wombert> that's why I do it now, and not after 0.11
02:35 < Wombert> I want to see, for instance, if the response architecture can really handle this
02:35 < Wombert> where we just set some variables that will later be encoded for XMLRPC etc
02:36 < impl> How is the locale/internationalization support going?
02:36 < Wombert> very good
02:36 < Wombert> actually, it's pretty complete
02:36 < Wombert> at least dominik says so
02:37 < Wombert> we can parse all the CLDR data already
02:37 < Wombert> and it's used, of course
02:37 < impl> Cool
02:37 < Wombert> the only things missing is date formatting and related stuff
02:37 < Wombert> like timezones
02:37 < Wombert> we'll use the olson database for that, by the way
02:37 < Wombert> so you always have accurate DST info, too
02:38 < Wombert> but the other stuff should work already
02:38 < impl> :D
02:38 < Wombert> e.g. $req->setLocale('en_US');
02:39 < Wombert> $tm->_c(23);
02:40 < Wombert> will yield "US$23.00"
02:40 < Wombert> $req->setLocale('de_DE');
02:40 < Wombert> $tm->_c(23);
02:40 < Wombert> will result in "23,00 €"
02:40 < Wombert> and
02:40 < Wombert> $req->setLocale('en_US@currency=EUR');
02:40 < Wombert> will give "€23.00"
02:41 < Wombert> it's pretty un-tested currently
02:41 < Wombert> i.e. no clue if the translators work etc (there's a GettextTranslator)
02:43 < Wombert> and you have to write a simple callback for the routing to set the language based on the locale etc
02:43 < Wombert> note that if you register en_US as available
02:43 < Wombert> you can still simply set "en"
02:43 < Wombert> that'll pick en_US then
02:44 < Wombert> stuff that is interesting for you right now would certainly be $locale->getLanguages()
02:44 < Wombert> and
02:44 < Wombert> errr
02:44 < Wombert> getTerritories()
02:47 < Wombert> note that getTerritories() returns not only countries (two letters) but also geographic regions (three digits)
02:47 < Wombert> all in the locale's language, of course
02:48 < Wombert> you can get calendar names
02:48 < Wombert> calendar info
02:48 < Wombert> script names
02:48 < Wombert> currencies
02:48 < Wombert> everything
02:49 < impl> Cool
03:16 < Wombert> l8rs
03:17 -!- Wombert [n=Wombert@dslb-088-064-002-000.pools.arcor-ip.net] has quit []
03:26 -!- benny`work [n=benny@p54AC2319.dip0.t-ipconnect.de] has quit ["unset($this);"]
04:55 -!- impl [n=impl@httpcraft/php/nforbes] has quit [Read error: 104 (Connection reset by peer)]
04:55 -!- impl [n=impl@httpcraft/php/nforbes] has joined #agavi
06:41 < ttj> Huomen.
07:22 -!- impl [n=impl@httpcraft/php/nforbes] has quit [Read error: 60 (Operation timed out)]
08:52 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
08:54 < raidman> morning
09:02 < v-dogg> huomenta
09:09 < splatch`> *zieaf*
09:10 < splatch`> hello :]
09:11 < raidman> splatch`, zieaf == morning?
09:12 < splatch`> zief = yawn
09:12 < splatch`> morning = rano
09:12 < splatch`> good-morning = dzien dobry
09:12 < splatch`> we have one version of "good day" ;]
09:13 < raidman> dzien dobry
09:13 < splatch`> on night = dobry wieczor (good night)
09:13 < splatch`> raidman: dzien dobry! :)
09:13 < raidman> do good == dobry
09:13 < raidman> so
09:15 < splatch`> raidman: yes
09:15 < splatch`> raidman: short version it's dobry
09:15 < splatch`> short version of "dzien dobry" :)
09:15 < splatch`> hm.. like morning?
09:16 < raidman> and what's rano?
09:18 < splatch`> raidman: rano minds morn
09:18 < raidman> okey :)
09:18 < splatch`> raidman: simple, not like in english ;)))
09:19 < raidman> yeah ;)
09:53 -!- Wombert [n=Wombert@dslb-088-064-002-000.pools.arcor-ip.net] has joined #agavi
09:54 -!- eremit [n=eremit@p5490FD4E.dip.t-dialin.net] has joined #agavi
09:55 < v-dogg> morning germys
10:03 < Wombert> :> hi
10:03 < eremit> morning ...
10:04 < Wombert> following change proposal
10:04 < Wombert> validators get a new sub-tag for specifying input data
10:04 < Wombert> i.e. not in parameters anymore
10:05 < Wombert>
10:05 < Wombert> []
10:05 < Wombert>
10:05 < Wombert> that would be a non-named argument
10:05 < Wombert> more of them could, of course, have a "name" or "for" attribute
10:05 < Wombert> question: which name for that
10:05 < Wombert> "arguments" or "inputs" or what
10:05 < Wombert> "parameters" is, obviously, already taken ;)
10:07 < raidman> Wombert, eremit hi
10:07 < eremit> hi raidman ...
10:08 < raidman> I like parameters
10:08 * eremit gets some coffee and tries to understand wombert ...
10:08 < eremit> if i got everything right ... i would vote for inputs ...
10:09 < raidman> I like parameters because we use setParameters , get... and so in code
10:09 -!- Wombert [n=Wombert@dslb-088-064-002-000.pools.arcor-ip.net] has quit [Nick collision from services.]
10:09 -!- Wombert [n=Wombert@dslb-088-064-014-148.pools.arcor-ip.net] has joined #agavi
10:10 < raidman> but I think about naming convention for unvalidated (unsafe) parameters
10:11 < Wombert> parameters are stupid
10:11 < Wombert> because they contain the names of the input params to validate
10:11 < Wombert> and configuration options for the validator
10:11 < Wombert> plus the base attribute is in the validator tag and thus has no logical relation to the input param configuration
10:25 < splatch`> Wombert: can you describe the new flow?
10:25 < Wombert> ?
10:26 < splatch`> Wombert: request-action-output types
10:26 < Wombert> I can
10:26 < Wombert> but not now :)
10:26 < Wombert> gotta go
10:26 < Wombert> see you later
10:26 < splatch`> cU
10:47 -!- shoan_ [n=shoan@59.92.129.195] has joined #agavi
11:05 -!- shoan [n=shoan@59.92.129.195] has quit [Read error: 110 (Connection timed out)]
12:05 < Wombert> re
12:28 < shoan_> Wombert: have you used apc?
12:28 -!- shoan_ is now known as shoan
12:28 < Wombert> yeah
12:28 < Wombert> you having some trouble?
12:28 < shoan> does it require compilation of php scripts?
12:28 < Wombert> no, no
12:28 < shoan> i can't understand how the thing works?
12:28 < Wombert> it all works at runtime
12:28 < Wombert> :)
12:28 < Wombert> simple
12:29 < shoan> do I just need to enable the module and thats it?
12:29 < Wombert> PHP is not an interpreter
12:29 < Wombert> it compiles
12:29 < Wombert> and then runs the code
12:29 < Wombert> it's artificially crippled, basically
12:29 < Wombert> so Zend can sell their accelerator thingie
12:29 < Wombert> APC grabs the bytecode compiled by PHP and stores it, either in the FS or in SHM
12:30 < Wombert> when a file is requested the next time, compilation is skipped and the stored bytecode is passed to the execution engine
12:30 < Wombert> all you have to do is enable APC
12:31 < Wombert> extension=apc.so
12:31 < Wombert> auto_globals_jit = Off
12:31 < Wombert> apc.max_file_size = 4M
12:31 < Wombert> is what I use
12:31 < shoan> ah ok
12:31 < eremit> but be aware (require|include)_once can really kill your apc ^^
12:34 < Wombert> unless you use PHP 5.2 w/ latest APC
12:34 < Wombert> and
12:34 < Wombert> Agavi doesn't use _once anymore anyway
12:34 < eremit> but Propel does and it does it often ...
12:34 < eremit> pear also ...
12:35 < eremit> like most 3rd party libs
12:40 < v-dogg> and Zend
12:40 < eremit> i consider zend as 3rd party lib ... and mostly it equals pear :P
12:40 < eremit> at least what i've seen of zend_fw
12:41 < Wombert> compared to ezComponents, zend has an uber fugly architecture, organization and loading mechanism
12:41 < Wombert> onces all over the place
12:41 < Wombert> no autoloading
12:41 < Wombert> etc etc
12:46 < eremit> hmm i must admit there is one thing i like about zend ... their naming conventions and directory layout ...
12:46 < eremit> it was the only thing i felt conformtable with at the very first moment ...
12:51 < splatch`> zend going to some changes in MVC layer
12:51 < splatch`> i saw notes on wiki
12:52 * Wombert ponders
12:53 < Wombert> should I create ServiceRequest etc
12:53 < Wombert> and then subclass these for speciifc implementations (PEAR::SOAP, Zend_XMLRPC etc)
12:54 < Wombert> or ServiceRequest and then SoapServiceRequest which supports a lot of implementations already
12:54 < splatch`> Wombert: service = non browser?
12:54 < Wombert> and you configure which one you want
12:55 < splatch`> Wombert: what service request will do?
12:55 < Wombert> ...
12:55 < Wombert> handle web services?
12:55 < Wombert> :p
12:55 < ttj> Hmm... But does writing SoapServiceRequest bring added overhead and complexity, if you need to enclose various implementations inside it?
12:55 < Wombert> AgaviZendsoapRequest, AgaviZendsoapResponse etc
12:55 < raidman> Ebay and so?
12:56 < Wombert> ttj: that's the question
12:56 < Wombert> we could either offer concrete implementations for each solution out there
12:56 < ttj> Without pondering about it, I would say implementation-specific classes.
12:56 < Wombert> or have one Soap* and one Xmlrpc* that each support the various implementations
12:56 < Wombert> yeah
12:57 < splatch`> Wombert: handle hm.. for soap you must parse only request and format good response, not more
12:57 < Wombert> I first wanted to go with one-class-to-rule-them-all but I guess that's a better idea
12:57 < splatch`> Wombert: AgaviZendsoapResponse's wrong
12:57 < Wombert> splatch`: and a routing and, maybe, a controller
12:57 < Wombert> no, it is not
12:57 < splatch`> zend?
12:57 < splatch`> what for?
12:57 < splatch`> Wombert: AgaviSoapResponse's good
12:57 < ttj> The one-class-to-rule-them-all would be an elegant way to do it, yes, but I don't know how maintainable that will be in a real world scenario.
12:58 < raidman> what you thing about somthing like abstraction layer?
12:58 < raidman> think*
12:58 < Wombert> what do you mean
12:58 < Wombert> abstraction layer?
12:59 < ttj> I think raidman is suggesting the one-class-to-rule-them-all approach.
12:59 < raidman> yeah
12:59 < ttj> Similar to abstracting database connections.
12:59 < raidman> exactly
12:59 < splatch`> Wombert: soap's standard protocol, i don't see any real sugests to create class for zend soap implementation
12:59 < Wombert> ...
12:59 < Wombert> splatch`: I have to decode the soap request
12:59 < Wombert> I have to encode the response
12:59 < Wombert> etc etc etc
13:00 < splatch`> Wombert: ok, but you can do this without zend :]
13:00 < Wombert> ...
13:00 < Wombert> splatch`: that was just an example
13:00 * Wombert sighs
13:00 < Wombert> AgaviZendsoapRequest extends AgaviServiceRequest
13:00 < Wombert> AgaviPhpxmlrpcRequest extends AgaviServiceRequest
13:01 < Wombert> AgaviPearsoapRequest extends AgaviServiceRequest
13:01 < Wombert> got it?
13:01 < splatch`> hmm.. you want use Zend to get request parameters etc?
13:01 < raidman> hmm, yeah like AgaviView ...
13:01 < Wombert> ttj: but that would be the exact opposite
13:01 < ttj> Yes, I know.
13:02 < Wombert> we have a) the option above (implementation for each of the libs out there) or AgaviSoapRequest that can handle Zend, Pear, native PHP, NuSOAP etc
13:02 < Wombert> there's a b) missing there
13:02 < ttj> a) has essentially two levels (AgaviRequest-level and the lib) and b) has three (Request, Soap, lib).
13:03 < splatch`> Wombert: something like Agavi database layer?
13:03 < ttj> I like simplicity, and that's why I'd prefer a). But that's just my 2 cents.
13:03 < Wombert> ?
13:03 < Wombert> ttj: I'll go with a)
13:03 < splatch`> Wombert: CreoleDatabase, AgaviMysqlDatabase, PDODatabase
13:03 < Wombert> uuuhm
13:03 < Wombert> yes?
13:03 < Wombert> :>
13:05 < splatch`> all request shuld handle Agavi
13:05 < Wombert> I don't get what you're saying
13:05 < splatch`> *should
13:06 < splatch`> Wombert: Request abstraction is good idea
13:08 < v-dogg> Wombert: I'd vote for a) too
13:08 < splatch`> but agavi can use other than browser request without additional libs
13:08 < splatch`> like Zend or PEAR
13:20 < Wombert> splatch`: requests are already abstracted!?
13:20 < Wombert> no way
13:20 < Wombert> we are a framework
13:20 < Wombert> not a toolkit
13:33 < eremit> Wombert, there ?
13:34 < eremit> I have a problem with the fpf ... i have about 10 checkboxes all name="mode" but different values ... your fpf does not select the correct one if i say populate?! ... intention or bug ?
13:36 < eremit> forget it ... i'm silly ^^ ...
13:43 < eremit> uhm ... radio buttons (which i really wanted) have the same problem
13:46 < Wombert> 10 checkboxes with the same name and different values?
13:46 < Wombert> that's stupid
13:46 < Wombert> because only one value arrives
13:46 < eremit> yes that's why i said i really wanted radio buttons
13:46 < eremit> something like
13:47 < eremit> ..... value="single" ...
13:47 < Wombert> let me have a look
13:56 < splatch`> Wombert: I don't understood AgaviZendsoapRequest :]
14:05 < raidman> and what about chackboxes with mode[] name? I didn't test this, may be one of you?
14:05 < raidman> ah that's stupid
14:05 < Wombert> that works, of course
14:05 < raidman> ignore it :P
14:05 < raidman> hrh?
14:05 < Wombert> I'm afraid Dominik messed something up and I have to fix it before I can test
14:05 < Wombert> FPF can handle foo[] checkboxes
14:06 < Wombert> it also handles any foo[][data][3][] field etc etc
14:06 < raidman> really!
14:06 < Wombert> yes
14:06 < raidman> :)
14:10 < Wombert> eremit: I cannot reproduce that problem
14:10 < Wombert> the radio button is re-populated correctly for me
14:10 < eremit> hmmm ...
14:10 < Wombert> are you using the latest FPF
14:10 < Wombert> but I cannot remember a bug there
14:10 < Wombert> I know I always tested that
14:10 < eremit> uhm ... moment
14:11 < Wombert> gawd these validators are SO fucked up
14:11 < eremit> yes i using the latest trunk ...
14:12 < eremit> i'll debug the whole process ... maybe i find the problem ...
14:12 < Wombert> another field with the same name?
14:12 < eremit> wouldn't fpf throw an error then ?
14:12 < Wombert> why should it
14:12 < Wombert> and how could it
14:12 < Wombert> ...
14:13 < eremit> no i have only 10 occurrences of "mode"
14:13 < Wombert> all radios?
14:13 < Wombert> mhm
14:13 < eremit> yep
14:13 < Wombert> any duplicate values?
14:13 < eremit> nop
14:13 < Wombert> mhm
14:13 < eremit> currently they are stupidly numbered ...
14:14 < Wombert> I added
14:14 < Wombert>
14:14 < Wombert>
14:14 < Wombert>
14:14 < Wombert> to the sample app
14:14 < Wombert> LoginInput.php
14:14 < Wombert> and it works
14:14 < eremit> could it cause a problem if i don't repopulate the form ...
14:14 < Wombert> ?
14:14 < eremit> i'm populating it via setAttribute('populate', $this->getAttributes(), .... )
14:15 < Wombert> oh come on
14:15 < Wombert> http://trac.agavi.org/trac.cgi/changeset/1055
14:16 < CIA-1> david * r1089 /trunk/src/ (2 files in 2 dirs): Z O M G
14:19 < eremit> umpf ... now i realize the full impact of this commit :/ ... f.ck
14:20 < Wombert> it's a simple search and replace
14:21 < eremit> it isn'T
14:21 -!- digitarald [n=Miranda@62-43-49-189.user.ono.com] has quit ["... is gone ... www.digitarald.de ... but he is coming back!"]
14:21 < Wombert> of course it is
14:22 < eremit> but how to handle it if the form does not have an id tag :P
14:22 < Wombert> ???
14:22 < Wombert> ARGH
14:22 < Wombert> READ
14:22 < Wombert> THE
14:22 < eremit> there are currently 196 form tags without id
14:22 < Wombert> COMMIT
14:22 < Wombert> MESSAGE
14:22 < Wombert> ...
14:23 < eremit> then i dont get the message ...
14:23 < eremit> i've read it about 100 times ...
14:23 < Wombert> , support for initial population of multiple forms (ATTN, BREAKING CHANGE: array keys are form id, value a ParameterHolder? of data to populate. use ParameterHolders? now to populate the form that belongs to the action. new AgaviParameterHolder(array(...)) does the job))
14:23 < eremit> yes ... which i interpret as my form needs an id tag ^^
14:23 < Wombert> noß
14:23 < Wombert> maaan
14:24 < eremit> array keys are form id, value a parameterholder ...
14:24 < Wombert> mhm
14:24 < Wombert> how about reading on
14:24 < Wombert> you know, there's a full stop after that...
14:24 < Wombert> and then
14:24 < Wombert> there is another sentence
14:24 < eremit> yeah i interpret the rest as how to create the parameter holder ...
14:25 < Wombert> "use ParameterHolders? now to populate the form that belongs to the action. new AgaviParameterHolder(array(...)) does the job"
14:25 < Wombert> "the form that belongs to the action"
14:25 < Wombert> not "any form based on ID"
14:25 < eremit> ok i get what you mean ... but sorry, i cannot read this out of this message ^^ ...
14:26 < Wombert> all you have to do
14:26 < Wombert> is pass in a single parameter holder
14:26 < Wombert> instead of an array
14:26 < Wombert> because an array is now used to populate _any_form based on their ID
14:27 * Wombert sighs
14:27 < eremit> ok i got it ... but still cannot read it out of this message ^^ :P sorry, maybe i miss some slight nuances about this message
14:28 < Wombert> I thought "use ... now to populate the form that belongs to the action" would be clear enough :p
14:28 < Wombert> maybe not xD
14:29 < eremit> yes basically it is ... but i see the whole sentence as a reflexive description of the sentence in front of it ;)
14:29 < eremit> neverless ...
14:53 < eremit> yes basically it is ... but i see the whole sentence as a reflexive description of the sentence in front of it ;)
14:53 < eremit> ups ... sorry
16:35 -!- raidman [n=raidman@unaffiliated/raidman] has quit [Read error: 104 (Connection reset by peer)]
16:52 -!- impl [n=impl@httpcraft/php/nforbes] has joined #agavi
17:37 -!- impl [n=impl@httpcraft/php/nforbes] has quit [Read error: 104 (Connection reset by peer)]
18:39 < eremit> Wombert .. i've found the lighttp bug i talked about some days ago
18:39 < eremit> at least i'm able to reproduce ...
18:44 < splatch`> Wombert: are you there? :)
18:46 < splatch`> i found bug
18:46 < splatch`> http://trac.agavi.org/trac.cgi/browser/trunk/src/exception/templates/shiny.php
18:46 < splatch`> lines 84 and 88
18:47 < splatch`> header from 88 should be after if
18:48 < splatch`> back, before
19:24 < eremit> Wombert and found the problem ... :/ looks like a fcgi related bug ...
19:29 < eremit> and apache2 doesnt have it ... f.ck
19:33 < Wombert> what's the problem
19:33 < eremit> if you have an alias defined ... and the alias points to the www of the webapp
19:33 < eremit> all leading pathes are removed ...
19:34 < eremit> server.document-root = "/path/to/project/www" -> works
19:34 < Wombert> is cgi.fix_pathinfo on?
19:34 < eremit> yep
19:34 < eremit> alias.url = ("/testing" => "/path/to/project/www") -> doesn't work
19:35 < eremit> and only it doesnt work if you call localhost/testing/index.php/
19:35 < eremit> if you call testing/index.php?/ SCRIPT_NAME = testing/index.php
19:35 < eremit> if you call testing/index.php/ -> SCRIPT_NAME = /index.php
19:36 < Wombert> that still looks like a path info problem to me
19:36 < eremit> for me it looks like this one: http://trac.lighttpd.net/trac/wiki/FrequentlyAskedQuestions#Whatkindofenvironmentdoesserver.error-handler-404setup
19:37 < Wombert> is PHP_SELF correct?
19:37 < Wombert> or any other value
19:38 < eremit> ORIG_SCRIPT_FILENAME ^^
19:38 < eremit> for me it looks like alias is working as a hidden rewrite ... Oo
19:39 < eremit> cgi.fix_pathinfo doesn't affect it at all ...
19:42 < eremit> does agavi need PATH_INFO somewhere ?
19:46 < eremit> ok the problem is the broken-scriptfilename directive in fastcgi.server of lighttp
19:46 < eremit> broken-scriptfn _must_ be set to disable ... to get a proper script_name
19:47 -!- benny`work [n=benny@p54AC39A5.dip0.t-ipconnect.de] has joined #agavi
19:47 < eremit> (something for the docs^^)
19:55 < CIA-1> david * r1090 /trunk/src/exception/templates/shiny.php: header fix
19:55 < Wombert> jake: you there?
19:56 < Wombert> eremit: that happens only with index.php/blah?
19:56 < Wombert> not with rewriting on?
19:56 < eremit> yes ...
19:57 < eremit> the moment i activate the rewrite rules, everything works ...
19:57 < Wombert> and what's the name of that technique
19:57 < eremit> (and that was the reason why i haven't found the bug yet)
19:57 < Wombert> alias?
19:57 < eremit> alias.url ...
19:57 < Wombert> okay
19:57 < eremit> the same as Apache's Alias directive ...
19:58 < Wombert> and the name of the directive?
19:58 < eremit> alias.url ... is the directive
19:59 < Wombert> the other one
19:59 < eremit> ah ... "broken-scriptfilename" => "disable" in fastcgi.server
20:01 < CIA-1> david * r1091 /trunk/docs/docbook/manual.xml: LigHTTPD 'alias.url' info
20:01 < eremit> but we should consider finding a solution about this ...
20:02 < Wombert> any trouble with the forms so far?
20:02 < Wombert> why
20:02 < eremit> because i cannot determine what's the impact of setting this to disable :)
20:02 < Wombert> mmh
20:02 < Wombert> it works
20:02 < Wombert> that's all we need to know :)
20:02 < eremit> their docs are quite short regarding this ...
20:02 < eremit> looks like it completly breaks PATH_INFO ... while being disabled
20:03 < Wombert> hmh
20:03 * Wombert sighs
20:03 * Wombert fires up lighttpd to have a look
20:05 < eremit> that's all i can find about the directive: broken-scriptfilename: breaks SCRIPT_FILENAME in a wat that PHP can extract PATH_INFO from it.
20:05 < eremit> and i'm searching for some time on their website ;)
20:10 < Wombert> I'm afraid I can't reproduce that
20:10 < eremit> uh ?
20:10 < Wombert> alias.url = ( "/testing" => "/Library/WebServer/Documents" )
20:10 < Wombert> http://127.0.0.1:81/testing/info.php/fubar
20:10 < Wombert> _SERVER["SCRIPT_NAME"] /testing/info.php
20:11 < eremit> lighttp version ?
20:11 < eremit> and mod_fcgi settings ?
20:11 < Wombert> 1.4.11
20:11 < eremit> me too
20:11 < Wombert> fastcgi.server = ( ".php" =>
20:11 < Wombert> ( "localhost" =>
20:11 < Wombert> (
20:11 < Wombert> "socket" => "/tmp/php-fastcgi.socket",
20:11 < Wombert> "bin-path" => "/opt/local/bin/php-fcgi"
20:12 < eremit> http://phpfi.com/159508
20:12 < eremit> ^^ my one
20:34 < Wombert> eremit: wanna try one last thing
20:34 < Wombert> how do I permit access to file outside the docroot
20:34 < Wombert> errr
20:34 < Wombert> xDDD
20:34 < Wombert> wait
20:35 < Wombert> okay
20:35 < Wombert> still can't reproduce
20:35 < Wombert> sorry
20:35 < Wombert> edge case
20:35 < Wombert> => wontfix
20:35 < Wombert> or, rather
20:35 < Wombert> "cantfix"
20:35 < Wombert> anyway
20:35 < Wombert> gotta do some shopping
20:35 * Wombert runs
20:46 < splatch`> Wombert
20:47 < splatch`> how to create docs? ;]
20:48 < splatch`> i've error with saxon 8
20:53 -!- stoni [i=sto@64.pool80-103-3.dynamic.uni2.es] has joined #agavi
21:49 -!- stoni [i=sto@64.pool80-103-3.dynamic.uni2.es] has quit []
21:49 -!- stoni [i=sto@64.pool80-103-3.dynamic.uni2.es] has joined #agavi
21:50 < stoni> hello
21:52 < shoan> i think the routing is broken in the sample app
22:07 < Wombert> shoan: how?
22:08 < shoan> Wombert: try the last link in the sample app
22:11 -!- raidman [i=armen@unaffiliated/raidman] has joined #agavi
22:20 < Wombert> shoan: ah
22:20 < shoan> Wombert: are you able to reproduce it or is it just me?
22:20 < Wombert> not a routing problem
22:20 < Wombert> you mean the parameter that doesn't show up?
22:21 < shoan> yes
22:21 < Wombert> that because validation is in "strict" mode
22:22 < Wombert> hmmh
22:22 < Wombert> second issue I run into with the damn validation system today
22:23 < Wombert> ARRRGH
22:23 < Wombert> ffs
22:23 < shoan> ?
22:24 < Wombert> the validation system
22:24 < Wombert> sucks
22:24 < Wombert> big time
22:28 < Wombert> and tainted mode doesn't work either
22:28 < Wombert> dominik is looking into it
22:28 < shoan> ok
22:29 < splatch`> Wombert: you generate agavi manual with docbook?
22:29 < Wombert> yeah
22:29 < Wombert> I use XMLMind XMLEditor
22:29 < Wombert> for editing
22:30 < splatch`> so you don't use xslt processor :)
22:33 < CIA-1> david * r1092 /trunk/src/config/AgaviFactoryConfigHandler.class.php: don't compile in translation manager if core.use_translation is off
23:01 -!- benny`work [n=benny@p54AC39A5.dip0.t-ipconnect.de] has quit ["unset($this);"]
23:05 -!- benny`work [n=benny@p54AC39A5.dip0.t-ipconnect.de] has joined #agavi
23:54 < splatch`> nighy!
23:54 < splatch`> night!
--- Day changed Tue Oct 03 2006
00:22 < raidman> night
00:25 -!- raidman [i=armen@unaffiliated/raidman] has quit ["#killall raidman"]
00:33 -!- stoni [i=sto@64.pool80-103-3.dynamic.uni2.es] has quit []
01:08 -!- impl [n=impl@httpcraft/php/nforbes] has joined #agavi
01:12 -!- shoan_ [n=shoan@59.92.137.169] has joined #agavi
01:22 -!- shoan [n=shoan@59.92.129.195] has quit [Read error: 110 (Connection timed out)]
02:59 -!- Wombert [n=Wombert@dslb-088-064-014-148.pools.arcor-ip.net] has quit []
03:29 -!- [1]eremit [n=eremit@p5490FD8D.dip.t-dialin.net] has joined #agavi
03:36 -!- benny`work [n=benny@p54AC39A5.dip0.t-ipconnect.de] has quit ["unset($this);"]
03:46 -!- eremit [n=eremit@p5490FD4E.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)]
03:46 -!- [1]eremit is now known as eremit
05:19 -!- impl [n=impl@httpcraft/php/nforbes] has quit ["Leaving"]
09:13 < splatch`> mornin'
09:15 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
09:15 < raidman> morning
09:17 < splatch`> oi raidman!
09:17 < raidman> :)
10:02 -!- raidman [n=raidman@unaffiliated/raidman] has quit ["Leaving"]
10:11 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
10:12 -!- shoan_ [n=shoan@59.92.137.169] has quit []
10:17 < v-dogg> splatch`: wombie uses XMLMind for _editing_
10:17 < splatch`> v-dogg: they told me this :)
10:17 < v-dogg> xslt is used for outputting
10:17 < splatch`> I know
10:17 < v-dogg> there's a phing task for that
10:17 < v-dogg> don
10:17 < splatch`> saxon manual.xml agav-manual-html.xsl
10:17 < v-dogg> 't know if it works anymore, though
10:17 < splatch`> doesn't work
10:18 < v-dogg> why not?
10:18 < splatch`> saxon gives an error
10:18 < splatch`> with no root document etc
11:00 -!- raidman [n=raidman@unaffiliated/raidman] has quit [Remote closed the connection]
11:00 -!- shoan [n=shoan@61.95.206.107] has joined #agavi
11:03 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
11:16 -!- digitarald [n=Miranda@62-43-49-189.user.ono.com] has joined #agavi
12:54 -!- Wombert [n=Wombert@dslb-088-064-001-083.pools.arcor-ip.net] has joined #agavi
14:12 -!- Macca` [i=brendanm@maccasoft.com.au] has quit ["Leaving"]
15:14 -!- raidman [n=raidman@unaffiliated/raidman] has quit [Read error: 113 (No route to host)]
15:15 -!- raidman [n=raidman@unaffiliated/raidman] has joined #agavi
15:35 -!- armenbb [n=armenbb@62.60.194.3] has joined #agavi
15:38 -!- armenbb [n=armenbb@62.60.194.3] has left #agavi ["Leaving"]
16:06 -!- raidman [n=raidman@unaffiliated/raidman] has quit ["Leaving"]
16:38 -!- shoan [n=shoan@61.95.206.107] has quit []
19:21 < splatch`> Wombert: can I use index from route pattern into module/action attribute?
19:31 < Wombert> splatch`: ?
19:31 < splatch`> Wombert: i have pattern ^/(\w+)-(\w+)
19:31 < splatch`> first index it's module, second it's action
19:32 < Wombert> okay
19:32 < Wombert> I think that's uncool but... why not :)
19:32 < Wombert> in fact
19:32 < Wombert> it's very stupid
19:32 < Wombert> because that's not what the routing was made for
19:32 < Wombert> you can achieve the same using a simple mod_rewrite
19:33 < splatch`> i have routes and i don't need mod_rewrite
19:33 < Wombert> ???
19:33 < splatch`> that can be also path info
19:33 < splatch`> index.php/module-action
19:36 < splatch`> I don't have to define maany routes for all modules
19:37 < splatch`> because this route will be default
19:37 < splatch`> pattern="^/(module:\w+)/(action:\w+)"
19:37 < splatch`> works fine
20:07 < Wombert> right
20:08 < Wombert> but that still defies the entire purpose of the routing
20:08 < Wombert> you could just as well set up a rewrite rule that does that
20:08 < Wombert> also, you have the ugly index.php in there
20:08 < Wombert> you can't generate routes
20:08 < Wombert> etc etc etc etc
20:08 < Wombert> => stupid
20:11 < splatch`> Wombert: what for, routes exists, sa i'll use that
20:11 < Wombert> ?
20:11 < splatch`> i don't use rewrite rules because routing's good
20:12 < splatch`> if i'll need subroute with rss, i'll made this in one place
20:12 < Wombert> you don't get what I'm saying
20:13 < splatch`> Wombert: routing != nice urls
20:13 < splatch`> Wombert: you saw that :)
20:13 < Wombert> ...
20:13 < Wombert> routing = nice urls
20:13 < Wombert> that's what routing is about
20:13 < Wombert> you're using the routing in the wrong way
20:13 < Wombert> you could just as well NOT use it
20:13 < Wombert> because you're not leveraging it's abilities at all
20:14 < splatch`> Wombert: i can give my user panel to they can edit routes
20:21 < Wombert> splatch`: as you wish, of course
20:21 < Wombert> but please don't write an agavi tutorial where you explain it that way
20:22 < Wombert> because it's not the approach we recommend
20:22 < splatch`> Wombert: i'll give example with rss output type
20:22 < splatch`> and variable set
20:22 < Wombert>
20:22 < Wombert> or maybe even
20:23 < splatch`> Wombert: but i don't understand why that's not recommended, in symfony that's normal usage of routes
20:23 < Wombert> yes
20:23 < Wombert> because symfony is bullshit
20:23 < Wombert>
20:23 < Wombert>
20:23 < Wombert>
20:23 < Wombert>
20:23 < Wombert>
20:26 < splatch`> Wombert: "because symfony is bullshit" and "not recommended" it's not good argument
20:26 < Wombert> yes it is
20:26 < Wombert> their routing approach is totally wrong
20:26 < splatch`> better is "you can use rewrite rule"
20:26 < Wombert> unlike them, we write our own code
20:26 < Wombert> with our own ideas
20:26 < Wombert> they just copy ideas from other frameworks
20:26 < Wombert> which means they also copy the weaknesses of other solutions
20:27 < Wombert> the whole point of our routing is that you have _real_ "nice" URLs that you can also re-generate
20:27 < Wombert> without having to specify module or action in the routes
20:28 < Wombert> just because they do it one way, that doesn't mean it's good :)
20:29 < Wombert> just look at their "ajax actions"
20:29 < Wombert> they are missing the point _entirely_
20:29 < Wombert> it's utter nonsense, from A to Z
20:29 < splatch`> ajax action = helper
20:29 < Wombert> no
20:29 < Wombert> ajax action = nonsense
20:30 < splatch`> they have "support" for ajax with helpers and ajax triggers
20:31 < splatch`> ajax actions really doesn't exists
20:31 < splatch`> Wombert: true?
20:33 < Wombert> wrong
20:33 < Wombert> they say "ajax actions"
20:33 < Wombert> they have a dedicated concept for handling ACTIONS(!) for ajax requests
20:33 < Wombert> and that's wrong
20:34 < splatch`> ach
20:34 < Wombert> they don't know what they're doing, and they are listening to the demands of stupid newbies instead of telling them to learn PHP _first_ and then come back
20:34 < Wombert> http://www.symfony-project.com/weblog/2006/08/25/heading-towards-symfony-1-0.html
20:34 < Wombert> AJAX actions have no layout by default. This is another long-demanded evolution and it will simplify greatly the design of AJAX interactions - no more view.yml to write, unless you want specifically to decorate the action result. Will you ever need to use the setLayout method? (read the AJAX documentation to learn more).
20:34 < splatch`> Wombert: i'll see
20:34 < Wombert> a) actions don't have layout. never. ever. it's not the job of an action to control presentation
20:34 < splatch`> Wombert: that's terrible thing!
20:35 < Wombert> b) our output types are a better approach to that, because it a) leaves presentation where it belongs and b) it leaves the action open to other types
20:35 < Wombert> of requests
20:35 < splatch`> Wombert: can i translate you sentences and publicate on my blog?
20:35 < Wombert> you can use our action on the web, on the console, on IRC... via a browser, XMLRPC, SOAP, JSON, REST, whatever you like
20:36 < Wombert> no, please don't ;)
20:36 < splatch`> Wombert: about ajax-actions :)
20:36 < Wombert> if I want the world to hear my symfony bashing, I'll write my own blog post
20:36 < Wombert> I don't want to bash symfony. We certainly have the technology to back our complaints, but we do not have the website or documentation for it
20:37 < splatch`> Wombert: ok, i'll wrote my opinion ;)
20:37 < Wombert> before I write a blog posting titled "Why Agavi is better than Symfony/CakePHP/whatever", we need a website, a release and documentation for it
20:37 < Wombert> but do you understand what my problem is with this ajax action stuff?
20:37 < Wombert> it's not clean
20:38 < Wombert> NOTHING in symfony is clean because they added new stuff too quick
20:38 < Wombert> fabien said that to me, too
20:38 < Wombert> he said he wished he hadn't added so many helpers etc because helpers are bad in frameworks
20:38 < Wombert> "setLayout has been added to the action methods. This one has been requested for a long time, under the name "Bring back setLayout!" while it has never been in the trunk... But under the strongest pressure of the community ever, the ability to deactivate or modify layout decoration from the action, and not only from the view.yml, has been added to the framework. Note that the hasLayout() method has not been implemented, replaced by
20:39 < Wombert> another thing
20:39 < splatch`> Wombert: output types are better because they don't need more logic, any changes it's only output, no any logic
20:39 < Wombert> you know the IRC bot, right?
20:39 < Wombert> you cannot do that with symfony
20:40 < Wombert> I saw a posting on the symfony mailing list the other day
20:40 < Wombert> where they talked about SOAP
20:40 < splatch`> soap in symfony, omg!
20:40 < Wombert> their solution was to add a method to a front controller for _all_ methods that are supposed to be callable
20:40 < Wombert> how STUPID
20:40 < splatch`> i don't see that
20:40 < Wombert> and then people reply "THANK YOU THANK YOU PERFECT SOLUTION"
20:40 < Wombert> so essentially, symfony works like this:
20:40 -!- shoan [n=shoan@59.92.137.169] has joined #agavi
20:41 < Wombert> a totally flawed framework is used by totally clueless people
20:41 < Wombert> most of who don't know PHP and aren't told to learn it for their own sake
20:41 < Wombert> then they ask questions
20:41 < Wombert> and other clueless people have wrong answers to the questions
20:41 < Wombert> so even more people are using the framework the wrong way
20:41 < Wombert> nobody benefits from that
20:42 < Wombert> because in 6 months or in a year they'll realize how wrong it was and run into massive problems when they try to add new stuff to their applications etc
20:42 < Wombert> I really wish symfony had a big note on the front page saying "DO NOT USE SYMFONY UNLESS YOU ARE EXPERIENCED IN PHP"
20:42 < Wombert> and I also wish they would finally get their license stuff together
20:42 < shoan> what are we ranting about today? ;)
20:42 < Wombert> guess
20:42 < Wombert> :>
20:43 < Wombert> symfony :>
20:43 < Wombert> it's all in the logs in case you're interested
20:43 < shoan> heh
20:43 < Wombert> the discussion is only 10 minutes old or so
20:43 < shoan> heading right there
20:43 < Wombert> sample app is fixed btw
20:43 < splatch`> Wombert: no discussion
20:43 < shoan> Wombert: cool
20:43 < splatch`> Wombert: I agree
20:43 < Wombert> or, rather, the validator manager now handles tainted mode correctly
20:43 < splatch`> with you
20:43 < Wombert> :)
20:43 < Wombert> you don't have to, remember that
20:43 < Wombert> if you disagree, just say it ;>
20:44 < Wombert> the #1 problem of symfony is
20:44 < Wombert> the legal issues
20:44 < Wombert> they don't get their bloody act together
20:44 < Wombert> even though I reminded fabien of it
20:44 < splatch`> Wombert: soap and ajax actions are very bad idea
20:44 < Wombert> in trunk there's a LICENSE file that says "copyright fabien potencier, licensed under MIT"
20:44 < Wombert> but they bundle propel
20:44 < Wombert> creole
20:44 < Wombert> prototype
20:44 < Wombert> etc
20:44 < Wombert> and these are _not_ MIT
20:45 < splatch`> LGPL
20:45 < Wombert> and they bundle data from ICU
20:45 < Wombert> without a copyright notice
20:45 < Wombert> the funny thing is
20:45 < Wombert> they copied the data from Prado
20:45 < Wombert> all files are identical
20:45 < Wombert> the only file missing is LICENSE.txt
20:46 -!- raidman [i=armen@unaffiliated/raidman] has joined #agavi
20:46 < splatch`> Wombert: as you say before - php function to insert image is sick :)
20:46 < Wombert> http://trac.pradosoft.com/browser/trunk/framework/I18N/core/data/license.txt
20:47 < Wombert> actually, symfony copied code from agavi
20:47 < Wombert> and agavi is LGPL
20:47 < Wombert> they copied it to a MIT licensed project
20:47 < Wombert> the LGPL doesn't allow that
20:47 < Wombert> but who cares, right?
20:47 < Wombert> all the magazines
20:47 < Wombert> and idiots with blogs etc
20:47 < Wombert> say "mmhmmm use symfony"
20:47 < Wombert> "it's nice"
20:48 < Wombert> I wonder what people would say if someone told them about symfony's I-don't-give-a-shit-about-licenses-and-copyright attitude
20:49 < splatch`> Wombert: Are you've fury? :)
20:49 < Wombert> everything boils down to the point that symfony is, in essence, a totally messed up version of what once was a good framework (mojavi3) with huge license issues and a retarded user base
20:49 < Wombert> nah
20:49 < Wombert> not even close to in a bad mood ;)
20:49 < Wombert> I'm just telling the truth, that's all ;)
20:49 < Wombert> I mean
20:50 < Wombert> this ranting is fun ;) it doesn't make me angry
20:50 < shoan> hmmm....symfony
20:51 < splatch`> Wombert: my designer told me about our plans, they going to made some examples
20:51 < splatch`> and give to rate
20:51 < Wombert> oooh
20:51 < Wombert> that's fantastic news!
20:51 < Wombert> thank you for your effort
20:51 < Wombert> and say big thank you to them, too
20:51 < Wombert> I really, really appreciate your help!
20:52 < splatch`> Wombert: agavi'll the best :)
20:54 < Wombert> I hope so :)
20:54 < splatch`> Wombert: no hope, certainty!
21:00 < raidman> yeah :)
21:07 < raidman> http://forums.programming-designs.com/viewtopic.php?id=599
21:12 < raidman> lol
21:12 < raidman> http://hunkinsexperiments.com/pages/mathematics.htm
21:18 < raidman> http://www.youtube.com/watch?v=VuoljANz4EA&eurl=
21:40 < splatch`> raidman: wow
21:42 < raidman> :)
21:52 < shoan> Wombert: why does the sample app crap out when I disable translation in settings.xml?
21:52 < shoan> shouldn't there be some sort of fall back mechanism?
21:53 < Wombert> shoan: nah
21:54 < Wombert> the sample app uses the translation so...
21:54 < Wombert> imagine an app that uses a database
21:54 < Wombert> and you set use_database to false ;)
21:54 < Wombert> that wouldn't work either
21:54 < Wombert> basically, routing and security are the only things you can disable without breaking anything
21:54 < shoan> agreed :)
21:57 < splatch`> http://blog.dywicki.pl/2006/10/03/zend-framework-and-others/
21:57 < splatch`> why don't clone ZF
21:57 < splatch`> and why ZF will relased :)
21:58 < splatch`> you saw people who write own framework based on ZF structure?
22:07 -!- digitarald [n=Miranda@62-43-49-189.user.ono.com] has quit [Read error: 104 (Connection reset by peer)]
22:10 -!- impl [n=impl@httpcraft/php/nforbes] has joined #agavi
22:30 -!- benny`work [n=benny@p54AC3A3C.dip0.t-ipconnect.de] has joined #agavi
22:56 < v-dogg> Wombert: did you write to that symfony guy about their license issues?
22:56 -!- raidman [i=armen@unaffiliated/raidman] has quit ["#killall raidman"]
22:59 < impl> What's wrong with them?
23:00 < v-dogg> at some point symfony was public domain
23:00 < v-dogg> but for example mojavi is lgpl
23:00 < impl> ah
23:00 < v-dogg> and they have taken code from several projects
23:05 < Wombert> they got permission from feti
23:05 < Wombert> and yes
23:05 < Wombert> I told fabien about the missing license.txt just the other day
23:05 < Wombert> he said something like "yeah I know but I'm working on my own parser for the ICU data anyway"
23:06 < Wombert> symfony still _is_ MIT licensed
23:06 < Wombert> the one license file there leads to believe that
23:06 < Wombert> a) propel is a symfony thing
23:06 < Wombert> b) propel is MIT, too
23:06 < Wombert> same for the other stuff bundled
23:23 < splatch`> Wombert: you continue symfony thread? :)
23:23 < Wombert> nah, just replying to v-dogg's question
23:50 -!- toby_swe [n=Miranda@nl109-140-176.student.uu.se] has joined #agavi
23:55 < toby_swe> hi
23:55 < Wombert> hi toby_swe
23:56 < toby_swe> which one of phptal and smarty would be the best in terms of rendering times and overhead load?
23:56 < Wombert> smarty I guess
23:56 < impl> Neither :(
23:56 < Wombert> yeah
23:57 < Wombert> but I guess that's not quite the answer he wanted to hear ;)
23:57 < impl> No one likes the radical ideas of the grand impl! :P
23:57 < Wombert> phptal is a nice idea but I found it way too annoying
23:57 < toby_swe> so what's the "real" answer?
23:57 < Wombert> use PHP :)
23:58 < impl> http://phptal.motion-twin.com/introduction.html
23:58 < impl> I even prefer the PHP method there
23:58 < toby_swe> that was my guess
23:58 < Wombert>