Zotonic
Zotonic
zotonic@conference.zotonic.com
Thursday, 20 June 2013< ^ >
Arjan has set the subject to: Zotonic - The Erlang Web Framework & CMS
Room Configuration

GMT+2
[00:18:00] mawuli.ypa joins the room
[00:21:32] cillian.deroiste leaves the room
[01:44:47] mawuli.ypa leaves the room
[01:49:53] mawuli.ypa joins the room
[02:08:01] mawuli.ypa leaves the room
[02:08:04] mawuli.ypa joins the room
[02:12:15] mawuli.ypa leaves the room
[02:12:24] mawuli.ypa joins the room
[07:28:42] mawuli.ypa leaves the room
[07:28:51] mawuli.ypa joins the room
[08:21:25] mawuli.ypa leaves the room
[08:43:33] Maas joins the room
[08:45:29] Arjan joins the room
[09:01:48] Arjan leaves the room
[09:05:47] Arjan joins the room
[09:12:39] Arjan leaves the room
[09:25:28] Marc Worrell leaves the room: Disconnected: connection closed
[09:25:34] Marc Worrell joins the room
[09:54:22] <Maas> Strange, now I see why the access log is missing. 5> webmachine_sup:start_logger("/vagrant/priv/log").
{error,no_log_dir}
[09:54:47] <Maas> Directory is available and readable and writable.
[09:55:05] <Andreas Stenius> heh, that message is misleading like h*ll..
[09:55:15] <Andreas Stenius> it means you don't have a log_dir in your config..
[09:55:35] <Maas> ok, but I just gave it the log dir as parameter or?
[09:55:47] <Andreas Stenius> oh..
[09:55:56] <Andreas Stenius> I don't think it expects that...
[09:56:04] Andreas Stenius has a quick look at ti
[09:56:10] Andreas Stenius it*
[09:56:46] <Maas> This is from before the recent log changes...
[09:56:52] <Andreas Stenius> oh, right
[09:56:53] <Maas> poking through the code.
[09:57:04] <Maas> So the problem was already there.
[09:57:05] <Andreas Stenius> was just asuming master... :[
[09:57:07] <Andreas Stenius> :p
[09:57:21] <Maas> bleading edge...
[09:58:02] <Andreas Stenius> but pre our config changes, there was no start_logger/1...
[09:58:27] <Andreas Stenius> looking at https://github.com/zotonic/webzmachine/commit/e1df00f35638c11b2223a9d9b5d83973b7fb63d6 <https://github.com/zotonic/webzmachine/commit/e1df00f35638c11b2223a9d9b5d83973b7fb63d6>
[09:58:27] <Maas> in zotonic_sup?
[09:58:47] <Andreas Stenius> uh.. you said: webmachine_sup:start_logger("/vagrant/priv/log").
[09:59:11] <Andreas Stenius> and the error message: {error,no_log_dir}
[09:59:17] <Andreas Stenius> is consistent with the recent change...
[09:59:34] <Andreas Stenius> so if you're not on master, there's something fishy going on...
[09:59:35] <Maas> Yes, I wanted to start the access log on a running system
[09:59:44] <Maas> trying it locally first
[10:00:00] <Maas> can't really restart that server right now.
[10:00:13] <Andreas Stenius> ok
[10:00:21] <Maas> investigating.
[10:04:39] <Maas> Definitely fishy..
[10:05:36] <Maas> This is from (not master) zotonic_sup:
[10:05:39] <Maas> LogDir = z_config:get_dirty(log_dir),
application:set_env(webzmachine, webmachine_logger_module, z_stats),
webmachine_sup:start_logger(LogDir),
[10:06:49] <Andreas Stenius> oh, I might've been played by that diff, as Arjan was tweaking the pull request from Greg..
[10:06:49] <Maas> But... start_logger does not take a directory name as parameter. The parameter is the name for the logger
[10:07:59] <Andreas Stenius> it was indeed a dir arg back then.. ;)
[10:08:03] <Andreas Stenius> https://github.com/zotonic/webzmachine/blob/27a432a31591d2fcea33b85b523d7d2be5ef23cf/src/webmachine_sup.erl
[10:08:26] <Andreas Stenius> is the version prior to the config changes introduced a week ago..
[10:08:46] <Maas> :-) that is it.
[10:08:56] <Maas> At least now I know what to do :-)
[10:09:02] <Andreas Stenius> good :)
[10:09:21] <Maas> doing a set_env, and then a start logger
[10:09:36] Andreas Stenius is looking at making a yecc parser dynamically extensible... :p
[10:09:47] <Andreas Stenius> cool
[10:09:50] <Maas> branching from the bleading edge is not always a good idea
[10:10:00] <Andreas Stenius> no.. :p
[10:32:35] <Maas> that was definitely an ouch.. thanks andreas for helping me out.
[10:32:58] <Andreas Stenius> glad I was able to :)
[10:33:23] <Maas> access log up and running without restarting the server.
[10:33:53] <Andreas Stenius> capitol! (as they'd say in a certain book..) :p
[10:34:40] <Maas> and don't forget to press ^g instead of typing q()
[10:36:25] <Andreas Stenius> heh, yeah, that's another gotcha.. :p
[10:36:50] <Andreas Stenius> ^c^c works too, I think..
[10:41:20] Andreas Stenius leaves the room
[10:41:32] Andreas Stenius joins the room
[11:41:52] Maas leaves the room
[11:58:54] Arjan joins the room
[12:43:31] Maas joins the room
[12:47:42] Maas leaves the room
[13:19:31] Maas joins the room
[13:20:42] Jeff Bell joins the room
[13:22:09] Jeff Bell leaves the room
[14:22:21] Arjan leaves the room
[14:49:22] Maas leaves the room
[15:27:10] Maas joins the room
[16:04:39] Maas leaves the room
[16:05:24] Maas joins the room
[16:17:11] <Andreas Stenius> Yay, finally got my pr ready for Evan: https://github.com/evanmiller/erlydtl/pull/79 :D
[16:45:27] <Marc Worrell> have to check if that is enough to make it possible to build zotonic on top of erlydtl....
[16:47:13] <Marc Worrell> what is the idea of the extension parser?
[16:47:44] <Andreas Stenius> to be able to add new features that isn't suited for core ErlyDTL... such as zotonic specific stuff... :)
[16:48:10] <Andreas Stenius> I'm composing a mail to the zotonic dev list about it as we type.. :p
[16:48:19] <Marc Worrell> we also have some other features though - such as the extra state argument for the generated parser function
[16:48:43] <Andreas Stenius> I'm sure we'll be able to squeeze that in ;)
[16:48:55] <Marc Worrell> will be quite some interesting work to merge all our optimizations and changes into the base ErlyDTL
[16:49:03] <Andreas Stenius> indeed..
[16:49:28] <Andreas Stenius> once the dynamicability is in place, I'll go over all commits to the dtl stuff...
[16:50:03] <Andreas Stenius> the idea is to be able to use the vanilla erlydtl, and only keep our extensions in zotonic..
[16:50:16] <Andreas Stenius> that way we can all benefit of the erlydtl community..
[16:50:41] <Marc Worrell> Maybe keep the two compilers side by side - then you can see the differences…. there must be a lot by now - I remember also fixing variable lookups, inlining "if undefined" filters etc
[16:50:44] <Andreas Stenius> as well as give a bit back to it with our improvements that are generic enough :)
[16:51:04] <Marc Worrell> the inlining is generic
[16:51:10] <Andreas Stenius> yep.. it should not be a trade for the worse
[16:51:39] <Andreas Stenius> it's been a fun exercise thus far, though..
[16:51:54] <Andreas Stenius> getting the yecc parser to be dynamically extensible... ugh ;)
[16:52:12] <Marc Worrell> always fun to see how that thing works
[16:52:26] <Andreas Stenius> it's a clever piece of software, for sure :)
[16:52:28] <Maas> heh heh.
[16:52:50] <Marc Worrell> worst case we can merge all the ErlyDTL changes into ErlyZDTL and offer that one in a PR :p
[16:52:59] <Andreas Stenius> btw, I don't think I will be available for your hangout with Yash tomorrow..
[16:53:06] <Marc Worrell> is ok
[16:53:10] <Marc Worrell> there will be more to come
[16:53:16] <Andreas Stenius> indeed
[16:53:54] <Andreas Stenius> the issue with erlyZdtl is the dependecies on zotonic specifics that would need to be untangled first
[16:54:09] <Andreas Stenius> or is it not so bad?
[16:54:32] <Andreas Stenius> I've not looked that close at our erlydtl in a while...
[16:54:42] <Marc Worrell> am adraid we have quite some changes….
[16:54:47] <Marc Worrell> afraid
[16:55:02] <Marc Worrell> the whole localisation is done differently as well
[16:55:36] <Marc Worrell> but we can always have a look :)
[16:56:24] <Andreas Stenius> Yeah, the translations are the parts that differ the most..
[16:56:30] <Andreas Stenius> I think.
[16:56:43] <Marc Worrell> yep
[16:56:56] <Andreas Stenius> still, Evan has made some rather nice stuff with the translations that we coulde make use of.. like blocktrans..
[16:57:28] <Marc Worrell> indeed :) is it very different from {_ … _} ?
[16:57:34] <Andreas Stenius> I suppose that as long as the perfomance is on par, you won't mind a setup like that (using a extended ErlyDTL)?
[16:58:09] <Marc Worrell> ah, with extra args inside - that one will be nice :-)
[16:58:19] <Andreas Stenius> he has {{ _( value ) }} more like the gettext of traditional language implementations..
[16:58:42] <Marc Worrell> yeah - but that is nasty to template writers
[16:58:52] <Andreas Stenius> also, he has solved the issue with different languages having args in different order in the sentences...
[16:59:02] <Marc Worrell> {_ … _} is easier to add and read
[16:59:08] <Andreas Stenius> yep
[16:59:21] <Marc Worrell> the arg order - isn't that the blocktrans?
[16:59:24] <Andreas Stenius> but that is syntax, which is extensible... :)
[16:59:38] <Andreas Stenius> yeah, but we don't have blocktrans
[17:00:03] <Marc Worrell> trans tag is also nice - runtime translation lookup
[17:00:42] <Andreas Stenius> I think we have quite nice stuff to gain if we are able to use the "standard" erlydtl
[17:00:51] Arjan joins the room
[17:01:05] <Marc Worrell> yep
[17:01:09] <Andreas Stenius> with our optimizations and specifics added
[17:01:25] <Marc Worrell> and we keep our own syntactic sugar for the translation stuff
[17:03:10] <Marc Worrell> we have to see how far we can get - but with preparsers, extensions, callbacks, rewriters and whatnots we will come a long way :p
[17:06:40] <Marc Worrell> we also have some extra ones - like the #id constructs :p
[17:07:31] <Marc Worrell> and a 'template_reset_counter' to check freshness (for global flushes)
[17:08:40] <Arjan> and include/block debugging constructs ;-) but thats easy to port over
[17:09:02] <Arjan> I would like our template language to be equal to Django's -- but with added extensions
[17:09:35] <Marc Worrell> yep - just looking at the compiler - we have added quite a lot of specifics (seperate from the ErlyDTL one)
[17:10:37] <Marc Worrell> Language var (in all code blocks) , ZpContext argument (to all functions), the $autoid (for "#id" kind of constructs)
[17:10:45] <Marc Worrell> {% overrules %}
[17:10:51] <Marc Worrell> {% inherit %}
[17:11:24] <Marc Worrell> {% catinclude %} {% javascript %}
[17:11:31] <Marc Worrell> the arguments to {% include %}
[17:17:28] Arjan leaves the room
[17:18:26] <Maas> elseif
[17:18:35] <Maas> {% optional include
[17:18:44] <Maas> (love that one)
[17:19:46] <Andreas Stenius> yeah, all of those should be easy to implement as extensions
[17:20:13] <Andreas Stenius> and those that aren't need tweaks to base erlydtl so that they are.. :p
[17:36:03] Maas leaves the room
[17:36:27] mawuli.ypa joins the room
[18:35:41] Maas joins the room
[18:35:58] Maas leaves the room
[18:49:59] Jeff Bell joins the room
[19:06:31] Arjan joins the room
[19:10:49] Jeff Bell leaves the room
[20:31:29] Arjan leaves the room
[20:31:40] Arjan joins the room
[20:33:05] Arjan leaves the room
[20:33:37] Arjan joins the room
[21:08:27] Arjan leaves the room
[21:09:21] Arjan joins the room
[21:10:20] Arjan leaves the room
[21:19:43] Arjan joins the room
[21:20:02] Arjan leaves the room
[21:20:29] Arjan joins the room
[21:39:44] <mawuli.ypa> Andreas: problem fixed!
[21:39:57] <Andreas Stenius> Ah, good :)
[21:40:16] <mawuli.ypa> will add more flesh to the controller and the mod_buffer admin UI
[21:40:46] <Arjan> mod_buffer?
[21:40:53] <mawuli.ypa> Yes
[21:40:57] <Arjan> whatsthat? :)
[21:41:34] <mawuli.ypa> iAllows you to buffer all your posts/updates and it will share them for you through out the day
[21:41:39] <mawuli.ypa> like schedule tweets
[21:42:08] <mawuli.ypa> or when to share images. So you just queue the things you want to share and when to share them
[21:42:28] <mawuli.ypa> and where - facebook, twitter or google plus.
[21:42:32] <Andreas Stenius> Mawuli, I noticed your admin template extended base.. just want to make you aware of the various admin widget templates available, in case you missed them :p http://zotonic.com/docs/0.9/ref/modules/mod_admin.html#mod-admin
[21:42:33] <mawuli.ypa> *It allows
[21:42:41] <mawuli.ypa> Yes
[21:42:50] <mawuli.ypa> Andreas: I just realized it :)
[21:42:58] <Andreas Stenius> ok :)
[21:43:21] Andreas Stenius goes away for a while...
[21:43:45] <mawuli.ypa> Arjan: https://github.com/mawuli-ypa/mod_buffer
[21:44:06] <Arjan> nice
[21:44:19] <mawuli.ypa> Learning exercise: to help me better understand how modules work etc
[21:46:31] mawuli.ypa leaves the room
[21:46:55] mawuli.ypa joins the room
[21:54:47] mawuli.ypa leaves the room
[21:55:02] mawuli.ypa joins the room
[22:02:00] mawuli.ypa leaves the room
[22:02:12] mawuli.ypa joins the room
[22:41:35] cillian.deroiste joins the room
[23:55:42] Andreas Stenius leaves the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!