Zotonic
Zotonic
zotonic@conference.zotonic.com
Thursday, 7 March 2013< ^ >
arjan has set the subject to: Zotonic - the Erlang Content Management Framework
Room Configuration

GMT+1
[01:00:39] Maas leaves the room
[01:01:00] Maas joins the room
[01:04:05] Maas leaves the room
[05:17:14] jeff.5nines joins the room
[08:37:48] Arjan joins the room
[08:48:44] Andreas Stenius joins the room
[09:01:28] <Andreas Stenius> isn't the header files (zotonic/include/*.hrl) part of the built edocs? couldn't spot the zotonic.hrl docs in the built output... although it has edoc tags in the hrl file.
[09:03:17] Maas joins the room
[09:13:35] Arjan leaves the room
[09:14:32] <Marc Worrell> Good morning!
[09:14:42] <Andreas Stenius> Mornin'! :)
[09:15:09] <Maas> Goede morgen!
[09:15:14] <Marc Worrell> Reduction of the day: O'Reilly early release e-books, 50% off (code: WKEARSE) - http://post.oreilly.com/rd/9z1z5didl0re6dq9g8ubsnt3jpu40jv7a9agbvcsqp0
[09:16:35] <Maas> Curious about the "Browser Networking" book. If there is anything in there we don't already know.
[09:16:40] Arjan joins the room
[09:17:02] <Marc Worrell> Also curious about the Data Visualization
[09:17:18] <Marc Worrell> Will check − maybe I order :)
[09:17:29] <Maas> Has SSE and something about WebRTC.
[09:17:36] <Andreas Stenius> do you mean "Visualizing Data" by Ben Fry?
[09:17:56] <Marc Worrell> no, this one: http://shop.oreilly.com/product/0636920026938.do
[09:18:20] <Andreas Stenius> Oh, nice one. With D3 too! :)
[09:18:26] <Maas> That looks like a nice one indeed.
[09:18:43] <Marc Worrell> I will order it :-) Expect it soon in my DropBox bookshelf
[09:18:45] <Andreas Stenius> I have this one http://shop.oreilly.com/product/9780596514556.do
[09:18:54] <Andreas Stenius> cool
[09:20:14] <Marc Worrell> The browser networking sounds interesting too
[09:23:29] <Andreas Stenius> How does the wildcards in the Emakefile work?
[09:24:01] <Andreas Stenius> isn't src/*/* covering the src/behaviours/* for instance?
[09:24:12] <Andreas Stenius> looking at http://shop.oreilly.com/product/9780596514556.do
[09:24:20] <Andreas Stenius> sorry, wrong link: https://github.com/zotonic/zotonic/blob/master/Emakefile
[09:24:42] <Marc Worrell> hmmm, it is indeed
[09:25:02] <Marc Worrell> but then the behaviours should already be compiled in an earlier stage
[09:25:21] <Marc Worrell> so it doesn't matter to check if they are changed in the mean time
[09:25:24] <Andreas Stenius> ah, is that why they are listed explicitly
[09:25:53] <Marc Worrell> yep
[09:26:03] <Marc Worrell> Getting credit card to order some books
[09:26:21] <Andreas Stenius> I like books. :)
[09:27:03] <Maas> I'm only buying ebooks now. Recently moved all my books to the office. The collections was getting too big..
[09:28:40] <Andreas Stenius> My shelf is getting crowded too, but I kind of like to feel my books...
[09:29:08] <Marc Worrell> me too - i love dead trees
[09:29:51] <Andreas Stenius> would love to have my entire collection as e-books too, though. As it is handy for searching etc..
[09:30:53] <Maas> A couple are still in the house...
[09:31:59] <Marc Worrell> O'Reilly has a 'sync to dropbox' feature - very convenient
[09:33:04] <Andreas Stenius> oh, cool
[09:33:49] <Maas> Yup, pragprog have also something like that. They also support sending things straight to my kindle.
[09:33:51] <Marc Worrell> Also want to explore dropbox integration with Zotonic - could be a great way of uploading or editing content.
[09:34:41] <Andreas Stenius> hehe.. I've been pondering on a mod_dropbox module myself... but I'm already fiddling on too many ends to pick it up ;)
[09:35:16] <Marc Worrell> yeah - first finish some other things/projects
[09:35:39] <Marc Worrell> too many nice things to do - maybe some ideas for the Google Summer of Code? We need to add some projects there...
[09:35:46] <Andreas Stenius> we should plan a zotonic-close-issues-hackathon some time, to go over the open issues...
[09:36:06] <Andreas Stenius> indeedd
[09:36:32] <Andreas Stenius> ah, a client admin module for zmr would be cool
[09:36:45] <Andreas Stenius> it's been on my list for a long time, never got around to finish it
[09:36:53] <Maas> I'm working on a generic message bus right now (need it for work) busy with the comet fallback.
[09:37:08] <Andreas Stenius> that's awesome :)
[09:37:43] <Maas> Allows sending not just postbacks and js, but also other messages.
[09:39:04] <Maas> Using code from current comet implementation.
[09:39:25] <Maas> Websockets don't always work inside company networks.
[09:39:42] <Andreas Stenius> toy project to get familiar with leex and yecc: https://github.com/kaos/tomle :)
[09:43:31] <Marc Worrell> I think we all can edit the Google Summer of Code wiki pages - so let's add some ideas there and work them out on that page.
[10:04:57] Maas leaves the room
[10:06:59] Maas joins the room
[10:07:54] <Marc Worrell> hmmm, I get crashes in lager - because it takes the element(2, …) from a pid
[10:10:04] <Maas> I noticed yesterday that this is a newer lager version from what we had earlier. We had 0.9.something the rebar.config now says 1.0.0
[10:11:04] <Maas> I like the current setup... with rebar.config deps.
[10:12:04] <Marc Worrell> yep - setup is better - but that lager error is strange
[10:12:22] <Marc Worrell> I changed it into:
[10:12:23] <Marc Worrell> {error_report, _GL, {Pid, supervisor_report, D}} ->
?CRASH_LOG(Event),
case lists:sort(D) of
[{errorContext, Ctx}, {offender, Off}, {reason, Reason}, {supervisor, Name}] ->
Offender = format_offender(Off),
Name1 = case is_tuple(Name) of
true -> element(2, Name);
false -> Name
end,
?LOG(error, Pid,
"Supervisor ~w had child ~s exit with reason ~s in context ~w",
[Name1, Offender, format_reason(Reason), Ctx]);
[10:12:39] <Marc Worrell> maybe we need to branch this one off as well….
[10:13:36] <Andreas Stenius> why not try a pull request first.. ;)
[10:13:46] <Maas> Yeah indeed.
[10:13:52] <Maas> Github style.
[10:14:01] <Marc Worrell> They probably start screaming something like "this can't happen!"
[10:14:02] <Marc Worrell> :p
[10:14:08] <Andreas Stenius> :p
[10:14:23] <Andreas Stenius> well , in that case... fork away ;)
[10:15:00] <Marc Worrell> They are expecting something like: {supervisor, {local, steve}
[10:15:08] <Marc Worrell> But I get {supervisor, Pid}
[10:15:20] <Andreas Stenius> well, they should support that :D
[10:15:48] <Maas> They expect only local named stuff
[10:16:10] <Marc Worrell> Yeah funny - I don't name my supervisors, why should I?
[10:17:03] <Maas> Then you can call them from elsewhere.
[10:17:08] <Andreas Stenius> because there could be a whole bunch of them.. and don't like name clashes :p
[10:17:28] <Marc Worrell> Supervisor van also be global, strange that they use ~w for the supervisor term.
[10:17:39] <Maas> hehe.. That is why I made reggy... multiple process registries....
[10:17:40] <Marc Worrell> Just ~p and show as-is seems to better to me
[10:18:43] <Maas> And use any erlang term as name.
[10:19:00] <Marc Worrell> oh, ~w is also for erlang tems :p
[10:19:14] <Marc Worrell> yes - just display {local, name} when it is local
[10:19:24] <Maas> pff
[10:19:32] <Marc Worrell> I fork and submit a patch
[10:20:45] <Marc Worrell> Can rebar understand that lager is lager, independently were it came from? Then we can fork to zotonic and have some control on what we use.
[10:21:07] <Maas> Wow.... finally after 4 months.... internet at the office.
[10:21:41] <Maas> I thought it just looked at the name
[10:22:49] <Andreas Stenius> It can look at just the name, but then it won't be able to fetch it
[10:23:14] <Andreas Stenius> from: https://github.com/basho/rebar/blob/master/rebar.config.sample
%% What dependencies we have, dependencies can be of 3 forms, an application%% name as an atom, eg. mochiweb, a name and a version (from the .app file), or%% an application name, a version and the SCM details on how to fetch it (SCM%% type, location and revision).%% Rebar currently supports git, hg, bzr, svn, and rsync.{deps, [application_name,        {application_name, "1.0.*"},        {application_name, "1.0.*",         {git, "git://github.com/basho/rebar.git", {branch, "master"}}},        %% Dependencies can be marked as 'raw'. Rebar does not require        %% such dependencies to have a standard Erlang/OTP layout        %% which assumes the presence of either        %% "src/dependency_name.app.src" or "ebin/dependency_name.app"        %% files.        %%        %% 'raw' dependencies can still contain 'rebar.config' and        %% even can have the proper OTP directory layout, but they        %% won't be compiled.        %%        %% Only a subset of rebar commands will be executed on the        %% 'raw' subdirectories: get-deps, update-deps, check-deps,        %% list-deps and delete-deps.        {application_name, "",         {git, "git://github.com/basho/rebar.git", {branch, "master"}},         [raw]}]}.
[10:23:37] <Andreas Stenius> gah, sorry, quite unreadable (on my client at least)
[10:24:42] <Andreas Stenius> not sure what point it is to list dependencies by just a name though... what does it do with that information?
[10:32:46] <Marc Worrell> Let's see what happens https://github.com/basho/lager/pull/115
[10:33:52] <Andreas Stenius> haha... cool, github has integrated travis feedback on your pull commit
[10:34:09] <Andreas Stenius> https://travis-ci.org/basho/lager/builds/5308864
[10:35:05] <Marc Worrell> LOL, I have to correct the tests....
[10:35:51] <Maas> Failed.
[10:36:08] <Andreas Stenius> push another commit to the pull... :p
[10:36:39] <Andreas Stenius> I think that's a pretty good move on github's part. It helps bring quality pull requests..
[10:36:56] <Maas> Fails on the error message report string...
[10:37:42] simon.smithies joins the room
[10:38:03] <Andreas Stenius> Hi Simon :)
[10:40:34] <Marc Worrell> cool - travis CI integration, we need to enable our tests as well :)
[10:40:51] <simon.smithies> Hi there
[10:41:12] <Maas> Do we have tests :p
[10:41:38] <Andreas Stenius> I think our tests need to be brought up-to-date and isolated
[10:41:48] <Marc Worrell> yep - we have, and they are ancient
[10:41:51] <Andreas Stenius> shouldn't need a running db backend for instance
[10:41:51] <Marc Worrell> like the dinosaurs
[10:41:58] <Andreas Stenius> :p
[10:42:05] <Marc Worrell> travis has psql running :)
[10:42:30] <Andreas Stenius> again, I think that's good to test the db layer, the rest should be tested in isolation from the db...
[10:42:48] <Andreas Stenius> meck to the rescue?
[10:43:10] <Maas> It is not always fun having to drag the whole context around.
[10:43:22] <Andreas Stenius> I made a hackish way to test my mod_rbac by pre-filling the depcache to avoid the db calls...
[10:43:30] <Andreas Stenius> hackish at best, but it worked ;)
[10:44:31] <Maas> I need to get working on that db layer.. Then we can test with db against an in-memory sql db... makes cleanup easy.
[10:45:02] <Marc Worrell> Shall we switch to lager 1.2.2 ? That is the newest.
[10:45:13] <Andreas Stenius> https://github.com/kaos/zotonic/blob/rbac/modules/mod_rbac/support/mod_rbac_tests.erl#L69
[10:45:29] <Andreas Stenius> why not? (no idea what changed etc...)
[10:45:40] <Andreas Stenius> should be better, right?
[10:49:17] <Marc Worrell> could be done this way - but really assumes a lot about the core routines and how they cache
[10:50:10] <Maas> If we test with db our site installation code must be really good. Which helps newcomers too.
[10:51:08] <Andreas Stenius> Marc Worrell: indeed, it was not a sugestion how to do it, just how I've done it. "Hackish at best" is not something to strive for.. :p
[10:51:33] <Andreas Stenius> hence, meck to the rescue... ;)
[11:01:26] <simon.smithies> andreas:
[11:01:36] <simon.smithies> am playing with your gitolite suggestion :)
[11:01:41] <Andreas Stenius> :)
[11:02:05] <Andreas Stenius> how's it going?
[11:02:10] <simon.smithies> good
[11:02:32] <simon.smithies> but struggling with permissions in the directory I'm "hooking" to
[11:03:33] <simon.smithies> files arrive in there as git:git
[11:03:42] <simon.smithies> I want them to be zotonic:zotonic
[11:06:59] <simon.smithies> I think I can change the ownership in the hook script
[11:19:56] simon.smithies leaves the room
[11:30:35] <Marc Worrell> https://github.com/beamcommunity/beamcommunity.github.com/wiki/Project:-Zotonic
[11:33:38] <Maas> Now I know what the wiki is for.
[11:34:50] <Maas> The idea is that students are going to pick a project to code over the summer right?
[11:34:57] <Andreas Stenius> yep
[11:36:08] <Maas> Then it should be some really cool project which could potentially generate a little bit of buzz for them too.
[11:36:12] <Marc Worrell> yes, and before that we need to brainstorm there
[11:36:40] <Marc Worrell> Maybe also some visualizations
[11:36:56] <Marc Worrell> Many students like to see things :p
[11:37:25] <Andreas Stenius> just added: Modules repository integration Admin interface to search/install/uninstall modules from http://modules.zotonic.com <http://modules.zotonic.com/>.
[11:37:29] <Marc Worrell> But is shouldn't be too essential - we shouldn't be blocked by any student development work
[11:37:38] <Marc Worrell> good idea!
[11:37:49] <Marc Worrell> Maybe also a mobile admin :p
[11:37:53] <Andreas Stenius> both nice to have, visual, and non-blocker :D
[11:38:08] <Maas> cms via email
[11:38:15] <Andreas Stenius> LOL
[11:38:20] <Andreas Stenius> seriously?
[11:38:36] <Andreas Stenius> well, why not, I suppose..
[11:38:41] <Maas> Send an email to your cms, and voila, article
[11:39:00] <Andreas Stenius> ok, that could work..
[11:39:11] Andreas Stenius still smiling
[11:39:11] <Maas> You can include images and what not. Most do rich text editing too.
[11:39:22] <Maas> Gotta run
[11:39:25] <Andreas Stenius> see ya
[11:40:42] Maas leaves the room
[11:41:48] <Marc Worrell> Cool: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown
[11:42:08] <Marc Worrell> Sending the e-mail thing is rather easy, actually.
[11:42:15] <Marc Worrell> As we do parse the whole thing already
[11:53:00] jeff.5nines leaves the room
[11:53:25] jeff.5nines joins the room
[12:09:45] Maas joins the room
[12:21:23] Maas leaves the room
[12:44:03] Arjan leaves the room
[13:04:40] Maas joins the room
[13:06:05] <Maas> Too easy maybe then.. I kind of liked posterous which supported email uploads.
[13:19:39] Andreas Stenius leaves the room
[13:20:23] Andreas Stenius joins the room
[13:38:59] Maas53853 joins the room
[13:38:59] Maas53853 is now known as Maas87057
[13:38:59] Maas87057 leaves the room
[13:38:59] Maas32320 joins the room
[13:38:59] Maas32320 leaves the room
[13:38:59] Maas71455 joins the room
[13:40:51] Arjan joins the room
[14:05:51] <Maas71455> I think I'm going to remove the ets-transfer setup of mod_signal... when something crashes everything is restarted anyway. It doesn't do anything good.
[14:06:54] <Maas71455> (My zotonic with VM crashes a lot)
[14:08:00] <Maas71455> It doesn't get back online also, so something is fishy.
[14:38:21] <Arjan> which distro do you use as the base?
[14:38:48] <Maas71455> Ubuntu..
[14:38:55] <Maas71455> I know what is wrong btw.
[14:39:53] <Maas71455> Scanning takes way too.
[14:41:00] <Maas71455> The shared folder between the host and the vm is kind of slow. When that happens calls select templates timeouts..
[14:41:50] <Maas71455> The fix for that is to scan in a separate process and let the indexer answer queries while it is scanning.
[14:43:26] <Arjan> holy cow
[14:43:34] <Arjan> Uncaught error in rebar_core: {'EXIT',
{undef,
[{erlang,min,[0,3]},
[14:44:02] <Maas71455> huh, no min function? R13 or something?
[14:45:39] <Arjan> R12something
[14:45:46] <Arjan> frigging old mediatemple server
[14:45:48] <Arjan> :(
[14:46:10] <Maas71455> It needed an explicit import didn't it.
[14:46:24] <Maas71455> erlang:min is available
[14:47:03] <Arjan> this is inside the rebar command
[14:47:18] <Maas71455> Ow noes.
[14:48:27] <Andreas Stenius> ouch
[14:48:46] <Arjan> compiling from scratch
[15:01:22] Maas71455 leaves the room
[15:04:40] jeff.5nines leaves the room
[15:11:08] <Marc Worrell> I think you erlang version is too old
[15:11:09] Maas leaves the room
[15:56:56] Arjan leaves the room
[15:57:56] Arjan joins the room
[16:18:45] Maas joins the room
[16:18:56] Maas leaves the room
[16:20:30] Maas joins the room
[16:32:26] Maas92708 joins the room
[16:32:26] Maas92708 leaves the room
[16:32:26] Maas7434 joins the room
[16:32:26] Maas7434 leaves the room
[16:32:26] Maas2870 joins the room
[16:54:06] Maas leaves the room
[17:00:03] Maas joins the room
[17:00:46] Maas leaves the room
[17:32:08] Maas2870 leaves the room
[17:43:51] Maas joins the room
[18:08:07] Protagores joins the room
[18:08:27] <Protagores> Hello there.
[18:08:44] <Protagores> After the last update, my installation does not start
[18:08:53] Maas leaves the room
[18:09:17] <Protagores> webmaster@hostname:~/zotonic$ bin/zotonic start
Starting Zotonic zotonic001@hostname
make: *** [get-deps] Error 1
[18:09:50] simon.smithies joins the room
[18:09:50] <Protagores> Erlang version is R15B01
[18:12:34] Maas joins the room
[18:18:10] <Protagores> ==> zotonic (get-deps)
ERROR: Dependency dir /home/webmaster/zotonic/deps/lager failed application validation with reason:
{version_mismatch,{"/home/webmaster/zotonic/deps/lager/src/lager.app.src",
{expected,"1.2.2"},
{has,"0.9.4"}}}.
[18:18:20] <Protagores> Man, this is nasty.
[18:20:34] <Protagores> Submodules in git don't work for some reason. :P
[18:28:17] Maas leaves the room
[18:32:20] <Protagores> Lol, there is no .gitmodules in root dir. :P
[18:35:15] <Protagores> Arjan?
[18:54:30] <Andreas Stenius> Protagores: we've replaced submodules with rebar deps
[18:54:48] <Andreas Stenius> if you rm -rf deps/* then make get-deps you should be fine again
[19:01:30] <Protagores> wow
[19:01:35] <Protagores> Cool, that is.
[19:03:50] simon.smithies leaves the room
[19:04:24] simon.smithies joins the room
[19:11:44] Protagores leaves the room
[19:12:13] <simon.smithies> Restoring from a backup of a 0.8 web into v0.9 ... do the media files still go in files/preview
[19:12:14] <simon.smithies> ?
[19:13:47] <simon.smithies> have put them there but they're not coming through in the running site
[19:28:09] Arjan leaves the room
[20:00:09] simon.smithies leaves the room
[20:08:32] simon.smithies joins the room
[20:08:59] simon.smithies leaves the room
[20:14:39] Maas joins the room
[20:55:44] <Maas> @marc, with the new lager I now
[20:56:11] <Maas> get an error {undef,[{lager,dispatch_log,[info,zotonic_sup,init,17
[21:06:02] <Maas> Oh, nothing.. I "just" needed a complete rebuild because it uses a parse transform.
[21:38:32] Arjan joins the room
[22:33:06] Andreas Stenius leaves the room
[23:34:37] Maas55261 joins the room
[23:34:37] Maas55261 leaves the room
[23:34:37] Maas16183 joins the room
[23:34:37] Maas16183 is now known as Maas55261
[23:34:37] Maas55261 leaves the room
[23:34:37] Maas19353 joins the room
[23:34:37] Maas19353 is now known as Maas6925
[23:34:37] Maas6925 leaves the room
[23:34:38] Maas19353 joins the room
[23:39:51] <Maas19353> From what I remember the files from files/preview are generated. I'm not sure what the restore procedure is here.
[23:40:47] <Maas19353> There are some hints in our new documentation. http://zotonic.com/docs/latest/ref/tags/tag_image.html
[23:41:44] <Maas19353> To me it looks like you have to make sure the images from files/archive are restored.
[23:41:53] Maas19353 leaves the room
[23:44:39] Maas leaves the room
[23:53:50] Arjan leaves the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!