[Proposal] Introduce user management configuration in virtual mode

classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[Proposal] Introduce user management configuration in virtual mode

Jean-Vincent Drean-3
Hi Devs,

I'd like to introduce a new configuration property that would define
at which level users should be handled in a farm.
See the proposition about the new entry in xwiki.properties, it should
be self-explanatory:

--------------------------------8<--------------------------------
#-# [Since 2.5M1]
#-# Define at which level users and groups should be handled in the
farm. Available modes:
#-#
#-# mixed (default):
#-# - user registration available in the main wiki and local wikis
#-# - users from the current wiki and the main wiki will be displayed
in the rights interface and user suggests
#-# - user administration is present in all the wikis
#-#
#-# local:
#-# - user registration available in the main wiki and local wikis
#-# - only users from the current wiki will be displayed in the rights
interface and user suggests
#-# - user administration is present in all the wikis
#-#
#-# global:
#-# - user registration available in the main wiki only, the register
link in local wikis will point to the main wiki
#-# - only users from the main wiki will be displayed in the rights
interface and user suggests
#-# - user administration is present in the main wiki only
core.virtual.users=mixed
-------------------------------->8--------------------------------

More details are available here:
http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule

WDYT ?

Thanks,
JV.
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Thomas Mortagne
Administrator
On Wed, Aug 4, 2010 at 11:30, Jean-Vincent Drean <[hidden email]> wrote:

> Hi Devs,
>
> I'd like to introduce a new configuration property that would define
> at which level users should be handled in a farm.
> See the proposition about the new entry in xwiki.properties, it should
> be self-explanatory:
>
> --------------------------------8<--------------------------------
> #-# [Since 2.5M1]
> #-# Define at which level users and groups should be handled in the
> farm. Available modes:
> #-#
> #-# mixed (default):
> #-# - user registration available in the main wiki and local wikis
> #-# - users from the current wiki and the main wiki will be displayed
> in the rights interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# local:
> #-# - user registration available in the main wiki and local wikis
> #-# - only users from the current wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# global:
> #-# - user registration available in the main wiki only, the register
> link in local wikis will point to the main wiki
> #-# - only users from the main wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in the main wiki only
> core.virtual.users=mixed
> -------------------------------->8--------------------------------
>
> More details are available here:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>
> WDYT ?

+1 and +1 for the introduction of a new user management component
(it's not very clear in th email but that's also what this proposal is
about)

>
> Thanks,
> JV.
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Marius Dumitru Florea
In reply to this post by Jean-Vincent Drean-3
+0

Thanks,
Marius

On 08/04/2010 12:30 PM, Jean-Vincent Drean wrote:

> Hi Devs,
>
> I'd like to introduce a new configuration property that would define
> at which level users should be handled in a farm.
> See the proposition about the new entry in xwiki.properties, it should
> be self-explanatory:
>
> --------------------------------8<--------------------------------
> #-# [Since 2.5M1]
> #-# Define at which level users and groups should be handled in the
> farm. Available modes:
> #-#
> #-# mixed (default):
> #-# - user registration available in the main wiki and local wikis
> #-# - users from the current wiki and the main wiki will be displayed
> in the rights interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# local:
> #-# - user registration available in the main wiki and local wikis
> #-# - only users from the current wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# global:
> #-# - user registration available in the main wiki only, the register
> link in local wikis will point to the main wiki
> #-# - only users from the main wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in the main wiki only
> core.virtual.users=mixed
> -------------------------------->8--------------------------------
>
> More details are available here:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>
> WDYT ?
>
> Thanks,
> JV.
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

maryannewillis
This post has NOT been accepted by the mailing list yet.
In reply to this post by Jean-Vincent Drean-3
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Guillaume Lerouge
In reply to this post by Jean-Vincent Drean-3
Hi,

sounds good to me. Forcing only global users is a frequent use case, notably
for intranets. OTOH forcing only local users can be useful for farms of
public or separate websites (I'm thinking of websites such as
myxwiki.orgfor instance).

Guillaume

On Wed, Aug 4, 2010 at 11:30, Jean-Vincent Drean <[hidden email]>wrote:

> Hi Devs,
>
> I'd like to introduce a new configuration property that would define
> at which level users should be handled in a farm.
> See the proposition about the new entry in xwiki.properties, it should
> be self-explanatory:
>
> --------------------------------8<--------------------------------
> #-# [Since 2.5M1]
> #-# Define at which level users and groups should be handled in the
> farm. Available modes:
> #-#
> #-# mixed (default):
> #-# - user registration available in the main wiki and local wikis
> #-# - users from the current wiki and the main wiki will be displayed
> in the rights interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# local:
> #-# - user registration available in the main wiki and local wikis
> #-# - only users from the current wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# global:
> #-# - user registration available in the main wiki only, the register
> link in local wikis will point to the main wiki
> #-# - only users from the main wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in the main wiki only
> core.virtual.users=mixed
> -------------------------------->8--------------------------------
>
> More details are available here:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>
> WDYT ?
>
> Thanks,
> JV.
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jerome Velociter
In reply to this post by Jean-Vincent Drean-3
+1

Jerome.

----- Original Message -----
From: "Jean-Vincent Drean" <[hidden email]>
To: "XWiki Developers" <[hidden email]>
Sent: Wednesday, August 4, 2010 11:30:21 AM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna
Subject: [xwiki-devs] [Proposal] Introduce user management configuration in virtual mode

Hi Devs,

I'd like to introduce a new configuration property that would define
at which level users should be handled in a farm.
See the proposition about the new entry in xwiki.properties, it should
be self-explanatory:

--------------------------------8<--------------------------------
#-# [Since 2.5M1]
#-# Define at which level users and groups should be handled in the
farm. Available modes:
#-#
#-# mixed (default):
#-# - user registration available in the main wiki and local wikis
#-# - users from the current wiki and the main wiki will be displayed
in the rights interface and user suggests
#-# - user administration is present in all the wikis
#-#
#-# local:
#-# - user registration available in the main wiki and local wikis
#-# - only users from the current wiki will be displayed in the rights
interface and user suggests
#-# - user administration is present in all the wikis
#-#
#-# global:
#-# - user registration available in the main wiki only, the register
link in local wikis will point to the main wiki
#-# - only users from the main wiki will be displayed in the rights
interface and user suggests
#-# - user administration is present in the main wiki only
core.virtual.users=mixed
-------------------------------->8--------------------------------

More details are available here:
http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule

WDYT ?

Thanks,
JV.
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Florin Ciubotaru
In reply to this post by Guillaume Lerouge
+1

