There are a number of approaches to developing for Alfresco Community Edition 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 Community Edition then you would most likely use the Alfresco Community Edition 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 Community Edition 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 Community Edition 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 Community Edition 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 Community Edition in JavaScript and FreeMarker | |
You want to create a custom ReST API for Alfresco Community Edition, 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 Community Edition, 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 |