You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Klevenz, Stephan" <st...@sap.com> on 2010/03/18 13:32:53 UTC

OpenCMIS: Operation Context - Access Control Contex

Hi,

While writing r/w Junit test cases for OpenCMIS client API I'm struggling a little bit with API usability. Creation methods require always parameter for access control and policy in spite of the fact that this is optional:

// create additional optional parameter
List<Ace> aceAdd = new ArrayList<Ace>();     // all empty
List<Ace> aceRemove = new ArrayList<Ace>();
List<Policy> pol = new ArrayList<Policy>;

ObjectId newId = this.session.createFolder(properties, parentId, pol, aceAdd, aceRemove);

Like we have introduced an operation context for read methods to sum up parameters I suggest to do it similar for write operation. My proposal is to introduce a AccessContext interface which could then have a default for addAcl, removeAcl and policy parameter.

Let me know what do you think.

Regards,
Stephan


Stephan Klevenz
Development Architect
TD Core UI Infr (AG)
ECM-I
SAP AG
Dietmar-Hopp-Allee 16
69190 Walldorf, Germany
T +49 6227 7-65878
F +49 6227 78-36242
M +49 160 90432408
E stephan.klevenz@sap.com<ma...@sap.com>
www.sap.com

Pflichtangaben/Mandatory Disclosure Statements: http://www.sap.com/company/legal/impressum.epx

Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. Vielen Dank.

This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying, or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.





Re: OpenCMIS: Operation Context - Access Control Contex

Posted by Stephan Klevenz <st...@klaeff.de>.
Jens, Florian,

Well, I see your points. 

I'm still not perfectly convinced. With that three parameters we get a lot of parameter combinations that do not make sense:

policies, addACL, removeACL
0, 0, 0  // no access control
0, *, *  // ACL support
1, 0, 0  // policy support
1, *, *  // unlikely support of ACL and Policies
      
Let's go for this and allow null values until something better gets into mind.

Regards,
Stephan



Am 18.03.2010 um 15:45 schrieb Jens Hübel:

> Hi Stephan,
> 
> answering for Florian who currently has no access to email...
> 
> We could also allow null values here.
> An AccessContext object makes sense if it will be reused in multiple create/update operations. Do we think that's a common use case?
> 
> Just to add my comments as well:
> Are there any reasons why we don't allow null values?
> 
> Jens + Florian
> 
> 
> 
> -----Original Message-----
> From: Klevenz, Stephan [mailto:stephan.klevenz@sap.com] 
> Sent: Donnerstag, 18. März 2010 13:33
> To: chemistry-dev@incubator.apache.org
> Subject: OpenCMIS: Operation Context - Access Control Contex
> 
> Hi,
> 
> While writing r/w Junit test cases for OpenCMIS client API I'm struggling a little bit with API usability. Creation methods require always parameter for access control and policy in spite of the fact that this is optional:
> 
> // create additional optional parameter
> List<Ace> aceAdd = new ArrayList<Ace>();     // all empty
> List<Ace> aceRemove = new ArrayList<Ace>();
> List<Policy> pol = new ArrayList<Policy>;
> 
> ObjectId newId = this.session.createFolder(properties, parentId, pol, aceAdd, aceRemove);
> 
> Like we have introduced an operation context for read methods to sum up parameters I suggest to do it similar for write operation. My proposal is to introduce a AccessContext interface which could then have a default for addAcl, removeAcl and policy parameter.
> 
> Let me know what do you think.
> 
> Regards,
> Stephan
> 
> 
> Stephan Klevenz
> Development Architect
> TD Core UI Infr (AG)
> ECM-I
> SAP AG
> Dietmar-Hopp-Allee 16
> 69190 Walldorf, Germany
> T +49 6227 7-65878
> F +49 6227 78-36242
> M +49 160 90432408
> E stephan.klevenz@sap.com<ma...@sap.com>
> www.sap.com
> 
> Pflichtangaben/Mandatory Disclosure Statements: http://www.sap.com/company/legal/impressum.epx
> 
> Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. Vielen Dank.
> 
> This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying, or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.
> 
> 
> 
> 

----
Stephan Klevenz

Fabrikstr. 45
69126 Heidelberg

Tel.: +49 6221 879625
Fax.: +49 6221 339926






RE: OpenCMIS: Operation Context - Access Control Contex

Posted by Jens Hübel <jh...@opentext.com>.
Hi Stephan,

answering for Florian who currently has no access to email...

We could also allow null values here.
An AccessContext object makes sense if it will be reused in multiple create/update operations. Do we think that's a common use case?

Just to add my comments as well:
Are there any reasons why we don't allow null values?

Jens + Florian



-----Original Message-----
From: Klevenz, Stephan [mailto:stephan.klevenz@sap.com] 
Sent: Donnerstag, 18. März 2010 13:33
To: chemistry-dev@incubator.apache.org
Subject: OpenCMIS: Operation Context - Access Control Contex

Hi,

While writing r/w Junit test cases for OpenCMIS client API I'm struggling a little bit with API usability. Creation methods require always parameter for access control and policy in spite of the fact that this is optional:

// create additional optional parameter
List<Ace> aceAdd = new ArrayList<Ace>();     // all empty
List<Ace> aceRemove = new ArrayList<Ace>();
List<Policy> pol = new ArrayList<Policy>;

ObjectId newId = this.session.createFolder(properties, parentId, pol, aceAdd, aceRemove);

Like we have introduced an operation context for read methods to sum up parameters I suggest to do it similar for write operation. My proposal is to introduce a AccessContext interface which could then have a default for addAcl, removeAcl and policy parameter.

Let me know what do you think.

Regards,
Stephan


Stephan Klevenz
Development Architect
TD Core UI Infr (AG)
ECM-I
SAP AG
Dietmar-Hopp-Allee 16
69190 Walldorf, Germany
T +49 6227 7-65878
F +49 6227 78-36242
M +49 160 90432408
E stephan.klevenz@sap.com<ma...@sap.com>
www.sap.com

Pflichtangaben/Mandatory Disclosure Statements: http://www.sap.com/company/legal/impressum.epx

Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. Vielen Dank.

This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying, or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.