Sunday, 2009-09-13

*** tpb has joined #melange00:00
* Erant prods SRabbelier02:07
*** nuba has quit IRC02:51
*** kusum has joined #melange02:56
kusumSRabbelier: hello02:57
*** kusum has left #melange03:02
*** solydzajs has joined #melange04:58
*** ChanServ sets mode: +o solydzajs04:58
*** schmrz has joined #melange05:40
SRabbelierErant: because img tags are harmless?06:07
SRabbelierErant: of course, if you can do nasty XSS with those img tags06:07
SRabbelierErant: then please do tell us :P06:07
schmrzHi. I'm getting this error when running melange: ImproperlyConfigured: Error importing middleware app_profiler.app_profiler: "No module named pstats". python-stats is installed.06:36
schmrzAny ideas ?06:36
schmrzResolved. I forgot about python-profiler.06:40
*** schmrz has left #melange09:00
*** nuba has joined #melange09:49
*** solydzajs has quit IRC11:05
*** Merio has joined #melange11:07
*** ChanServ sets mode: +v Merio11:07
*** dhaun has joined #melange11:55
*** schmrz has joined #melange12:26
*** Merio has quit IRC13:00
*** Merio has joined #melange13:04
*** ChanServ sets mode: +v Merio13:04
schmrzI'm thinking of writing a "system" for document versioning (mainly for melange) which would be independant of the editor. What features would you (melange devs) need in that system ?13:05
schmrzExcept diffs for revision history13:06
schmrzAnyone ?14:00
SRabbelierschmrz: heya :)14:36
schmrzSRabbelier: Hey there :)14:40
schmrzThis channel isn't really busy, isn't it :)14:40
SRabbelierschmrz: no, it's not :D14:40
SRabbelierschmrz: you amir?14:41
schmrzSo, I saw a post of the upcoming ghop so I though to give a hand14:41
schmrzYes14:41
SRabbelierschmrz: ok, so the best thing you can do is chat on here with me for a while :P, and then send an email to melange-soc-dev14:41
schmrzok :)14:41
SRabbelierschmrz: so the idea of 'modules' in melange is that you create a Callback object, which tells us 1. which urls you wish to handle and  2. what sidebar links we should add for your module14:42
SRabbelierwith urls being say /document/*14:42
SRabbeliera django url pattern in any case14:42
schmrzI have never actively participated in ghop so I can't help with the overall structure of melange or some core-deep features but I think that I could implement a document versioning system.14:43
schmrzthat makes sense14:43
schmrzBut before I go into writting the system I would like to know what is needed in a system like that one. (my english sucks btw)14:44
schmrzMaybe write some design docs first...14:44
SRabbelierschmrz: meh, we're not that much a fan of design docs :P14:46
SRabbelierschmrz: have you used the socghop.appspot.com site at all btw?14:46
SRabbelierschmrz: it'd be easier to explain what we need if you had :)14:47
schmrzYes, I have.14:47
schmrzToday :)14:47
SRabbelierschmrz: we need a replacement for the document editor, you can see it when you click "Create new document" under your user menu14:48
schmrzYeah, I noticed it ( tinyMCE)14:49
SRabbelierschmrz: (please prefix your msgs with SRabbelier, or it'll take a while for me to notice you said anything)14:49
schmrzSRabbelier: ok14:50
SRabbelierschmrz: anyway, what we would want is something different in it's place14:50
SRabbelierschmrz: something that keeps track of revisions of files14:50
SRabbelierschmrz: and something with a decent editor14:50
SRabbelierschmrz: the only requirement is that whatever you implement runs on appengine, and outputs (sanitized) html14:51
schmrzSRabbelier: Hmm... I didn't think a lot about the actual editor, although it shouldn't matter. When it comes to sanitizing html output, I have noticed HtmlSanitizer.py, should I use that or ... ?14:54
SRabbelierschmrz: yes, you can use that our existing sanitizer, but preferrably a different editor than TinyMCE14:55
schmrzSRabbelier: Do you have a specific preference over the proposed alternatives ?14:56
schmrzHtmlBox, Markdown, Wikimarkdown14:56
SRabbelierschmrz: I kinda like the idea of using (wiki)Markdown myself14:56
schmrzSRabbelier: Yeah, I use Markdown in my projects too.14:57
schmrzSRabbelier: What I aim for is to be able to change the editor without losing the revision tracking abilities, so my choice wont really matter.14:58
SRabbelierschmrz: that'd be cool :)14:59
schmrzSRabbelier: The models/views in soc are quite confusing for a newcomer so I might need help with that. ( I just downloaded the code today or was it yesterday )15:02
SRabbelierschmrz: it'd be great if we could work out what's confusing about them15:02
SRabbelierschmrz: and document that/ fix it15:02
schmrzSRabbelier: Well it's probably me whining, but we'll see in few days ;) I'm looking at the Work & Review models. Basicaly work is the base for document and Review is a model for document comments, right ?15:05
SRabbelierschmrz: both correct15:05
schmrzSRabbelier: Now, should I use Work as the base for my implementation of documents. I was thinking of implementing a one-to-many rel. betwen Document and DocumentRevision. One Document can have many DocumentRevision. But this means that the actual Document wont have the content field as that will be a part of DocumentRevision.15:08
* Erant prods SRabbelier15:09
ErantOI15:09
SRabbelierschmrz: lgtm15:09
SRabbelierErant: whatddyawant?15:09
ErantWhy can I still put <img> tags in a comment?15:09
SRabbelierErant: as said, because img tags are failry innocent15:10
SRabbelierErant: unless you can do nasty XSS with them ofc15:10
SRabbelierErant: which you shouldn't be able to, sicne they're sanitized15:10
Erant<img src=http://melange-demo.appspot.com/_ah/logout> </img>15:11
ErantFor example15:11
schmrzSRabbelier: Is Work used only as a base for Document or is it used somewhere else to ?15:11
schmrz*too15:12
SRabbelierErant: wossitdo?15:12
schmrzErant: that works ? :015:12
SRabbelierschmrz: it's used by survey too15:12
schmrzSo I shouldn't touch that. :)15:13
SRabbelierschmrz: best not :)15:13
SRabbelierschmrz: you could of course create a new entity15:13
SRabbelierschmrz: call it RevisionedDocument or such15:13
Erantschmrz: Ofcourse that works.15:13
schmrzSRabbelier: that's probably what I will do15:14
SRabbelierschmrz: and then... RevisionedDocumentRevision :P15:14
schmrzhaha :)15:14
SRabbelierErant: will it log you out as soon as you visit the page?15:14
ErantSRabbelier: Yah. I'll look into it some more, if I find time.15:14
SRabbelierErant: for shame :P15:14
ErantRight now, I have other matters of security.15:14
SRabbelierErant: $dayjob related? :P15:16
ErantYah15:16
Erant<img src=http://melange-demo.appspot.com/student/manage/google/gsoc2009/erant?resign=true> </img>  <-- Before I leave, just imagine the ramifications of this ;)15:27
tpb<http://ln-s.net/4-_D> (at melange-demo.appspot.com)15:27
*** Merio has quit IRC16:19
*** Merio has joined #melange16:19
*** ChanServ sets mode: +v Merio16:19
*** schmrz has quit IRC17:29
*** schmrz has joined #melange17:30
schmrzSRabbelier: How come tinyMCE is not shown in my instance of melange (running on dev_appserver) ?17:35
SRabbelierErant: mhhh, and that works too? those should be POST actions...17:36
SRabbelierschmrz: did you run build.sh?17:36
schmrzugh no17:36
SRabbelier:)17:36
SRabbelierschmrz: we have a build script too that doesn't use bash17:36
SRabbelierschmrz: uhm, I must admit I don't use it though :D17:37
schmrzSRabbelier: haha17:37
schmrzSRabbelier: what does build.sh do ?17:37
schmrzSRabbelier: because the app was running just fine without it :)17:37
ErantSRabbelier: It's how the link is defined in the Resign tab17:37
ErantI didn't actually try it.17:37
SRabbelierErant: yes, it will work17:37
SRabbelierErant: I'm saying, we should change our code17:38
SRabbelierErant: so that it requires a POST action17:38
Erantschmrz: It... builds stuff?17:38
SRabbelierschmrz: I forget, I think it zips up stuff to make tinymce work17:38
ErantSRabbelier: Yah, want me to file a bug?17:38
SRabbelierErant: durr, maybe? :P17:39
Erant(Would there be a way to do this for logging out too?)17:39
SRabbelierErant: describe it as "modification actions should be POST, not GET"?17:39
SRabbelierErant: no, I think that's just how appengine is17:39
ErantSomething like that17:39
ErantWell, you could redirect it.17:39
ErantUnless you have no control over that actual link17:39
SRabbelierErant: I don't17:40
SRabbelierErant: all _ah stuff is appengine controlled17:40
Erantk17:44
ErantDone, and done.17:44
SRabbelierErant: so as to make actiosn what? :P17:48
SRabbelierI think you need an "impossible" somewhere17:48
SRabbelieroh, it's just moved at the end of a sentence17:49
SRabbelieruhm, that reads really weird :P17:49
SRabbelierit's a continued sentence, except there's no comma to indicate it is17:49
*** dhaun has quit IRC17:58
ErantAh pfrt17:59
schmrzSRabbelier: I'm tangled in the views code. Can you help out :-) I can't find the actual code that is showing the document :\18:04
SRabbelierschmrz: uhm, it's getting late here, but the actual showing is probably being done in soc.views.models.base18:04
SRabbelierschmrz: try adding a 'diaf' there to see which one18:05
SRabbelierI'd be more specific, but I really should be off to bed and need to finish this presentation :P18:05
schmrzSRabbelier: kk. It's getting late here too (Central Europe) 12:10AM :)18:05
SRabbeliersame tz then18:06
schmrzSRabbelier: But I did check soc.views.models.base ... Nevermind, I will continue in the morning with a fresh cup of coffe :)18:07
SRabbelierschmrz: we really need to rework our view system, there's too much magic going on :P18:07
schmrzSRabbelier: yeah I really don't get the Views/Models part where Models are derived from base.View. Why are they called models ? :D18:08
SRabbelierwait, they're not18:09
SRabbeliermodels are derived from the base model class18:09
SRabbeliersoc.models.base18:09
SRabbelierviews are drived from the base view class18:09
SRabbeliersoc.views.models.base18:09
schmrzSure but I mix them with db.Models18:11
schmrz*as in mix them in my head :D18:11
SRabbelierschmrz: hehe18:11
SRabbelierdb.Model is the base class to soc.models.base :P18:14
SRabbelierdb.Model <- soc.models.base <- soc.models.work <- soc.models.document18:14
schmrzYes and object <- soc.views.models.base.View <- soc.views.models.document.View :)18:17
SRabbelierschmrz: correcct18:17
SRabbelierschmrz: make more sense?18:19
schmrzWhen written in python-path style it makes sense but when browsing the source code repository for the first time...18:19
schmrzAnd I still haven't found the magic show for documents :D18:20
SRabbelierschmrz: time for bed here, I'm more than happy to give you a full tour tomorrow :)18:21
schmrzI will continue in the morning...18:21
schmrzYeah :)18:21
schmrzThank you and good night18:21
SRabbelierschmrz: you too! :)18:24
*** schmrz has quit IRC18:26
*** mithro has quit IRC20:01
*** tansell has joined #melange20:23
*** mithro has joined #melange20:25
*** ChanServ sets mode: +v mithro20:25
*** Merio has quit IRC22:28
*** tansell_laptop has joined #melange23:59

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