Since I hit more and more the need to allow to customize an entry
point without deleting it (or it will break a hardcoded menu/link) I
just introduce the following type:

* "customizable": same thing as "home" and for the same reasons but
more generic. I guess we could simply get rid of "home" type since the
main use case seems to tend to "demo" (see dedicated mails thread)

I tough about "editable" but I find it too wide.

On Mon, Apr 30, 2018 at 11:14 AM, Thomas Mortagne
<thomas.morta...@xwiki.com> wrote:
> On Mon, Apr 30, 2018 at 10:00 AM, Vincent Massol <vinc...@massol.net> wrote:
>> Hi Thomas,
>>
>>> On 23 Apr 2018, at 12:27, Thomas Mortagne <thomas.morta...@xwiki.com> wrote:
>>>
>>> Hi devs,
>>>
>>> When dealing with extension pages protection we ended up with a very
>>> visible issue: EVERYONE customize the home page so it does not make
>>> much sense to warn every user trying to edit it that it's dangerous
>>> and might break the extensions.
>>>
>>> Since it's not the only use case 10.3 introduce the concept of XAR
>>> entry type which allow controlling a bit more edit/delete and upgrade
>>> behavior. See 
>>> http://extensions.xwiki.org/xwiki/bin/view/Extension/XAR+Module+Specifications#Hpackage.xml
>>> for more details.
>>>
>>> On component side it's possible to decide the default type of a page
>>> reference (that's where "Main.WebHome" type come from currently). It's
>>> also possible to override the upgrade behavior for a specific type or
>>> even a specific reference for more exotic use cases.
>>>
>>> So it's now possible to control the type you want for a page at XAR
>>> descriptor level. I already typed a few page, for example
>>> "Main.WebHome" is now of type "home" which means "it's OK to edit it
>>> and you should only upgrade it if no customization have been made".
>>>
>>> Cool home page is covered but we now entered a new era of endless
>>> debates to decide of what type some page should be and what other
>>> types to introduce :)
>>
>> Could you list all pages for which you’ve put “demo”, “home” and 
>> “configuration" types so far?
>
> The current status is (hope I don't forget anything):
>
> * demo 
> (https://github.com/xwiki/xwiki-platform/search?utf8=%E2%9C%93&q=%22%3Ctype%3Edemo%3C%2Ftype%3E%22&type=)
> ** Sandbox visible sub pages
> ** Color themes
> ** XWiki.DefaultSkin
> ** soon Main.WebHome it seems :)
> ** [jetty+hsqldb+flavor] Admin user
>
> * configuration
> (https://github.com/xwiki/xwiki-platform/search?utf8=%E2%9C%93&q=%22%3Ctype%3Econfiguration%3C%2Ftype%3E%22&type=)
> ** XWiki.XWikiPreferences (default type provided by a component)
> ** [jetty+hsqldb+flavor] XWikiAdminGroup and XWikiAllGroup
>
> * home 
> (https://github.com/xwiki/xwiki-platform/search?utf8=%E2%9C%93&q=%22%3Ctype%3Ehome%3C%2Ftype%3E%22&type=)
> ** Sandbox.WebHome since it's the hardcoded entry point of the sandbox
> application so not too nice to delete it
>
> * to discuss AFAIK:
> ** Dashboard.WebHome home page, either "demo" or something a bit more
> restrictive like "home" since it's the entry point of dashboard
> application so not very nice to delete it
> ** and of course Contrib extensions will need to take care of that too
>
>>
>> Also in the doc you say "       • default: used to force the default. Edit 
>> and delete are not allowed and a 3-way merge is applied to the document 
>> during upgrades.”
>>
>> AFAIU this is the default when no type is specified, right? Did you mean to 
>> say “Edit and delete are allowed”?
>
> It's not about making that page behave as a non-extension page, it's
> only here to force the default extension page behavior.
>
> It's possible trough components to indicate a type for a given local
> reference when no explicit type a been set. So this value allow to
> bypass this when you want to make extra sure your page will have the
> default behavior (for example some flavor in which you are not
> supposed to touch the Main.WebHome since Main.WebHome is current
> getting its type as "the default type for Main.WebHome reference in
> general").
>
>>
>> Thanks
>> -Vincent
>>
>>>
>>> We are not going to discuss all these in this mail so everyone with a
>>> doubt should start a discussion for a standard page (or a set of
>>> standard page which are obviously very similar like color themes).
>>>
>>> Currently, protected page produce a warning that you can force. The
>>> plan in 10.4 is to keep the warning only for advanced completely
>>> prevent basic user to modify protected pages by default and also allow
>>> configuring all that (indicate in your profile that you don't want to
>>> be bothered with that, override edit/delete right even for advanced
>>> users, etc.). But before that we need to make sure basic users are
>>> allowed to edit all the pages they are supposed to edit.
>>>
>>> Happy tuning :)
>>>
>>> --
>>> Thomas Mortagne
>>
>
>
>
> --
> Thomas Mortagne



-- 
Thomas Mortagne

Reply via email to