Hi Marius, See below
> On 9 Feb 2019, at 13:11, Marius Dumitru Florea > <mariusdumitru.flo...@xwiki.com> wrote: > > On Fri, Feb 8, 2019 at 4:12 PM Vincent Massol <vinc...@massol.net> wrote: > >> >> >>> On 8 Feb 2019, at 14:00, Marius Dumitru Florea < >> mariusdumitru.flo...@xwiki.com> wrote: >>> >>> On Fri, Feb 8, 2019 at 1:51 PM Vincent Massol <vinc...@massol.net> >> wrote: >>> >>>> >>>> >>>>> On 8 Feb 2019, at 12:45, Marius Dumitru Florea < >>>> mariusdumitru.flo...@xwiki.com> wrote: >>>>> >>>>> On Fri, Feb 8, 2019 at 10:25 AM Vincent Massol <vinc...@massol.net> >>>> wrote: >>>>> >>>>>> >>>>>> >>>>>>> On 8 Feb 2019, at 09:20, Marius Dumitru Florea < >>>>>> mariusdumitru.flo...@xwiki.com> wrote: >>>>>>> >>>>>>> On Fri, Feb 8, 2019 at 9:52 AM Vincent Massol <vinc...@massol.net> >>>>>> wrote: >>>>>>> >>>>>>>> Hi Marius/All, >>>>>>>> >>>>>>>> See below >>>>>>>> >>>>>>>>> On 31 Jan 2019, at 11:29, Vincent Massol <vinc...@massol.net> >> wrote: >>>>>>>>> >>>>>>>>> Hi Marius/all, >>>>>>>>> >>>>>>>>>> On 30 Jan 2019, at 15:45, Marius Dumitru Florea < >>>>>>>> mariusdumitru.flo...@xwiki.com> wrote: >>>>>>>>>> >>>>>>>>>> Hi devs, >>>>>>>>>> >>>>>>>>>> I'm working on https://jira.xwiki.org/browse/XWIKI-1660 (I need >> it >>>>>> for >>>>>>>>>> https://jira.xwiki.org/browse/XWIKI-13352) and I'd like to change >>>> the >>>>>>>> page >>>>>>>>>> rename job (from refactoring module) to update the existing >> objects >>>>>>>> when a >>>>>>>>>> class is renamed *if the "Update links" options is checked*. >>>>>>>>>> >>>>>>>>>> Of course, we could add a new option (e.g. "Update objects") but: >>>>>>>>>> >>>>>>>>>> * it complicates the rename UI (too many options) >>>>>>>>>> * I think most of the users understand the current "Update links" >>>>>>>> option as >>>>>>>>>> "update the places where this page is *used*". I don't think it >>>> makes >>>>>>>> sense >>>>>>>>>> to have separate options (at least at the UI level) for things >> like >>>>>>>> "Update >>>>>>>>>> macro calls" or "Update image includes". >>>>>>>>>> * I don't see why you would want to update the back-links but not >>>> the >>>>>>>>>> objects (or the other way around). >>>>>>>>> >>>>>>>>> Sounds good to me in general. >>>>>>>>> >>>>>>>>>> If we agree on using a single option ("Update links") then the >> next >>>>>>>>>> questions are: >>>>>>>>>> >>>>>>>>>> * Is there a better name? I think "Update links" is a good name >> for >>>>>>>> simple >>>>>>>>>> users so I would keep it. Another option is "Update references" >> but >>>> it >>>>>>>> has >>>>>>>>>> a special meaning for XWiki developers. >>>>>>>>> >>>>>>>>> Maybe "Update other pages” with a hint saying “Ensure that other >>>> pages >>>>>>>> using the renamed pages continue to work after the rename”. >>>>>>>>> >>>>>>>>> ? >>>>>>>>> >>>>>>>>>> >>>>>>>>>> * Should we update the hint for the "Update links" option? I think >>>> we >>>>>>>>>> should, but only for advanced users, since they should be aware of >>>> the >>>>>>>>>> implications of renaming a class. Simple users are not aware of >> the >>>>>>>>>> existence of objects, most probably, so I wouldn't complicate >> their >>>>>>>> lives. >>>>>>>>> >>>>>>>>> Would be nicer to find a single message that work for everyone but >> I >>>>>>>> agree it’s not easy if we wish to provide details. >>>>>>>>> >>>>>>>>> I feel a nicer option would be to NOT show “Update other pages” for >>>>>>>> simple users since that should always be checked. Only offer the >>>>>> ability to >>>>>>>> uncheck it for advanced users and this solves the hint issue too :) >>>>>>>> >>>>>>>> >>>>>>> >>>>>>>> Nobody replied to this proposal but I really find it the best by far >>>> and >>>>>>>> it solves your other questions too while making the UI simpler >>>> globally. >>>>>>>> >>>>>>> >>>>>>> The only issue I see with this option is that by hiding the "Update >>>>>> Links" >>>>>>> the simple users might not be aware of the side effects of the rename >>>>>>> operation: the fact that other pages will have to be updated. Seeing >>>>>> that a >>>>>>> page you want to rename is referenced in many places can make you >> think >>>>>>> twice about the rename. >>>>>> >>>>>> >>>>> >>>>>> We could keep that info, it could be useful indeed. >>>>>> >>>>> >>>>> I can keep the message but then I'll probably need to display different >>>>> messages for simple and advanced users. Moreover, ideally the message >>>>> should be updated whenever the Preserve Children checkbox is clicked >>>> (e.g. >>>>> to indicate that there are more pages to update if the child pages are >>>>> preserved). >>>> >>>> >>> >>>> By messages I meant to indicate (as information) the number of links >>>> leading to the renamed pages. >>>> >>> >>> Sure, but it's not just links. There's also xobjects of a class that is >>> among those pages being renamed. There are two options: >>> >>> * show a single number (e.g. "There are *10 other pages* that are going >> to >>> be updated because they are referencing the pages that are being >> renamed") >>> . The issue here is de-duplication: if you simply sum up the backlinks + >>> xobjects + etc. then you can have pages counted multiple times... >> Moreover, >>> we would need to provide a link to a view showing these other pages (as >> we >>> have for backlinks right now), and having a unified backlinks + xobjects >> + >>> etc. is complex. >> >> > >> Why is it complex? For me it’s about putting references to pages in a Set. >> Whether the update will come from a link or an xobject can be seen as a >> detail. >> > > I'm not sure that scales.. Renaming a large hierarchy of pages (I've heard > users trying to rename / move the XWiki page...) can lead to thousands of > back-links, xobjects, etc. We already display backlinks and that’s coming from a table so I guess you’re referring to finding all pages having XObjects in them. I was under the impression you wanted to display the count. This is not something I’m proposing. I was just commenting about what you were saying: > The issue here is de-duplication: if you simply sum up the backlinks + > xobjects + etc. then you can have pages counted multiple times... However let’s try to see what we could do: * I wouldn’t display anything by default for simple users. Only for advanced users. * What we need to do is find all XClass in the page being renamed and children. Then for each XClass, we need to count each XObject implementing that XClass in the whole wiki. We can probably come up with a single nested query to do that. That would solve the performance issue. * Note that there’s one safety we could also implement (for both simple and advanced users): When the total count of pages to modify (ie backlinks+xobjects) is greater than a value (say 20), we could issue some warning saying that there are more than 20 pages that will need to be modified and that it might take a while, and ask for validation. Another variation which is at least as good IMO, is to count the number of pages that will be renamed and issue the warning if it’s > 20 for example. WDYT? In summary, all I’m proposing from the beginning is basically to not display the “include children" checkbox for simple users and have it only for advanced users. My goal is to make the UI as simple as it can be. Thanks -Vincent > >> We could simply mention the number of pages (i.e. references) that will be >> updated as you suggested and provide a LT for that (should be easy). >> >> We could also decide to not show anything for simple users. >> >>> * show multiple numbers (i.e. "There are 4 pages that have links to the >>> pages being renamed. There are 7 pages with xobjects defined by classes >>> that are going to be renamed. etc.”) >> >> If you think that’s interesting info (and it’s probably the case), we >> could display this one for advanced users, as additional info. >> >> Thanks >> -Vincent >> >>> >>> >>>> >>>> For me this is the same info whether you’re simple or advanced, no? OTOH >>>> the checkbox for advanced users could provide additional info as hint. >>>> >>>> Or we just don’t display this message at all for simple users. I >> wouldn’t >>>> mind either. Makes it simpler in practice :) >>>> >>>> Thanks >>>> -Vincent >>>> >>>> >>>>> >>>>> >>>>>> >>>>>> I was referring to hiding the option (the checkbox). This makes the UI >>>>>> simpler to use for simple user, which is the direction we want to go >>>> and I >>>>>> cannot find tons of reasons why simple users would want to not fix >>>> links… >>>>>> Actually in the past all issues that were raised were the opposite, >>>> users >>>>>> who didn’t check the box, and then we made it checked by default. >>>>>> >>>>>>> Now, the current hint for "Update Links" doesn't indicate all the >> side >>>>>>> effects. For instance it indicates the number of back-links to the >> page >>>>>>> you're trying to rename but it *doesn't include back-links to child >>>>>> pages* >>>>>>> (when child pages are preserved). So what I said above it not really >>>> true >>>>>>> ATM either. >>>>>> >>>>>> Yes, it’s actually worse in a sense :) Right now it makes it seem as >> if >>>>>> it’ll work perfectly well… >>>>>> >>>>>> Thanks >>>>>> -Vincent >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> Marius >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> WDYT? >>>>>>>> >>>>>>>> Thanks >>>>>>>> -Vincent >>>>>>>> >>>>>>>> [snip]