Task #53257

Content Repository API

Added by Bastian Waidelich over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Should have
Category:
Low Level
Target version:
-
Start date:
2013-10-31
Due date:
% Done:

0%

Estimated time:

Description

We need a solid foundation for all kinds of interactions with the TYPO3 Content Repository in order to streamline client/server communication and provide open endpoints for 3rd parties.

Some measures towards a stable API I could imagine:

1. Encapsulate NodeDataRepository calls into a public service (e.g. "NodeRepository")

2. Merge functions with similar functionality

If you look at the list of "lookup" interactions below you can see that we do similar jobs multiple times. I would suggest following changes:

  • Replace Workspace arguments by ContextInterface arguments (and provide some easy way to retrieve a context from a workspace if we see the need for it). This will also render arguments like "$includeRemovedNodes" obsolete.
  • The service should only return NULL, NodeInterface or QueryResultInterface<NodeInterface> if possible (Until we rewrote the queries to use DQL we could create a NodeQueryResult that implements a subset of the QueryResultInterface)

3. Extend the Neos "Node REST API" so that it provides common operations (using the NodeRepository)

4. Replace existing client/server interactions (ExtDirect, possibly some Backend\*Controller) by interactions with the REST API

Also available in: Atom PDF