• Stars
    star
    133
  • Rank 267,337 (Top 6 %)
  • Language
    Java
  • License
    Other
  • Created almost 9 years ago
  • Updated 9 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SDL OData Framework

Tridion OData v4 Framework

Maven Central

This is the Tridion Open Data Framework based on OData standard (http://www.odata.org/) fully implemented in Java. The Tridion OData framework offers a Java implementation of the OData Service and also provides Java Client Libraries. The Tridion OData framework is aligned to the v4 version of the OData OASIS standard.

Starting the Service

The OData service comes with a set of prepared shell scripts to allow running and install the OData service. In order to start the OData service simply run bin/start.shfor Linux/OSX or .\bin\start.ps1 for Windows.

This can be done from a prebuild distribution or using the output artifacts in the odata_assembly maven module.

Full Documentation

Once Started

When the OData service has started the following URL's by default should be available: http://localhost:8080/odata.svc (Gives the OData root collections)
http://localhost:8080/odata.svc/$metadata (Gives the OData EDM model)

The standard framework has no entities delivered in the service, so this will be empty then. See the section about DataSources for clarification.

Building your own Service

In order to build your own service you need to provide some data models and datasources for the framework to pick up. We have written an extensive demo on how to do this which is available in this Git repository: https://github.com/sdl/odata-example

DataSources

The OData standard is based around resources that are well defined and modelled in something called the EDM. The Tridion OData framework is build around the principle of having a well defined EDM. The EDM is a registry that contains which entities are present in the model and which properties and relations they have.

Based on the EDM the OData framework parses the input that is being sent or requested. Most important is that in order to return a result or show requested data there needs to be a datasource. That is why in the OData framework this is the most critical component and we offer the flexibility to plug in any datasource you want.

JPA DataSource

There is a JPA Datasource available that allows you to use JPA annotated entities in your OData framework with minimal effort. Just simply configure the JPA Datasource to point to your JPA model and where the database is and you are good to go. You can find more information and the JPA datasource extension itself here: https://github.com/sdl/odata-jpa-datasource

Building the OData Framework

In order to build and run the OData framework on your pc the following is required:

  • Maven 3.x or higher
  • JDK 8 or higher
  • Scala SDK 2.10.x (Scala maven plugin will download it if it is missing.)

If above pre-requisites are met building is as simple as running the following command mvn clean install

Maven Artifacts

<depedencies>
   <dependency>
      <groupId>com.sdl</groupId>
      <artifactId>odata_service</artifactId>
      <version>2.0.4</version>
   </dependency>
   <dependency>
      <groupId>com.sdl</groupId>
      <artifactId>odata_common</artifactId>
      <version>2.0.4</version>
   </dependency>
<dependencies>

Components

The Tridion OData v4 Framework consists of the following Architecture components, each represented by their own Maven module:

  • odata_api - Framework APIs
  • odata_assembly - Assembly structure for standalone distribution
  • odata_checkstyle - Checkstyle configuration
  • odata_client - OData Java Client library
  • odata_common - Common packages and utilities
  • odata_controller - Spring Boot REST controller
  • odata_edm - The OData EDM metadata (Entity Data Model)
  • odata_parser - OData URI parser
  • odata_processor - Handlers for processing requests
  • odata_renderer - Renderers for Atom and JSON output
  • odata_service - The core OData service and Akka based processing engine
  • odata_test - Test components
  • odata_war - OData WAR distribution artifact
  • odata_webservice - Spring Boot based OData HTTP webservice container

License

Copyright (c) 2021 All Rights Reserved by the RWS Group for and on behalf of its affiliates and subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

Multiselect-ComboBox

The multi selection combo box is a WPF custom control with multiple item selection capabilities, along with customizable features to group, sort and filter items in the collection.
C#
178
star
2

Sdl-Community

This is the place where we develop and maintain most of SDL's plugins for Trados Studio. If you want to help us or just looking for some examples this is the perfect place.
C#
114
star
3

Testy

Automated Acceptance Testing: Selenium and Selenium WebDriver test framework for web applications (best suited for ExtJS and complex UI)
Java
28
star
4

dxa-web-application-java

SDL Digital Experience Accelerator Java Spring MVC web application
Java
25
star
5

ISHRemote

Business automation module on top of Tridion Docs Content Manager (Knowledge Center Content Manager, LiveContent Architect, Trisoft InfoShare)
C#
22
star
6

dxa-web-application-dotnet

SDL Digital Experience Accelerator .NET MVC web application
C#
20
star
7

trados-studio-api-samples

C#
19
star
8

odata-example

OData Example datasource
Java
18
star
9

groupsharekit.net

A GroupShare API client library for .NET
C#
16
star
10

odata-jpa-datasource

OData JPA Datasource extension
Java
14
star
11

ecommerce-framework

SDL Web E-Commerce Framework
Java
11
star
12

gulp-svg-css

Gulp plugin that embeds svg images inside a single CSS file using data-uri.
JavaScript
11
star
13

SignalR-OracleMessageBus

Oracle messaging backplane for scaling out of SignalR applications
C#
10
star
14

ISHBootstrap

Bootstrapper for SDL Knowledge Center Content Manager deployments
PowerShell
8
star
15

dxa-modules

SDL Digital Experience Accelerator Modules
TypeScript
8
star
16

embedded-rest-server

Bootstrap for an embedded RESTful server with Jetty and Jersey
Java
7
star
17

sdl-ios-sdk

The SDL iOS SDK
Objective-C
7
star
18

Sdl-studio-powershell-toolkit

The SDL Studio PowerShell Toolkit allows you to script the Project Automation API that is available with SDL Trados Studio Professional.
PowerShell
7
star
19

dxa-flexible-campaign-content

SDL Tridion Sites Instant Campaign (aka DXA Flexible Campaign Content)
C#
6
star
20

sdl-ios-sampleapp

A sample iOS app using the SDL iOS SDK
Objective-C
6
star
21

studio-api-docs

Home to Trados Studio API documentation.
JavaScript
6
star
22

dxa-content-management

SDL Digital Experience Accelerator CM-side framework (.NET Template Building Blocks)
C#
6
star
23

dxa-html-design

SDL Digital Experience Accelerator Whitelabel HTML Design
Handlebars
4
star
24

json-streaming-processor

Java
4
star
25

tridionmvp-dxa-js

DXA JS SDL Tridion MVP retreat
JavaScript
4
star
26

dd-webapp-custom-examples

Customization examples of the new UDP web application.
JavaScript
4
star
27

SDL-Studio-Community-Toolkit

C#
3
star
28

ISHDeploy

Deployment automation module for SDL Tridion Docs Content Manager (Knowledge Center Content Manager, LiveContent Architect, Trisoft InfoShare)
3
star
29

languageweaver-sdk-samples

JavaScript
3
star
30

dxa-model-service

SDL Digital Experience Accelerator Model Service
Java
2
star
31

massive-deployments-aws-jvm

Massive Deployments on Amazon AWS using JVM
JavaScript
2
star
32

trados-studio-vs-extension

Visual Studio extension with the objective of simplifying Trados Studio API development.
Rich Text Format
2
star
33

SignalR-SignalRMessageBus

SignalR scalability using SignalR as backplane
C#
2
star
34

deployer-notification

SDL Web Deployer Notification hook module
Java
2
star
35

ISHBootstrapDemo

A simple and quick automation for ISHBootstrap
PowerShell
2
star
36

log-capture

Log capturing - for testing, logging assertions and silencing noisy expected error logs from unit tests
Java
2
star
37

language-cloud-public-api-samples

Java
2
star
38

language-cloud-extensibility

Java
1
star
39

wpf-helpers

C#
1
star
40

environment-api

Environment API
Java
1
star
41

xpp-api-docs

JavaScript
1
star
42

dxa-suite

DXA Suite Build contains scripts to build the entire DXA suite and generate all artifacts
PowerShell
1
star
43

Sdl-plugin-installer

Installer application for sdlplugin packages
C#
1
star
44

tridion-sites-extensions-examples

Tridion Sites Extension Examples
TypeScript
1
star
45

ISHServer

A PowerShell module to help automate installation of prerequisites for SDL Knowledge Center Content Manager
PowerShell
1
star
46

graphql-client-dotnet

SDL Dynamic Experience Delivery GraphQL client for .NET
C#
1
star