Friday, 2010-05-21

*** tpb has joined #melange00:00
*** lresende has quit IRC00:30
*** r0bby|android has joined #melange06:30
*** tansell-laptop has joined #melange06:32
*** Leo__ has joined #melange08:47
*** mithro has joined #melange09:16
*** ChanServ sets mode: +v mithro09:16
*** mithro has quit IRC09:27
*** Merio has joined #melange09:42
*** ChanServ sets mode: +v Merio09:42
*** Merio has quit IRC10:03
*** Merio has joined #melange10:03
*** ChanServ sets mode: +v Merio10:03
*** sttwister has joined #melange10:24
*** r0bby|android has quit IRC12:07
sttwisterMerio: ready for the meeting :)14:04
Meriosttwister: sorry didn't see you, pong in 2 minutes :P14:06
sttwisterMerio: sure14:07
Meriosttwister: going to read your latest additions to the wiki14:09
Meriosttwister: ok done :)14:10
sttwisterso, what's first ?14:10
MerioHmm I think we should talk about what you've written in the wiki14:11
MerioFirst of all, have you seen Sverre's comment on your wiki change?14:11
Meriosttwister: ^^14:12
sttwisterahh, nope. I don't see any comment :/14:12
MerioWell, so I would take the opportunity to suggest you to subscribe to project feeds14:13
sttwisterwill do14:14
sttwisterin the meanwhile, I can't even find a link to changes or wiki history14:14
MerioI'm not sure there is one available14:15
MerioHowever, beside project feeds14:15
sttwisteralso, is there any way to filter the feed ?14:16
Meriothere are two google groups more, the commits mailing list for example is very important to keep updates also on comments about commits (like yours)14:16
MerioFilter based on what?14:16
sttwistere.g. I'd like to have a feed showing only comments to my wiki14:17
MerioHowever this is the comment from Sverre, which is really very interesting :)14:17
Meriohttp://groups.google.com/group/melange-soc-commits/browse_thread/thread/2d34c2dc192efd0414:17
tpb<http://ln-s.net/6iqk> (at groups.google.com)14:17
MerioHmm I don't think it can be done easily14:17
MerioMaybe subscribing to melange-soc-commits and using some sort of gmail filter14:17
sttwisteroh, it's actually a comment to a commit14:18
MerioThere are two types of comments on wikis actually, this can be confusing a bit14:18
sttwisteryes I understand now14:18
MerioWhen you change something in the wiki you're actually somewhat "committing" to the repository14:19
MerioSo there can be comments on your wiki "commit"14:19
MerioAnd comments on your wiki "page"14:19
Merio(which you can find in melange-soc-issues google group)14:19
sttwisteryes, I didn't know wiki updates go into the repository, heh :)14:19
MerioYup actually I don't know how to see them in regular interface, I just receive updates with melange-soc-issues and melange-soc-commits emails14:20
Meriooh well, there is a "repository" select box14:20
Meriofound it now14:21
Meriohttp://code.google.com/p/soc/source/browse?repo=wiki14:21
tpb<http://ln-s.net/6irA> (at code.google.com)14:21
sttwisteraha I see14:21
Merioso here all revisions of your page14:21
Meriohttp://code.google.com/p/soc/source/list?path=/GSoC2010DataSeeder.wiki&repo=wiki&r=7fd1edb157310f0ceda53e9757368cfc9e691b2814:21
tpb<http://ln-s.net/6irI> (at code.google.com)14:21
sttwistertoo bad you can't actually see them rendered14:22
sttwisteranyway, I guess I'll look into offline tasks and see if there should be any difference between working locally and remotely for seeding14:22
MerioYes you should, first action item then ^__^14:23
MerioThis is very lucky, it would have been a major problem for your project14:24
sttwisterindeed, I should also have to find out if this changes anything about the Python fixture generation script idea that I have posted on the wiki14:25
Meriowhy should it change something?14:26
sttwisterI was thinking that there might be a way to export data from the datastore to a Python fixture directly, rather than generating the fixture file from scratch14:27
MerioThat could be cool14:27
sttwisternow since there's no need for a script to seed data locally, this might be easier and less error-prone14:27
MerioHmm I think I'm not getting your point14:28
sttwisterLet me try and explain this14:28
MerioYou mean you can for example seed the DB randomly and for example I see... "wow with these data the statistics module explodes, let's generate a fixture from this DB"?14:28
MerioSomething like that?14:29
sttwisteryes that's exactly what I mean14:29
sttwisterinstead of having a script that actually *generates* the fixture (i.e. writing to a file)14:29
sttwisterinstead of generating using the configuration file14:30
MerioHowever this should be discussed with the community too I guess14:32
Merio(action item for Monday conf call ^_^)14:32
sttwisternoted :)14:32
MerioThis is very important to discuss, because we're trying to switch to TDD14:32
MerioAnd in some way this should fit together with Leo's work on testing14:33
sttwisteryep, I guess fixtures will play a very big role, so we have to do this right14:33
MerioGreat then14:33
MerioSo about your web interface workflow...14:35
MerioI'm guessing that you're not thinking about having direct interaction with the seeder step by step, but use the web interface to build the JSON interactively and then give the final JSON to the script to actually seed the data14:36
MerioI'm not getting if this is meant to be an iterating process (now I seed students, then I seed mentors) or a one-step proces14:36
Merioprocess14:36
sttwisteryes, and then do some regular polling to check the progress and display it to the user, I forgot to mention this14:36
sttwisterI was thinking of a one-step process14:37
sttwisterI believe it's easier to handle all the relations this way14:37
MerioI don't know if you can poll to display a progress, IIRC task API doesn't give you this sort of information14:37
MerioMaybe you can just say "this task has started" and *maybe* "this task has finished"14:37
sttwisterPerhaps something like "this task has started", "Finished seeding students", "Finished seeding proposals" etc14:39
sttwisterif it's possible14:39
MerioThis one-step vs progressive seeding might need to be discussed with the community14:40
MerioThe seed_many written by Sverre was meant to be progressive, the data seeder exposed a sort of "API" callable from HTML14:40
Merioprogressive I mean incremental14:40
sttwisterok, maybe this is material more suitable to the dev list rather then the conference call ?14:41
MerioI think so, please write this today so there is the weekend to discuss14:42
MerioAlso I find the web interface a little bit limited14:42
MerioI mean it seems not to deal with timeline and/or with "objectives" (like... seed my DB to see the org home page map)14:43
MerioEven though this might be dealt with predefined JSONs14:43
MerioLoadable or copy/pastable14:43
sttwisterwell, most of these requirements are configurable, which is a one-time task14:44
sttwisteronce a predefined configuration as been created by someone, anyone can use it14:44
MerioSo we have a predefined JSON to seed the DB until "midterm surveys"14:45
Merioeither with random data and/or fixed data (fixtures)14:46
MerioLike this?14:46
sttwisteryes14:46
MerioSounds sensible14:47
sttwisterand the JSON would include time deltas relative to the current time rather than absolute values, to make sure everything is in the supposed time frame14:47
MerioCool14:47
MerioThen in my mind there should be something that the backend outputs (in JSON?) after its analysis of the DB to be displayed in the Ajaxy frontend14:48
MerioAnd maybe some automatic check of compatibility between the predefined JSONs and the actual state of the DB schema to check if they're outdated14:48
MerioMight be easy to do once you do everything with your "data providers"14:49
MerioIf your coding is clever enough for the data providers to be easy inspectable using reflection than you can gather compatibility data automatically and see if everything matches easily14:50
MerioMaybe I'm flying to high but this could be interesting for easy maintenability14:50
Merios/to/too14:50
sttwisterOk, so you mean something like "Warning: field X is not seeded", or "Error: field y doesn't exist in model Y" ?14:50
MerioYes something like that14:51
sttwisterthat shouldn't be too hard to do14:51
MerioMaybe this could be a separate script that runs once you get into the data seeder page14:51
MerioSo you do everything server side and communicate to the client if there are incompatible JSONs14:52
MerioBecause my best guess is that you have all JSON read by the server, because it's not easy to get directory files info in Javascript14:52
MerioI mean this is something that can be easily done in Firefox but then it's not easy to port14:53
Merioto other browsers as well... so yeah, the backend should send all the JSONs configuration info to the client14:53
sttwisterI was thinking of actually uploading the JSON to the server14:53
MerioWell as first step don't deal with updating JSON, just read from the backend in a predefined directory and then send simple info like name of file and title/content to the GUI14:54
MerioThen when you click on some file the JSON is downloaded ajaxy way, parsed in the JavaScript and displayed in the GUI14:54
*** madrazr has joined #melange14:55
*** ChanServ sets mode: +v madrazr14:55
MerioMakes sense to you?14:55
sttwisterwhy would you query the server for the JSON since JSONs files are generated by the web interface locally (with some AJAX interaction with the server)14:56
Meriofor "displayed" I mean you don't see the actual JSON file but the GUI is properly changed to display in a user friendly way what it's in the JSON14:56
sttwisteryes, I understand that14:56
Merioyou might want to store them, no?14:57
sttwisterbut that should also work for user, local files14:57
sttwistertbh, I didn't think of that14:57
MerioYes, by server I mean your local instance14:57
MerioYou have predefined JSONs (like "midterm surveys")14:58
MerioAnd then you can build a configuration from scratch14:58
MerioIf you build a configuration from scratch you can save it, yes14:58
MerioBut this is done by sending the JSON to the currently running instance and saved on your local filesystem by the python end14:58
MerioSo you can then easily commit the new file14:59
sttwisterok, and what happens on GAE ? Should files be stored as BLOBs somewhere ?14:59
sttwisteror should this be a local-only feature ?14:59
MerioThe file should be stored somewhere in the HG repository (so in your local filesystem)15:00
MerioI mean in the filesystem, if it's ran remotely than it can be done anyway15:00
*** antarus_ is now known as antarus15:00
MerioI don't know if you can create files on GAE15:00
*** antarus has quit IRC15:00
*** antarus has joined #melange15:00
sttwisterI don't think you can15:01
Meriofor some security reason, that I don't know15:01
MerioWell so you can store them in a simple string (no need for BLOB), like we did in the statistics module15:01
antarusstoring local files would be way too dangerous ;)15:02
Merioantarus: yep it's reasonable ^^15:02
sttwisterSo then, would the JSON files be deployed to GAE too ?15:03
sttwisterso a user wanting to seed a live instance would just select a file from a list rather than uploading15:03
Meriosttwister: developer list ftw :P15:03
MerioI mean in my mind you should have both options15:03
MerioI would prefer some physical file for predefined JSONs so we can track changes15:04
MerioI mean otherwise they're not available when you checkout the code15:04
MerioCan't you read from the file system as well?15:05
sttwisterwell, there's nothing stopping the files for being in the repository, but not deployed to GAE15:05
MerioI mean maybe when the data seeder starts it can load all JSON files from a directory and store them in a model15:05
sttwisterI think that is possible15:05
MerioSo well there are many options here15:06
sttwisteryes, we'll see what others have to say as well15:06
MerioYup dev list :D15:06
MerioThen I think we're done if you don't have any questions or something more to discuss about15:07
MerioI'm looking forward for the mockups :)15:07
sttwisterI'd like to talk to you about what to do next15:07
sttwisterI'll do the mockups15:08
sttwisterand perhaps some UML use case for the workflow, just to have a clearer image15:08
Merioyes I'm all for it15:08
MerioIf you can give further thoughts on the JSON configuration and the data provider that would be cool too15:08
sttwisterok, I'll provide more info on that15:09
sttwisterI'll try to post a detailed timeline with weekly milestones15:09
sttwisterand then I guess I should start coding, right? :)15:09
MerioYes Monday it's your first day!15:10
Merios/it's/is15:10
sttwisterI'll probably also post an overview of the module structure for review15:10
sttwisteris that ok ?15:10
Merioyes sounds good15:11
sttwisteri.e. the files and directory structures15:11
MerioDon't forget the blog post ;)15:11
Merio(today ;))15:11
sttwisteryes, I'll post it today!15:11
sttwister:)15:11
*** r0bby|android has joined #melange15:11
MerioSo well, I'll be around in the next hours (maybe until 20:00 your time) and afterwards I'll be online on GTalk with mobile phone, so feel free to contact me any moment15:12
sttwisterok sure15:13
Merio(oh and update the wiki with the meeting notes too ;))15:13
sttwisterwell then, I guess that's it15:13
sttwisteryep, I'm doing it as we speak15:13
MerioGreat strategy ;)15:13
sttwister:)15:14
sttwistersee you later then15:14
sttwisterbye!15:14
Meriosee you, bye!15:14
*** madrazr has quit IRC15:35
*** madrazr has joined #melange16:25
*** ChanServ sets mode: +v madrazr16:25
*** r0bby|android has quit IRC16:35
*** dhaun has joined #melange17:28
*** madrazr has quit IRC17:53
*** Merio has quit IRC18:20
*** lresende has joined #melange18:45
*** MatthewWilkes has joined #melange19:45
*** madrazr has joined #melange19:58
*** ChanServ sets mode: +v madrazr19:58
*** madrazr has quit IRC20:32
*** lresende has quit IRC20:41
*** sttwister has quit IRC20:53
*** Leo__ has quit IRC21:43
*** dhaun has quit IRC21:50
*** matthewwilkes_ has joined #melange21:57
*** MatthewWilkes has quit IRC21:58
*** matthewwilkes_ is now known as MatthewWilkes22:02

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!