You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Karsten Eberding <ka...@eberding.eu> on 2012/09/18 20:49:04 UTC

PHP WebService library - possible contribution

Hello,

I consider to make a CMIS PHP library available as Open Source, possibly 
through a contribution to Apache Chemistry.

Of course, I am aware of the existing PHP library at 
http://chemistry.apache.org/php/phpclient.html, I looked at it closely 
before starting my own work. Let me point out the differences and why a 
second library could be useful:

1) the existing library supports Atom / REST, while my new library uses 
the WebService WSDL binding. Both together would cover both bindings, 
and complete the coverage for CMIS.

2) the existing library uses the PHP cURL functions. My new library uses 
the native PHP SoapClient package, to handle the transformation between 
XML and PHP variables in native code. This is not a big deal on it's 
own, but

3) as a result of using SoapClient, CMIS data structures are returned as 
typed PHP objects. The library defines all 170 CMIS data types, allowing 
to access and work with content data in object form as defined by CMIS.

4) The library is complete, covering 100% of all functions defined in 
the WSDL file, because the library is generated through a code generator 
transforming a WSDL file into PHP code. This ability was the main reason 
to start the development based on WSDL, and not use the existing Atom / 
REST library.

Generating a PHP library from a WSDL file should be useful for cases 
where a repository supports more or less functions than what is defined 
in CMIS. Extensions could be easily added, or functions removed.

I would like to offer the standard PHP library, based on the CMIS 
standard, as Open Source. I am not yet decided for the code generation 
module, and specialized libraries for certain repositories, but I am 
open for suggestions.

The library is available today, still outstanding are further test 
scenarios, a full example application, and complete documentation. 
Current testing is done using Alfresco only, I would be interested to 
expand this to other repositories and WSDL specifications as well.

This new library should in no way replace the existing REST 
implementation, but be another alternative to enhance the overall 
Chemistry offering.

Please let me know your thoughts and interest.

thanks
-- 
Karsten Eberding
karsten@eberding.eu


Re: PHP WebService library - possible contribution

Posted by Richard McKnight <ri...@alfresco.com>.
Karsten and I spoke this morning,

He will be sending me the code.  He used a generator to create much of 
the code from the WSDL, which means that all of the functions are 
covered.  The object model is, however, a bit more complex.  I will 
review the code, but I am inclined to make both available.

Rich

On 09/24/2012 11:28 AM, Karsten Eberding wrote:
> Hello,
>
> thanks for some positive responses. I will publish the library in a 
> week or so, together with a sample application and initial 
> documentation. I am still finishing up the sample application, that 
> best shows the use and programming model.
>
> thanks for all additional comments or feedback
> -- 
> Karsten Eberding
> karsten@eberding.eu
>
>
>
>> Karsten Eberding <ma...@eberding.eu>
>> 18. September 2012 20:49
>> Hello,
>>
>> I consider to make a CMIS PHP library available as Open Source, 
>> possibly through a contribution to Apache Chemistry.
>>
>> Of course, I am aware of the existing PHP library at 
>> http://chemistry.apache.org/php/phpclient.html, I looked at it 
>> closely before starting my own work. Let me point out the differences 
>> and why a second library could be useful:
>>
>> 1) the existing library supports Atom / REST, while my new library 
>> uses the WebService WSDL binding. Both together would cover both 
>> bindings, and complete the coverage for CMIS.
>>
>> 2) the existing library uses the PHP cURL functions. My new library 
>> uses the native PHP SoapClient package, to handle the transformation 
>> between XML and PHP variables in native code. This is not a big deal 
>> on it's own, but
>>
>> 3) as a result of using SoapClient, CMIS data structures are returned 
>> as typed PHP objects. The library defines all 170 CMIS data types, 
>> allowing to access and work with content data in object form as 
>> defined by CMIS.
>>
>> 4) The library is complete, covering 100% of all functions defined in 
>> the WSDL file, because the library is generated through a code 
>> generator transforming a WSDL file into PHP code. This ability was 
>> the main reason to start the development based on WSDL, and not use 
>> the existing Atom / REST library.
>>
>> Generating a PHP library from a WSDL file should be useful for cases 
>> where a repository supports more or less functions than what is 
>> defined in CMIS. Extensions could be easily added, or functions removed.
>>
>> I would like to offer the standard PHP library, based on the CMIS 
>> standard, as Open Source. I am not yet decided for the code 
>> generation module, and specialized libraries for certain 
>> repositories, but I am open for suggestions.
>>
>> The library is available today, still outstanding are further test 
>> scenarios, a full example application, and complete documentation. 
>> Current testing is done using Alfresco only, I would be interested to 
>> expand this to other repositories and WSDL specifications as well.
>>
>> This new library should in no way replace the existing REST 
>> implementation, but be another alternative to enhance the overall 
>> Chemistry offering.
>>
>> Please let me know your thoughts and interest.
>>
>> thanks