Thanks,
Florin Ciubotaru

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf
> Of Guillaume Lerouge
> Sent: Monday, August 09, 2010 11:25 AM
> To: XWiki Developers
> Subject: Re: [xwiki-devs] [Proposal] Introduce user management
> configuration in virtual mode
>
> Hi,
>
> sounds good to me. Forcing only global users is a frequent use case,
notably
> for intranets. OTOH forcing only local users can be useful for farms of
public

> or separate websites (I'm thinking of websites such as myxwiki.orgfor
> instance).
>
> Guillaume
>
> On Wed, Aug 4, 2010 at 11:30, Jean-Vincent Drean <jean-
> [hidden email]>wrote:
>
> > Hi Devs,
> >
> > I'd like to introduce a new configuration property that would define
> > at which level users should be handled in a farm.
> > See the proposition about the new entry in xwiki.properties, it should
> > be self-explanatory:
> >
> > --------------------------------8<--------------------------------
> > #-# [Since 2.5M1]
> > #-# Define at which level users and groups should be handled in the
> > farm. Available modes:
> > #-#
> > #-# mixed (default):
> > #-# - user registration available in the main wiki and local wikis #-#
> > - users from the current wiki and the main wiki will be displayed in
> > the rights interface and user suggests #-# - user administration is
> > present in all the wikis #-# #-# local:
> > #-# - user registration available in the main wiki and local wikis #-#
> > - only users from the current wiki will be displayed in the rights
> > interface and user suggests #-# - user administration is present in
> > all the wikis #-# #-# global:
> > #-# - user registration available in the main wiki only, the register
> > link in local wikis will point to the main wiki #-# - only users from
> > the main wiki will be displayed in the rights interface and user
> > suggests #-# - user administration is present in the main wiki only
> > core.virtual.users=mixed
> > -------------------------------->8--------------------------------
> >
> > More details are available here:
> > http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
> >
> > WDYT ?
> >
> > Thanks,
> > JV.
> > _______________________________________________
> > devs mailing list
> > [hidden email]
> > http://lists.xwiki.org/mailman/listinfo/devs
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jean-Vincent Drean-3
In reply to this post by Jean-Vincent Drean-3
Up!

I could commit the code I have if we agree that it is going in the
good direction.
I'm thinking about the component implementation proposal in particular:
http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent

Thanks,
JV.

On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
<[hidden email]> wrote:

> Hi Devs,
>
> I'd like to introduce a new configuration property that would define
> at which level users should be handled in a farm.
> See the proposition about the new entry in xwiki.properties, it should
> be self-explanatory:
>
> --------------------------------8<--------------------------------
> #-# [Since 2.5M1]
> #-# Define at which level users and groups should be handled in the
> farm. Available modes:
> #-#
> #-# mixed (default):
> #-# - user registration available in the main wiki and local wikis
> #-# - users from the current wiki and the main wiki will be displayed
> in the rights interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# local:
> #-# - user registration available in the main wiki and local wikis
> #-# - only users from the current wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in all the wikis
> #-#
> #-# global:
> #-# - user registration available in the main wiki only, the register
> link in local wikis will point to the main wiki
> #-# - only users from the main wiki will be displayed in the rights
> interface and user suggests
> #-# - user administration is present in the main wiki only
> core.virtual.users=mixed
> -------------------------------->8--------------------------------
>
> More details are available here:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>
> WDYT ?
>
> Thanks,
> JV.
>
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jerome Velociter
+1

Jerome

On Fri, Sep 17, 2010 at 11:39 AM, Jean-Vincent Drean
<[hidden email]> wrote:

> Up!
>
> I could commit the code I have if we agree that it is going in the
> good direction.
> I'm thinking about the component implementation proposal in particular:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>
> Thanks,
> JV.
>
> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
> <[hidden email]> wrote:
>> Hi Devs,
>>
>> I'd like to introduce a new configuration property that would define
>> at which level users should be handled in a farm.
>> See the proposition about the new entry in xwiki.properties, it should
>> be self-explanatory:
>>
>> --------------------------------8<--------------------------------
>> #-# [Since 2.5M1]
>> #-# Define at which level users and groups should be handled in the
>> farm. Available modes:
>> #-#
>> #-# mixed (default):
>> #-# - user registration available in the main wiki and local wikis
>> #-# - users from the current wiki and the main wiki will be displayed
>> in the rights interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# local:
>> #-# - user registration available in the main wiki and local wikis
>> #-# - only users from the current wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# global:
>> #-# - user registration available in the main wiki only, the register
>> link in local wikis will point to the main wiki
>> #-# - only users from the main wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in the main wiki only
>> core.virtual.users=mixed
>> -------------------------------->8--------------------------------
>>
>> More details are available here:
>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>
>> WDYT ?
>>
>> Thanks,
>> JV.
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Denis Gervalle-2
+1, but I think we should also discuss how this could or will interact with
LDAP authentication and/or with rights checking.

Denis

On Fri, Sep 17, 2010 at 12:58, Jerome Velociter <[hidden email]> wrote:

> +1
>
> Jerome
>
> On Fri, Sep 17, 2010 at 11:39 AM, Jean-Vincent Drean
> <[hidden email]> wrote:
> > Up!
> >
> > I could commit the code I have if we agree that it is going in the
> > good direction.
> > I'm thinking about the component implementation proposal in particular:
> > http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
> >
> > Thanks,
> > JV.
> >
> > On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
> > <[hidden email]> wrote:
> >> Hi Devs,
> >>
> >> I'd like to introduce a new configuration property that would define
> >> at which level users should be handled in a farm.
> >> See the proposition about the new entry in xwiki.properties, it should
> >> be self-explanatory:
> >>
> >> --------------------------------8<--------------------------------
> >> #-# [Since 2.5M1]
> >> #-# Define at which level users and groups should be handled in the
> >> farm. Available modes:
> >> #-#
> >> #-# mixed (default):
> >> #-# - user registration available in the main wiki and local wikis
> >> #-# - users from the current wiki and the main wiki will be displayed
> >> in the rights interface and user suggests
> >> #-# - user administration is present in all the wikis
> >> #-#
> >> #-# local:
> >> #-# - user registration available in the main wiki and local wikis
> >> #-# - only users from the current wiki will be displayed in the rights
> >> interface and user suggests
> >> #-# - user administration is present in all the wikis
> >> #-#
> >> #-# global:
> >> #-# - user registration available in the main wiki only, the register
> >> link in local wikis will point to the main wiki
> >> #-# - only users from the main wiki will be displayed in the rights
> >> interface and user suggests
> >> #-# - user administration is present in the main wiki only
> >> core.virtual.users=mixed
> >> -------------------------------->8--------------------------------
> >>
> >> More details are available here:
> >> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
> >>
> >> WDYT ?
> >>
> >> Thanks,
> >> JV.
> >>
> > _______________________________________________
> > devs mailing list
> > [hidden email]
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Thomas Mortagne
Administrator
In reply to this post by Jean-Vincent Drean-3
+1

