Re: [DISCUSS] RESTful best practices

2013-10-30 Thread Francesco Chicchiriccò

Hi,
my recent commit [3] for SYNCOPE-425 should have applied all applicable 
RESTful best practices plus most of what discussed below: see issue 
comments for more details.


Please double check the changes I've made to services and let me know if 
you still found any anomaly.


Regards.

On 16/10/2013 10:22, Francesco Chicchiriccò wrote:

Hi,
replying to this old thread, trying to catch some interest about this 
topic.


I'd like to create an issue for improving the current UserService on 
trunk [2] with the following modifications:


1. add a couple of 'resolve' methods which allows to obtain an user id 
from its username and vice versa:

 1a. GET /{userId}/username
 1b. GET /{username}/userId

2. remove any {username} related method

3. add PUT /status/{userId} with UserStatusMod argument, where 
UserStatusMod is a new transfer object encapsulating any status change 
request (possibly not limited to current 'activate', 'suspend', 
'reactivate').


4. remove 'activate', 'suspend', 'reactivate' methods

5. (side change) remove UserTO#setStatus in order to avoid confusion 
on this topic (status cannot be directly set when creating or updating 
user, it's up to workflow definition); internal methods will use 
reflection for this purpose


WDYT?

Regards.

On 07/08/2013 09:24, Francesco Chicchiriccò wrote:

Hi all,
[1] reports that User Service Interface in Version 1.1.0 is still 
not applying some major RESTful best practices. Therefore refactoring 
for release = 1.2.0 is most likely.


Does anyone remember what is still missing? Shall we restart such 
discussion?


Regards.

[1] 
https://cwiki.apache.org/confluence/display/SYNCOPE/REST+API+upgrade#RESTAPIupgrade-UserService
 [2] 
https://svn.apache.org/repos/asf/syncope/trunk/common/src/main/java/org/apache/syncope/common/services/UserService.java


[3] http://svn.apache.org/r1537047

--
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/



Re: [DISCUSS] RESTful best practices

2013-10-16 Thread Francesco Chicchiriccò

Hi,
replying to this old thread, trying to catch some interest about this topic.

I'd like to create an issue for improving the current UserService on 
trunk [2] with the following modifications:


1. add a couple of 'resolve' methods which allows to obtain an user id 
from its username and vice versa:

 1a. GET /{userId}/username
 1b. GET /{username}/userId

2. remove any {username} related method

3. add PUT /status/{userId} with UserStatusMod argument, where 
UserStatusMod is a new transfer object encapsulating any status change 
request (possibly not limited to current 'activate', 'suspend', 
'reactivate').


4. remove 'activate', 'suspend', 'reactivate' methods

5. (side change) remove UserTO#setStatus in order to avoid confusion on 
this topic (status cannot be directly set when creating or updating 
user, it's up to workflow definition); internal methods will use 
reflection for this purpose


WDYT?

Regards.

On 07/08/2013 09:24, Francesco Chicchiriccò wrote:

Hi all,
[1] reports that User Service Interface in Version 1.1.0 is still not 
applying some major RESTful best practices. Therefore refactoring for 
release = 1.2.0 is most likely.


Does anyone remember what is still missing? Shall we restart such 
discussion?


Regards.

[1] 
https://cwiki.apache.org/confluence/display/SYNCOPE/REST+API+upgrade#RESTAPIupgrade-UserService
 [2] 
https://svn.apache.org/repos/asf/syncope/trunk/common/src/main/java/org/apache/syncope/common/services/UserService.java


--
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/



Re: [DISCUSS] RESTful best practices

2013-10-16 Thread Marco Di Sabatino Di Diodoro

Il giorno 16/ott/2013, alle ore 10:22, Francesco Chicchiriccò 
ilgro...@apache.org ha scritto:

 Hi,
 replying to this old thread, trying to catch some interest about this topic.
 
 I'd like to create an issue for improving the current UserService on trunk 
 [2] with the following modifications:
 
 1. add a couple of 'resolve' methods which allows to obtain an user id from 
 its username and vice versa:
 1a. GET /{userId}/username
 1b. GET /{username}/userId
 
+1

 2. remove any {username} related method

+1
 
 3. add PUT /status/{userId} with UserStatusMod argument, where UserStatusMod 
 is a new transfer object encapsulating any status change request (possibly 
 not limited to current 'activate', 'suspend', 'reactivate').

+1
 
 4. remove 'activate', 'suspend', 'reactivate' methods

+1
 
 5. (side change) remove UserTO#setStatus in order to avoid confusion on this 
 topic (status cannot be directly set when creating or updating user, it's up 
 to workflow definition); internal methods will use reflection for this purpose
 
+1

 WDYT?
 
 Regards.

BR
Marco
 
 On 07/08/2013 09:24, Francesco Chicchiriccò wrote:
 Hi all,
 [1] reports that User Service Interface in Version 1.1.0 is still not 
 applying some major RESTful best practices. Therefore refactoring for 
 release = 1.2.0 is most likely.
 
 Does anyone remember what is still missing? Shall we restart such discussion?
 
 Regards.
 
 [1] 
 https://cwiki.apache.org/confluence/display/SYNCOPE/REST+API+upgrade#RESTAPIupgrade-UserService
 [2] 
 https://svn.apache.org/repos/asf/syncope/trunk/common/src/main/java/org/apache/syncope/common/services/UserService.java
 
 -- 
 Francesco Chicchiriccò
 
 ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
 http://people.apache.org/~ilgrosso/
 

-- 
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 085973
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/