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

GMT+2
[00:27:12] mawuli.ypa leaves the room
[00:31:38] mawuli.ypa joins the room
[01:10:15] <z-bot> [HashNuke] hey all ~!
[01:10:55] <z-bot> [HashNuke] arjan: I tried running controller_main:init([]). in the zotonic console. I get undefined function controller_main:init/1
[05:28:53] <z-bot> [HashNuke] anyone there?
[06:51:22] <z-bot> [kaos] Morning HashNuke :)
[06:51:27] <z-bot> [kaos] what timezone are you in?
[06:51:41] <z-bot> [HashNuke] kaos: Morning kaos ~! I'm in GMT +5:30
[06:52:01] <z-bot> [kaos] Ah, GMT +1:00 here..
[06:52:47] <z-bot> [HashNuke] My sleep was pretty weird today, so asked questions at random times. Queried channel at 10am I think, then slept, and back at 4:30am to read arjan's replies, then slept again.
[06:53:01] <z-bot> [kaos] heh :p
[06:53:53] <z-bot> [kaos] Let's take a look at your issue (if it's still unresolved).. could you paste what controller_main:module_info() says.. ?
[06:54:34] <z-bot> [HashNuke] kaos: Can you help with this - https://gist.github.com/HashNuke/b2437afc92bdcb9f9084? I get init undefined in controller_main when I try to access "zoom.dev:8000" in my browser. (I added zoom.dev as an alias in the config).
[06:54:41] <z-bot> [HashNuke] sure.
[06:55:51] <z-bot> [HashNuke] kaos: It says "undefined function controller_main:module_info/0", which I see is weird.
[06:56:12] <z-bot> [kaos] Ah, compilation issue, you don't even have controller_main..
[06:56:38] <z-bot> [HashNuke] kaos: I have controller_main as controllers/controller_main.erl
[06:57:00] <z-bot> [kaos] what does it say when you run z:m() then?
[06:57:44] <z-bot> [HashNuke] kaos: Running z:m(). And also updated the gist with the site tree.
[06:57:51] <z-bot> [kaos] ok
[06:57:58] <z-bot> [HashNuke] z:m() says "Recompile: priv/sites/zoom/controllers/controller_main" and "ok"
[06:58:13] <z-bot> [HashNuke] kaos: Works now ~!
[06:58:21] <z-bot> [HashNuke] kaos: Did I do anything wrong?
[06:58:24] <z-bot> [kaos] yeah, your controller wasn't compiled..
[06:58:49] <z-bot> [HashNuke] kaos: Should I run "z:m()." everytime after an update? I was expecting it to be compiled automatically after changes.
[06:58:49] <z-bot> [kaos] no, nothing besides not compiling it.. ;)
[06:59:05] <z-bot> [kaos] you need to enable mod_development for that..
[06:59:49] <z-bot> [HashNuke] kaos: Do I install it as a module with the zotonic command?
[07:00:08] <z-bot> [kaos] uh? no...
[07:00:33] <z-bot> [kaos] oh, wait, you mean mod_development
[07:00:40] <z-bot> [HashNuke] kaos: yes.
[07:00:51] <z-bot> [kaos] you can enable it from the shell, or from the admin GUI..
[07:01:56] <z-bot> [HashNuke] wow ~! accessed the admin panel for the first time. Very cool list of modules :)
[07:02:50] <z-bot> [kaos] and from the shell: http://zotonic.com/docs/0.9/manuals/cookbook/shell-activate-modules.html
[07:03:06] <z-bot> [HashNuke] kaos: Shouldn't the username of the admin panel be mentioned in the doc page here - http://zotonic.com/docs/latest/tutorials/zotonic_status.html? I just guessed admin:admin for the credentials.
[07:03:13] <z-bot> [HashNuke] password I found in the config file.
[07:03:50] <z-bot> [HashNuke] kaos: I'm actually collecting stuff that I can contribute by fixing the docs. I found a couple typos too.
[07:04:24] <z-bot> [kaos] the zotonic_status page is != the admin interface..
[07:04:42] <z-bot> [HashNuke] oh.
[07:04:59] <z-bot> [kaos] And on that page there is: "The password that is used for this is a generated password which sites in the priv/config file of the Zotonic folder."
[07:05:00] <z-bot> [kaos] but a bit hard to spot perhaps.. :p
[07:05:30] <z-bot> [HashNuke] kaos: Ya I read that and checked the config file of the site instead.
[07:05:38] <z-bot> [kaos] also, that sentence didn't really make sense..
[07:05:47] <z-bot> [kaos] (from the docs)
[07:06:22] <z-bot> [HashNuke] Actually, something seems to be wrong then. I was able to login with the admin:admin credentials.
[07:06:54] <z-bot> [kaos] actually, there's a whole section missing in the docs, that should cover the admin interface...
[07:07:07] <z-bot> [HashNuke] kaos: Ya I dont find it.
[07:07:19] <z-bot> [kaos] HashNuke: well, it's not written.. :p
[07:07:23] <z-bot> [HashNuke] kaos: the credentials should be admin:<generated_password> right?
[07:07:39] <z-bot> [HashNuke] kaos: instead I'm able to login with admin:admin. Wait let me show you a screen recording.
[07:15:18] <z-bot> [HashNuke] recorded screen and uploading to dropbox (should take a few min)
[07:16:20] <z-bot> [kaos] HashNuke: ok
[07:34:06] <z-bot> [HashNuke] kaos: https://www.dropbox.com/s/hvbxy191ugud0c7/zotonic_admin_password.mov
[07:42:49] arcusfelis joins the room
[07:45:06] <z-bot> [kaos] HashNuke: it's breakfast time here, so I'm on and off for a while..
[07:45:20] <z-bot> [kaos] will get back to you when I've watched it :)
[07:45:56] <z-bot> [HashNuke] kaos: No problem. I'll hang around for a very long time :)
[08:39:35] Maas joins the room
[08:54:19] bronzeboyvn joins the room
[08:58:19] <z-bot> [kaos] HashNuke: yeah, as I suspected, you've got the admin and zotonic status sites mixed up. The logon form you see is from *your* site, and the password for the admin to that is configured in the site config file: http://zotonic.com/docs/0.9/manuals/site-anatomy.html
[08:58:57] <z-bot> [kaos] the zotonic_status *site* is what you'll get when you request a URL from zotonic that isn't handled by any other site (so it is the default fallback site)
[08:59:12] <z-bot> [kaos] and the password to logon to the zotonic status site is configured in the priv/config file
[08:59:36] <z-bot> [kaos] so if you try localhost:8000 you should get the status site.. (if you're running locally)
[09:11:07] <Andreas Stenius> Marc, why does z_scomp bother calling z_context:prune_for_template/1 on the result from a scomp render/3 call? It only does anything if the result is a context, but that won't work since the output should be an iolist.. ? so it's not going to be anything but a no-op, ever.
[09:11:32] <Andreas Stenius> besides, it is even done twice...!
[09:12:03] <Andreas Stenius> once in z_scomp, and the other in the compiled template itself..
[09:12:27] <Andreas Stenius> from a very basic template:
render2(Variables, ZpContext) ->
Language = z_context:language(ZpContext),
[case z_scomp:render(loremipsum, [{words, 5}],
Variables, ZpContext)
of
{ok, Rendered} ->
z_context:prune_for_template(Rendered);
{error, Reason} -> io_lib:format("error: ~p", [Reason])
end].
[09:13:04] <Andreas Stenius> I'll probably going to fix that, if you don't object.. ;)
[09:17:05] <Andreas Stenius> Marc Worrell: ping ^^ ;)
[09:18:32] <Maas> he is offline I guess :-)
[09:21:17] <Andreas Stenius> Maas: afk, I suppose, but not offline, as I can see his name in the participants list.. (at least his computer is online :p)
[09:22:00] <Andreas Stenius> btw, I saw a pic of a rowingbike.. not quite what I had pictured it (I got it all wrong in my head, as I only had the name to go on)
[09:22:11] <Maas> The result is the same :p
[09:22:13] <Andreas Stenius> there was two possibilities, and I took the wrong one :p
[09:22:38] <Andreas Stenius> I thought it was a boat that you propelled by cycle..
[09:22:51] <Maas> hahaha
[09:23:07] <Maas> no you propel your bike with a rowing motion.
[09:23:34] <Maas> this is the one I have http://rowingbike.com/site/EN/Models/Carbon-THYS-209/
[09:24:34] <Maas> It works like this: http://rowingbike.com/uploads/Itemizer/popups/2.1.gif <javascript:popUp('http://rowingbike.com/uploads/Itemizer/popups/2.1.gif',%20177,%20300)>
[09:25:15] <Andreas Stenius> yah
[09:25:31] <Andreas Stenius> that was the site I found (from your profile on zotonic.com)
[09:26:21] <Andreas Stenius> good work out! :)
[09:27:58] <Maas> It sure is, very fun to do too. Kind of missing it right now, it is in for repairs. Had an encounter with a very badly done repair of a bridge.
[09:28:40] <Maas> A loose screw on a bike bridge caused quite some damage.
[09:29:41] <Andreas Stenius> ouch
[09:31:48] arjan joins the room
[09:31:49] <Maas> A well, the whole thing could have ended much worse. Busy with some legalese stuff to get the city to pay for the damage
[09:33:09] <Andreas Stenius> oh, bother.. I had a go at something similar a while back.. I gave up as it took too much effort for not enough money..
[09:33:36] <Andreas Stenius> mornin' arjan :)
[09:33:40] <arjan> heya
[09:33:51] <Andreas Stenius> that was fast :p
[09:33:54] <arjan> lol
[09:34:01] <arjan> im up to speed :)
[09:34:10] <Andreas Stenius> obviously :D
[09:34:35] <Andreas Stenius> the whole erly thing turned out to work quite nice, I think..
[09:34:45] <Andreas Stenius> thought it would be harder to do :p
[09:34:50] <arjan> :)
[09:34:52] <arjan> nice
[09:34:56] <arjan> what about the {_ _} syntax?
[09:35:03] <arjan> we have to change that, right?
[09:35:04] <Andreas Stenius> yeah, that is still to be resolved..
[09:35:07] <arjan> k
[09:35:17] <arjan> but yes, it makes stuff easier to meet someone IRL
[09:35:17] <Andreas Stenius> I know Marc will be reluctant to give that up..
[09:35:18] <arjan> :)
[09:35:26] <Andreas Stenius> indeed it does
[09:39:28] <Maas> Because erlydtl has other syntax for translations ?
[09:39:47] <Andreas Stenius> yep
[09:40:02] <Maas> What do they use then?
[09:40:13] <Andreas Stenius> and since it's non trivial to introduce new escapes from text to tag syntax in a generic way
[09:40:37] <arjan> Maas: ErlyDTL aims to be 100% compatible with Django's syntax
[09:40:53] <Maas> ahah, zo also no elsif
[09:40:55] <Andreas Stenius> they have {% blocktrans %} text and tags {% endblocktrans %} as well as _( text ) in tags
[09:40:56] <Maas> :p
[09:41:32] <Andreas Stenius> ztl is extended erlydtl with zotonic specifics, it's a work in progress..
[09:41:38] <Andreas Stenius> extending*
[09:41:52] <Maas> Right now it is an extended subset of django syntax :p
[09:42:15] <arjan> yes indeed
[09:42:24] <arjan> we would like it to be a superset of django syntax
[09:43:04] arjan leaves the room
[09:44:07] <z-bot> [HashNuke] kaos: Got it now. Thank you :)
[09:44:55] <z-bot> [kaos] HashNuke: cool :)
[09:44:59] <z-bot> [kaos] anything else, just ask ;)
[09:45:21] <z-bot> [HashNuke] kaos: sure. thanks for being patient :)
[09:45:56] <z-bot> [HashNuke] b/w I just realized you and andreas are the same person :)
[09:46:09] <z-bot> [kaos] HashNuke: the least we can do :)
[09:46:12] <z-bot> [kaos] yeah.. :)
[09:46:17] z-bot [kaos] is Andreas
[09:46:55] <z-bot> [HashNuke] kaos: you should say that standing on top of a building on a dark night :D
[09:46:59] <z-bot> [kaos] think I said that early on too... but it doesn't matter.. :p
[09:47:16] <z-bot> [kaos] lol, and then run for it :p
[09:48:12] <z-bot> [kaos] oh, wait, I prob said that to someone else..
[09:48:25] z-bot [kaos] is confused..
[09:50:50] arjan joins the room
[10:42:57] <Maas> pretty cool the new template debug possibilities... :-)
[10:43:57] <Andreas Stenius> yeah... are you referring to anything specific?
[10:44:10] <Maas> with the comment inside the html
[10:44:30] <Andreas Stenius> ah, yeah.. that helps a lot :)
[10:44:58] <Andreas Stenius> was a bit confused, as there's a lot going on on the template stuff right now... (for me anyway.. :p )
[10:45:42] <Maas> Thinking about making it possible to let something end up in the console log. Sort of like the ?DEBUG macro
[10:45:56] <Maas> A well.
[10:46:04] <Maas> so much to do.
[10:46:11] <Andreas Stenius> have you seen the template compile log on the dev page in the admin?
[10:46:14] <arjan> that should be easy right, just a scomp which does a zInfo
[10:46:27] <Andreas Stenius> there is already a notify thing in there..
[10:46:37] <Andreas Stenius> dunno how to use it tho
[10:46:57] <Andreas Stenius> oh, maybe not exposed to the template side of things..
[10:46:58] <Maas> Something like that. Handy if you have a somewhat more complex template
[10:47:19] <Maas> with if statements and all that.
[10:47:40] <Andreas Stenius> should also be possible to add some convience functions for the debugger so you can break and step all calls to scomps models and filters and stuff..
[10:48:05] <Maas> ooo I hardly use a debugger.
[10:48:16] <Maas> only if I can't avoid using it.
[10:48:19] <Andreas Stenius> :p
[10:48:51] <Andreas Stenius> me either.. but it can be handy when you got /no/ clue on what's going on.. ;)
[10:49:02] <Maas> Usually they are a huge time sink. Especially if you go in with the thought that your code is correct.
[10:50:16] <Maas> Yeah, but sometimes, you just need them.
[10:51:54] <Maas> Need to learn erlang tracing as that is much handier for a system which is in production.
[10:52:16] <Andreas Stenius> I enjoy looking at the compiled template source.. :)
[10:52:29] <Andreas Stenius> quite insightful into how it all fits together..
[10:52:44] <Andreas Stenius> +1 for tracing :)
[10:53:29] <Maas> Aha, the generated ast... that is really cool... meta programming, taking things onto a whole new level.
[10:54:55] <Andreas Stenius> indeed..
[10:55:05] <Andreas Stenius> would like the meta programming stuff to be a little more high level though..
[10:55:22] <Andreas Stenius> bit hard to manually call erl_syntax for every single piece of the code to generate
[10:59:22] <Maas> For channel we do that to transform some form of operations inside js :-) But yeah. Could the current parse transform machinery in erlang be of help here?
[11:00:18] <Andreas Stenius> no, parse_transforms work on the source itself, not the stuff we've parsed ourselves..
[11:00:38] <Andreas Stenius> i.e. pars_transform would work on the erlydtl source
[11:00:59] <Maas> Indeed no.
[11:30:21] <Maas> Found these slides on erlang meta-programming. http://www.erlang-factory.com/upload/presentations/633/Metaprogramming.pdf
[11:31:13] <Andreas Stenius> yeah, I saw that talk.. forgot about it, thanks! :)
[11:33:55] <Andreas Stenius> wow, this was exactly what I was thinking of yesterday.. and it still didn't click that I'd already seen it..
[11:34:17] arjan leaves the room
[11:35:33] <Maas> hehe, looks like klarna has made some interesting tools
[11:38:38] <Maas> Real computer scientist solution. If you tell them about your problem you do not hear from them until one year later. They come back with a programming language especially designed to solve your problem... ;-)
[11:39:02] Maas leaves the room
[11:40:08] <Andreas Stenius> yeah.. :)
[11:46:17] arjan joins the room
[12:06:07] <Andreas Stenius> got custom tags in.. https://github.com/evanmiller/erlydtl/pull/83
[12:50:04] <mawuli.ypa> using mod_cron for mod_buffer. How I do force stop mod_cron ?
[12:50:46] <mawuli.ypa> it even starts executing tasks when you restart the vm!
[12:51:07] <arjan> wel it's a cron right
[12:51:15] <mawuli.ypa> using pman now, still cant stop
[12:51:16] <arjan> cron = repeating tasks
[12:51:23] <mawuli.ypa> :(
[12:51:51] <mawuli.ypa> I want to just kill everything... right to the vm and all its processes.
[12:52:03] <mawuli.ypa> hopefully, mod_cron will stop.
[13:26:08] Maas joins the room
[13:43:19] Maas leaves the room
[13:43:48] Maas joins the room
[13:48:55] arjan leaves the room
[13:51:35] bronzeboyvn leaves the room
[14:22:43] arjan joins the room
[14:30:20] arjan leaves the room
[14:49:20] Maas leaves the room
[14:51:00] Maas joins the room
[14:51:44] jeff.5nines joins the room
[14:57:02] arjan joins the room
[15:08:01] Maas leaves the room
[15:11:27] jeff.5nines leaves the room
[15:20:49] <z-bot> [HashNuke_] How do I find the dispatch rules that a module provides/declares? Like the url for the signup page in mod_signup
[15:21:23] <z-bot> [kaos] for mod_signup, you'll find the rules in mod_signup/dispatch/*
[15:22:13] <z-bot> [kaos] or here: http://zotonic.com/docs/0.9/ref/dispatch/dispatch_mod_signup-dispatch.html#dispatch-mod-signup-dispatch :)
[15:23:56] <z-bot> [kaos] HashNuke: you have a big list of all dispatch rules from all modules in zotonic here: http://zotonic.com/docs/0.9/ref/dispatch/index.html
[15:24:40] <z-bot> [kaos] there's currently no way to find out the dispatch rules in effect on your site in the admin gui, for instance.. that's on my personal whish list, but it hasn't been prioritized.. ;)
[15:27:17] arjan leaves the room
[15:29:19] <z-bot> [HashNuke_] kaos: I checked the dispatch rules of the module from source. But ideally would love to see something with the zotonic command. Like "zotonic dispatch sitename"
[15:29:36] <Andreas Stenius> yeah..
[15:30:33] <z-bot> [HashNuke_] kaos: I would love to start contributing soon with something ~! (excited)
[15:31:23] <z-bot> [kaos] turns out you can call: z_dispatcher:dispatchinfo(C).
[15:31:34] <z-bot> [kaos] that'll give you a list of dispatch rules for your site..
[15:31:50] <z-bot> [kaos] C is a context, you can get one with: C=z:c(yoursite).
[15:33:43] <z-bot> [kaos] HashNuke: looking forward to your contributions :D
[15:55:21] <z-bot> [HashNuke_] kaos: I'm trying to add a dispatch command. I'm using the "zotonic-etop" script as a reference template.
[15:57:15] <z-bot> [HashNuke_] Here's a sample script that responds to "zotonic sample" - https://gist.github.com/HashNuke/fe042d3ed50213116a79. I'm trying to run z:module_info(). Is that fine? Because I get {"init terminating in do_boot",{undef,[{z,module_info,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}} error
[15:58:11] <z-bot> [kaos] add a -pa $PA arg in there..
[15:58:44] <z-bot> [kaos] I don't know if zotonic-etop even works.. ? look at zotonic-status, I think it's a bit more up-to-date.. ;)
[15:59:26] <z-bot> [kaos] ah, well, it does, but since it doesn't call any zotonic stuff, the -pa arg seems to be left out..
[16:00:21] <z-bot> [HashNuke_] kaos: zotonic-etop works.
[16:00:42] <z-bot> [HashNuke_] Thank you ~! :)
[16:33:47] mawuli.ypa leaves the room
[16:35:07] mawuli.ypa joins the room
[16:47:32] <Andreas Stenius> sh*t, block level customizations is going to be a real pain to do... at least if we're going to hand over parsing the elements in the block..
[17:02:42] <Andreas Stenius> wow, the tracer is really quite handy..
[17:02:51] <mawuli.ypa> I am trying to insert a timestamp into a postgresql timestamp column
[17:03:13] <Andreas Stenius> ok, not going well.. ?
[17:03:15] <mawuli.ypa> Timestamp = z_datetime:datetime_to_timestamp(calendar:local_time())
[17:03:36] <mawuli.ypa> sorry about the smiley.
[17:03:39] <Andreas Stenius> let me check how it's been done else where..
[17:03:45] <Andreas Stenius> happens all the time.. :/
[17:03:50] <Andreas Stenius> no worries
[17:06:34] <Andreas Stenius> hmmm... is looking at m_rsc_update, as it updates timestamp fields..
[17:06:39] <Andreas Stenius> but boy, what a mess: https://github.com/kaos/zotonic/blob/master/src/models/m_rsc_update.erl#L635
[17:07:36] <Marc Worrell> maybe that needs a bit of explanation how it works and what it does :p
[17:07:52] <Andreas Stenius> I would expect that it should just work.
[17:08:01] <Andreas Stenius> but then it should probably be sent in erl format
[17:08:04] <Marc Worrell> The whole m_rsc_update is a prime candidate for refactoring
[17:08:20] <Andreas Stenius> i.e. {{Y,M.D},{H,M,S}}
[17:08:39] <Andreas Stenius> Hey Marc Worrell :) welcome back :p
[17:09:01] <Andreas Stenius> perhaps you could shed some light on how to get the timestamp in to the db.. ?
[17:09:13] <Marc Worrell> just for a second :p Mr T is calling that the food is ready and that I should come down - can't let a 4 year old wait too long :)
[17:09:36] <Marc Worrell> The z_db routines do the {{…}, {…}} conversion for you
[17:09:39] <Andreas Stenius> indeed, I'm about to get into the same position, with a 6'ish and 3 year old..
[17:09:52] <Andreas Stenius> I suspected that ;)
[17:10:26] <Marc Worrell> those routines match the type of the column to the type of the argument and try to do their best for the conversion..
[17:13:08] <Andreas Stenius> btw, how is this for debugging ( http://pastebin.com/FXSKjfue ) ? beats print out's by far! :p
[17:15:59] <mawuli.ypa> Ok. How about z_db:insert(TableName, Props, Context) ? I would like to save a timestamp value into it
[17:16:37] <Andreas Stenius> erlang:localtime() gives you a format you can put into your Props..
[17:17:11] <Andreas Stenius> (same as calendar:local_time())
[17:17:18] Andreas Stenius goes to dinner...
[17:21:04] <mawuli.ypa> ah
[17:21:43] <mawuli.ypa> Thought it expected a timestamp value for inserting into timestamp columns
[17:22:24] Andreas Stenius leaves the room
[17:22:27] <mawuli.ypa> That explains the error.
[17:22:36] Andreas Stenius joins the room
[17:38:21] arjan joins the room
[17:51:20] mawuli.ypa leaves the room
[17:51:28] mawuli.ypa joins the room
[17:55:03] <z-bot> [HashNuke_] I enabled the mod_signup module. Noticed that the mod_signup's signup.tpl requires page.tpl and created a templates/page.tpl with the following content - https://gist.github.com/HashNuke/5e5af62d13afb157eb8a. I used the same block names as the ones I found in signup.tpl. When i visit /signup the page is blank and I also get a warning in the zotonic log - " Failed to get page url path. Is the `page' dispatch rule missing?"
[17:55:39] <z-bot> [HashNuke_] Am I missing anything?
[17:57:36] arjan leaves the room
[17:58:51] <z-bot> [HashNuke_] Ah I see that the content is being displayed from the signup.tpl template, just that I was logged into the admin panel and hence the page was rendering nothing.
[18:01:33] <z-bot> [HashNuke] Slowly getting a hang of Zotonic. Yet to look into the db layer. Should be fun.
[18:31:03] Andreas Stenius leaves the room
[18:31:47] Andreas Stenius joins the room
[18:45:38] mawuli.ypa leaves the room
[18:48:32] mawuli.ypa joins the room
[19:02:28] arcusfelis leaves the room
[19:19:55] arcusfelis joins the room
[19:28:17] arjan joins the room
[19:39:23] <arjan> how can I add hostaliases to a site without restarting it?
[19:40:18] <arjan> looks like that is not possible
[19:45:52] <z-bot> [TheMue] HashNuke: I started with Zotonic this week and so far I'm pretty happy with it. Own extension or integration of my code will follow.
[19:47:00] <z-bot> [HashNuke] TheMue: I created a sample app and I'm trying out scenarios I'll usually need in my apps.
[19:47:50] <z-bot> [HashNuke] I'm hoping there will be something like this - http://guides.rubyonrails.org for zotonic someday.
[19:48:49] <z-bot> [TheMue] HashNuke: I'm interested in event processing and currently work on my needed modules to do an analyzing of atom, rss, twitter and similar data streams. And this could lead to dynamic content in Zotonic.
[19:49:01] <z-bot> [TheMue] HashNuke: But so far only first thoughts.
[20:21:13] arcusfelis leaves the room
[20:33:05] Maas joins the room
[20:35:46] <Maas> @arjan had sort of the same problem last weekend.
[20:36:09] <arjan> what problem?
[20:36:25] <Maas> My case was that the hostalias became the hostname
[20:36:34] <arjan> ah
[20:36:55] <arjan> yes I dont think its possible without restarting the site
[20:37:11] <arjan> bc the siteprops are part of the child spec of the site's dispatcher
[20:37:29] <arjan> so when the dispatcher restarts it uses the old siteprops
[20:37:40] <Maas> I needed to restart it, but there was also a dns cache glitch.
[20:38:03] <arjan> oh
[20:38:17] <Maas> normal requests where done to the right site, but the websocket was going to the other server.
[20:38:24] <Maas> very weird.
[20:38:35] <Marc Worrell> interesting: target db for farwest will be psql
[20:38:46] <Marc Worrell> https://github.com/extend/farwest/wiki/Roadmap
[20:38:51] <Maas> then the postbacks to the new location didn't have a session
[20:39:23] <Marc Worrell> re: dispatcher - I want to rewrite that part. Need to check that anyway for some special hostname requirements for maxclass
[20:39:56] <Maas> templates in the database? where did i hear that before?
[20:40:54] <Marc Worrell> yeah - wrong idea....
[20:41:06] <Maas> That sure brings back some memories from the 90-ies
[20:41:22] <Marc Worrell> did he write that on that page?
[20:41:34] <Marc Worrell> we all learned the hard way that didn't work...
[20:41:40] <Maas> yes 0.6 or something
[20:41:55] <Marc Worrell> yep - see it
[20:42:37] <Maas> it was a fun system to work with, but it didn't perform and development via a textarea is not recommended.
[20:43:10] <arjan> I dont think performance will be an issue here
[20:43:23] <arjan> but indeed, editing templates in a textarea...
[20:43:29] <Marc Worrell> and a real version management system is very much needed
[20:43:32] <arjan> I guess it all depends on your target audience
[20:43:39] <Maas> The system was not dynamic anyway, so we wrote a script to dump the entire site into static files.
[20:43:43] <arjan> wordpress users love that ability
[20:43:47] <Maas> versioning was a nightmare.
[20:44:31] <arjan> obviously
[20:44:39] <Marc Worrell> I like the git webhooks more, especially for development/deployment
[20:45:30] <Marc Worrell> still interesting that he is dropping psql - sounds like he is going for a single node solution...
[20:45:32] <Maas> That is really nice indeed. Problem is that Justin doesn't dare to commit and push stuff
[20:45:45] <Marc Worrell> uhhh dropping riak for psql
[20:46:14] <Marc Worrell> When Justin doesn't dare to do that then he surely wouldn't dare to edit the live templates….
[20:46:29] <arjan> Maas: you should provide an easy rollback mechanism
[20:46:38] <arjan> teach him about 'git revert'
[20:46:44] <arjan> git revert HEAD^1; git push
[20:46:47] <Marc Worrell> edit the wrong admin template and you are dead in the water :p
[20:46:48] <arjan> = undo ;)
[20:47:28] <Marc Worrell> Maybe, for people like Justin, we should have a git interface where you can select which version you want to check out?
[20:47:47] <Maas> he likes the commit log and all that, on a web page, but not doing those commands.
[20:48:12] <arjan> he can use the github gui maybe?
[20:48:35] <Maas> he edits with editor via ssh right on a linux server.
[20:48:41] <Maas> on windows :-)
[20:48:45] <arjan> eek.
[20:49:22] <Maas> can't really chase him away from that.
[20:49:42] <Marc Worrell> I was thinking of a clickable commit log - click on a revision to check out :)
[20:49:55] <arjan> take out your whip :p
[20:50:04] <Marc Worrell> haha
[20:50:15] <Maas> I should :-)
[20:50:31] <arjan> you could draw inspiration here: https://github.com/evanmiller/erlydtl/pull/83
[20:50:35] <arjan> talking about whip cracking ;)
[20:51:06] <Maas> haha
[20:52:41] <Maas> nice that we can run erlydtl from the original repo
[20:53:24] <Andreas Stenius> it's gonna be awesome! :D
[20:53:57] Maas leaves the room
[20:54:17] <Andreas Stenius> the parser is still the worst to get to play nice.. (customizing the yecc parser isn't that easy..)
[20:54:38] arjan leaves the room
[20:56:20] Maas joins the room
[20:56:47] <Maas> hmm, no
[20:57:20] <Maas> Praise yourself lucky that you don't have to parse javascript ;-)
[20:57:26] <Andreas Stenius> heh :p
[20:58:14] <Marc Worrell> maybe drop the yecc parser for another parser
[20:58:30] <Maas> did that for js :-)
[21:00:41] <Maas> but it is not really parsing what i do right now.
[21:02:48] <Maas> but i didn't need a full blown parser in the first place... way to heavy
[21:03:05] <Maas> learned that the hard way too.
[21:04:22] <Maas> Did is the system I used for a project which had templates in the db... http://philip.greenspun.com/wtr/illustra-tips.html
[21:04:34] <Maas> ancient.. brings back memories.
[21:06:52] <Maas> It also had a license manager... we had to get new codes every month, which where always late.
[21:07:54] <Maas> until one christmas... when somebody found out that the license manager just returned 'ok' via socket. :-)
[21:09:58] <Andreas Stenius> not sure if we'll get Evan to drop yecc for something else...
[21:10:30] <Andreas Stenius> and if that something else will be better at handling dynamic extensibility..
[21:10:46] <Andreas Stenius> (don't want to invent something new for it..)
[21:11:15] <Andreas Stenius> hooray!
[21:11:21] <Andreas Stenius> All 10 tests passed.
[21:31:25] <Maas> From 0.11.0: "An interface will be defined on the Erlang's side to allow users to be notified of events, through a message queue implemented directly in the session."
[21:34:58] <Maas> pff, I should generalize the message bus I have right now and hook it into zotonic.
[21:41:33] <Marc Worrell> yep - we need message busses :-)
[21:41:37] <Marc Worrell> dubbeldekkers!
[21:41:48] <Maas> lekker
[21:45:22] <Maas> it does pretty right now. it has quite some tricks to speed up messaging when there is a comet connection.
[21:46:12] <Maas> when a client pushes the handler waits a little while for incoming messages so the comet loop can be left open.
[21:46:29] <Maas> stuff like that.
[21:53:06] <Maas> On the erlang side there is a bus process which takes care of things. it uses a process registry so you can easily find the bus process you need to talk to. The bus process can use connect to signals... This way proved to be more robust and it allows us to handle when mobile clients go to sleep and wake up after a while.
[22:12:58] arjan joins the room
[22:46:38] Maas leaves the room
[22:59:41] Maas joins the room
[23:02:50] arjan leaves the room
[23:35:33] mawuli.ypa leaves the room
[23:35:49] mawuli.ypa joins the room
[23:40:40] mawuli.ypa leaves the room
[23:40:58] mawuli.ypa joins the room
[23:44:39] mawuli.ypa leaves the room
[23:45:04] mawuli.ypa joins the room
[23:45:44] mawuli.ypa leaves the room
[23:46:21] mawuli.ypa joins the room
[23:49:07] mawuli.ypa leaves the room
[23:49:32] mawuli.ypa joins the room
[23:51:38] mawuli.ypa leaves the room
[23:52:10] mawuli.ypa joins the room
[23:54:35] mawuli.ypa leaves the room
[23:54:57] mawuli.ypa joins the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!