A long time ago I wrote an article about the "Big Six" of SDL Tridion 2011, and now I hear you thinking: "wait what, big six, you must mean the big five?". No I am not talking about the five African game animals said to be most difficult to hunt, I meant the six extension points of SDL Tridion 2011. But since that article waas written in 2011, it maybe time for a small update, and an addition to the number.
So lets move from the big five, uhm I mean six, to the Big Seven of SDL Web 8. We have four extension points on the Content Manager side:
- SDL Web CoreService API - mentioned in my original article as the Business Connector 2.0
- SDL Web Event Handlers - mentioned in my original article as the Event System
- SDL Web GUI extension API - mentioned in my original aricle as User Interface Extensions
- SDL Web External Content Library API - the new ECL API, available since 2013 SP1
Technically there are more official and public extension points, see them documented here: http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-FFA2C892-E4E7-460A-88F1-0E9DB11C0304. One worth mentioning is the Import and Export service, which handles importing content items that were exported from another Content Manager instance, or exporting content items that you intend to import into another Content Manager instance.
The original three I mentioned haven't really changed in the way they work, over time there will have been a few (possible breaking) API changes here and there, but whatever I mentioned before still goes. The ECL API I've described in a couple of blog posts:
- Managing product information in SDL Tridion
- Querying ECL Metadata in the Broker
- ECL event handlers
- Forms without Java, XSLT or even XML
- ECL and BluePrinting
And the Import and Export API is one which is extensively used in the installation scripts of the Digital Experience Accelerator, you might want to check out its modules.
That leaves us with three public extension points on the Content Delivery side:
- Storage Extensions - as mentioned in my original article, documented here http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-8AD5E20D-9F9F-4556-92D9-EBDA83788BFE
- SDL Web Content Delivery Content Service - as mentioned in my previous article, documented here http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-9CEB3923-4CEE-41FA-87EE-712D7C555A91
- SDL Web Ambient Data Framework - as mentioned in my original article, documented here http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-D4EA5B27-3166-4467-AA70-0F47669F784E
One important note to make here is the distiction between the SDL Web Content Delivery Microservices and the SDL Web Content Delivery Content Service. The latter is a public API, while the microservices (also using OData) are not. The microservices are there for decoupling the Content Interaction Service from your web application (the web application just uses the Content Interaction Library, or CIL), and are currently not a public API. This means you should not try to use the microservices themselves for your integrations, extensions or web application, as they are not secured by backwards compatibility. For web applications you still have to use the Content Delivery API, which is using the CIL for talking to the micro services.