On Fri, Sep 17, 2010 at 11:39, Jean-Vincent Drean
<[hidden email]> wrote:

> Up!
>
> I could commit the code I have if we agree that it is going in the
> good direction.
> I'm thinking about the component implementation proposal in particular:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>
> Thanks,
> JV.
>
> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
> <[hidden email]> wrote:
>> Hi Devs,
>>
>> I'd like to introduce a new configuration property that would define
>> at which level users should be handled in a farm.
>> See the proposition about the new entry in xwiki.properties, it should
>> be self-explanatory:
>>
>> --------------------------------8<--------------------------------
>> #-# [Since 2.5M1]
>> #-# Define at which level users and groups should be handled in the
>> farm. Available modes:
>> #-#
>> #-# mixed (default):
>> #-# - user registration available in the main wiki and local wikis
>> #-# - users from the current wiki and the main wiki will be displayed
>> in the rights interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# local:
>> #-# - user registration available in the main wiki and local wikis
>> #-# - only users from the current wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# global:
>> #-# - user registration available in the main wiki only, the register
>> link in local wikis will point to the main wiki
>> #-# - only users from the main wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in the main wiki only
>> core.virtual.users=mixed
>> -------------------------------->8--------------------------------
>>
>> More details are available here:
>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>
>> WDYT ?
>>
>> Thanks,
>> JV.
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Marius Dumitru Florea
In reply to this post by Jean-Vincent Drean-3
+1

Thanks,
Marius

On 09/17/2010 12:39 PM, Jean-Vincent Drean wrote:

> Up!
>
> I could commit the code I have if we agree that it is going in the
> good direction.
> I'm thinking about the component implementation proposal in particular:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>
> Thanks,
> JV.
>
> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
> <[hidden email]>  wrote:
>> Hi Devs,
>>
>> I'd like to introduce a new configuration property that would define
>> at which level users should be handled in a farm.
>> See the proposition about the new entry in xwiki.properties, it should
>> be self-explanatory:
>>
>> --------------------------------8<--------------------------------
>> #-# [Since 2.5M1]
>> #-# Define at which level users and groups should be handled in the
>> farm. Available modes:
>> #-#
>> #-# mixed (default):
>> #-# - user registration available in the main wiki and local wikis
>> #-# - users from the current wiki and the main wiki will be displayed
>> in the rights interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# local:
>> #-# - user registration available in the main wiki and local wikis
>> #-# - only users from the current wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# global:
>> #-# - user registration available in the main wiki only, the register
>> link in local wikis will point to the main wiki
>> #-# - only users from the main wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in the main wiki only
>> core.virtual.users=mixed
>> -------------------------------->8--------------------------------
>>
>> More details are available here:
>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>
>> WDYT ?
>>
>> Thanks,
>> JV.
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

vmassol
Administrator
In reply to this post by Jean-Vincent Drean-3
Hi JV,

Sorry for being late. Some quick comments:

1) your mail wasn't really about the new users module but about a specific question... I was expecting a general architecture discussion about a users module.
2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.
4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?

Thanks
-Vincent

On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:

> Up!
>
> I could commit the code I have if we agree that it is going in the
> good direction.
> I'm thinking about the component implementation proposal in particular:
> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>
> Thanks,
> JV.
>
> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
> <[hidden email]> wrote:
>> Hi Devs,
>>
>> I'd like to introduce a new configuration property that would define
>> at which level users should be handled in a farm.
>> See the proposition about the new entry in xwiki.properties, it should
>> be self-explanatory:
>>
>> --------------------------------8<--------------------------------
>> #-# [Since 2.5M1]
>> #-# Define at which level users and groups should be handled in the
>> farm. Available modes:
>> #-#
>> #-# mixed (default):
>> #-# - user registration available in the main wiki and local wikis
>> #-# - users from the current wiki and the main wiki will be displayed
>> in the rights interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# local:
>> #-# - user registration available in the main wiki and local wikis
>> #-# - only users from the current wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in all the wikis
>> #-#
>> #-# global:
>> #-# - user registration available in the main wiki only, the register
>> link in local wikis will point to the main wiki
>> #-# - only users from the main wiki will be displayed in the rights
>> interface and user suggests
>> #-# - user administration is present in the main wiki only
>> core.virtual.users=mixed
>> -------------------------------->8--------------------------------
>>
>> More details are available here:
>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>
>> WDYT ?
>>
>> Thanks,
>> JV.
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jean-Vincent Drean
On Thu, Sep 23, 2010 at 5:34 PM, Vincent Massol <[hidden email]> wrote:
> Hi JV,
>
> Sorry for being late. Some quick comments:
>
> 1) your mail wasn't really about the new users module but about a specific question... I was expecting a general architecture discussion about a users module.

Since the thread wasn't clear enough I've pinged people individually.

> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?

There are many open questions, I've kept the proposal minimalistic on
purpose, it's only a starting point.
Now from my PoV this module should not handle user management (CRUD),
it should be a very generic proxy, for example we can imagine
(long-term) an implementation using LDAP that doesn't even create a
profile page within the wiki (thus avoiding sync problems).

About groups, I think they should be handled by the user module since
they are just sets of users.

> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.

ResultSet sounds very RDBM oriented IMHO, I'm thinking about the users
module as a very minimalistic proxy, a name, a pointer to the user
profile (wherever it is, possibly external), possibly a method that
allows to authenticate the user in the future.

> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.

