General pros of cons for visibility of any component-based xobject (IMO):

* ONDEMAND
** (-) Hardest to use since it requires scripting. Lowest on usability score. 
Should be reserved for very special use cases.

* USER
** (+) Safe since only the current user sees it
** (+) Usable since works OOB and for all users with any permissions
** (-) User may believe it works for everyone but other users won’t see it

* WIKI
** (+) Works for everyone on the wiki
** (-) Everyone sees the change you make and you cannot validate it before 
making it visible to all
** (-) Requires Admin rights and thus may not work
** (-) Fragile: If a user without admin rights resave the page it breaks it

* GLOBAL
** (+) Works for everyone on the farm
** (-) Everyone (including subwikis) sees the change you make and you cannot 
validate it before making it visible to all
** (-) Requires PR and thus may not work. 
** (-) Not very usable: For example will fail for local admins
** (-) Very fragile: If a user without PR resave the page it breaks it
** (-) Very fragile: If a local admin upgrades his wiki and a new version of 
the page is available, then it breaks the feature

I’m still hesitating between USER and WIKI but I think USER is the best, at 
least until we have dynamic defaults (in which case WIKI could be a good 
default, and if the user doesn’t have Admin rights, then don’t allow him to 
save the page by having a verification check + make USER the default if user 
doesn’t have Admin right).

Thanks
-Vincent

> On 9 Feb 2018, at 18:15, Vincent Massol <[email protected]> wrote:
> 
> Hi,
> 
> Right now we have:
> 
> xclass.addStaticListField(TranslationDocumentModel.TRANSLATIONCLASS_PROP_SCOPE,
>  "Scope",
>    "GLOBAL|WIKI|USER|ON_DEMAND”);
> 
> However for wiki macros for example we have:
> 
> xclass.addStaticListField(MACRO_VISIBILITY_PROPERTY, "Macro visibility", 1, 
> false,
>    "Current User|Current Wiki|Global", ListClass.DISPLAYTYPE_SELECT, 
> PROPERTY_PIPE);
> 
> The rationale is that it’s safe to use USER first to try out and then to 
> extend to Wiki or Global if it’s working fine.
> 
> So I’d suggest to change the default visibility for wiki translations to USER 
> and more generally to do this for all component-based xobjects.
> 
> WDYT?
> 
> Thanks
> -Vincent
> 

Reply via email to