IRC Archive for channel #xwiki

Last modified by Vincent Massol on 2012/10/18 18:38

xwikibot joined #xwiki at 13:24
xwiki-bridge - (13:28): [Vincent Massol] ok I think I covered them all, he spammed something like 20 pages
xwiki-bridge - (13:47): [Vincent Massol] do you think we should have a field in the registration process on xwiki.org asking why the person wants edit access? That would be step1. If we still get a lot of users then we could do step 2, which would be to send an email for validation. Or do you think it doesn't matter people keep registering on xwiki.org? (the only advantage I see is that it makes us test the scalability of users handling ;))
xwiki-bridge - (13:48): [Vincent Massol] hmm we shouldn't allow creating users on concerto.xwiki.org
xwiki-bridge - (13:48): [Vincent Massol] (unless it's not part of the farm)
xwiki-bridge - (13:48): [Vincent Massol] (haven't checked)
xwiki-bridge - (13:49): [sdumitriu] It would be better to also delete the spammed versions from the history
xwiki-bridge - (13:49): [Vincent Massol] sdumitriu: yes I was wondering about this
xwiki-bridge - (13:49): [sdumitriu] Otherwise we still link to his site
xwiki-bridge - (13:49): [Vincent Massol] is that safe to do?
xwiki-bridge - (13:49): [sdumitriu] Yes
xwiki-bridge - (13:49): [Vincent Massol] ok wasn't sure we were foolproof on this
xwiki-bridge - (13:50): [Vincent Massol] sdumitriu: so deleting the last version will automatically do a rollback right?
xwiki-bridge - (13:50): [Vincent Massol] (well not rollback but same effect)
xwiki-bridge - (13:51): [sdumitriu] Yes
xwiki-bridge - (13:51): [Vincent Massol] ok then I agree it's much better
xwiki-bridge - (13:52): [Vincent Massol] so basically we should almost never have any rollback on xwiki.org
xwiki-bridge - (13:52): [Vincent Massol] (since we do that mostly for spams)
xwiki-bridge - (13:52): [lucaa] hi guys, do we have a way to link components to their requirements declarative?
xwiki-bridge - (13:52): [lucaa] as in, instead of doing
xwiki-bridge - (13:52): [lucaa] @Requirement("hint")
xwiki-bridge - (13:52): [lucaa] to configure it declarative in an XML or smth so that I can change the implementation behind without recompiling?
xwiki-bridge - (13:53): [Vincent Massol] btw deleting a revision doesn't send a bot events apparently
xwiki-bridge - (13:53): [Vincent Massol] lucaa: we do support dynamic registration of components (if that's what you mean)
xwiki-bridge - (13:54): [sdumitriu] http://jira.xwiki.org/jira/browse/XWIKI-1949
xwiki-bridge - (13:54): [Vincent Massol] ok :)
xwiki-bridge - (13:54): [Vincent Massol] ah it's closed
xwiki-bridge - (13:54): [Vincent Massol] so?
xwiki-bridge - (13:55): [lucaa] no, what I mean is that if I want to change the implementation of a service which is used by a component, to be able to do that without recompiling. changing for example
xwiki-bridge - (13:55): [lucaa] @Requirement("xwiki")
xwiki-bridge - (13:55): [lucaa] to
xwiki-bridge - (13:55): [lucaa] @Requirement("scribo")
xwiki-bridge - (13:55): [lucaa] at this moment requires recompile
xwiki-bridge - (13:55): [Vincent Massol] you need to look it up
xwiki-bridge - (13:56): [Vincent Massol] and not inject it
xwiki-bridge - (13:56): [lucaa] by what?
xwiki-bridge - (13:56): [Vincent Massol] you inject the CM
xwiki-bridge - (13:56): [Vincent Massol] and you look up when you need it
xwiki-bridge - (13:56): [lucaa] yes, I look up, but what do I lookup?
xwiki-bridge - (13:56): [Vincent Massol] the impl you want
xwiki-bridge - (13:56): [Vincent Massol] cm.lookup(MyClass.class, "myhint")
xwiki-bridge - (13:57): [Vincent Massol] where "myhint" can be anything you want and it's dynamic
xwiki-bridge - (13:57): [lucaa] dynamic ==  I can drop whatever I want in the cp?
xwiki-bridge - (13:57): [lucaa] and it will be recognized
xwiki-bridge - (13:57): [lucaa] ?
xwiki-bridge - (13:57): [Vincent Massol] errr
xwiki-bridge - (13:57): [Vincent Massol] you're mixing stuff I think
xwiki-bridge - (13:57): [lucaa] I think so too
xwiki-bridge - (13:57): [Vincent Massol] there are 2 diffrent things
xwiki-bridge - (13:58): [Vincent Massol] - dynamic re the CM
xwiki-bridge - (13:58): [Vincent Massol] - auto-reload re the ClassLoader
xwiki-bridge - (13:58): [Vincent Massol] when the CM injects something with @Requirement
xwiki-bridge - (13:58): [Vincent Massol] it's fixed
xwiki-bridge - (13:58): [Vincent Massol] ie it's defined whenever the component is first looked up
xwiki-bridge - (13:58): [Vincent Massol] (for singletons)
xwiki-bridge - (13:58): [Vincent Massol] so if you want to choose dynamically the impl to run
xwiki-bridge - (13:59): [Vincent Massol] you need to inject the CM
xwiki-bridge - (13:59): [Vincent Massol] and look up the impl you need at runtime
xwiki-bridge - (13:59): [Vincent Massol] now re ClassLoader
xwiki-bridge - (13:59): [Vincent Massol] you'll need to either implement your own CL
xwiki-bridge - (13:59): [Vincent Massol] or put your servlet container in dev mode
xwiki-bridge - (13:59): [Vincent Massol] they almost all support monitoring the WEB-INF/lib directory to perform auto reload
xwiki-bridge - (13:59): [Vincent Massol] but this will impact perfs
xwiki-bridge - (13:59): [lucaa] yes, I'm mixing
xwiki-bridge - (13:59): [lucaa] I got it now
xwiki-bridge - (14:00): [lucaa] but re:
xwiki-bridge - (14:00): [lucaa] (02:57:27 PM) Vincent Massol: and look up the impl you need at runtime
xwiki-bridge - (14:00): [lucaa] I don't really care which impl I use
xwiki-bridge - (14:00): [lucaa] but if I change the impl, I don't want to recompile the code, I'd rather just specify it declaratively
xwiki-bridge - (14:01): [Vincent Massol] by impl I mean hint
xwiki-bridge - (14:01): [Vincent Massol] you said you want to choose the hint at runtime
xwiki-bridge - (14:01): [Vincent Massol] (that's what I uderstood)
xwiki-bridge - (14:01): [Vincent Massol] "no, what I mean is that if I want to change the implementation of a service which is used by a component, to be able to do that without recompiling. changing for example
xwiki-bridge - (14:01): [Vincent Massol] @Requirement("xwiki")
xwiki-bridge - (14:01): [Vincent Massol] to
xwiki-bridge - (14:01): [Vincent Massol] @Requirement("scribo")
xwiki-bridge - (14:01): [Vincent Massol] at this moment requires recompile"
xwiki-bridge - (14:02): [Vincent Massol] this doesn't require recompile if you do with lookup
xwiki-bridge - (14:02): [lucaa] I want to be able to change the hint, if, for example I develop another implementation and I want to change it
xwiki-bridge - (14:02): [lucaa] without recompiling the code that uses it
xwiki-bridge - (14:02): [lucaa] as we used to do before when we had all this graph in an XML
xwiki-bridge - (14:02): [lucaa] as I was doing when playing with apache felix osgi impl
xwiki-bridge - (14:03): [Vincent Massol] either I don't understand or you do: cm.lookup(class, whateverghintyouwant);
xwiki-bridge - (14:03): [Vincent Massol] osgi does CL reload btw
xwiki-bridge - (14:03): [Vincent Massol] we don't
xwiki-bridge - (14:03): [lucaa] nevermind, it's not that imporant
xwiki-bridge - (14:03): [Vincent Massol] (well we do but only for the groovy script macro for jars to load in its CL)
xwiki-bridge - (14:12): [tmortagne] lucaa: put the hint in the configuration
xwiki-bridge - (14:12): [tmortagne] and use cm.lookup(class, whateverghintyouwant); instead of automatic injection as Vincent Massol suggested
xwiki-bridge - (14:13): [tmortagne] cm.lookup(class, configuredHint);
xwiki-bridge - (14:13): [tmortagne] to get the component
xwiki-bridge - (14:14): [tmortagne] the other way is to have two implementation using the same hint in two different modules, then you choose which module to put in /lib folder
xwiki-bridge - (14:26): [lucaa] tmortagne: configuration = xwiki configuration? xwiki.cfg or smth?
xwiki-bridge - (14:27): [tmortagne] component configuration, xwiki.properties
xwiki-bridge - (14:27): [tmortagne] like we do for cache
xwiki-bridge - (14:27): [lucaa] ok, properties
xwiki-bridge - (14:27): [tmortagne] you choose in xwiki.prtoperties if you want to use jbosscache or oscache implemenattion
xwiki-bridge - (14:27): [lucaa] ok
xwiki-bridge - (14:28): [tmortagne] or the velocity macro filter
xwiki-bridge - (14:28): [Vincent Massol] wait
xwiki-bridge - (14:28): [Vincent Massol] I don't think this is correct
xwiki-bridge - (14:28): [Vincent Massol] we already support the ability to swap implementations
xwiki-bridge - (14:28): [Vincent Massol] by registering a component with the same hint
xwiki-bridge - (14:28): [Vincent Massol] we shouldn't care about "scribo" in XE
xwiki-bridge - (14:29): [Vincent Massol] nor should we care about exposing a way to override the component impl
xwiki-bridge - (14:29): [Vincent Massol] (since it's a default feature of the CM)
xwiki-bridge - (14:29): [lucaa] I assumed there are solutions, it's not that important, it's just a matter of approach, the way to operate with components
xwiki-bridge - (14:29): [lucaa] I know you can override
xwiki-bridge - (14:29): [Vincent Massol] using different hints for different impl is wrong
xwiki-bridge - (14:29): [Vincent Massol] a hint represents a concept
xwiki-bridge - (14:30): [Vincent Massol] not an impl
xwiki-bridge - (14:30): [Vincent Massol] "scribo" is not a concept
xwiki-bridge - (14:30): [tmortagne] Vincent Massol: what is a concept ?
xwiki-bridge - (14:30): [Vincent Massol] tmortagne: for ex "current" in a Resolver
xwiki-bridge - (14:30): [tmortagne] i don't see what's wrong with cache and it's different implementations
xwiki-bridge - (14:30): [Vincent Massol] you can have several implementations of it
xwiki-bridge - (14:31): [Vincent Massol] tmortagne: yes but only if you need several of them at the *same* time
xwiki-bridge - (14:31): [tmortagne] IMO the question is only if you want to be able to change by configuration
xwiki-bridge - (14:32): [Vincent Massol] I'm strongly ?1 for using that for annotations unless someone explained why we need it
xwiki-bridge - (14:32): [lucaa] xwiki and scribo was just an example, it's not really the case as I have solutions
xwiki-bridge - (14:32): [Vincent Massol] otherwise this would mean we would do the same for all components
xwiki-bridge - (14:32): [Vincent Massol] hundreds of them
xwiki-bridge - (14:32): [tmortagne] Vincent Massol: I just listen technical possibilities with componenet, annotation is different
xwiki-bridge - (14:32): [Vincent Massol] I know
xwiki-bridge - (14:33): [lucaa] Vincent we need to talk I don't understand your -1, and I feel I need to
xwiki-bridge - (14:33): [lucaa] can I call you?
xwiki-bridge - (14:33): [Vincent Massol] sure
xwiki-bridge - (14:33): [tmortagne] if it's only about haveing a different implementation depending of the application in which it's running yes it should not be hints
xwiki-bridge - (14:33): [Vincent Massol] (yes that's how I understood it)
xwiki-bridge - (14:35): [tmortagne] like we do for rendering with the linklabelgenerator or WikiModel componenets
xwiki-bridge - (14:53): [lucaa] for all: ok, we cleared that out, I won't be doing anything bad on annotations and I also have my answers about what you can and what you can't do
xwiki-bridge - (15:12): [glerouge] it was spam, I removed ti
xwiki-bridge - (15:12): [glerouge] however the bot is wrong, I removed the objectss
xwiki-bridge - (15:12): [glerouge] I'm also deleting the user account
xwiki-bridge - (15:12): [Vincent Massol] ok the new rule is to remove the revisions
xwiki-bridge - (15:12): [Vincent Massol] (that was for glerouge)
xwiki-bridge - (15:12): [glerouge] lol, I'm too late
xwiki-bridge - (15:12): [Vincent Massol] no
xwiki-bridge - (15:13): [Vincent Massol] doing it now
xwiki-bridge - (15:13): [glerouge] I meant to delete the profile, you did it just before I could
xwiki-bridge - (15:13): [Vincent Massol] nope not me
xwiki-bridge - (15:43): [silviar] glerouge actually deleted the page, but the message says Vincent deleted it. I get this every time i remove a document.
xwiki-bridge - (15:44): [Vincent Massol] silviar; yes would be great to fix this bug
xwiki-bridge - (15:46): [tmortagne] i think it just need
xwiki-bridge - (15:46): [tmortagne] blankDoc.setAuthor(context.getUser());
xwiki-bridge - (15:46): [tmortagne] blankDoc.setContentAuthor(context.getUser());
xwiki-bridge - (15:46): [tmortagne] in XWiki#deleteDocument when we generate a XWikiDocument to send to ObservationbManager
xwiki-bridge - (15:49): [Vincent Massol] tmortagne: sounds good. Indeed I don't see the author/contentauthor set
xwiki-bridge - (15:49): [tmortagne] hmm the IRC bot seems to use contex.user anyway so i'm not sure it would fix the IRC issue
xwiki-bridge - (15:49): [tmortagne]             } else if (event instanceof DocumentDeleteEvent) {
xwiki-bridge - (15:49): [tmortagne]               author = context.user
xwiki-bridge - (15:49): [tmortagne]               action = "deleted"
xwiki-bridge - (15:49): [tmortagne]             }
xwiki-bridge - (15:50): [tmortagne] so i don't understand why the user is wrong
xwiki-bridge - (15:50): [tmortagne] in teh message
xwiki-bridge - (15:51): [Vincent Massol] btw using the context user is probably not the best
xwiki-bridge - (15:51): [tmortagne] yes but it should work
xwiki-bridge - (15:51): [tmortagne] in this case
xwiki-bridge - (15:51): [Vincent Massol] right
xwiki-bridge - (15:51): [Vincent Massol] I still think your change is good
xwiki-bridge - (15:52): [tmortagne] sure my change is for the general issue in standard
xwiki-bridge - (15:52): [Vincent Massol] but not enough apparently I agree
xwiki-bridge - (15:52): [Vincent Massol] maybe the context user is set during a delete somehow
xwiki-bridge - (15:52): [tmortagne] i doubt that
xwiki-bridge - (15:52): [tmortagne] would be a security issue
xwiki-bridge - (15:53): [tmortagne] or at least it's not done on purpose
xwiki-bridge - (15:55): [tmortagne] would need to be debugged
xwiki-bridge - (15:55): [tmortagne] do we have jira issue for it ?
xwiki-bridge - (15:55): [Vincent Massol] I don't recall any
arkub left at 16:10 (Read error: 60 (Operation timed out)
Enygma` left at 17:16 (Read error: 110 (Connection timed out)
xwiki-bridge - (17:23): [mflorea] Vincent Massol, tmortagne: re macro i18n, I'm thinking to translate the macro and parameter descriptors on the server, using the localization component, before sending them to the WYSIWYG editor.
xwiki-bridge - (17:23): [Vincent Massol] mflorea: the localization component doesn't exist yet
xwiki-bridge - (17:23): [Vincent Massol] that's the reason why we asked you for this quickfix
xwiki-bridge - (17:23): [mflorea] there is one in platform core, I guess it's not usable right now
xwiki-bridge - (17:23): [Vincent Massol] right it's not used and not finished
xwiki-bridge - (17:24): [mflorea] ok, but isn't there a way to get the translation for a key on the server side inside a component?
xwiki-bridge - (17:25): [mflorea] i.e. inside the XWikiMacroService which handles  the request for macro and parameter descriptors
xwiki-bridge - (17:27): [mflorea] XWikiMacroService can translate the descriptors before sending them to the client. The WYSIWYG editor doesn't care about the language in which the macro description or parameter name is, it just displays the text.
xwiki-bridge - (17:28): [tmortagne] mflorea: that's the goal: translate server side before sending it to the client
xwiki-bridge - (17:28): [tmortagne] when we say WYSIWYG is server side WYSIWYG
xwiki-bridge - (17:28): [mflorea] The steps would be: 1) get the untranslated descriptors from the macro manager 2) translate them using a component (which one? I thought the localization component) 3) send the result to the server
xwiki-bridge - (17:28): [tmortagne] we don't know the detail
xwiki-bridge - (17:29): [mflorea] ok
xwiki-bridge - (17:29): [mflorea] then how can I get a translation inside a component?
xwiki-bridge - (17:29): [mflorea] because my server side is a component
xwiki-bridge - (17:30): [mflorea] in step 3) I meant send the result to the client, of course
xwiki-bridge - (17:30): [Vincent Massol] mflorea: wysiwyg module doesn't depend on xwiki-core?
xwiki-bridge - (17:30): [tmortagne] hmm i tough server side WYSIWYG had access to old apis
xwiki-bridge - (17:31): [mflorea] only a few plugins depend, like link, image and sync, the rest don't
xwiki-bridge - (17:31): [mflorea] the macro plugin doesn't depend on the old code. it uses only components
xwiki-bridge - (17:31): [tmortagne] at worst we can add some translate method in the bridge
xwiki-bridge - (17:32): [mflorea] yes, that would be a solution. Otherwise, I'd have to do the translation on the client
xwiki-bridge - (17:33): [tmortagne] translation on trhe client would be too expensive i think
xwiki-bridge - (17:33): [mflorea] might be, yes
xwiki-bridge - (17:35): [Vincent Massol] anothetr solution
xwiki-bridge - (17:35): [Vincent Massol] get the EC
xwiki-bridge - (17:35): [Vincent Massol] get the xwiki context from it
xwiki-bridge - (17:35): [Vincent Massol] call get() using reflection
xwiki-bridge - (17:35): [mflorea] :)
xwiki-bridge - (17:35): [Vincent Massol] it's quite easy to do and doesn't make us add a new bridge api
xwiki-bridge - (17:37): [tmortagne] a little more than that
xwiki-bridge - (17:37): [tmortagne] you have to get the MessageTool
xwiki-bridge - (17:37): [Vincent Massol] get("msg"
xwiki-bridge - (17:37): [Vincent Massol] or getMessageTool()
xwiki-bridge - (17:38): [Vincent Massol] it's either one reflection call or 2
xwiki-bridge - (17:38): [tmortagne] safer to call getMessageTool
xwiki-bridge - (17:38): [Vincent Massol] does't matter much
xwiki-bridge - (17:38): [tmortagne] since MessageTool is lasy loaded
xwiki-bridge - (17:38): [tmortagne] but it's not much yes
xwiki-bridge - (17:39): [tmortagne] at least no need api in the bridge
xwiki-bridge - (17:39): [mflorea] hmm, I don't like it much. I'd rather make the translation on the client
xwiki-bridge - (17:40): [Vincent Massol] so you'd do several calls more right?
xwiki-bridge - (17:40): [Vincent Massol] doesn't sound good
xwiki-bridge - (17:40): [mflorea] wdym?
xwiki-bridge - (17:40): [tmortagne] hwo would you do that client side ?
xwiki-bridge - (17:40): [tmortagne] you will have to do more ajax requests, don't you ?
xwiki-bridge - (17:41): [mflorea] like on the server side but with the GWT api and with the WYSIWYG resource file
xwiki-bridge - (17:41): [mflorea] no ajax call
xwiki-bridge - (17:41): [tmortagne] so it's not client side the...
xwiki-bridge - (17:41): [tmortagne] i don't understand
xwiki-bridge - (17:43): [mflorea] the wysiwyg editor has its own resource file, used to translate the UI. The macro plugin can translate the macro descriptors using the same mechanism
xwiki-bridge - (17:43): [tmortagne] ok you mean all the possible translations are always loaded with GWT ?
xwiki-bridge - (17:43): [Vincent Massol] this file is on the server
xwiki-bridge - (17:43): [mflorea] no
xwiki-bridge - (17:43): [Vincent Massol] so it has to be copied to the client side I guess
xwiki-bridge - (17:43): [mflorea] GWT generates a JavaScript file (with the code + the translation inside) for each browser and language
xwiki-bridge - (17:44): [mflorea] there is a ff+en, ff+ro, ie6+en, ie6+ro, etc.
xwiki-bridge - (17:44): [tmortagne] I mean for one language
xwiki-bridge - (17:45): [tmortagne] all the translatations of one languages are loaded
xwiki-bridge - (17:45): [mflorea] yes
xwiki-bridge - (17:45): [tmortagne] even if you don't need all of them
xwiki-bridge - (17:45): [mflorea] yes
xwiki-bridge - (17:45): [tmortagne] I have to go, back in 1h (I hope)
xwiki-bridge - (17:45): [mflorea] that's a limitation indeed, but it depend on how much key do you have
xwiki-bridge - (17:50): [mflorea] ok, I'll go with the EC server side solution for now, while waiting for the localization component.
xwiki-bridge - (18:35): [mflorea] Vincent Massol: re translation keys, http://jira.xwiki.org/jira/browse/XWIKI-4745 I'm not sure if I should add a discriminator even when the entity associated with the key doesn't have, at least currently, additional information. For instance, should I use <macroCategoryId>.name or just <macroCategoryId>. In the case of <macroId> I used name because there is also description, but we can also drop the "name" a
xwiki-bridge - (18:35): [mflorea] place the translation directly on <macroId>. wdyt?
KermitTheFragger left at 18:37 ("Leaving"
xwiki-bridge - (19:11): [jerome.velociter] committed the new importer UI
xwiki-bridge - (19:11): [jerome.velociter] hope I did not break anything:)
xwiki-bridge - (19:13): [Vincent Massol] glurs
xwiki-bridge - (19:13): [Vincent Massol] glurps
xwiki-bridge - (19:13): [Vincent Massol] I'd rather not update then
xwiki-bridge - (19:13): [Vincent Massol] since I'm debugging problems everywhere with my local code
xwiki-bridge - (19:14): [Vincent Massol] I don't need more problems :)
xwiki-bridge - (19:14): [Vincent Massol] your change should be restricted to the packager package right?
xwiki-bridge - (19:14): [Vincent Massol] (reading the mail)
xwiki-bridge - (19:14): [Vincent Massol] jerome.velociter: another lib?
xwiki-bridge - (19:15): [jerome.velociter] yes
xwiki-bridge - (19:15): [Vincent Massol] don't we already do JSON (in the live table for ex)
xwiki-bridge - (19:15): [Vincent Massol] ?
xwiki-bridge - (19:15): [jerome.velociter] not from java
xwiki-bridge - (19:15): [jerome.velociter] not from java
xwiki-bridge - (19:15): [jerome.velociter] arf
xwiki-bridge - (19:16): [jerome.velociter] my jabber client is not cooperative :)
xwiki-bridge - (19:16): [jerome.velociter] note that we more or less voted for this lib when voting for the JSON tool
xwiki-bridge - (19:16): [jerome.velociter] (that I have not commited yet)
xwiki-bridge - (19:16): [Vincent Massol] missing some comment on dynamicsize macro
xwiki-bridge - (19:17): [jerome.velociter] (in the live table we write JSON ourselves by hand - here I transform Java objects to JSON with the lib)
xwiki-bridge - (19:17): [jerome.velociter] right
xwiki-bridge - (19:18): [Vincent Massol] typo
xwiki-bridge - (19:18): [Vincent Massol] +                        // If the request is an AJAX request, we don't the whole HTML page
xwiki-bridge - (19:18): [Vincent Massol] +                        // but just the exception inline.
xwiki-bridge - (19:19): [jerome.velociter] ok
xwiki-bridge - (19:19): [jerome.velociter] fixing
xwiki-bridge - (19:19): [Vincent Massol] duplicate code:
xwiki-bridge - (19:19): [Vincent Massol] +                        Utils.parseTemplate(Utils.getPage(context.getRequest(), "exceptioninline"), context);    
xwiki-bridge - (19:19): [Vincent Massol] +                    }
xwiki-bridge - (19:19): [Vincent Massol] +                    else {
xwiki-bridge - (19:19): [Vincent Massol] +                        Utils.parseTemplate(Utils.getPage(context.getRequest(), "exception"), context);  
xwiki-bridge - (19:19): [Vincent Massol] you can just pass a different string in param
xwiki-bridge - (19:20): [jerome.velociter] you mean the template name in param ?
xwiki-bridge - (19:20): [Vincent Massol] yes it would reduce the duplication a bit
xwiki-bridge - (19:20): [jerome.velociter] I'm not a big fan
xwiki-bridge - (19:21): [jerome.velociter] ah yes
xwiki-bridge - (19:21): [jerome.velociter] I see what you mean
xwiki-bridge - (19:21): [jerome.velociter] ok
xwiki-bridge - (19:21): [Vincent Massol] why do we have JSON in the packager pacager?
xwiki-bridge - (19:22): [Vincent Massol] s/pacager/package/
xwiki-bridge - (19:22): [Vincent Massol] it doesn't look right
xwiki-bridge - (19:22): [Vincent Massol] json are presentation side
xwiki-bridge - (19:22): [Vincent Massol] s/are/is/
xwiki-bridge - (19:22): [Vincent Massol] presentation layer
xwiki-bridge - (19:23): [jerome.velociter] not necessarly
xwiki-bridge - (19:24): [jerome.velociter] JSON is a data format, it's not linked to presentation
xwiki-bridge - (19:24): [jerome.velociter] I've put it in the packager because right now that's where the XML serialization is too
xwiki-bridge - (19:25): [jerome.velociter] and I did not wanted to start rewrite the whole packaging plugin
xwiki-bridge - (19:25): [Vincent Massol] yes that I can understand
xwiki-bridge - (19:25): [Vincent Massol] :)
xwiki-bridge - (19:29): [jerome.velociter] fixed typo + duplication
xwiki-bridge - (19:30): [Vincent Massol] sdumitriu: do you have any knowlegde on how custom mapping works ?
xwiki-bridge - (19:30): [Vincent Massol] I'm trying to debug a pb but I'm failing
xwiki-bridge - (19:31): [jerome.velociter] what's your issue ?
xwiki-bridge - (19:31): [Vincent Massol] the XWiki.XWikiPreferences object is not loaded properly
xwiki-bridge - (19:31): [Vincent Massol] the field values are null
xwiki-bridge - (19:31): [Vincent Massol] (this is definitely caused by a local change I have but I don't see where)
xwiki-bridge - (19:31): [Vincent Massol] the code is in hibernate store:
xwiki-bridge - (19:32): [Vincent Massol]                     Session dynamicSession = session.getSession(EntityMode.MAP);
xwiki-bridge - (19:32): [Vincent Massol]                     Object map = dynamicSession.load(bclass.getName(), new Integer(object.getId()));
xwiki-bridge - (19:32): [Vincent Massol] the map has all the keys but the values are null
xwiki-bridge - (19:33): [Vincent Massol] when I look in the hsqldb, I see that for ex for "multilingual" the value 0 is set
xwiki-bridge - (19:33): [Vincent Massol] (and not null)
xwiki-bridge - (19:34): [Vincent Massol] bclass.getName() is correct ie "XWiki.XWikiPreferences" and the object id is correct too
xwiki-bridge - (19:41): [Vincent Massol] tmortagne: hmmm I was wondering if setAuthor in delete event is correct or not
xwiki-bridge - (19:41): [Vincent Massol] I think it's missing some comments to explain it
xwiki-bridge - (19:42): [Vincent Massol] does it mean that we consider the deleted document as having been written by the user who's deleted it?
xwiki-bridge - (19:42): [Vincent Massol] (which doesn't make complete sense, does it?)
xwiki-bridge - (19:42): [Vincent Massol] the source document should have the author as the original one I think
xwiki-bridge - (19:43): [Vincent Massol] hmm unless we consider the "source" as not representing the deleted document
xwiki-bridge - (19:45): [Vincent Massol] sent mail o this
xwiki-bridge - (19:46): [Vincent Massol] s/o/on/
xwiki-bridge - (19:46): [Vincent Massol] jerome.velociter: so no idea re custom mapping question? :)
xwiki-bridge - (19:46): [tmortagne] the new document has been created by the user who deleted the document
xwiki-bridge - (19:47): [tmortagne] there is the old document and the new document
xwiki-bridge - (19:47): [Vincent Massol] there's no new doc
xwiki-bridge - (19:47): [Vincent Massol] since the doc has been deleted
xwiki-bridge - (19:47): [tmortagne] there is in the event
xwiki-bridge - (19:47): [tmortagne] looks at the code
xwiki-bridge - (19:47): [Vincent Massol] I know
xwiki-bridge - (19:47): [tmortagne] in a new document
xwiki-bridge - (19:47): [Vincent Massol] but it doesn't make sense
xwiki-bridge - (19:47): [tmortagne] from event POV it's a new document
xwiki-bridge - (19:48): [jerome.velociter] Vincent Massol: sorry, no
xwiki-bridge - (19:48): [Vincent Massol] that's where I don't agree why we're doing it this way
xwiki-bridge - (19:48): [Vincent Massol] tmortagne: I thought we were creating a new doc simply the old one has been deleted so we recreate it
xwiki-bridge - (19:48): [Vincent Massol] I'd agree to pass the deleted doc copy but I don't understand why we'd pass a "new" oc
xwiki-bridge - (19:48): [Vincent Massol] s/oc/doc/
xwiki-bridge - (19:49): [Vincent Massol] I don't see what it would represent
xwiki-bridge - (19:49): [Vincent Massol] I think we need either to:
xwiki-bridge - (19:49): [jerome.velociter] Vincent Massol: what does BaseClass#iisValidCustomMapping says ?
xwiki-bridge - (19:49): [Vincent Massol] 1) pass a different data structure
xwiki-bridge - (19:49): [Vincent Massol] or
xwiki-bridge - (19:49): [Vincent Massol] 2) use the extra data param
xwiki-bridge - (19:49): [jerome.velociter] isCustomMappingValid sorry
xwiki-bridge - (19:49): [Vincent Massol] (which we do by passing the context)
xwiki-bridge - (19:49): [tmortagne] the source document is the current document, the old document in is in doc.originaldoc
xwiki-bridge - (19:49): [Vincent Massol] so the current user is covered already actually
xwiki-bridge - (19:49): [jerome.velociter] and hasInternalCustomMapping too
xwiki-bridge - (19:49): [tmortagne] i don't change anything here
xwiki-bridge - (19:50): [tmortagne] taht how all the document events are working
xwiki-bridge - (19:50): [Vincent Massol] tmortagne: each event can decide what source and what extra data is passes
xwiki-bridge - (19:50): [Vincent Massol] I know that's what we're doing
xwiki-bridge - (19:50): [Vincent Massol] but I don't understand it
xwiki-bridge - (19:50): [Vincent Massol] we're really tweaking stuff
xwiki-bridge - (19:51): [Vincent Massol] and reusing fields that are not meant for this
xwiki-bridge - (19:51): [tmortagne] it's just a question of sending the new state of the document (empty here) and the old state
xwiki-bridge - (19:51): [Vincent Massol] hmm ok that makes slightly more sense said like this
xwiki-bridge - (19:51): [tmortagne] and no we can't change the way event is working, it breaking api
xwiki-bridge - (19:51): [Vincent Massol] even though it's a bit ficticious
xwiki-bridge - (19:52): [Vincent Massol] since there's no real new doc
xwiki-bridge - (19:52): [tmortagne] yes it is but its to make documents events consistent
xwiki-bridge - (19:52): [Vincent Massol] at the very minimum thomas could you add some comments?
xwiki-bridge - (19:52): [tmortagne] sure but there is already comment about why we create a new XWikiDocument i think
xwiki-bridge - (19:52): [tmortagne] checking
xwiki-bridge - (19:52): [Vincent Massol] haven't chcked, just looked at the mail
xwiki-bridge - (19:53): [Vincent Massol] even if there are already I'd add some re teh author/contentauthor
xwiki-bridge - (19:53): [tmortagne] the comment does not contain much, i will add some more in it
xwiki-bridge - (19:53): [Vincent Massol] ok thanks
xwiki-bridge - (19:53): [Vincent Massol] what did it for me waas when you explained
xwiki-bridge - (19:54): [Vincent Massol] that it represnted the new state
xwiki-bridge - (19:54): [Vincent Massol] (ie an empty document)
xwiki-bridge - (19:54): [Vincent Massol] I maintain that it is still slightly awkard
xwiki-bridge - (19:54): [Vincent Massol] :)
xwiki-bridge - (19:55): [Vincent Massol] since it means visualizing that deleting a doc "result" in creating a new empty doc whose author is the author who has deleted the doc
xwiki-bridge - (19:56): [Vincent Massol] jerome.velociter: reading
xwiki-bridge - (19:58): [Vincent Massol] jerome.velociter: false
xwiki-bridge - (20:04): [jerome.velociter] for isValidCustomMapping ?
xwiki-bridge - (20:05): [jerome.velociter] at what line do you break ?
xwiki-bridge - (20:05): [jerome.velociter] I can try on my station without your changes
xwiki-bridge - (20:05): [jerome.velociter] to see if it's different
xwiki-bridge - (20:06): [Vincent Massol] yes for isValid mapping
xwiki-bridge - (20:06): [Vincent Massol] I've tried calling this.makeMapping(bclass.getName(), "internal")
xwiki-bridge - (20:06): [Vincent Massol] and I get:
xwiki-bridge - (20:06): [Vincent Massol] an exception "invalid mapping" with nested exception:
xwiki-bridge - (20:06): [Vincent Massol] org.xml.sax.SAXParseException: The content of element type "class" must match
xwiki-bridge - (20:06): [Vincent Massol] "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)".
xwiki-bridge - (20:07): [Vincent Massol] is it supposed to return true?
xwiki-bridge - (20:07): [Vincent Massol] at this location I mean
xwiki-bridge - (20:11): [Vincent Massol] it's normal it's invalid
xwiki-bridge - (20:11): [Vincent Massol]     protected String makeMapping(String entityName, String tableName, String custommapping1)
xwiki-bridge - (20:11): [Vincent Massol]     {
xwiki-bridge - (20:11): [Vincent Massol]         String custommapping =
xwiki-bridge - (20:11): [Vincent Massol]             "<?xml version=\"1.0\"?>\n" + "<!DOCTYPE hibernate-mapping PUBLIC\n"
xwiki-bridge - (20:11): [Vincent Massol]                 + "\t\"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
xwiki-bridge - (20:11): [Vincent Massol]                 + "\t\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n" + "<hibernate-mapping>"
xwiki-bridge - (20:11): [Vincent Massol]                 + "<class entity-name=\"" + entityName + "\" table=\"" + tableName + "\">\n"
xwiki-bridge - (20:11): [Vincent Massol]                 + " <id name=\"id\" type=\"integer\" unsaved-value=\"any\">\n"
xwiki-bridge - (20:11): [Vincent Massol]                 + "   <column name=\"XWO_ID\" not-null=\"true\" />\n" + "   <generator class=\"assigned\" />\n"
xwiki-bridge - (20:11): [Vincent Massol]                 + " </id>\n" + custommapping1 + "</class>\n" + "</hibernate-mapping>";
xwiki-bridge - (20:11): [Vincent Massol]         return custommapping;
xwiki-bridge - (20:11): [Vincent Massol]     }
xwiki-bridge - (20:11): [Vincent Massol] and custommapping1 is "internal"
xwiki-bridge - (20:11): [Vincent Massol] I don't see how this can work whenever custommapping is not ""
xwiki-bridge - (20:12): [Vincent Massol]     public String getCustomMapping()
xwiki-bridge - (20:12): [Vincent Massol]     {
xwiki-bridge - (20:12): [Vincent Massol]         if ("XWiki.XWikiPreferences".equals(getName())) {
xwiki-bridge - (20:12): [Vincent Massol]             return "internal";
xwiki-bridge - (20:12): [Vincent Massol]         }
xwiki-bridge - (20:12): [Vincent Massol]
xwiki-bridge - (20:12): [Vincent Massol]         if (this.customMapping == null) {
xwiki-bridge - (20:12): [Vincent Massol]             return "";
xwiki-bridge - (20:12): [Vincent Massol]         }
xwiki-bridge - (20:12): [Vincent Massol]
xwiki-bridge - (20:12): [Vincent Massol]         return this.customMapping;
xwiki-bridge - (20:12): [Vincent Massol]     }
xwiki-bridge - (20:12): [Vincent Massol] so i don't see how isValid could be valid :)
xwiki-bridge - (20:14): [Vincent Massol] but that's probably not my pb
xwiki-bridge - (20:15): [Vincent Massol] tmortagne: 3 typos in
xwiki-bridge - (20:15): [Vincent Massol] +                // Again to follow general event policy new document author the user how modified the document (here teh
xwiki-bridge - (20:15): [Vincent Massol] +                // modification is delete)
xwiki-bridge - (20:15): [Vincent Massol] :)
xwiki-bridge - (20:16): [Vincent Massol] jerome.velociter: do you know where in the code the custom mapping is set up?
xwiki-bridge - (20:16): [Vincent Massol] (for XWikiPreferences)
xwiki-bridge - (20:17): [Vincent Massol] in loadXWikiDoc I see:
xwiki-bridge - (20:17): [Vincent Massol]             SessionFactory sfactory = injectCustomMappingsInSessionFactory(doc, context);
xwiki-bridge - (20:17): [Vincent Massol] but this doesn't seem to do it
xwiki-bridge - (20:17): [Vincent Massol] since it contains:
xwiki-bridge - (20:17): [Vincent Massol]     public SessionFactory injectCustomMappingsInSessionFactory(XWikiDocument doc, XWikiContext context)
xwiki-bridge - (20:17): [Vincent Massol]         throws XWikiException
xwiki-bridge - (20:17): [Vincent Massol]     {
xwiki-bridge - (20:17): [Vincent Massol]         // If we haven't turned of dynamic custom mappings we should not inject them
xwiki-bridge - (20:17): [Vincent Massol]         if (context.getWiki().hasDynamicCustomMappings() == false) {
xwiki-bridge - (20:17): [Vincent Massol]             return getSessionFactory();
xwiki-bridge - (20:17): [Vincent Massol]         }
xwiki-bridge - (20:18): [Vincent Massol] and hasDynamicCustomMappings() is false
xwiki-bridge - (20:18): [tmortagne] not sure (fixing typos)
xwiki-bridge - (20:18): [tmortagne] two fix that was supposed to be on tw differents lines :)
xwiki-bridge - (20:22): [Vincent Massol] sdumitriu: any idea about all this?
xwiki-bridge - (20:24): [jerome.velociter] Vincent Massol: what do you mean by set up?
xwiki-bridge - (20:24): [Vincent Massol] actually there's no need of custom mapping for XWikiPreferences since it already has some custom table I guess
xwiki-bridge - (20:25): [jerome.velociter] there is a custom mapping for xwikipreferences
xwiki-bridge - (20:25): [Vincent Massol] and the mapping is already defined in xwiki.hbm.xml
xwiki-bridge - (20:25): [jerome.velociter] but it's in written down in the xwiki.hbm.xml
xwiki-bridge - (20:25): [jerome.velociter] yes
xwiki-bridge - (20:25): [Vincent Massol] still that puts me back to square 1
xwiki-bridge - (20:26): [Vincent Massol] ie why would the following:
xwiki-bridge - (20:26): [Vincent Massol]                     Object map = dynamicSession.load(bclass.getName(), new Integer(object.getId()));
xwiki-bridge - (20:26): [Vincent Massol] not load the values from the DB
xwiki-bridge - (20:52): [treaki] hi, wold somebody play just one round glest (http://glest.org) with me?? please the server is treaki1.ath.cx
CalebJamesDeLisl joined #xwiki at 21:10
xwiki-bridge - (21:27): * sdumitriu has set the subject to: XWiki Chat - http://www.xwiki.org/
lucaa joined #xwiki at 21:29
lucaa left #xwiki at 22:20
xwiki-bridge - (22:36): [unnicked] Guten Nacht
user_ joined #xwiki at 22:59
user_ left #xwiki at 23:00

Get Connected