Come on Vincent :) do you really search persons by phone number or
first name only ? I think mobile phones do a great job at helping to
find persons: first name + last name with filtering and a good default
ordering (it'd nice to order by last name). I like the approach for
its simplicity. I wonder what the others think about this.

About the generic search on objects it only fits with users stored in the wiki.

> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?

Why would you ? If it is for maintenance the XWiki.XWikiUsers class
page should provide the list but if you're looking for a user profile
does it matter that it is stored in the local or the global wiki ?

> Thanks
> -Vincent
>
> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>
>> Up!
>>
>> I could commit the code I have if we agree that it is going in the
>> good direction.
>> I'm thinking about the component implementation proposal in particular:
>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>
>> Thanks,
>> JV.
>>
>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>> <[hidden email]> wrote:
>>> Hi Devs,
>>>
>>> I'd like to introduce a new configuration property that would define
>>> at which level users should be handled in a farm.
>>> See the proposition about the new entry in xwiki.properties, it should
>>> be self-explanatory:
>>>
>>> --------------------------------8<--------------------------------
>>> #-# [Since 2.5M1]
>>> #-# Define at which level users and groups should be handled in the
>>> farm. Available modes:
>>> #-#
>>> #-# mixed (default):
>>> #-# - user registration available in the main wiki and local wikis
>>> #-# - users from the current wiki and the main wiki will be displayed
>>> in the rights interface and user suggests
>>> #-# - user administration is present in all the wikis
>>> #-#
>>> #-# local:
>>> #-# - user registration available in the main wiki and local wikis
>>> #-# - only users from the current wiki will be displayed in the rights
>>> interface and user suggests
>>> #-# - user administration is present in all the wikis
>>> #-#
>>> #-# global:
>>> #-# - user registration available in the main wiki only, the register
>>> link in local wikis will point to the main wiki
>>> #-# - only users from the main wiki will be displayed in the rights
>>> interface and user suggests
>>> #-# - user administration is present in the main wiki only
>>> core.virtual.users=mixed
>>> -------------------------------->8--------------------------------
>>>
>>> More details are available here:
>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>
>>> WDYT ?
>>>
>>> Thanks,
>>> JV.
>>>
>> _______________________________________________
>> devs mailing list
>> [hidden email]
>> http://lists.xwiki.org/mailman/listinfo/devs
>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

vmassol
Administrator

On Sep 23, 2010, at 6:14 PM, Jean-Vincent Drean wrote:

> On Thu, Sep 23, 2010 at 5:34 PM, Vincent Massol <[hidden email]> wrote:
>> Hi JV,
>>
>> Sorry for being late. Some quick comments:
>>
>> 1) your mail wasn't really about the new users module but about a specific question... I was expecting a general architecture discussion about a users module.
>
> Since the thread wasn't clear enough I've pinged people individually.
>
>> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
>
> There are many open questions, I've kept the proposal minimalistic on
> purpose, it's only a starting point.
> Now from my PoV this module should not handle user management (CRUD),
> it should be a very generic proxy, for example we can imagine
> (long-term) an implementation using LDAP that doesn't even create a
> profile page within the wiki (thus avoiding sync problems).

Then DocumentReference in the User object is not correct... ;)

> About groups, I think they should be handled by the user module since
> they are just sets of users.
>
>> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.
>
> ResultSet sounds very RDBM oriented IMHO,

No it's not. It's about anything that returns more than 1 page of data. It's very generic. It allows to have a clean api that doesn't add non business parameters.

> I'm thinking about the users
> module as a very minimalistic proxy, a name, a pointer to the user
> profile (wherever it is, possibly external), possibly a method that
> allows to authenticate the user in the future.
>
>> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
>
> Come on Vincent :) do you really search persons by phone number or
> first name only ? I think mobile phones do a great job at helping to
> find persons: first name + last name with filtering and a good default
> ordering (it'd nice to order by last name). I like the approach for
> its simplicity. I wonder what the others think about this.

I'm very serious. Any design proposal that focus on a specific aspect without allowing more complex use cases it completely flawed to me.

> About the generic search on objects it only fits with users stored in the wiki.
>
>> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?
>
> Why would you ? If it is for maintenance the XWiki.XWikiUsers class
> page should provide the list but if you're looking for a user profile
> does it matter that it is stored in the local or the global wiki ?

errr? We're talking about APIs here.... why would I? Simply because there's a notion of local and global users so we need an api to return local users, global users, all users, etc.

Whenever you talk specific without being able to do something generic you can be sure your API is flawed and this is my main concern with the proposal: I see it very focused on a single need and IMO it hasn't been thought to be generic. While I'm fine with this we need to know it's going to have to be broken very soon and thus it's not really an API and should be internal instead.

It's ok to be minimalistic but it's not ok not to prepare for all the use cases because you'll have to break the api later on.

Thanks
-Vincent

>
>> Thanks
>> -Vincent
>>
>> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>>
>>> Up!
>>>
>>> I could commit the code I have if we agree that it is going in the
>>> good direction.
>>> I'm thinking about the component implementation proposal in particular:
>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>>
>>> Thanks,
>>> JV.
>>>
>>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>>> <[hidden email]> wrote:
>>>> Hi Devs,
>>>>
>>>> I'd like to introduce a new configuration property that would define
>>>> at which level users should be handled in a farm.
>>>> See the proposition about the new entry in xwiki.properties, it should
>>>> be self-explanatory:
>>>>
>>>> --------------------------------8<--------------------------------
>>>> #-# [Since 2.5M1]
>>>> #-# Define at which level users and groups should be handled in the
>>>> farm. Available modes:
>>>> #-#
>>>> #-# mixed (default):
>>>> #-# - user registration available in the main wiki and local wikis
>>>> #-# - users from the current wiki and the main wiki will be displayed
>>>> in the rights interface and user suggests
>>>> #-# - user administration is present in all the wikis
>>>> #-#
>>>> #-# local:
>>>> #-# - user registration available in the main wiki and local wikis
>>>> #-# - only users from the current wiki will be displayed in the rights
>>>> interface and user suggests
>>>> #-# - user administration is present in all the wikis
>>>> #-#
>>>> #-# global:
>>>> #-# - user registration available in the main wiki only, the register
>>>> link in local wikis will point to the main wiki
>>>> #-# - only users from the main wiki will be displayed in the rights
>>>> interface and user suggests
>>>> #-# - user administration is present in the main wiki only
>>>> core.virtual.users=mixed
>>>> -------------------------------->8--------------------------------
>>>>
>>>> More details are available here:
>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>>
>>>> WDYT ?
>>>>
>>>> Thanks,
>>>> JV.

_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jean-Vincent Drean-3
On Thu, Sep 23, 2010 at 6:27 PM, Vincent Massol <[hidden email]> wrote:

>
> On Sep 23, 2010, at 6:14 PM, Jean-Vincent Drean wrote:
>
>>
>>> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
>>
>> There are many open questions, I've kept the proposal minimalistic on
>> purpose, it's only a starting point.
>> Now from my PoV this module should not handle user management (CRUD),
>> it should be a very generic proxy, for example we can imagine
>> (long-term) an implementation using LDAP that doesn't even create a
>> profile page within the wiki (thus avoiding sync problems).
>
> Then DocumentReference in the User object is not correct... ;)

Indeed :)

>
>> About groups, I think they should be handled by the user module since
>> they are just sets of users.
>>
>>> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.
>>
>> ResultSet sounds very RDBM oriented IMHO,
>
> No it's not. It's about anything that returns more than 1 page of data. It's very generic. It allows to have a clean api that doesn't add non business parameters.
>

