PackageEws365 icon indicating copy to clipboard operation
PackageEws365 copied to clipboard

Is this production-ready?

Open ameir opened this issue 10 years ago • 8 comments

This project looks quite interesting, and takes a clever approach. I'm currently using php-ews, but it's been in a state of disarray and massive forking lately, and the maintainer doesn't seem interested in keeping it up-to-date.

Is this project production-ready? Does it implement 100% of the EWS API? Is it only meant for certain versions of Exchange? Are there any "gotchas" to keep in mind before using it?

Thanks!

ameir avatar Oct 30 '15 04:10 ameir

Hi,

What you have to know:

  • It has been generated using the PackageGenerator project which means it's purely generic and the image of the WSDL used to generate the classes
  • It matches the WSDL scpecifications and so the Exchanger server from which the WSDL belongs to
  • The WSDL comes from Microsoft Office 365 Exchange Web service
  • I've only tested it with the Microsoft Office 365 Exchange Web service, you can take a look to the GetServerTimeZones sample. This means that as I don't have another Exchange Web Service to try it with, I wasn't able to validate that it works for any Exchange Web Service version. I suppose it wouldn't work with olrder version or maybe very older version as I'm no an Exchange Web Service expert. Even if there was issue with older version, we could create a branch per version in order to adapt the classes.

Kowing this, you have to know too that:

  • It can be easily extended.
    • You can use your own SoapClient client class as demonstrated with classes under the SoapClient folder
    • You can use your own top classes for the Structs and Arrays. You can read the behaviro of each class at the PackageBase project
  • I'll be glad to make it evolve in the case the issue concerns
  • It is possible to generate a new package using your proper WSDL. If you have an older version, I would be glad to have the WSDL and the schemas in order to publish the package associated to ths Exchange Web Version.

Any other question? How can I help?

mikaelcom avatar Oct 30 '15 08:10 mikaelcom

Thanks for the thorough response, @mikaelcom! Assuming the WSDL fully-describes the SOAP API, then I suppose this should "just work". Pretty clever way to go about it. I have an Office 365 account I can test with. I will give this a run in the next few weeks to see if I can replace php-ews with it. If so, you have yourself a new user.

Do you anticipate any parts of the code needing any customization, or should the generated code be exactly what EWS expects?

ameir avatar Nov 03 '15 15:11 ameir

The actual code uses the PackageBase project as main Structs, Arrays and Service classes and it already uses a "specific" SoapClient class. This means that you can use your own SoapClient class too if you want which should give you enough possibilities of customization in my opinion. Again, if you need any help I'll be glad to help as you seem to know pretty well the usage ot php-ews and Exchange Web Service. Let me know in any case even if you're disapointed :wink:

mikaelcom avatar Nov 03 '15 19:11 mikaelcom

Hi @ameir ,

Did you make any progress? I would be glade to have your feedbacks,

thx

mikaelcom avatar Feb 12 '16 10:02 mikaelcom

I haven't fully ported over to it yet, but in the basic testing I've done, it does appear to work just fine. I'm planning to do more tests in the near future; I've just been out of cycles to do so lately. Great work!

ameir avatar Feb 12 '16 14:02 ameir

Ok, sorry if I seem anoying...

mikaelcom avatar Feb 12 '16 14:02 mikaelcom

No problem at all! I'm happy this is still on your radar and that you care for the project!

ameir avatar Feb 12 '16 15:02 ameir

If you're not aware of the changes, several updates/improvements have been made thanks to issues fixed on the PackageGenerator project. The improvements have not been released yet but soon, they are currently available on the develop branch.

In addition, samples are being added thanks to an account I can use on Office365, so they are functionnal and practical. Only minor modifications are needed to make them work.

mikaelcom avatar Mar 22 '17 22:03 mikaelcom