-- 

*Richard McKnight* | Principal Technical Consultant - Americas,
o +1 512 692 6179 | m +1 908 247 0756 | skype rmknightstar
Alfresco Professional Services 
<http://www.alfresco.com/services/consulting> | LinkedIn Profile 
<http://www.linkedin.com/in/richmcknight>

Alfresco Certified Engineer <http://university.alfresco.com>Alfresco 
Certified Administrator <http://university.alfresco.com>Introducing 
Alfresco 
<http://university.alfresco.com/store/on-demand_training/element/introducing_alfresco.html> 

Thinking about Alfresco or new to enterprise content management? Get up 
to speed with the basics. 
<http://university.alfresco.com/store/on-demand_training/element/introducing_alfresco.html>

Alfresco <http://www.alfresco.com/> Twitter 
<http://twitter.com/alfresco> Facebook 
<http://www.facebook.com/alfrescosoftware> Feed 
<http://feeds.feedburner.com/alfresco> LinkedIn 
<http://www.linkedin.com/companies/alfresco> YouTube 
<http://www.youtube.com/alfresco101>


Re: PHP WebService library - possible contribution

Posted by Karsten Eberding <ka...@eberding.eu>.
Hello,

thanks for some positive responses. I will publish the library in a week 
or so, together with a sample application and initial documentation. I 
am still finishing up the sample application, that best shows the use 
and programming model.

thanks for all additional comments or feedback
-- 
Karsten Eberding
karsten@eberding.eu



> Karsten Eberding <ma...@eberding.eu>
> 18. September 2012 20:49
> Hello,
>
> I consider to make a CMIS PHP library available as Open Source, 
> possibly through a contribution to Apache Chemistry.
>
> Of course, I am aware of the existing PHP library at 
> http://chemistry.apache.org/php/phpclient.html, I looked at it closely 
> before starting my own work. Let me point out the differences and why 
> a second library could be useful:
>
> 1) the existing library supports Atom / REST, while my new library 
> uses the WebService WSDL binding. Both together would cover both 
> bindings, and complete the coverage for CMIS.
>
> 2) the existing library uses the PHP cURL functions. My new library 
> uses the native PHP SoapClient package, to handle the transformation 
> between XML and PHP variables in native code. This is not a big deal 
> on it's own, but
>
> 3) as a result of using SoapClient, CMIS data structures are returned 
> as typed PHP objects. The library defines all 170 CMIS data types, 
> allowing to access and work with content data in object form as 
> defined by CMIS.
>
> 4) The library is complete, covering 100% of all functions defined in 
> the WSDL file, because the library is generated through a code 
> generator transforming a WSDL file into PHP code. This ability was the 
> main reason to start the development based on WSDL, and not use the 
> existing Atom / REST library.
>
> Generating a PHP library from a WSDL file should be useful for cases 
> where a repository supports more or less functions than what is 
> defined in CMIS. Extensions could be easily added, or functions removed.
>
> I would like to offer the standard PHP library, based on the CMIS 
> standard, as Open Source. I am not yet decided for the code generation 
> module, and specialized libraries for certain repositories, but I am 
> open for suggestions.
>
> The library is available today, still outstanding are further test 
> scenarios, a full example application, and complete documentation. 
> Current testing is done using Alfresco only, I would be interested to 
> expand this to other repositories and WSDL specifications as well.
>
> This new library should in no way replace the existing REST 
> implementation, but be another alternative to enhance the overall 
> Chemistry offering.
>
> Please let me know your thoughts and interest.
>
> thanks

Re: PHP WebService library - possible contribution

Posted by Richard McKnight <ri...@alfresco.com>.
Hi,

I will reach out directly to Karsten

Rich