I'm not -1 about this, I just find it a bit overkill. It'd also make
it a bit more difficult to use from velocity (but may be the script
service could hide the complexity).

>> I'm thinking about the users
>> module as a very minimalistic proxy, a name, a pointer to the user
>> profile (wherever it is, possibly external), possibly a method that
>> allows to authenticate the user in the future.
>>
>>> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
>>
>> Come on Vincent :) do you really search persons by phone number or
>> first name only ? I think mobile phones do a great job at helping to
>> find persons: first name + last name with filtering and a good default
>> ordering (it'd nice to order by last name). I like the approach for
>> its simplicity. I wonder what the others think about this.
>
> I'm very serious. Any design proposal that focus on a specific aspect without allowing more complex use cases it completely flawed to me.

I understand that we need to be able to handle custom and complex use
cases but I think the XObjects model is here for that. We need a
module allowing to retrieve XObjects with matching/filtering on any
field, I agree.
I think we know enough what we need to manage our users to define a
specific API, the rightsmanager API was allowing much more complex
things but those capabilities haven't been used (Thomas stop me if I'm
wrong). The current proposal will need additions but I don't think it
is flawed by design, I'd say it is based on known needs.

>
>> About the generic search on objects it only fits with users stored in the wiki.
>>
>>> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?
>>
>> Why would you ? If it is for maintenance the XWiki.XWikiUsers class
>> page should provide the list but if you're looking for a user profile
>> does it matter that it is stored in the local or the global wiki ?
>
> errr? We're talking about APIs here.... why would I? Simply because there's a notion of local and global users so we need an api to return local users, global users, all users, etc.

There's a notion of local and global wiki pages, but should it matter
for user management ?

>
> Whenever you talk specific without being able to do something generic you can be sure your API is flawed and this is my main concern with the proposal: I see it very focused on a single need and IMO it hasn't been thought to be generic. While I'm fine with this we need to know it's going to have to be broken very soon and thus it's not really an API and should be internal instead.
>

I think we know enough our needs to be able to define a specific API
that won't have to be broken.

Thanks,
JV.

> It's ok to be minimalistic but it's not ok not to prepare for all the use cases because you'll have to break the api later on.
>
> Thanks
> -Vincent
>
>>
>>> Thanks
>>> -Vincent
>>>
>>> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>>>
>>>> Up!
>>>>
>>>> I could commit the code I have if we agree that it is going in the
>>>> good direction.
>>>> I'm thinking about the component implementation proposal in particular:
>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>>>
>>>> Thanks,
>>>> JV.
>>>>
>>>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>>>> <[hidden email]> wrote:
>>>>> Hi Devs,
>>>>>
>>>>> I'd like to introduce a new configuration property that would define
>>>>> at which level users should be handled in a farm.
>>>>> See the proposition about the new entry in xwiki.properties, it should
>>>>> be self-explanatory:
>>>>>
>>>>> --------------------------------8<--------------------------------
>>>>> #-# [Since 2.5M1]
>>>>> #-# Define at which level users and groups should be handled in the
>>>>> farm. Available modes:
>>>>> #-#
>>>>> #-# mixed (default):
>>>>> #-# - user registration available in the main wiki and local wikis
>>>>> #-# - users from the current wiki and the main wiki will be displayed
>>>>> in the rights interface and user suggests
>>>>> #-# - user administration is present in all the wikis
>>>>> #-#
>>>>> #-# local:
>>>>> #-# - user registration available in the main wiki and local wikis
>>>>> #-# - only users from the current wiki will be displayed in the rights
>>>>> interface and user suggests
>>>>> #-# - user administration is present in all the wikis
>>>>> #-#
>>>>> #-# global:
>>>>> #-# - user registration available in the main wiki only, the register
>>>>> link in local wikis will point to the main wiki
>>>>> #-# - only users from the main wiki will be displayed in the rights
>>>>> interface and user suggests
>>>>> #-# - user administration is present in the main wiki only
>>>>> core.virtual.users=mixed
>>>>> -------------------------------->8--------------------------------
>>>>>
>>>>> More details are available here:
>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>>>
>>>>> WDYT ?
>>>>>
>>>>> Thanks,
>>>>> JV.
>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Thomas Mortagne
Administrator
On Thu, Sep 23, 2010 at 21:23, Jean-Vincent Drean
<[hidden email]> wrote:

> On Thu, Sep 23, 2010 at 6:27 PM, Vincent Massol <[hidden email]> wrote:
>>
>> On Sep 23, 2010, at 6:14 PM, Jean-Vincent Drean wrote:
>>
>>>
>>>> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
>>>
>>> There are many open questions, I've kept the proposal minimalistic on
>>> purpose, it's only a starting point.
>>> Now from my PoV this module should not handle user management (CRUD),
>>> it should be a very generic proxy, for example we can imagine
>>> (long-term) an implementation using LDAP that doesn't even create a
>>> profile page within the wiki (thus avoiding sync problems).
>>
>> Then DocumentReference in the User object is not correct... ;)
>
> Indeed :)
>
>>
>>> About groups, I think they should be handled by the user module since
>>> they are just sets of users.
>>>
>>>> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.
>>>
>>> ResultSet sounds very RDBM oriented IMHO,
>>
>> No it's not. It's about anything that returns more than 1 page of data. It's very generic. It allows to have a clean api that doesn't add non business parameters.
>>
>
> I'm not -1 about this, I just find it a bit overkill. It'd also make
> it a bit more difficult to use from velocity (but may be the script
> service could hide the complexity).
>
>>> I'm thinking about the users
>>> module as a very minimalistic proxy, a name, a pointer to the user
>>> profile (wherever it is, possibly external), possibly a method that
>>> allows to authenticate the user in the future.
>>>
>>>> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
>>>
>>> Come on Vincent :) do you really search persons by phone number or
>>> first name only ? I think mobile phones do a great job at helping to
>>> find persons: first name + last name with filtering and a good default
>>> ordering (it'd nice to order by last name). I like the approach for
>>> its simplicity. I wonder what the others think about this.
>>
>> I'm very serious. Any design proposal that focus on a specific aspect without allowing more complex use cases it completely flawed to me.
>
> I understand that we need to be able to handle custom and complex use
> cases but I think the XObjects model is here for that. We need a
> module allowing to retrieve XObjects with matching/filtering on any
> field, I agree.
> I think we know enough what we need to manage our users to define a
> specific API, the rightsmanager API was allowing much more complex
> things but those capabilities haven't been used (Thomas stop me if I'm
> wrong). The current proposal will need additions but I don't think it
> is flawed by design, I'd say it is based on known needs.

Actually I think an important part of complex rightsmanager filtering
capabilities are currently used by rights/users/groups UI.

