Christian Ribeaud <christian.ribe...@canoo.com>: > Thanks a lot, Niels. Really. I got it now. But this is really cumbersome! And when using the administration panel, > I always get empty panels: rights, users, groups,... (only the number of items is displayed).
One more thought on this issue: if you have upgraded your Xwiki, be sure to issue a shift-reload command in your browser on the home page, and probably on any important administrative pages. The bug we're seeing could becoming from two different possible sources: (1) New upgrade XAR overwriting system-specific configurations present in XWiki.XWikiAdminGroup, XWiki/.WikiAllGroup, XWiki.XWikiPreferences; (2) New upgrade WAR containing new javascript code, but same-path as previous javascript code that resides in browser cache. The new WAR was expecting to talk to the new javascript, but instead, talks to the old javascript. On browsers like Mozilla/FireFox, errors like calling nonexistent javascript functions happen without the end-user noticing, unless special steps are taken to see if javascript errors are happening. If the latter scenario happened, it could have left your Xwiki in a "half updated" state because the application never got the expected response from Javascript. (The bug would then be the lack of "defensive programming" on the part of Xwiki to detect this situation ...) It is entirely possible that the initial add-user and edit-groups bugs that cause these administrative features to break happened with "old javascript in the browser" coming from a previous version of Xwiki. This is not an Xwiki problem, it is a Web problem. Ultimately, it's something that's entirely in the control of the person running the website, and not really something that Xwiki can control (other than the "defensive programming" bit). You might see this issue more often in Xwiki because the team is doing software development "the right way" which means continuous improvement, continuous revisions, regular releases, and lots of users testing and using the software in every possible unexpected situation, etc. Microsoft's "release infrequently, and badly" approach means users only get to see these kinds of compatibility problems on each new service pack or browser upgrade, and that's at best once every few years. With the furious pace of Xwiki development, we can end up seeing this bug every few months, and that's just fine by me. Shift-reload is your friend. So if you're having problems in this regard, it is in no way "Xwiki''s fault -- just change your sites sub-domain name, or the path to Xwiki documents -- and you'd implicitly fix this problem for this or any web software on each upgrade. If the web-site doesn't want users to see this problem, one can easily add a "revision number" in the path to the javascript libs so that the browser will automatically load the new "revision" (the path changed, nothing in cache) as opposed to using the one in the cache. (This might actually be a good bit of "defensive programming" for Xwiki -- add a "revision code" to the path of any javascript lib referenced in the browser, and then just have xwiki do the path-rewriting magic to verify incoming requests are for the correct "revision code", and serve up correct files out of <xe-WAR>/resources/js ). This is also a world where my BANK's website doesn't work on any current browser I use day-to-day (FireFox 3.5.3 on x86_64 Linux, Chrome on Windows) and pops up errors all over the place when using my current up-to-date IE 8. Which means we're doing financial transactions underpinned by something as flaky as IE's "Javascript." So really, in comparison, the kind of problems we see in Xwiki are minor in comparison. Furthermore, the architect and original designer has joined this thread, so he'll probably have it fixed in 5 minutes once we've actually done our part of the "open source social contract" and have helped better characterize the problem. No need to wait a year for Microsoft to deliver a new service pack here in Xwiki land.... Finally, Xwiki is "open" enough, both at the software level, and even at the data level with "everything is a wiki doc" that we can actually diagnose and fix these problems ourselves. You think you'd have been so quick to do the same kind of fix I suggested for Xwiki using, by analogy, Microsoft's "registry editor" ?? > I thought that this open-source application would be in a better shape. Xwiki is in great shape. It is undergoing a massive transformation at this time, typical of 1.0->2.0 transitions. Fundamentally, Xwiki is an amazing application and there's really no competition for it. ( http://blog.asyd.net/2008/12/xwiki-cest-decidemment-magique/ (C'est vrai!), http://www.opensolaris.org/os/community/web/restructuring/wiki_eval_x/ http://madplanet.com/xwiki/bin/view/Blog/Rough+Diamond ) You do not necessarily need to be running the latest and greatest revision unless you're ready to deal with the latest and greatest issues. This wisdom doesn't just apply for Xwiki... it's endemic to software. Sometimes, you just have to forgo upgrades, and just wait a bit. For example I'm still running Win XP Service Pack 2, and I'm not going to upgrade to Service Pack 3, which i already know will break a bunch of things that work just fine right now. (My use of Win XP is just an engine to run http://cygwin.com so I can use windows as an X terminal and also test whether things work in IE :-) ).. For critical things, it's *ALWAYS* safest to wait a few months to upgrade -- wait for all the reports from "bleeding edge" users like me that are willing to deal with some pain to get the latest and greatest. (IMHO, w/r/t Xwiki 2.0, the pain is well worth it !!! But then again, I'm an xwikizochist :-) ). Also, upgrades should never happen without a dry-run first. Clone the data, go through the entire upgrade process on a different system/server, and take notes and resolve any issues that arise before considering doing the same thing to a live site. Nothing ever goes right the first time, so instead of wasting a lot of back-patching issues, and handholding unhappy users, make sure your users won't be surprised in the first place by testing the upgrade and new software, before rolling out to a "live" site. -- Niels http://nielsmayer.com PS: Regarding the javascript shift-reload issue: I really think that digital signatures need to be incorporated into javascript used in browsers. Before an app uses a JS "package" it would request the digital signature of the JavaScript the browser is using, and check it against what the app expects to be using. Only after this check you'd know you're talking to the exact intended javascript lib, as opposed to either an old incompatible revision; or even worse, bogus javascript that has been specifically overridden in a few places to intercept or alter communications back to the server. Ultimately, each javascript closure being executed needs it's own digital signature, composed of the digital signatures of the transitive closure of all functions that might be called out of a given closure, and of course, any response by this closure back to the server would need to be signed by this signature,and checked on the other end for validity/tampering. Oh well, I can dream, can't I? _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users