/alfresco-client-sdk

Alfresco Java Client SDK

Primary LanguageJavaApache License 2.0Apache-2.0

#Alfresco Java Client (Early Access)

Introduction

This project contains Java lib project to consume easily Alfresco Public REST API.

It include a set of APIs that allows developers to quickly build Alfresco-enabled Java & Android applications.

Those projects are currently the foundation of our major next version of Alfresco Android APP available on the Google Play Store

Important Notice

Alfresco Client is currently in Early Access mode. It evolves as you use them, as you give feedback, and as the developers update and add file. We like to think app & lib development as services that grow and evolve with the involvement of the community.

Alfresco Client doesn't support workflow API (i.e interacting with embedded Activiti) If you are looking for a client to interact with Activiti Rest API (Enterprise Only), please have a look to Activiti Java Client Github Repo

##Requirements

Alfresco REST API v1 is currently on Early Access Mode and it's only available with the latest version of Alfresco Community 201606. Before using this library you have to install this platform available here

For more information about Alfresco REST API

##Overview

  • Client Java: Contains Client API Project for Alfresco
    • Alfresco Java Client set of APIs to interact with Alfresco Alfresco Public API 1.0 (Alfresco 5.2+)
    • Client API Commons utility used by all client APIs
  • Docs: contains informations about Alfresco REST API as implemented in the current version. For up to date info see API Explorer github Repository
  • Client Samples : Various sample project. They illustrate different ways to use, consume and customize Client API & SDK.
    • Client Samples Java Sample simple project using different java technique: java7, java8, RxJava...
    • Client Samples Command Line Tool Illustrate how to use Client API as command Line tool.

Status

| Projects | Status | Informations | |----------|:-------------:|------:|------:| |Alfresco Java Client | Beta |Full API coverage, simple test | |Client API Commons | Beta | To evolve regarding other evolution | |Client Samples | Beta |Under development | |Client Command Line | Beta |Under development |

Build

Build Librairies

mvn clean install -DskipTests=true

Usage

Documentation samples are available "Alfresco Java Client” README
There's also a series of blog post illustrating some usage

How to Contribute ?

If you spot a bug then please raise an issue on Github
If you would like to contribute code you can do so through GitHub by forking the repository and sending a pull request.
When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible.

License

Alfresco Client Librairies

Copyright © 2016 Alfresco Software, Ltd. and others.

This product distribution is made available under the Apache 2.0 license.

Technical Overview

Client API projects are based on 3 Java/Android librairies

Retrofit is a type-safe REST client for Java/Android built by Square. The library provides a powerful framework for authenticating and interacting with APIs.

Retrofit send network requests with OkHttp an HTTP & HTTP/2 client for Android and Java applications also built by Square. This library makes downloading JSON or XML data from a web API fairly straightforward.

Once the data is downloaded then it is parsed into a Plain Old Java Object (POJO) which must be defined for each "resource" in the response. Retrofit supports many different parsers for processing network response data (Gson, Jackson, Moshi, Protobuf, Wire, Simple XML)

Advantages

  • Easy to consume: API can be consumed synchronuously and/or asynchronuously and/or in a Reactive Approach (RxJava)
  • Easy to setup: API declaration is simple and POJO model can be easily generated via Swagger Definition
  • Simple architecture & Easy to customize: Each component can be modified and customized to match
  • Large community and Open Source compatible

###More informations

Retrofit

OkHttp

Gson

RxJava & RxAndroid