There are a number of approaches to developing for Alfresco Content Services depending on what you want to do. For example, if you are writing a client application, perhaps in Ruby or Python to connect to Alfresco Content Services then you would most likely use the Alfresco Content Services ReST API. If on the other hand you wanted to write a server-side extension in Java, you would use the Public Java API, or perhaps write a Web Script using Java, JavaScript and FreeMarker. Generally if you are creating extensions to Alfresco Content Services you would use the Alfresco SDK. This allows you to work in your IDE of choice, using technologies you already know, such as Java and Maven.
This Developer guide attempts to lay out the various options available to you, so you can use the right approach, depending on what you want to achieve.
You can read the material in this Developer guide sequentially, or the following table with give you some starting points if you want to dive in:
What do you want to do? | Documentation |
---|---|
You would like to get an overview of the architecture of Alfresco Content Services from the developer's perspective | Architectural overview |
You want to know what development kit to use when building extensions for Alfresco | Alfresco SDK |
You would like to know how to package your extensions for distribution | Extension packaging |
You want to write client applications for Alfresco Content Services using a ReST API | |
You are going to build a Platform (Repository) Extension. | |
You are going to build a Platform (Repository) Integration. | Developing integrations |
You want to write small extensions for Alfresco Content Services in JavaScript and FreeMarker | |
You want to create a custom ReST API for Alfresco Content Services, using Java and/or JavaScript for logic and FreeMarker to produce responses in JSON and/or XML | |
You would like to know what APIs are available for Alfresco Content Services, and when you should use them | Overview of Alfresco APIs |
You want to write new services in Java, and need to check what APIs are supported | |
You want to configure and customize Alfresco Share | Share Extensions |
You would like to develop extensions to Alfresco Share UI | |
You would like to know about the new UI framework Aikau | Aikau |
You want to develop applications for iOS. | Alfresco Mobile SDK for iOS |
You want to develop applications for Android. | Alfresco Mobile SDK for Android |