2008-07-06T00:20:49  <dennda> johill: Should there possibly be a `metadata` property on Item?
2008-07-06T00:21:07  <dennda> Just wondering because Page.py uses rev.metadata at one place...
2008-07-06T00:21:21  <johill> that's the same as rev['asdf'] no?
2008-07-06T00:21:59  <dennda> No, that's likely the whole dict
2008-07-06T00:22:19  <johill> so what does it use it for?
2008-07-06T00:22:27  <dennda> err, on revision I meant
2008-07-06T00:22:59  <johill> well it can just use the revision object instaed since it is a dict
2008-07-06T00:23:10  <johill> (-like, but that doesn't matter)
2008-07-06T00:27:32  <dennda> line 181 ff
2008-07-06T00:28:02  <dennda> (Careful, it's this time of the day again. I may be talking utter nonesense)
2008-07-06T00:29:28  <johill> yeah so what's wrong with making it just return self._rev
2008-07-06T00:29:46  <johill> since a revision object works as a metadata dict
2008-07-06T00:30:39  <dennda> Well, it's used as a property
2008-07-06T00:31:10  <johill> so?
2008-07-06T00:31:20  <dennda> Nevermind
2008-07-06T00:41:31  <dennda> That is just to much code to comprehend
2008-07-06T00:41:39  <dennda> I will just run it and look where it breaks ;)
2008-07-06T00:42:26  <dennda> Wow, ran until line 1380 on first try
2008-07-06T00:52:13  <mmihaljevic> dreimark: http://paste.pocoo.org/show/78664/ - the last version of code, seemed everything except __iter__ which I still need to implement
2008-07-06T00:52:39  <mmihaljevic> dreimark: with a lot of Thomas help
2008-07-06T00:55:50  <dennda> johill: I must fix search_item now. Can you explain the basics necessary for that on how that term stuff works?
2008-07-06T00:56:02  <dennda> Or provide any pointers?
2008-07-06T00:59:47  <dennda> ok I'll just copy it from your fs.py :)
2008-07-06T01:02:24  <dennda> Ok, I now reached the _get_item_path-barrier :)
2008-07-06T01:02:31  <dennda> I will tackle that tomorrow and get some rest now
2008-07-06T01:11:42  <dennda> good night
2008-07-06T01:12:00  <mmihaljevic> gn dennda
2008-07-06T01:13:08  <johill> sorry was reorganising mail
2008-07-06T01:13:11  <johill> yeah just copy from fs
2008-07-06T01:13:31  <johill> and make _get_item_path return /tmp/ :)
2008-07-06T02:15:10  <mmihaljevic> good night
2008-07-06T10:35:04  <mmihaljevic> moin
2008-07-06T10:36:01  <waldi> ThomasWaldmann: yeah. i even think the wiki link handling need to be pulled out of that
2008-07-06T10:47:11  <johill> dennda: actually, make getPagePath return /tmp/ and print a warning (deprecation error or something)
2008-07-06T10:49:21  <dennda> g'morning
2008-07-06T10:49:38  <dennda> Hah, that will crash on mod_wsgi then :)
2008-07-06T10:49:49  <dennda> If we forget to remove it afterwards
2008-07-06T11:01:13  <dennda> w00t
2008-07-06T11:01:19  <dennda> Got the MoinMoin frontpage
2008-07-06T11:02:05  <dennda> No more and no less
2008-07-06T11:03:09  <dennda> johill: I figure PageEditor.py is next then?
2008-07-06T11:03:42  <johill> you got the frontpage? without contents, I assume?
2008-07-06T11:03:46  <dennda> sure
2008-07-06T11:03:48  <johill> i.e. just tellling you 'create page now'
2008-07-06T11:04:00  <dennda> "Create New Page", yes
2008-07-06T11:04:02  <johill> :)
2008-07-06T11:04:19  <johill> well you can either try pageeditor or the log stuff
2008-07-06T11:04:30  <johill> it'll crash if you hit 'info' I think
2008-07-06T11:04:40  <dennda> I don't know the correct "protocol" to create an item in wikiconfig_local.py to have it been shown as page there
2008-07-06T11:05:15  <dennda> there's no info
2008-07-06T11:05:38  <johill> well just create an item called FrontPage with a revision that contains the wiki markup
2008-07-06T11:05:49  <dennda> Just doing foo = b.create_item("foo"); foo.commit() isn't likely to bring up a page named "foo", is it? :)
2008-07-06T11:05:50  <johill> ah right you have no page
2008-07-06T11:06:09  <johill> you need a revision, otherwise moin assumes it's just a dead page
2008-07-06T11:06:33  <johill> but do test that too
2008-07-06T11:06:45  <johill> you might get a NoSuchRevisionError somewhere
2008-07-06T11:07:13  <johill> I have to go now, will be back for a bit after lunch (~1 probably), have fun
2008-07-06T11:07:37  <johill> or maybe in half an hour, just have to go over to my grandparents at 12
2008-07-06T11:08:31  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4302:2d3389a63a92 1.8-storage-cdenter/MoinMoin/ (10 files in 6 dirs): storage: merge with 1.8. - There was a conflict in themes/__init__.py --- Committing first broken version of the hooked up Page.py
2008-07-06T11:08:32  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4303:40e0b5189bc8 1.8-storage-cdenter/MoinMoin/ (Page.py storage/backends/memory.py): storage: Next set of changes for hooking up the new storage layer with moin. Changes to Page.py. PageEditor.py is next. -- Fixing memorybackends implementation of search_item
2008-07-06T11:09:13  <dennda> ok
2008-07-06T11:09:28  <dennda> johill: Is there no need for metadata like author or something?
2008-07-06T11:09:48  <dennda> (I already have a revision)
2008-07-06T11:11:23  <xorAxAx> dennda: no, moin should handle that gracefully
2008-07-06T11:14:00  <dennda> key  = <HIDDEN> <-- I get that in debug. How comes it is hidden? Any way to reveal it?
2008-07-06T11:16:38  <xorAxAx> :-)
2008-07-06T11:17:04  <xorAxAx> well, you need to buy a license to see the license key
2008-07-06T11:17:09  <xorAxAx> hmm
2008-07-06T11:17:09  <dennda> By the way, when doing changes to the files while running wikiserver.py, do I need to restart wikiserver.py or does it detect the changes automatically? (Like djangos dev server)
2008-07-06T11:17:15  <xorAxAx> is that in user.py?
2008-07-06T11:17:19  <dennda> yes
2008-07-06T11:17:24  <xorAxAx> then rename the variable
2008-07-06T11:17:28  <xorAxAx> thats a security feature
2008-07-06T11:17:34  <xorAxAx> (that i implemented IIRC :))
2008-07-06T11:17:56  <xorAxAx> hmm
2008-07-06T11:18:01  <xorAxAx> no, thats the wrong solution
2008-07-06T11:18:12  <xorAxAx> because i think its where its iterating over the user data
2008-07-06T11:18:21  <xorAxAx> right?
2008-07-06T11:18:27  <xorAxAx> do you think key may have sensitive information?
2008-07-06T11:18:41  <xorAxAx> i realize that classifying key as secret was a bit over-eager probably
2008-07-06T11:18:50  <xorAxAx> because value is more secret
2008-07-06T11:20:28  <xorAxAx> dennda:
2008-07-06T11:20:33  <dennda> I am trying to create a user
2008-07-06T11:20:51  <xorAxAx> that wasnt my question :)
2008-07-06T11:21:28  <xorAxAx> at some places, key is indeed a secret
2008-07-06T11:21:33  <dennda> line 503 to be precise :)
2008-07-06T11:22:03  <dennda> (of my branch of course, line numbers have changed most likely)
2008-07-06T11:22:52  <xorAxAx> just rename it to field
2008-07-06T11:22:55  <xorAxAx> i think thats safe
2008-07-06T11:23:06  <xorAxAx> uhh, i see name2id
2008-07-06T11:23:09  <xorAxAx> WTH? :)
2008-07-06T11:23:43  <dennda> renaming did work
2008-07-06T11:24:07  <xorAxAx> yes, of course
2008-07-06T11:24:16  <xorAxAx> the unsure part is whether this decreases the security
2008-07-06T11:24:30  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 3724:ca9e20751936 1.8-dom-bblank/MoinMoin/converter2/creole_in.py: Creole input converter - Remove handling of special wiki links
2008-07-06T11:24:31  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 3725:dfe212fbfcc0 1.8-dom-bblank/MoinMoin/converter2/link.py: Add link converter
2008-07-06T11:24:32  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 3726:13c8ffc8090d 1.8-dom-bblank/MoinMoin/parser/text_creole.py: Creole parser - Use link converter
2008-07-06T11:33:51  <dennda> User account created! You can use this account to login now...
2008-07-06T11:34:31  <dennda> """The page "MissingPage" could not be found."""
2008-07-06T11:34:39  <dennda> what a beautiful warning :)
2008-07-06T11:42:21  <dennda> johill: One question about the user.id that is being computed, e.g. '1215329951.6.7078'. Can I just put that in wikiconfig_local.py so that I don't have to create a new user again after each restart of the wikiserver? (Or does it change so radically that I can't log in with that afterwards?)
2008-07-06T11:44:09  <xorAxAx> dennda: before that warning, you didnt see anything :)
2008-07-06T11:44:26  <johill> dennda: hm? just use the fs backend ;)
2008-07-06T11:45:11  <dennda> johill: does it work already?
2008-07-06T11:45:18  <johill> sure
2008-07-06T11:45:34  <johill> it's pretty much complete as far as I'm concerned
2008-07-06T11:45:43  <dennda> http://paste.pocoo.org/show/78680/ <-- I had this in mind
2008-07-06T11:45:53  <dennda> well ok then
2008-07-06T11:46:47  <johill> yeah that works too
2008-07-06T11:52:58  <johill> dennda: are you converting lists to tuples for storing? just realised that email_subscribed_events seems to have worked for you
2008-07-06T11:53:18  <johill> anyway, lunch
2008-07-06T11:53:22  <dennda> johill: I did
2008-07-06T11:53:27  <dennda> at one point were it broke
2008-07-06T11:53:40  <dennda> actually I am not sure whether that is the only point where that is necessary
2008-07-06T11:54:05  <dennda> found a bug in fs.py :)
2008-07-06T11:54:16  * dennda gets some nutrition as well
2008-07-06T12:06:55  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4304:0c70d5637faa 1.8-storage-cdenter/MoinMoin/ (Page.py storage/__init__.py): storage: Abstract: Fixing bug in value_type_is_valid-typecheck-function. Didn't accept unicode. Does now.
2008-07-06T12:23:47  <dennda> I wonder how to best share those tracebacks with you
2008-07-06T12:24:35  <dennda> johill: In fs.py, _get_item_id you expect itemname to be a string. However, here it is called with an actual Item object, leading to an error in line 143
2008-07-06T12:25:14  <dennda> it is called by has_item
2008-07-06T12:25:27  <dennda> ah no worries, my fault
2008-07-06T12:25:56  <dennda> hu
2008-07-06T12:25:59  <dennda> well, no actually
2008-07-06T12:28:32  <dennda> johill: Didn't you say that the "id" there is a name? It is an instance of Item here
2008-07-06T12:28:39  <dennda> Where's the bug...
2008-07-06T12:28:50  <dennda> (I really like that traceback output)
2008-07-06T12:33:14  <dennda> ic
2008-07-06T12:34:26  <dennda> I don't like the indifferent use of the same terms in different contexts in one file
2008-07-06T12:38:05  <xorAxAx> OMFG
2008-07-06T12:38:13  <xorAxAx> the search results are not reproducible
2008-07-06T12:38:19  <xorAxAx> you always get a different listing
2008-07-06T12:38:22  <xorAxAx> http://moinmo.in/4ct10n/fullsearch/MoinMoinWiki?from=0&context=180&action=fullsearch&titlesearch=Titel&value=thememarket
2008-07-06T12:38:26  <xorAxAx> horrible
2008-07-06T12:38:30  <xorAxAx> just press F5
2008-07-06T12:39:34  <xorAxAx> and i wonder why people dont find the thememarket - because its not in the results
2008-07-06T12:39:44  <dennda> ouch
2008-07-06T12:41:39  <dennda> Hah! logged in
2008-07-06T12:45:47  <TheSheep> xorAxAx: just change the text on the button to "I'm feeling lucky today"
2008-07-06T12:46:10  <xorAxAx> :-)
2008-07-06T12:51:20  <dennda> keep that in mind for next years soc :)
2008-07-06T12:51:55  * dennda has lansch
2008-07-06T13:03:18  <gizmach> re
2008-07-06T13:08:46  <johill> dennda: I'll look at fs.py
2008-07-06T13:09:10  <johill> what was the problem?
2008-07-06T13:11:58  <johill> dennda: I don't think there's a bug, are you passing an item to get_item or has_item?
2008-07-06T13:22:02  <dennda> johill: it was called with an item
2008-07-06T13:22:04  <dennda> changed that now
2008-07-06T13:22:12  <johill> ok
2008-07-06T13:23:06  <dennda> user.py lines 302 ff create an Item object out of the id
2008-07-06T13:23:19  <dennda> just passing id.name now
2008-07-06T13:23:49  <johill> seems that a User object could just cache its item
2008-07-06T13:24:11  <johill> but I guess it's not really important as the name never changes, user objects aren't renamed
2008-07-06T13:24:45  <johill> I suppose you could also change getUserId to return user.name
2008-07-06T13:25:02  <johill> and that IndexError is bogus, it can't happen
2008-07-06T14:14:53  <xorAxAx> moin byegonweon
2008-07-06T16:10:13  * dreimark sends greetings from Vilnius
2008-07-06T16:10:30  <CIA-53> MelitaMihaljevic default * 3854:f1bd10a5453d 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/ (8 files in 4 dirs): renamed backend files to more sane name, fix import * errors, implement wiki grouppage support and a test for it
2008-07-06T16:10:42  * gizmach is sending greetings back to dreimark 
2008-07-06T16:11:55  <gizmach> dreimark: found some tiny bugs and replacing
2008-07-06T16:12:51  <dreimark> gizmach: good
2008-07-06T16:15:47  <gizmach> dreimark: I put to ldap backend to contain my isgroup method I wrote before, but will focus to fix bugs on wikigroups first
2008-07-06T16:16:21  <dreimark> gizmach: wise decision
2008-07-06T16:16:52  <dreimark> I talked with Thomas about caching, do you continue with this too?
2008-07-06T16:17:29  <gizmach> dreimark: didn't yet but will after I fix those errors.
2008-07-06T16:17:48  <gizmach> Is there anything I need to think specially for it?
2008-07-06T16:19:32  <dreimark> gizmach: Thomas told you have discussed already a lot about it, make it simple for the moment
2008-07-06T16:20:13  <gizmach> dreimark: yes we discussed about how that works, about the mtime and uptodate checking
2008-07-06T16:20:53  <dreimark> johill: I have a failing test in TestLoginWithPassword, test_upgrade_password_to_salted.... assert "" == '{SSHA}'
2008-07-06T16:21:16  <gizmach> dreimark: and for the caching what actually is my goal/job
2008-07-06T16:21:28  <dreimark> gizmach: the current code has PEP8 bugs
2008-07-06T16:21:38  <gizmach> dreimark: know, fixing them
2008-07-06T16:21:40  <dreimark> test_sourcecode will tell
2008-07-06T16:21:48  <dreimark> ok
2008-07-06T16:21:48  <gizmach> :)
2008-07-06T16:23:12  <dreimark> gizmach: test_ldap tests should skip if one has no ldap installed
2008-07-06T16:23:32  <gizmach> dreimark: yes true, my fault
2008-07-06T16:23:37  <gizmach> will add that
2008-07-06T16:23:54  <dreimark> some vof your tests do fail also for me
2008-07-06T16:24:14  <gizmach> yes and I know why if you do it with the new code
2008-07-06T16:24:39  <dreimark> ok, then it will be fixed in the evening I suppose ?
2008-07-06T16:24:42  <gizmach> I changed some import things and not changed in the code
2008-07-06T16:24:44  <gizmach> yes
2008-07-06T16:25:39  <dreimark> ok, have to leave now will try to visit the old town
2008-07-06T16:25:42  <dreimark> bbl
2008-07-06T16:25:55  <gizmach> enjoy your trip
2008-07-06T16:26:01  <dreimark> thx :)
2008-07-06T16:27:36  <ThomasWaldmann> greeting from europython
2008-07-06T16:29:23  <dennda> heh :)
2008-07-06T16:29:29  <dennda> What's going on there?
2008-07-06T16:32:47  <ThomasWaldmann> chat in hotel lounge
2008-07-06T16:33:31  <dennda> I'd love to be there, too
2008-07-06T16:33:40  <dennda> How many people usually come?
2008-07-06T16:34:12  <ThomasWaldmann> 250?
2008-07-06T16:35:43  <dennda> http://registration.europython.eu/talk_abstracts.html#47 lol?
2008-07-06T16:36:03  <dennda> (Only on IRC you can put laughter as questions)
2008-07-06T16:37:04  <gizmach> :))
2008-07-06T16:37:07  <gizmach> hi ThomasWaldmann
2008-07-06T16:41:23  <dennda> Hu, the prices are a bit... "high" :)
2008-07-06T16:41:37  <dennda> at least judging from my experience
2008-07-06T16:43:33  <gizmach> dennda: how much ?
2008-07-06T16:44:17  <dennda> gizmach: If I drove there spontaneously, I'd have to pay EUR 200
2008-07-06T16:44:41  <dennda> http://www.europython.org/Registration
2008-07-06T16:44:50  <dennda> Their page is moin powered :)
2008-07-06T16:45:48  <dreimark> hehe
2008-07-06T16:46:13  <gizmach> dreimark: I have in my test _ldap to skip if there isn't ldap on system already
2008-07-06T16:47:50  <dreimark> in the
2008-07-06T16:48:28  <dreimark> last one too
2008-07-06T16:48:48  <gizmach> ah
2008-07-06T16:49:07  <RaphaelBossek> hi, could someone give me a expertise on my statement at http://moinmo.in/FeatureRequests/DetailedForbiddenReasons
2008-07-06T16:55:58  <RaphaelBossek> ITF (intent to fix) some bugs (http://moinmo.in/RaphaelBossek) but do not know if someone is working on those issues already... how are activities synchronised between the developers at all ?
2008-07-06T17:05:00  <TheSheep> RaphaelBossek: we usually talk here, but there is a conference right now so this channel may appear dead for the next few days
2008-07-06T17:08:31  <dennda> TheSheep: Are you there, too?
2008-07-06T17:09:29  <dreimark> TheSheep: you can take the bus 2 to the hotel, it is the second station after opera (the name of this station I can't type) it costs 1.10 litas
2008-07-06T17:09:59  <TheSheep> dennda: not yet, departing in an hour, then 12h ride
2008-07-06T17:10:14  <TheSheep> dreimark: great, thanks!
2008-07-06T17:11:02  <dreimark> and the coins looks quite similiar to the euro coins
2008-07-06T17:13:52  <dreimark> TheSheep: money can be exchanged at the airport
2008-07-06T17:14:09  <dennda> But are of less worth :)
2008-07-06T17:17:26  <TheSheep> dennda: they are worth about the same as Polish money
2008-07-06T17:17:41  <TheSheep> dreimark: we go by bus :)
2008-07-06T17:18:24  <TheSheep> dreimark: but thanks for the hints
2008-07-06T17:18:33  <dreimark> ;)
2008-07-06T17:19:04  <dreimark> TheSheep: ok, was not aware
2008-07-06T17:24:44  * dennda prepares for departure
2008-07-06T17:26:54  <dreimark> RaphaelBossek: we will add some documentation on a subpage of MoinDev
2008-07-06T17:27:55  <RaphaelBossek> dreimark, ok
2008-07-06T17:40:16  <dreimark> bbl
2008-07-06T17:40:19  <gizmach> johill: did u change some in user tests? (wasn't merging for 2 days) 2 tests fail
2008-07-06T17:42:37  <byegonweon> xorAxAx: moin
2008-07-06T17:42:46  <xorAxAx> moin by
2008-07-06T17:42:49  <xorAxAx> byegonweon:
2008-07-06T17:47:04  <CIA-53> MelitaMihaljevic default * 3855:af4e9cc5926b 1.8-ldapgroups-mmihaljevic/MoinMoin/ (3 files in 3 dirs): fixed pep8 errors
2008-07-06T17:47:04  <CIA-53> MelitaMihaljevic default * 3856:f4dd0db188a8 1.8-ldapgroups-mmihaljevic/MoinMoin/ (3 files in 3 dirs): fixed tests related to datastruct and datastruct backends
2008-07-06T18:01:43  <CIA-53> MelitaMihaljevic default * 3857:79dfd7c62f61 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/backends/group_ldap.py: added __contain__ implementation to LDAP group manager
2008-07-06T18:38:39  <CIA-53> MelitaMihaljevic default * 3858:8c43917c964e 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/backends/group_ldap.py: fixed pep8 error
2008-07-06T19:07:19  <gizmach> dreimark: or ThomasWaldmann please ping me when you will be here, (about the cache stuff)
2008-07-06T19:07:33  <gizmach> afk for some short time
2008-07-06T20:26:37  <xorAxAx> johill: i am using a telnet server on localhost now
2008-07-06T21:18:45  <gizmach> re
2008-07-06T22:00:22  <dreimark> re
2008-07-06T22:12:24  <dreimark> ping gizmach
2008-07-06T22:12:33  <gizmach> dreimark: hi
2008-07-06T22:12:52  <dreimark> what are the questions?
2008-07-06T22:13:19  <gizmach> well for the first what about the cache I actually need to do ( I'm a bit confused)
2008-07-06T22:19:51  <gizmach> because the cache I was playing with in wikigroup code was adding to cache and caching if the pages are uptodate
2008-07-06T22:24:04  <dreimark> and if you change a group page it will be updated again
2008-07-06T22:26:00  <gizmach> yes
2008-07-06T22:26:46  <gizmach> every time when you try to get a page it will check if the page is in cache and if it is changed in the meantime
2008-07-06T22:29:55  <dreimark> that's true
2008-07-06T22:30:29  <dreimark> the reason for this that you have much less file io
2008-07-06T22:31:56  <gizmach> :)
2008-07-06T22:32:20  <dreimark> to read the data from a page you have first to read the file where the revision is stored
2008-07-06T22:32:30  <dreimark> afterwards the revision
2008-07-06T22:32:47  <dreimark> the revision data has to be parsed
2008-07-06T22:33:07  <gizmach> ok, yes
2008-07-06T22:33:30  <dreimark> the cache is all these steps in one by accessing a cache file
2008-07-06T22:34:30  <gizmach> ok I understand that part
2008-07-06T22:37:57  <xorAxAx> but now it needs to be solved differently
2008-07-06T22:38:05  <xorAxAx> the idea is to use an observer pattern
2008-07-06T22:38:17  <xorAxAx> that the backends use to notify the place where the caching is done
2008-07-06T22:39:29  <gizmach> by the place where the caching is done you mean for example part of code that calls cache(....)
2008-07-06T22:40:34  * gizmach looks at the explanation of observer pattern
2008-07-06T22:40:52  <xorAxAx> no ...
2008-07-06T22:40:59  <xorAxAx> you have to completly redesign it
2008-07-06T22:41:05  <xorAxAx> there is no call "to cache"
2008-07-06T22:41:30  <dennda> gizmach: There are plenty of patterns in wikipedia
2008-07-06T22:41:42  <gizmach> dennda: :) looking at them
2008-07-06T22:42:03  <gizmach> btw I have storm comming so if I stay out of electricity just to know I didn't runaway
2008-07-06T22:42:38  <gizmach> dennda: yes there is also py example
2008-07-06T22:42:47  <dennda> orly? cool
2008-07-06T22:44:01  <gizmach> http://en.wikipedia.org/wiki/Observer_pattern#Python
2008-07-06T22:45:12  <gizmach> also some examples on aspn,
2008-07-06T22:45:30  <gizmach> xorAxAx: ok I'm getting to understand the concept
2008-07-06T22:49:20  <gizmach> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/498259 this for example
2008-07-06T22:56:20  <xorAxAx> byegonweon: did you find the last safari issues?
2008-07-06T22:56:54  <byegonweon> xorAxAx: what issue?
2008-07-06T22:57:11  <xorAxAx> byegonweon: that it sends corrupt html. or is that fixed already? because its still on the issues list
2008-07-06T22:58:18  <byegonweon> xorAxAx: what I send to fckeditor dev team is not yet fixed. and I try to another solution.
2008-07-06T22:58:21  <xorAxAx> gizmach: the authorative data is somewhere "below" the backends
2008-07-06T22:58:33  <xorAxAx> gizmach: and some backends can signal updates, others can not
2008-07-06T22:58:44  <xorAxAx> nevertheless you dont want to reimplement caching in every backend
2008-07-06T22:59:07  <gizmach> heh yes true
2008-07-06T22:59:51  <xorAxAx> so you need an interface that describes what a backend can do and use an observer pattern if necessary
2008-07-06T23:00:25  <xorAxAx> of course you could also just try to implement a TTL based cache
2008-07-06T23:01:50  <gizmach> ok let me try to procces it with my brain
2008-07-06T23:02:06  <Geoff_o> anyone home here?
2008-07-06T23:02:46  <xorAxAx> byegonweon: did you read my "The selection plugin has no comment that explains how it works." hint? :)
2008-07-06T23:03:09  <xorAxAx> gizmach: do you know why one would want to cache? :)
2008-07-06T23:03:22  <byegonweon> xorAxAx: yes. I already start do that work. almost done.
2008-07-06T23:03:35  <xorAxAx> byegonweon: cool
2008-07-06T23:03:44  <gizmach> to have less I/O operations and just to read things from cache
2008-07-06T23:03:47  <gizmach> ?
2008-07-06T23:06:27  <xorAxAx> gizmach: yes. also think in terms of latency. to process a wiki page, the question "is person in group xyz" needs to answered a lot of times. and if you do an ldap query for each call, rendering a page might need 10 seconds
2008-07-06T23:06:41  <xorAxAx> and the ldap admin would kill you
2008-07-06T23:07:49  <gizmach> :)) I'm sure he would
2008-07-06T23:08:31  <gizmach> and also pagegroup backend and ldap needs to cache but config backend does not
2008-07-06T23:10:06  <xorAxAx> yes
2008-07-06T23:13:43  <gizmach> I don't know is it a good idea to put a flag or something is_cachable (I know it's stupid name)
2008-07-06T23:16:16  <xorAxAx> a flag sounds good. but does is_cachable make sense?
2008-07-06T23:17:47  <gizmach> xorAxAx: well not really it sounds nonsense and stupid
2008-07-06T23:18:03  <xorAxAx> hehe
2008-07-06T23:20:26  <gizmach> also I think it should be in GroupManager code set the flag, not for the GroupManagerBackend object for example GroupManager(docache=True,GroupManagerBackend(..)I if I'm right or not?
2008-07-06T23:21:30  <gizmach> not really
2008-07-06T23:22:27  <mmihaljevic> got disconnected
2008-07-06T23:28:25  <mmihaljevic> no the flag should be set only while instancing backend object, higher level code does not to know that
2008-07-06T23:40:05  <mmihaljevic> to summarize:I will need add to Page class which will send notification that data is chaned and than to add for the wikigroup backend receiver of notifications and simmilar to LDAP but to make that code as a separate module
2008-07-06T23:46:07  <dreimark> what happens if one cleans the cache?
2008-07-06T23:46:52  <dreimark> e.g. moin maint cleancache
2008-07-06T23:47:01  <mmihaljevic> hm.. probably I need to have to get notification for it
2008-07-06T23:47:14  <mmihaljevic> dreimark: yes I understanded
2008-07-06T23:47:16  <mmihaljevic> hm...
2008-07-06T23:48:38  <mmihaljevic> but if I get cache notifications I will get them all the time when something is cached
2008-07-06T23:48:43  <mmihaljevic> and I don't want it
2008-07-06T23:49:05  <xorAxAx> mmihaljevic: no, that wont work
2008-07-06T23:49:22  <xorAxAx> mmihaljevic: the page class cant send to all wikigroup backends
2008-07-06T23:49:30  <xorAxAx> mmihaljevic: because they might be in different processes
2008-07-06T23:49:42  <mmihaljevic> hm.. yes right
2008-07-06T23:49:54  * dreimark has to sleep we have +1h 
2008-07-06T23:50:12  <dreimark> gn
2008-07-06T23:50:15  <xorAxAx> the observer pattern is only useful in the "datastructs" components
2008-07-06T23:50:31  <mmihaljevic> dreimark: :) ok , btw I have exam at college we'll see at the evening
2008-07-06T23:50:47  <mmihaljevic> xorAxAx: hm.. yes
2008-07-06T23:51:59  <mmihaljevic> but the thing that I don't understand properly is a page content will change and backand needs to know that
2008-07-06T23:52:10  <mmihaljevic> (that I understand)
2008-07-06T23:52:29  <xorAxAx> huh
2008-07-06T23:52:35  <xorAxAx> what dont you understand?
2008-07-06T23:53:20  <mmihaljevic> it's observer pattern -> it needs to have a part in backend
2008-07-06T23:53:28  <mmihaljevic> and say ok track page
2008-07-06T23:54:21  <mmihaljevic> but where I need to put the other part to say - ok page is changed
2008-07-06T23:55:02  <xorAxAx> you cant push that
2008-07-06T23:55:09  <xorAxAx> you need to pull ... by looking at the mtime
2008-07-06T23:55:26  <xorAxAx> of some authorative data file
2008-07-06T23:55:48  <mmihaljevic> oh that makes more sense
2008-07-06T23:55:49  <xorAxAx> or cache file
2008-07-06T23:56:12  <xorAxAx> and this cache file creation is nearly completly reusable
2008-07-06T23:56:22  <xorAxAx> you just need to fix the code a bit
2008-07-06T23:56:48  <mmihaljevic> yes now I understand idea
2008-07-06T23:58:05  <mmihaljevic> thx :)

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-07-06 (last edited 2008-07-05 22:30:02 by IrcLogImporter)