>
>>
>>> About the generic search on objects it only fits with users stored in the wiki.
>>>
>>>> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?
>>>
>>> Why would you ? If it is for maintenance the XWiki.XWikiUsers class
>>> page should provide the list but if you're looking for a user profile
>>> does it matter that it is stored in the local or the global wiki ?
>>
>> errr? We're talking about APIs here.... why would I? Simply because there's a notion of local and global users so we need an api to return local users, global users, all users, etc.
>
> There's a notion of local and global wiki pages, but should it matter
> for user management ?
>
>>
>> Whenever you talk specific without being able to do something generic you can be sure your API is flawed and this is my main concern with the proposal: I see it very focused on a single need and IMO it hasn't been thought to be generic. While I'm fine with this we need to know it's going to have to be broken very soon and thus it's not really an API and should be internal instead.
>>
>
> I think we know enough our needs to be able to define a specific API
> that won't have to be broken.
>
> Thanks,
> JV.
>
>> It's ok to be minimalistic but it's not ok not to prepare for all the use cases because you'll have to break the api later on.
>>
>> Thanks
>> -Vincent
>>
>>>
>>>> Thanks
>>>> -Vincent
>>>>
>>>> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>>>>
>>>>> Up!
>>>>>
>>>>> I could commit the code I have if we agree that it is going in the
>>>>> good direction.
>>>>> I'm thinking about the component implementation proposal in particular:
>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>>>>
>>>>> Thanks,
>>>>> JV.
>>>>>
>>>>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>>>>> <[hidden email]> wrote:
>>>>>> Hi Devs,
>>>>>>
>>>>>> I'd like to introduce a new configuration property that would define
>>>>>> at which level users should be handled in a farm.
>>>>>> See the proposition about the new entry in xwiki.properties, it should
>>>>>> be self-explanatory:
>>>>>>
>>>>>> --------------------------------8<--------------------------------
>>>>>> #-# [Since 2.5M1]
>>>>>> #-# Define at which level users and groups should be handled in the
>>>>>> farm. Available modes:
>>>>>> #-#
>>>>>> #-# mixed (default):
>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>> #-# - users from the current wiki and the main wiki will be displayed
>>>>>> in the rights interface and user suggests
>>>>>> #-# - user administration is present in all the wikis
>>>>>> #-#
>>>>>> #-# local:
>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>> #-# - only users from the current wiki will be displayed in the rights
>>>>>> interface and user suggests
>>>>>> #-# - user administration is present in all the wikis
>>>>>> #-#
>>>>>> #-# global:
>>>>>> #-# - user registration available in the main wiki only, the register
>>>>>> link in local wikis will point to the main wiki
>>>>>> #-# - only users from the main wiki will be displayed in the rights
>>>>>> interface and user suggests
>>>>>> #-# - user administration is present in the main wiki only
>>>>>> core.virtual.users=mixed
>>>>>> -------------------------------->8--------------------------------
>>>>>>
>>>>>> More details are available here:
>>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>>>>
>>>>>> WDYT ?
>>>>>>
>>>>>> Thanks,
>>>>>> JV.
>>
>> _______________________________________________
>> devs mailing list
>> [hidden email]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Thomas Mortagne
Administrator
On Thu, Sep 23, 2010 at 21:51, Thomas Mortagne
<[hidden email]> wrote:

> On Thu, Sep 23, 2010 at 21:23, Jean-Vincent Drean
> <[hidden email]> wrote:
>> On Thu, Sep 23, 2010 at 6:27 PM, Vincent Massol <[hidden email]> wrote:
>>>
>>> On Sep 23, 2010, at 6:14 PM, Jean-Vincent Drean wrote:
>>>
>>>>
>>>>> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
>>>>
>>>> There are many open questions, I've kept the proposal minimalistic on
>>>> purpose, it's only a starting point.
>>>> Now from my PoV this module should not handle user management (CRUD),
>>>> it should be a very generic proxy, for example we can imagine
>>>> (long-term) an implementation using LDAP that doesn't even create a
>>>> profile page within the wiki (thus avoiding sync problems).
>>>
>>> Then DocumentReference in the User object is not correct... ;)
>>
>> Indeed :)
>>
>>>
>>>> About groups, I think they should be handled by the user module since
>>>> they are just sets of users.
>>>>
>>>>> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.
>>>>
>>>> ResultSet sounds very RDBM oriented IMHO,
>>>
>>> No it's not. It's about anything that returns more than 1 page of data. It's very generic. It allows to have a clean api that doesn't add non business parameters.
>>>
>>
>> I'm not -1 about this, I just find it a bit overkill. It'd also make
>> it a bit more difficult to use from velocity (but may be the script
>> service could hide the complexity).
>>
>>>> I'm thinking about the users
>>>> module as a very minimalistic proxy, a name, a pointer to the user
>>>> profile (wherever it is, possibly external), possibly a method that
>>>> allows to authenticate the user in the future.
>>>>
>>>>> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
>>>>
>>>> Come on Vincent :) do you really search persons by phone number or
>>>> first name only ? I think mobile phones do a great job at helping to
>>>> find persons: first name + last name with filtering and a good default
>>>> ordering (it'd nice to order by last name). I like the approach for
>>>> its simplicity. I wonder what the others think about this.
>>>
>>> I'm very serious. Any design proposal that focus on a specific aspect without allowing more complex use cases it completely flawed to me.
>>
>> I understand that we need to be able to handle custom and complex use
>> cases but I think the XObjects model is here for that. We need a
>> module allowing to retrieve XObjects with matching/filtering on any
>> field, I agree.
>> I think we know enough what we need to manage our users to define a
>> specific API, the rightsmanager API was allowing much more complex
>> things but those capabilities haven't been used (Thomas stop me if I'm
>> wrong). The current proposal will need additions but I don't think it
>> is flawed by design, I'd say it is based on known needs.
>
> Actually I think an important part of complex rightsmanager filtering
> capabilities are currently used by rights/users/groups UI.

But now only for first and last name actually, pretty sure there used
to be some more columns at first.

