12

I've been playing with OData recently, and found a few (small) limitations on the out-of-the-box web service. I wonder if some of these limitations can be catered for by extending what is there already.

This question is purely exploratory: at this point in time I did not try anything yet.

Some of the things I want to explore:

  • Provide support to read SchemaContents using the /Schemas collection (currently Schemas only expose Publication ID, Schema ID and Title)
  • Create my own custom entities (for instance, "/Articles" which would map to "/Schemas(SchemaId=xx,PublicationId=xx)/Components")

Any tips/hints? Will it not work at all and I shouldn't bother? Probably better to create my own webservice on top of the current service and/or API?

1
  • I am also starting working on this direction, if anybody has contributed in this direction please suggest. Thanks!!
    – arienvicky
    Commented Sep 23, 2014 at 7:42

2 Answers 2

8

I'd say both are technically possible, although for the additional data you may have to store the data on your own if it isn't already available. You could do so with a publisher extension.

It's definitely possible to create your own methods in the existing web service -- you just have to implement a couple of interfaces. We did that to expose Promotions from SmartTarget, for instance. We needed to implement ODataEntryRegistrationService, ResolverBase, PropertyWrapper, Entity/BaseEntity, and EntryBuilder -- all from the com.tridion.webservices.odata package.

Unfortunately, I couldn't find any documentation about it -- which might indicate that it isn't yet a public extension mechanism (I don't know for sure either way).

4
  • Thanks Peter. It is probably internal indeed, but since I'm exploring only and this won't be used in any "real" project, I'm not afraid to go there! :)
    – Nuno Linhares
    Commented Feb 22, 2013 at 13:39
  • please note that the 'interface' has changed in 2013, so looking at what SmartTarget did will get you only part of the way Commented Feb 23, 2013 at 16:53
  • and yes is it still internal api Commented Feb 23, 2013 at 16:54
  • 4
    The UGC product also extended the Odata web service and could possibly also be of help to you in this research. Commented Feb 23, 2013 at 18:53
2

Yes, there is a way to extend the Odata.

Please check the referenced article: Odata Extension

Please note, extension is possible to odata however after every upgrade you might have to revisit this extension so that it continues to work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.