On 09/19/2012 09:36 AM, Florian Müller wrote:
> Thanks Karsten!
>
> I think Richard, who maintains the PHP code, should have a look at it.
> @Richard: Can you jump in?
>
>
> Cheers,
>
> Florian
>
>
>> Hello,
>>
>> I consider to make a CMIS PHP library available as Open Source,
>> possibly through a contribution to Apache Chemistry.
>>
>> Of course, I am aware of the existing PHP library at
>> http://chemistry.apache.org/php/phpclient.html, I looked at it closely
>> before starting my own work. Let me point out the differences and why
>> a second library could be useful:
>>
>> 1) the existing library supports Atom / REST, while my new library
>> uses the WebService WSDL binding. Both together would cover both
>> bindings, and complete the coverage for CMIS.
>>
>> 2) the existing library uses the PHP cURL functions. My new library
>> uses the native PHP SoapClient package, to handle the transformation
>> between XML and PHP variables in native code. This is not a big deal
>> on it's own, but
>>
>> 3) as a result of using SoapClient, CMIS data structures are returned
>> as typed PHP objects. The library defines all 170 CMIS data types,
>> allowing to access and work with content data in object form as
>> defined by CMIS.
>>
>> 4) The library is complete, covering 100% of all functions defined in
>> the WSDL file, because the library is generated through a code
>> generator transforming a WSDL file into PHP code. This ability was the
>> main reason to start the development based on WSDL, and not use the
>> existing Atom / REST library.
>>
>> Generating a PHP library from a WSDL file should be useful for cases
>> where a repository supports more or less functions than what is
>> defined in CMIS. Extensions could be easily added, or functions
>> removed.
>>
>> I would like to offer the standard PHP library, based on the CMIS
>> standard, as Open Source. I am not yet decided for the code generation
>> module, and specialized libraries for certain repositories, but I am
>> open for suggestions.
>>
>> The library is available today, still outstanding are further test
>> scenarios, a full example application, and complete documentation.
>> Current testing is done using Alfresco only, I would be interested to
>> expand this to other repositories and WSDL specifications as well.
>>
>> This new library should in no way replace the existing REST
>> implementation, but be another alternative to enhance the overall
>> Chemistry offering.
>>
>> Please let me know your thoughts and interest.
>>
>> thanks
>


-- 

*Richard McKnight* | Principal Technical Consultant - Americas,
o +1 512 692 6179 | m +1 908 247 0756 | skype rmknightstar
Alfresco Professional Services 
<http://www.alfresco.com/services/consulting> | LinkedIn Profile 
<http://www.linkedin.com/in/richmcknight>

Alfresco Certified Engineer <http://university.alfresco.com>Alfresco 
Certified Administrator <http://university.alfresco.com>Introducing 
Alfresco 
<http://university.alfresco.com/store/on-demand_training/element/introducing_alfresco.html> 

Thinking about Alfresco or new to enterprise content management? Get up 
to speed with the basics. 
<http://university.alfresco.com/store/on-demand_training/element/introducing_alfresco.html>

Alfresco <http://www.alfresco.com/> Twitter 
<http://twitter.com/alfresco> Facebook 
<http://www.facebook.com/alfrescosoftware> Feed 
<http://feeds.feedburner.com/alfresco> LinkedIn 
<http://www.linkedin.com/companies/alfresco> YouTube 
<http://www.youtube.com/alfresco101>


Re: PHP WebService library - possible contribution

Posted by Florian Müller <fm...@apache.org>.
 Thanks Karsten!

 I think Richard, who maintains the PHP code, should have a look at it.
 @Richard: Can you jump in?


 Cheers,

 Florian


> Hello,
>
> I consider to make a CMIS PHP library available as Open Source,
> possibly through a contribution to Apache Chemistry.
>
> Of course, I am aware of the existing PHP library at
> http://chemistry.apache.org/php/phpclient.html, I looked at it 
> closely
> before starting my own work. Let me point out the differences and why
> a second library could be useful:
>
> 1) the existing library supports Atom / REST, while my new library
> uses the WebService WSDL binding. Both together would cover both
> bindings, and complete the coverage for CMIS.
>
> 2) the existing library uses the PHP cURL functions. My new library
> uses the native PHP SoapClient package, to handle the transformation
> between XML and PHP variables in native code. This is not a big deal
> on it's own, but
>
> 3) as a result of using SoapClient, CMIS data structures are returned
> as typed PHP objects. The library defines all 170 CMIS data types,
> allowing to access and work with content data in object form as
> defined by CMIS.
>
> 4) The library is complete, covering 100% of all functions defined in
> the WSDL file, because the library is generated through a code
> generator transforming a WSDL file into PHP code. This ability was 
> the
> main reason to start the development based on WSDL, and not use the
> existing Atom / REST library.
>
> Generating a PHP library from a WSDL file should be useful for cases
> where a repository supports more or less functions than what is
> defined in CMIS. Extensions could be easily added, or functions
> removed.
>
> I would like to offer the standard PHP library, based on the CMIS
> standard, as Open Source. I am not yet decided for the code 
> generation
> module, and specialized libraries for certain repositories, but I am
> open for suggestions.
>
> The library is available today, still outstanding are further test
> scenarios, a full example application, and complete documentation.
> Current testing is done using Alfresco only, I would be interested to
> expand this to other repositories and WSDL specifications as well.
>
> This new library should in no way replace the existing REST
> implementation, but be another alternative to enhance the overall
> Chemistry offering.
>
> Please let me know your thoughts and interest.
>
> thanks