>
>>
>>>
>>>> About the generic search on objects it only fits with users stored in the wiki.
>>>>
>>>>> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?
>>>>
>>>> Why would you ? If it is for maintenance the XWiki.XWikiUsers class
>>>> page should provide the list but if you're looking for a user profile
>>>> does it matter that it is stored in the local or the global wiki ?
>>>
>>> errr? We're talking about APIs here.... why would I? Simply because there's a notion of local and global users so we need an api to return local users, global users, all users, etc.
>>
>> There's a notion of local and global wiki pages, but should it matter
>> for user management ?
>>
>>>
>>> Whenever you talk specific without being able to do something generic you can be sure your API is flawed and this is my main concern with the proposal: I see it very focused on a single need and IMO it hasn't been thought to be generic. While I'm fine with this we need to know it's going to have to be broken very soon and thus it's not really an API and should be internal instead.
>>>
>>
>> I think we know enough our needs to be able to define a specific API
>> that won't have to be broken.
>>
>> Thanks,
>> JV.
>>
>>> It's ok to be minimalistic but it's not ok not to prepare for all the use cases because you'll have to break the api later on.
>>>
>>> Thanks
>>> -Vincent
>>>
>>>>
>>>>> Thanks
>>>>> -Vincent
>>>>>
>>>>> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>>>>>
>>>>>> Up!
>>>>>>
>>>>>> I could commit the code I have if we agree that it is going in the
>>>>>> good direction.
>>>>>> I'm thinking about the component implementation proposal in particular:
>>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>>>>>
>>>>>> Thanks,
>>>>>> JV.
>>>>>>
>>>>>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>>>>>> <[hidden email]> wrote:
>>>>>>> Hi Devs,
>>>>>>>
>>>>>>> I'd like to introduce a new configuration property that would define
>>>>>>> at which level users should be handled in a farm.
>>>>>>> See the proposition about the new entry in xwiki.properties, it should
>>>>>>> be self-explanatory:
>>>>>>>
>>>>>>> --------------------------------8<--------------------------------
>>>>>>> #-# [Since 2.5M1]
>>>>>>> #-# Define at which level users and groups should be handled in the
>>>>>>> farm. Available modes:
>>>>>>> #-#
>>>>>>> #-# mixed (default):
>>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>>> #-# - users from the current wiki and the main wiki will be displayed
>>>>>>> in the rights interface and user suggests
>>>>>>> #-# - user administration is present in all the wikis
>>>>>>> #-#
>>>>>>> #-# local:
>>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>>> #-# - only users from the current wiki will be displayed in the rights
>>>>>>> interface and user suggests
>>>>>>> #-# - user administration is present in all the wikis
>>>>>>> #-#
>>>>>>> #-# global:
>>>>>>> #-# - user registration available in the main wiki only, the register
>>>>>>> link in local wikis will point to the main wiki
>>>>>>> #-# - only users from the main wiki will be displayed in the rights
>>>>>>> interface and user suggests
>>>>>>> #-# - user administration is present in the main wiki only
>>>>>>> core.virtual.users=mixed
>>>>>>> -------------------------------->8--------------------------------
>>>>>>>
>>>>>>> More details are available here:
>>>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>>>>>
>>>>>>> WDYT ?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> JV.
>>>
>>> _______________________________________________
>>> devs mailing list
>>> [hidden email]
>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>
>> _______________________________________________
>> devs mailing list
>> [hidden email]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
>
> --
> Thomas Mortagne
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Thomas Mortagne
Administrator
In reply to this post by Jean-Vincent Drean-3
On Thu, Sep 23, 2010 at 21:23, Jean-Vincent Drean
<[hidden email]> wrote:

> On Thu, Sep 23, 2010 at 6:27 PM, Vincent Massol <[hidden email]> wrote:
>>
>> On Sep 23, 2010, at 6:14 PM, Jean-Vincent Drean wrote:
>>
>>>
>>>> 2) I read http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule and when I read it I miss the feeling that the architecture is sound and all-encompassing. It would be good to know the extent to which this module will go and what it'll do exactly, to be sure we're not missing things and that it's not overstepping in some other module's area. Will it do user registration? Will it allow to add/remove/modify users? What about Groups?
>>>
>>> There are many open questions, I've kept the proposal minimalistic on
>>> purpose, it's only a starting point.
>>> Now from my PoV this module should not handle user management (CRUD),
>>> it should be a very generic proxy, for example we can imagine
>>> (long-term) an implementation using LDAP that doesn't even create a
>>> profile page within the wiki (thus avoiding sync problems).
>>
>> Then DocumentReference in the User object is not correct... ;)
>
> Indeed :)

Problem is that to really get rid of DocumentReference you would need
a complete user manager with user creation, authentication and all so
you have to find something in the middle for now i guess. Maybe that's
some kind of user related bridge in which you can put things like
asking for the DocumentReference related to a User so that the new
User API is not polluted.

>
>>
>>> About groups, I think they should be handled by the user module since
>>> they are just sets of users.
>>>
>>>> 3) Would it be possible to not have the number and offset params and instead return a ResultSet<User> object that you could query to get the data with a cursor (same as the JDBC api basically). It makes the API better IMO.

ResultSet cannot replace offset/limit, it's not its job at all. Even
in JDBC you set theses in the Query, its only job is to avoid storing
the whole set of result in a list when there is too much. But in a UI
for example you need to be able to request just between a result and
another depending of the pagination without having to get all of them.

>>>
>>> ResultSet sounds very RDBM oriented IMHO,
>>
>> No it's not. It's about anything that returns more than 1 page of data. It's very generic. It allows to have a clean api that doesn't add non business parameters.
>>
>
> I'm not -1 about this, I just find it a bit overkill. It'd also make
> it a bit more difficult to use from velocity (but may be the script
> service could hide the complexity).
>
>>> I'm thinking about the users
>>> module as a very minimalistic proxy, a name, a pointer to the user
>>> profile (wherever it is, possibly external), possibly a method that
>>> allows to authenticate the user in the future.
>>>
>>>> 4) I don't like the "String match" parameter. It's very restrictive. What if I want to search on the phone number of a user? Or simply on its first name only? Also this should probably just call a more generic search module that does search on objects.
>>>
>>> Come on Vincent :) do you really search persons by phone number or
>>> first name only ? I think mobile phones do a great job at helping to
>>> find persons: first name + last name with filtering and a good default
>>> ordering (it'd nice to order by last name). I like the approach for
>>> its simplicity. I wonder what the others think about this.
>>
>> I'm very serious. Any design proposal that focus on a specific aspect without allowing more complex use cases it completely flawed to me.

The main target of JV here is not to do a complete user manager but to
provide a centralized component accessible way to access the list of
"current" users depending of the configuration and since that's
something that should go in a (future complete) User Management API he
started it.
More complex use case means more API in this case so more things to
validate. I agree that we will need some generic way of querying any
field of users but it can be done later.

>
> I understand that we need to be able to handle custom and complex use
> cases but I think the XObjects model is here for that. We need a
> module allowing to retrieve XObjects with matching/filtering on any
> field, I agree.
> I think we know enough what we need to manage our users to define a
> specific API, the rightsmanager API was allowing much more complex
> things but those capabilities haven't been used (Thomas stop me if I'm
> wrong). The current proposal will need additions but I don't think it
> is flawed by design, I'd say it is based on known needs.
>
>>
>>> About the generic search on objects it only fits with users stored in the wiki.
>>>
>>>> 5) "Define at which level users and groups should be handled in the farm". Not sure what this affects. For example if I want  to get all local users, what API do I use?
>>>
>>> Why would you ? If it is for maintenance the XWiki.XWikiUsers class
>>> page should provide the list but if you're looking for a user profile
>>> does it matter that it is stored in the local or the global wiki ?
>>
>> errr? We're talking about APIs here.... why would I? Simply because there's a notion of local and global users so we need an api to return local users, global users, all users, etc.
>
> There's a notion of local and global wiki pages, but should it matter
> for user management ?
>
>>
>> Whenever you talk specific without being able to do something generic you can be sure your API is flawed and this is my main concern with the proposal: I see it very focused on a single need and IMO it hasn't been thought to be generic. While I'm fine with this we need to know it's going to have to be broken very soon and thus it's not really an API and should be internal instead.
>>
>
> I think we know enough our needs to be able to define a specific API
> that won't have to be broken.

