On Fri, Aug 22, 2014 at 9:25 AM, Marius Dumitru Florea <[email protected]> wrote: > I'm not fully sure, but this may be caused by the fact that the > 'users' property of your object (XWikiRights I guess) was previously > saved with a different data type. Probably something like > > xwikidoc <-- xwikiobjects <-- xwikiproperties <-- xwikistringlists > > vs. > > xwikidoc <-- xwikiobjects <-- xwikiproperties <-- xwikilargestrings
See http://platform.xwiki.org/xwiki/bin/view/DevGuide/DatabaseSchema . > > So when XWiki tries to save the 'users' property it sees that it has a > different type (so different database table) than the previously saved > value and thus it throws an exception. > > Try to pass a list/array as the value of the property instead of a string. > > Hope this helps, > Marius > > > On Thu, Aug 21, 2014 at 3:21 PM, Paul Libbrecht <[email protected]> wrote: >> any hints? >> paul >> >> >> On 20 août 2014, at 11:37, Paul Libbrecht <[email protected]> wrote: >> >>> >>> Hello XWiki exports, >>> >>> I've been working on a tool to massively import users from a spreadsheets >>> for curriki.org (still on xwiki 3.5.1) and I am stumbling into an error >>> that I could not solve thus far: >>> >>>> org.hibernate.StaleObjectStateException: Row was updated or deleted by >>>> another transaction (or unsaved-value mapping was incorrect): >>>> [com.xpn.xwiki.objects.LargeStringProperty#<?xml version="1.0" >>>> encoding="UTF-8"?> >>>> <users>poiapsaodi</users>] >>> >>> >>> (user-name is invented) >>> >>> The users element is that of the xwikiRights object. >>> This exception happens at a saveandcontinue action which is triggered in >>> the object editor after I (as admin) edit the user. It also happens if the >>> user is logged in. >>> >>> >>> How can I investigate this? >>> I've tried changing the way I write the object in the following (adding the >>> "new String") as it was done in the social-login but still no hope: >>> def rightobj = userDoc.newObject("XWiki.XWikiRights", xcontext); >>> rightobj.setStringValue("users", new String(userName)); >>> rightobj.setStringValue("allow", new String("1")); >>> rightobj.setStringValue("levels", new String("edit")); >>> rightobj.setStringValue("groups", new String("")); >>> >>> Note: at curriki, we use the "virtual xwikiUsers group" since we have quite >>> an amount of them. >>> >>> Any investigation hint is welcome. >>> >>> paul >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