I don't think we can expect a complete user management API right now
especially since it's not a blocker need at all so the most important
thing IMO is to find an API that does not block future evolutions even
if it produce deprecation of some methods. I'm not sure it would be
that soon.

Here is a proposal:
ResultSet concept is a good idea but we can't use it as it IMO because
it's way to SQL oriented. We could define some kind typed
Query/Resultset couple for users:

UserQuery very minimalistic for now (that we would extends latter with
more supported fields and custom fields)
- setLimit()
- setOffset()
- something like setNameMatching(String valueToMatch) that does not
block the possibility to add latter support for other fields when we
will add more fields in User itself without generating any
deprecation, typed make it safer and it's always possible to add
setMacthing(String field, Object valueToMatch) latter when we will add
support for custom fields in User

UserResultSet (to be safe):
- same next/previous and close based system than ResultSet
- User getUser()

and:
UserResultSet UserManager#getUsers(UserCriteria criteria)

Maybe put the DocumentReference in a bridge like proposed to not
constrain User API to be linked to a wiki page to avoid the pain of
removing it latter when user manager will contains all user related
tasks and will allow us to link it directly to the real user directory
like LDAP etc.

That way it does not add more work for JV to cover his immediate use
case and it's nicer for future evolutions of the API.

WDYT ?

>
> Thanks,
> JV.
>
>> It's ok to be minimalistic but it's not ok not to prepare for all the use cases because you'll have to break the api later on.
>>
>> Thanks
>> -Vincent
>>
>>>
>>>> Thanks
>>>> -Vincent
>>>>
>>>> On Sep 17, 2010, at 11:39 AM, Jean-Vincent Drean wrote:
>>>>
>>>>> Up!
>>>>>
>>>>> I could commit the code I have if we agree that it is going in the
>>>>> good direction.
>>>>> I'm thinking about the component implementation proposal in particular:
>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule#HUsersComponent
>>>>>
>>>>> Thanks,
>>>>> JV.
>>>>>
>>>>> On Wed, Aug 4, 2010 at 11:30 AM, Jean-Vincent Drean
>>>>> <[hidden email]> wrote:
>>>>>> Hi Devs,
>>>>>>
>>>>>> I'd like to introduce a new configuration property that would define
>>>>>> at which level users should be handled in a farm.
>>>>>> See the proposition about the new entry in xwiki.properties, it should
>>>>>> be self-explanatory:
>>>>>>
>>>>>> --------------------------------8<--------------------------------
>>>>>> #-# [Since 2.5M1]
>>>>>> #-# Define at which level users and groups should be handled in the
>>>>>> farm. Available modes:
>>>>>> #-#
>>>>>> #-# mixed (default):
>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>> #-# - users from the current wiki and the main wiki will be displayed
>>>>>> in the rights interface and user suggests
>>>>>> #-# - user administration is present in all the wikis
>>>>>> #-#
>>>>>> #-# local:
>>>>>> #-# - user registration available in the main wiki and local wikis
>>>>>> #-# - only users from the current wiki will be displayed in the rights
>>>>>> interface and user suggests
>>>>>> #-# - user administration is present in all the wikis
>>>>>> #-#
>>>>>> #-# global:
>>>>>> #-# - user registration available in the main wiki only, the register
>>>>>> link in local wikis will point to the main wiki
>>>>>> #-# - only users from the main wiki will be displayed in the rights
>>>>>> interface and user suggests
>>>>>> #-# - user administration is present in the main wiki only
>>>>>> core.virtual.users=mixed
>>>>>> -------------------------------->8--------------------------------
>>>>>>
>>>>>> More details are available here:
>>>>>> http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule
>>>>>>
>>>>>> WDYT ?
>>>>>>
>>>>>> Thanks,
>>>>>> JV.
>>
>> _______________________________________________
>> devs mailing list
>> [hidden email]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] Introduce user management configuration in virtual mode

Jean-Vincent Drean
On Fri, Sep 24, 2010 at 12:11 PM, Thomas Mortagne
<[hidden email]> wrote:

>
> Here is a proposal:
> ResultSet concept is a good idea but we can't use it as it IMO because
> it's way to SQL oriented. We could define some kind typed
> Query/Resultset couple for users:
>
> UserQuery very minimalistic for now (that we would extends latter with
> more supported fields and custom fields)
> - setLimit()
> - setOffset()

I'd prefer to have this kind of API:
UserResultSet getUsers(UserCriteria criteria, Range range)

I'd prefer using the criterion terminology and even if limit and
offset are criteria I think they don't fit very well in a
UserCriteria.
Related: our generic criteria could be moved to a component (xwiki-commons?).

> - something like setNameMatching(String valueToMatch) that does not
> block the possibility to add latter support for other fields when we
> will add more fields in User itself without generating any
> deprecation, typed make it safer and it's always possible to add
> setMacthing(String field, Object valueToMatch) latter when we will add
> support for custom fields in User
>

Sounds good.

> UserResultSet (to be safe):
> - same next/previous and close based system than ResultSet
> - User getUser()

Well, it feels a bit to much to me to restrict the number of results
in the request + allow streaming on the results. I'm not -1 though,
it'd for sure be safe.

>
> and:
> UserResultSet UserManager#getUsers(UserCriteria criteria)
>

See above.

> Maybe put the DocumentReference in a bridge like proposed to not
> constrain User API to be linked to a wiki page to avoid the pain of
> removing it latter when user manager will contains all user related
> tasks and will allow us to link it directly to the real user directory
> like LDAP etc.
>
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
12