From d0db0fe0f721acf879c97bb86bff630f552a840c Mon Sep 17 00:00:00 2001 From: Adelaide Nxumalo <27953420+anxumalo@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:05:06 +0100 Subject: [PATCH 1/3] [DOCS-7858] Simplify references to Alfresco SDKs --- _data/toc/content-services.yaml | 14 ++++----- content-services/7.2/develop/sdk.md | 24 ++++++++------- content-services/7.3/develop/sdk.md | 24 ++++++++------- content-services/7.4/develop/sdk.md | 28 +++++++++-------- content-services/latest/develop/index.md | 2 +- content-services/latest/develop/sdk.md | 38 ++++++++++++------------ 6 files changed, 68 insertions(+), 62 deletions(-) diff --git a/_data/toc/content-services.yaml b/_data/toc/content-services.yaml index 91a9b14c8e..3cba47a9f8 100644 --- a/_data/toc/content-services.yaml +++ b/_data/toc/content-services.yaml @@ -171,7 +171,7 @@ path: '/content-services/latest/develop/software-architecture/' - title: 'Software Development Kits (SDK)' pages: - - title: 'In-Process SDK (4.7, 4.8)' + - title: 'In-Process SDK' path: '/content-services/latest/develop/sdk/' - title: 'Out-of-Process SDK (6.x)' path: '/content-services/latest/develop/oop-sdk/' @@ -631,9 +631,9 @@ path: '/content-services/7.4/develop/software-architecture/' - title: 'Software Development Kits (SDK)' pages: - - title: 'In-Process SDK (4.6)' + - title: 'In-Process SDK' path: '/content-services/7.4/develop/sdk/' - - title: 'Out-of-Process SDK (5.2)' + - title: 'Out-of-Process SDK' path: '/content-services/7.4/develop/oop-sdk/' - title: 'Extension packaging (modules)' path: '/content-services/7.4/develop/extension-packaging/' @@ -949,9 +949,9 @@ path: '/content-services/7.3/develop/software-architecture/' - title: 'Software Development Kits (SDK)' pages: - - title: 'In-Process SDK (4.5)' + - title: 'In-Process SDK' path: '/content-services/7.3/develop/sdk/' - - title: 'Out-of-Process SDK (5.2)' + - title: 'Out-of-Process SDK' path: '/content-services/7.3/develop/oop-sdk/' - title: 'Extension packaging (modules)' path: '/content-services/7.3/develop/extension-packaging/' @@ -1267,9 +1267,9 @@ path: '/content-services/7.2/develop/software-architecture/' - title: 'Software Development Kits (SDK)' pages: - - title: 'In-Process SDK (4.4)' + - title: 'In-Process SDK' path: '/content-services/7.2/develop/sdk/' - - title: 'Out-of-Process SDK (5.1)' + - title: 'Out-of-Process SDK' path: '/content-services/7.2/develop/oop-sdk/' - title: 'Extension packaging (modules)' path: '/content-services/7.2/develop/extension-packaging/' diff --git a/content-services/7.2/develop/sdk.md b/content-services/7.2/develop/sdk.md index 259d07a1b8..a5fd0834af 100644 --- a/content-services/7.2/develop/sdk.md +++ b/content-services/7.2/develop/sdk.md @@ -1,11 +1,11 @@ --- -title: Alfresco SDK 4.4 for in-process extensions +title: Alfresco In-Process SDK for in-process extensions --- -Alfresco SDK 4.4 is a Maven based development kit that provides an easy to use approach to developing applications and +The Alfresco In-Process SDK is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. -The following picture illustrates where SDK 4.x fits into the big picture: +The following picture illustrates where the In-Process SDK fits into the big picture: ![sdk4_big_picture]({% link content-services/images/sdk4_big_picture.png %}) @@ -17,12 +17,12 @@ and Test Driven Development (TDD). The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/7.2/support/index.md %}) -for the version you're using. If your version is in Limited or Full Support and you need help, contact our [Support team](https://support.alfresco.com/){:target="_blank"}. +for the version you're using. If your version is in Limited or Full Support and you need help, [contact Support]({% link support/latest/contact.md %}). The 4.0 release took advantage of Semantic Versioning ([SEMVER](https://semver.org/){:target="_blank"}), which means that it isn't directly compatible with the previous releases of the SDK. -If you have existing projects that you wish to upgrade to SDK 4.4 the recommended approach is to generate a new project +If you have existing projects that you wish to upgrade to the latest SDK version, the recommended approach is to generate a new project from the new archetypes and move your code into place. ## What's new? @@ -41,7 +41,7 @@ Adding, removing and configuring services in the environment is as easy as modif [Java 11](https://openjdk.java.net/projects/jdk/11/){:target="_blank"} is the next Long Term Support (LTS) version that provides support for 3 years. Alfresco 6.1+ already offers support for this version of the Java platform. -Alfresco SDK 4.0 has been modified to add support for Java 11 as well. This way, if you're working as a developer in customizations for Alfresco 6.1 or later, you must now use SDK 4.0 + JDK 11 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 11. +Alfresco SDK 4.0 has been modified to add support for Java 11 as well. If you're working as a developer on customizations for Content Services, you must now use the latest version of the SDK + JDK 11 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 11. ### Easy dependency configuration The configuration of the Maven dependency management has been greatly improved thanks to the addition of a _bill of materials_ (BOM). @@ -209,6 +209,8 @@ Alfresco recommends that you keep up-to-date with all the Docker releases. If yo 16: 4.4.0 ``` + This example uses SDK 4.4, but you should see similar results for other SDK 4.x versions. + 4. Next you will be prompted for additional values, like `groupId`, `artifactId`, and `package`, as shown below: ```bash @@ -326,7 +328,7 @@ Please note that the numbering is not sequential and some numbers may be skipped ### org.alfresco.maven.archetype:alfresco-allinone-archetype This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project (also called AIO) is provided in -this and previous versions of Alfresco SDK, but in SDK 4.x it has been reshaped to leverage on Docker. +this and previous versions of Alfresco SDK. It has been reshaped in SDK 4 to leverage Docker. The All-In-One archetype allows a developer to create a multi-module project on Content Services. The All-In-One project mainly includes a module for the core repository in ACS and a module for the Share client. This includes: @@ -351,7 +353,7 @@ For more information about the All-In-One project, see [All-In-One project struc ### org.alfresco.maven.archetype:alfresco-platform-jar-archetype -This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4 to leverage Docker. The Platform JAR Maven archetype allows a developer to create a module on Content Services, in particular on the Repository side, and includes: @@ -370,7 +372,7 @@ For more information about the Platform JAR project, see [Platform JAR project s ### org.alfresco.maven.archetype:alfresco-share-jar-archetype -This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4 to leverage Docker. The Share JAR Maven archetype allows a developer to create a module on an Alfresco Share client, and includes: @@ -1712,10 +1714,10 @@ If you want more detail about how to work with the project, visit [Working with ### Setting up your development environment using Intellij IDEA -The Maven Alfresco SDK is designed to work well with Eclipse. This support includes the ability to import existing Alfresco projects created using the +The Maven Alfresco SDK is designed to work well with Intellij. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. -Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you +Here we assume you already have an Intellij installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. diff --git a/content-services/7.3/develop/sdk.md b/content-services/7.3/develop/sdk.md index 4d534f9c7a..55d743c76f 100644 --- a/content-services/7.3/develop/sdk.md +++ b/content-services/7.3/develop/sdk.md @@ -1,11 +1,11 @@ --- -title: Alfresco SDK 4.5 for in-process extensions +title: Alfresco In-Process SDK for in-process extensions --- -Alfresco SDK 4.5 is a Maven based development kit that provides an easy to use approach to developing applications and +The Alfresco In-Process SDK is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. -The following picture illustrates where SDK 4.x fits into the big picture: +The following picture illustrates where the In-Process SDK fits into the big picture: ![sdk4_big_picture]({% link content-services/images/sdk4_big_picture.png %}) @@ -17,12 +17,12 @@ and Test Driven Development (TDD). The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/7.3/support/index.md %}) -for the version you're using. If your version is in Limited or Full Support and you need help, contact our [Support team](https://support.alfresco.com/){:target="_blank"}. +for the version you're using. If your version is in Limited or Full Support and you need help, [contact Support]({% link support/latest/contact.md %}). The 4.0 release took advantage of Semantic Versioning ([SEMVER](https://semver.org/){:target="_blank"}), which means that it isn't directly compatible with the previous releases of the SDK. -If you have existing projects that you wish to upgrade to SDK 4.5 the recommended approach is to generate a new project +If you have existing projects that you wish to upgrade to the latest SDK version, the recommended approach is to generate a new project from the new archetypes and move your code into place. ## What's new? @@ -40,7 +40,7 @@ Adding, removing and configuring services in the environment is as easy as modif ### Support for Java 17 [Java 17](https://openjdk.org/projects/jdk/17/){:target="_blank"} is the latest Long Term Support (LTS) version that provides support for 3 years. Alfresco 7.3+ already offers support for this version of the Java platform. -Alfresco SDK 4.5 has been modified to add support for Java 17, as well. This way, if you're working as a developer in customizations for Alfresco 7.3 or later, you must now use SDK 4.5 + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. +Alfresco SDK 4.5 has been modified to add support for Java 17, as well. If you're working as a developer on customizations for Content Services, you must now use the latest version of the SDK + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. ### Easy dependency configuration The configuration of the Maven dependency management has been greatly improved thanks to the addition of a _bill of materials_ (BOM). @@ -209,6 +209,8 @@ Alfresco recommends that you keep up-to-date with all the Docker releases. If yo 17: 4.5.0 ``` + This example uses SDK 4.5, but you should see similar results for other SDK 4.x versions. + 4. Next you will be prompted for additional values, like `groupId`, `artifactId`, and `package`, as shown below: ```bash @@ -326,7 +328,7 @@ Please note that the numbering is not sequential and some numbers may be skipped ### org.alfresco.maven.archetype:alfresco-allinone-archetype This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project (also called AIO) is provided in -this and previous versions of Alfresco SDK, but in SDK 4.x it has been reshaped to leverage on Docker. +this and previous versions of Alfresco SDK. It has been reshaped in SDK 4 to leverage Docker. The All-In-One archetype allows a developer to create a multi-module project on Content Services. The All-In-One project mainly includes a module for the core repository in ACS and a module for the Share client. This includes: @@ -351,7 +353,7 @@ For more information about the All-In-One project, see [All-In-One project struc ### org.alfresco.maven.archetype:alfresco-platform-jar-archetype -This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4 to leverage Docker. The Platform JAR Maven archetype allows a developer to create a module on Content Services, in particular on the Repository side, and includes: @@ -370,7 +372,7 @@ For more information about the Platform JAR project, see [Platform JAR project s ### org.alfresco.maven.archetype:alfresco-share-jar-archetype -This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4 to leverage Docker. The Share JAR Maven archetype allows a developer to create a module on an Alfresco Share client, and includes: @@ -1712,10 +1714,10 @@ If you want more detail about how to work with the project, visit [Working with ### Setting up your development environment using Intellij IDEA -The Maven Alfresco SDK is designed to work well with Eclipse. This support includes the ability to import existing Alfresco projects created using the +The Maven Alfresco SDK is designed to work well with Intellij. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. -Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you +Here we assume you already have an Intellij installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. diff --git a/content-services/7.4/develop/sdk.md b/content-services/7.4/develop/sdk.md index 52889c3926..96a9af3f7f 100644 --- a/content-services/7.4/develop/sdk.md +++ b/content-services/7.4/develop/sdk.md @@ -1,20 +1,20 @@ --- -title: Alfresco SDK 4.6 for in-process extensions +title: Alfresco In-Process SDK for in-process extensions --- -Alfresco SDK 4.6 is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. +The Alfresco In-Process SDK is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. -The following picture illustrates where SDK 4.x fits into the big picture: +The following picture illustrates where the In-Process SDK fits into the big picture: ![sdk4_big_picture]({% link content-services/images/sdk4_big_picture.png %}) The Alfresco Software Development Kit (Alfresco SDK) is a fundamental tool provided by Alfresco to developers to build customizations and extensions for the Alfresco Digital Business Platform. It is based on [Apache Maven](http://maven.apache.org/){:target="_blank"} and [Docker](https://www.docker.com/){:target="_blank"} and is compatible with major IDEs. This enables Rapid Application Development (RAD) and Test Driven Development (TDD). -The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/7.4/support/index.md %}) for the version you're using. If your version is in Limited or Full Support and you need help, contact our [Support team](https://support.alfresco.com/){:target="_blank"}. +The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/7.4/support/index.md %}) for the version you're using. If your version is in Limited or Full Support and you need help, [contact Support]({% link support/latest/contact.md %}). The 4.0 release took advantage of Semantic Versioning ([SEMVER](https://semver.org/){:target="_blank"}), which means that it isn't directly compatible with the previous releases of the SDK. -If you have existing projects that you wish to upgrade to SDK 4.6 the recommended approach is to generate a new project from the new archetypes and move your code over. +If you have existing projects that you wish to upgrade to the latest SDK version, the recommended approach is to generate a new project from the new archetypes and move your code over. ## What's new? @@ -31,7 +31,7 @@ Adding, removing and configuring services in the environment is as easy as modif [Java 17](https://openjdk.org/projects/jdk/17/){:target="_blank"} is the latest Long Term Support (LTS) version that provides support for 3 years. Alfresco 7.3 or later already offers support for this version of the Java platform. -Alfresco SDK 4.5 or later has been modified to add support for Java 17, as well. This way, if you're working as a developer in customizations for Alfresco 7.3 or later, you must now use SDK 4.5 or later + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. +Alfresco SDK 4.5 or later has been modified to add support for Java 17, as well. If you're working as a developer on customizations for Content Services, you must now use the latest version of the SDK + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. ### Easy dependency configuration @@ -200,6 +200,8 @@ Alfresco recommends that you keep up-to-date with all the Docker releases. If yo Choose a number: 19: 19 ``` + This example uses SDK 4.6, but you should see similar results for other SDK 4.x versions. + 4. You are prompted to enter additional information: ```bash @@ -293,7 +295,7 @@ This Maven archetype is related to an older version of the Alfresco SDK and shou ### org.alfresco.maven.archetype:alfresco-allinone-archetype -This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project, also called AIO, is provided in this and previous versions of Alfresco SDK. In SDK 4.x it has been reshaped and uses Docker. +This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project, also called AIO, is provided in this and previous versions of Alfresco SDK. It has been reshaped in SDK 4 to leverage Docker. The All-In-One archetype allows a developer to create a multi-module project on Content Services. The All-In-One project includes a module for the core repository in Content Services and a module for the Share client. This includes: @@ -317,7 +319,7 @@ This Maven archetype is related to an older version of the Alfresco SDK and shou ### org.alfresco.maven.archetype:alfresco-platform-jar-archetype -This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4 to leverage Docker. The Platform JAR Maven archetype allows a developer to create a module on Content Services, in particular on the Repository side, and includes: @@ -1579,9 +1581,9 @@ If you want more detail about how to work with the project, visit [Working with ### Setting up your development environment using Intellij IDEA -The Maven Alfresco SDK is designed to work well with Eclipse. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. +The Maven Alfresco SDK is designed to work well with Intellij. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. -Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. +Here we assume you already have an Intellij installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. #### Importing the Alfresco project into Intellij IDEA @@ -2275,7 +2277,7 @@ Even if the definition of integration testing is a general description, the conc Here are the basics to understanding and using integration testing in the context of projects created with the SDK, from a technical perspective: * SDK 4.x develops integration tests for the platform only. Currently, the integration tests that the SDK is able to manage by default is related to Content Services (Content Services) only. -* Integration tests require an Content Services instance to be up and running. You will see that all the scripts and commands are designed to easily manage this requirement, but the prerequisite for the SDK is that an Content Services instance is available. +* Integration tests require a Content Services instance to be up and running. You will see that all the scripts and commands are designed to easily manage this requirement, but the prerequisite for the SDK is that a Content Services instance is available. * If you're running a project created with a Platform JAR archetype, integration tests are not provided by default. However, you can copy them from your All-In-One project. #### How SDK's integration tests work @@ -2287,7 +2289,7 @@ The Alfresco SDK's integration tests are primarily supported by a utility module The Alfresco RAD is an Alfresco module which main functionality is offering the ability to execute integration tests in a real Content Services context. The core classes that conforms the Alfresco RAD module are: -* [AlfrescoTestRunner](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AlfrescoTestRunner.java){:target="_blank"}. A JUnit test runner that is designed to work with an Content Services instance. It detects if it's executing a test inside of a running Content Services instance. If that is the case the tests are all run normally. If the test is being run from outside the repository, then, instead of running the actual test, an HTTP request is made to a Web Script (`RunTestWebScript`) in a running Alfresco instance. +* [AlfrescoTestRunner](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AlfrescoTestRunner.java){:target="_blank"}. A JUnit test runner that is designed to work with a Content Services instance. It detects if it's executing a test inside of a running Content Services instance. If that is the case the tests are all run normally. If the test is being run from outside the repository, then, instead of running the actual test, an HTTP request is made to a Web Script (`RunTestWebScript`) in a running Alfresco instance. * [RunTestWebScript](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/RunTestWebScript.java){:target="_blank"}. This Web Script works in consort with the `AlfrescoTestRunner`. When a test is run from outside the repository, the Alfresco test runner sends a proxied request to perform the test to this script. This runs the test and wraps the results up so that the test initiator can be fooled into thinking they are running the tests locally. * [AbstractAlfrescoIT](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AbstractAlfrescoIT.java){:target="_blank"}. Abstract integration test class that gives access to the Alfresco Spring Application context and the `ServiceRegistry` that should be used when accessing Alfresco Services. * [Remote](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/Remote.java){:target="_blank"}. The `AlfrescoTestRunner` class has to determine where the Content Services instance endpoint is exposed to send the proxied request to the `RunTestWebScript`. It uses, in order, the next three mechanisms: @@ -2453,7 +2455,7 @@ $ ./run.sh test ##### Configuring a custom Content Services endpoint location -If you want to run your integration tests against an Content Services instance not exposed in `http://localhost:8080/alfresco` you'll need to modify a maven property before executing the tests. +If you want to run your integration tests against a Content Services instance not exposed in `http://localhost:8080/alfresco` you'll need to modify a maven property before executing the tests. The maven property for the test Content Services instance endpoint location is `acs.endpoint.path` and you can configure it in the `pom.xml` file in the root folder of your project: diff --git a/content-services/latest/develop/index.md b/content-services/latest/develop/index.md index 1c509569c1..88869f9558 100644 --- a/content-services/latest/develop/index.md +++ b/content-services/latest/develop/index.md @@ -55,7 +55,7 @@ content model is usually the first thing that needs to be done in most content m through the [Content model extension point]({% link content-services/latest/develop/repo-ext-points/content-model.md %}) documentation and then walk through the [content model tutorial]({% link content-services/latest/tutorial/platform/content-model.md %}). By implementing a content model you will get familiar with the in-process extension model and the associated -[SDK 4]({% link content-services/latest/develop/sdk.md %}). +[In-Process SDK]({% link content-services/latest/develop/sdk.md %}). When you have the custom content model in place, providing types and aspects related to the project domain (i.e. finance, healthcare, manufacturing etc.), then you can move on and implement the business logic using the [SDK event handling and ReST API libraries]({% link content-services/latest/develop/oop-sdk.md %}) diff --git a/content-services/latest/develop/sdk.md b/content-services/latest/develop/sdk.md index 6a39d56441..e97a406f25 100644 --- a/content-services/latest/develop/sdk.md +++ b/content-services/latest/develop/sdk.md @@ -1,24 +1,24 @@ --- -title: Alfresco SDK 4.x for in-process extensions +title: Alfresco In-Process SDK --- -Alfresco SDK 4.x is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco Content Services. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. +The Alfresco In-Process SDK is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco Content Services. With this SDK you can develop, package, test, run, document and release your Alfresco extension project. -The following picture illustrates where SDK 4.x fits into the big picture: +The following picture illustrates where In-Process SDK fits into the big picture: ![sdk4_big_picture]({% link content-services/images/sdk4_big_picture.png %}) The Alfresco Software Development Kit (Alfresco SDK) is a fundamental tool provided by Alfresco to developers to build customizations and extensions for the Alfresco Digital Business Platform. It is based on [Apache Maven](http://maven.apache.org/){:target="_blank"} and [Docker](https://www.docker.com/){:target="_blank"} and is compatible with major IDEs. This enables Rapid Application Development (RAD) and Test Driven Development (TDD). -The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/latest/support/index.md %}) for the version you're using. If your version is in Limited or Full Support and you need help, contact our [Support team](https://support.alfresco.com/){:target="_blank"}. +The Alfresco SDK is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html){:target="_blank"} and supports Content Services both in Community Edition and Enterprise Edition. If you're an Enterprise customer, check the [Alfresco SDK Support status]({% link content-services/latest/support/index.md %}) for the version you're using. If your version is in Limited or Full Support and you need help, [contact Support]({% link support/latest/contact.md %}). The 4.0 release took advantage of Semantic Versioning ([SEMVER](https://semver.org/){:target="_blank"}), which means that it isn't directly compatible with the previous releases of the SDK. -If you have existing projects that you wish to upgrade to the latest SDK 4.x version, the recommended approach is to generate a new project from the new archetypes and move your code over. +If you have existing projects that you wish to upgrade to the latest SDK version, the recommended approach is to generate a new project from the new archetypes and move your code over. ## What's new? -Alfresco SDK 4.7 is a minor update to the SDK and extends support to Content Services 23.1. Alfresco SDK 4.8 extends support to Content Services 23.2. +This release of the Alfresco In-Process SDK is a minor update to the SDK and extends support for Content Services. ### Embracing containers and Docker @@ -31,7 +31,7 @@ Adding, removing and configuring services in the environment is as easy as modif [Java 17](https://openjdk.org/projects/jdk/17/){:target="_blank"} is the latest Long Term Support (LTS) version that provides support for 3 years. Content Services 7.3 or later already offers support for this version of the Java platform. -Alfresco SDK 4.5 and later versions have been modified to add support for Java 17. This way, if you're working as a developer in customizations for Content Services 7.3 or later, you must now use SDK 4.5 or later + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. +The Alfresco In-Process SDK has been modified to add support for Java 17. If you're working as a developer on customizations for Content Services, you must now use the latest version of the SDK + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. ### Easy dependency configuration @@ -71,7 +71,7 @@ There are a number of software requirements for using the Alfresco SDK: #### Java -It is highly recommended to work with Content Services 23.x, which uses Java 17. +It is highly recommended to use Java 17 with Content Services. 1. Download [JDK 17](https://jdk.java.net/archive/){:target="_blank"}, unzip it and configure it as the default Java installation. @@ -98,7 +98,7 @@ It is highly recommended to work with Content Services 23.x, which uses Java 17. Alfresco recommends that you keep up-to-date with all the Maven releases. Linux distributions and package managers tend to bundle older releases and this is the most common pitfall. -Alfresco SDK 4.7 and 4.8 require Maven 3.3.0 or later, but you are recommended to download the latest version. +Alfresco SDK requires Maven 3.3.0 or later, but you are recommended to download the latest version. 1. Download and install [Apache Maven](https://maven.apache.org/download.cgi){:target="_blank"} and make sure it is configured correctly on your path. @@ -199,7 +199,7 @@ Alfresco recommends that you keep up-to-date with all the Docker releases. If yo Choose a number: 21: 21 ``` - This example uses SDK 4.8, but you should see similar results for SDK 4.7. + This example uses SDK 4.8, but you should see similar results for other SDK 4.x versions. 4. You are prompted to enter additional information: @@ -294,7 +294,7 @@ This Maven archetype is related to an older version of the Alfresco SDK and shou ### org.alfresco.maven.archetype:alfresco-allinone-archetype -This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project, also called AIO, is provided in this and previous versions of Alfresco SDK. In SDK 4.x it has been reshaped and uses Docker. +This archetype allows a developer to implement the All-In-One project on Content Services. The All-In-One project, also called AIO, is provided in this and previous versions of Alfresco SDK. It has been reshaped in SDK 4 to leverage Docker. The All-In-One archetype allows a developer to create a multi-module project on Content Services. The All-In-One project includes a module for the core repository in Content Services and a module for the Share client. This includes: @@ -318,7 +318,7 @@ This Maven archetype is related to an older version of the Alfresco SDK and shou ### org.alfresco.maven.archetype:alfresco-platform-jar-archetype -This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Platform JAR project on Content Services. It has been reshaped in SDK 4 to leverage Docker. The Platform JAR Maven archetype allows a developer to create a module on Content Services, in particular on the Repository side, and includes: @@ -335,7 +335,7 @@ For more information about the Platform JAR project, see [Platform JAR project s ### org.alfresco.maven.archetype:alfresco-share-jar-archetype -This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4.x to leverage on Docker. +This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4 to leverage Docker. The Share JAR Maven archetype allows a developer to create a module on an Alfresco Share client, and includes: @@ -1639,9 +1639,9 @@ If you want more detail about how to work with the project, visit [Working with ### Setting up your development environment using Intellij IDEA -The Maven Alfresco SDK is designed to work well with Eclipse. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. +The Maven Alfresco SDK is designed to work well with Intellij. This support includes the ability to import existing Alfresco projects created using the Alfresco SDK. -Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. +Here we assume you already have an Intellij installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you don't have a project already, follow the steps in [Getting started with Alfresco SDK](#gettingstarted) to learn how to quickly generate it in a few easy steps. #### Importing the Alfresco project into Intellij IDEA @@ -2306,7 +2306,7 @@ Even if the definition of integration testing is a general description, the conc Here are the basics to understanding and using integration testing in the context of projects created with the SDK, from a technical perspective: * SDK 4.x develops integration tests for the platform only. Currently, the integration tests that the SDK is able to manage by default is related to Content Services (Content Services) only. -* Integration tests require an Content Services instance to be up and running. You will see that all the scripts and commands are designed to easily manage this requirement, but the prerequisite for the SDK is that an Content Services instance is available. +* Integration tests require a Content Services instance to be up and running. You will see that all the scripts and commands are designed to easily manage this requirement, but the prerequisite for the SDK is that a Content Services instance is available. * If you're running a project created with a Platform JAR archetype, integration tests are not provided by default. However, you can copy them from your All-In-One project. #### How SDK's integration tests work @@ -2318,7 +2318,7 @@ The Alfresco SDK's integration tests are primarily supported by a utility module The Alfresco RAD is an Alfresco module which main functionality is offering the ability to execute integration tests in a real Content Services context. The core classes that conforms the Alfresco RAD module are: -* [AlfrescoTestRunner](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AlfrescoTestRunner.java){:target="_blank"}. A JUnit test runner that is designed to work with an Content Services instance. It detects if it's executing a test inside of a running Content Services instance. If that is the case the tests are all run normally. If the test is being run from outside the repository, then, instead of running the actual test, an HTTP request is made to a Web Script (`RunTestWebScript`) in a running Alfresco instance. +* [AlfrescoTestRunner](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AlfrescoTestRunner.java){:target="_blank"}. A JUnit test runner that is designed to work with a Content Services instance. It detects if it's executing a test inside of a running Content Services instance. If that is the case the tests are all run normally. If the test is being run from outside the repository, then, instead of running the actual test, an HTTP request is made to a Web Script (`RunTestWebScript`) in a running Alfresco instance. * [RunTestWebScript](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/RunTestWebScript.java){:target="_blank"}. This Web Script works in consort with the `AlfrescoTestRunner`. When a test is run from outside the repository, the Alfresco test runner sends a proxied request to perform the test to this script. This runs the test and wraps the results up so that the test initiator can be fooled into thinking they are running the tests locally. * [AbstractAlfrescoIT](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/AbstractAlfrescoIT.java){:target="_blank"}. Abstract integration test class that gives access to the Alfresco Spring Application context and the `ServiceRegistry` that should be used when accessing Alfresco Services. * [Remote](https://github.com/Alfresco/alfresco-sdk/blob/master/modules/alfresco-rad/src/main/java/org/alfresco/rad/test/Remote.java){:target="_blank"}. The `AlfrescoTestRunner` class has to determine where the Content Services instance endpoint is exposed to send the proxied request to the `RunTestWebScript`. It uses, in order, the next three mechanisms: @@ -2484,7 +2484,7 @@ goal: ##### Configuring a custom Content Services endpoint location -If you want to run your integration tests against an Content Services instance not exposed in `http://localhost:8080/alfresco` you'll need to modify a maven property before executing the tests. +If you want to run your integration tests against a Content Services instance not exposed in `http://localhost:8080/alfresco` you'll need to modify a maven property before executing the tests. The maven property for the test Content Services instance endpoint location is `acs.endpoint.path` and you can configure it in the `pom.xml` file in the root folder of your project: @@ -3077,7 +3077,7 @@ com/example/platformsample/Demo has been compiled by a more recent version of th this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [com.example.platformsample.Demo]) ``` -This error represents that the source code was compiled using the wrong version of the JDK. This issue can happen if the generated project is compiled using JDK 11 and it is deployed in an Content Services 6.0 container (which uses JRE 8). +This error represents that the source code was compiled using the wrong version of the JDK. This issue can happen if the generated project is compiled using JDK 11 and it is deployed in a Content Services 6.0 container (which uses JRE 8). #### Solution From 0067e3b7698c44e1ce71f6e2f29f5f05837cd014 Mon Sep 17 00:00:00 2001 From: Adelaide Nxumalo <27953420+anxumalo@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:16:46 +0100 Subject: [PATCH 2/3] [DOCS-7858] Improve external links --- support/latest/resources/access.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/support/latest/resources/access.md b/support/latest/resources/access.md index 5a7eff93df..41ac1c6e5e 100644 --- a/support/latest/resources/access.md +++ b/support/latest/resources/access.md @@ -6,19 +6,19 @@ Alfresco products are available to customers and partners. Use the links provide ## Pre-built release artifacts -Access to the Alfresco pre-built release artifacts is from [Hyland Community](https://community.hyland.com){:target=_"blank"}. Navigate to the **Support** tab and select **Alfresco Downloads** under the **Software Downloads** section. +Access to the Alfresco pre-built release artifacts is from [Hyland Community](https://community.hyland.com){:target="_blank"}. Navigate to the **Support** tab and select **Alfresco Downloads** under the **Software Downloads** section. ## Containerized products Some Alfresco products are released as a Docker image or a set of multiple Docker images. Images that are common to both Enterprise and Community versions are available at Docker Hub: -[https://hub.docker.com/u/alfresco](https://hub.docker.com/u/alfresco){:target=_"blank"} +[https://hub.docker.com/u/alfresco](https://hub.docker.com/u/alfresco){:target="_blank"} -Enterprise-only Docker images are available via a Docker pull from [quay.io](https://quay.io){:target=_"blank"} repositories. Please contact Alfresco Support for credentials to the quay.io repositories. +Enterprise-only Docker images are available via a Docker pull from [quay.io](https://quay.io){:target="_blank"} repositories. Please contact Alfresco Support for credentials to the quay.io repositories. ## Building Alfresco products using SDKs -Several Alfresco products can be built using SDKs. To see a list of available SDKs, refer to the [Alfresco Documentation](/). +Several Alfresco products can be built using SDKs. To see a list of available SDKs, refer to the [Supported Platforms]({% link content-services/latest/support/index.md %}) page in the Alfresco Content Services documentation. Most SDKs require Maven and access to the Alfresco Nexus repository. Please contact Alfresco Support for credentials to the Nexus repository. @@ -26,7 +26,7 @@ Most SDKs require Maven and access to the Alfresco Nexus repository. Please cont Source code for most Alfresco products, including ACS, APS, and many modules, is available at the Alfresco Nexus repository in the form of a product `sources.jar`, or available in GitHub: -[https://github.com/Alfresco](https://github.com/Alfresco){:target=_"blank"} +[https://github.com/Alfresco](https://github.com/Alfresco){:target="_blank"} If you are unable to locate the source code for a product or module, or need credentials to the Nexus repository, please contact Alfresco Support. From a23c2de4dbacb426f4c439423b82bf886f4ef9c4 Mon Sep 17 00:00:00 2001 From: Adelaide Nxumalo <27953420+anxumalo@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:52:04 +0100 Subject: [PATCH 3/3] [DOCS-7858] Simplify more references --- .../develop/oop-ext-points/event-gateway.md | 2 +- .../7.2/develop/oop-ext-points/index.md | 4 ++-- .../7.2/develop/overview-ext-points.md | 6 +++--- .../develop/oop-ext-points/event-gateway.md | 2 +- .../7.3/develop/oop-ext-points/index.md | 4 ++-- .../7.3/develop/overview-ext-points.md | 6 +++--- .../develop/oop-ext-points/event-gateway.md | 2 +- .../7.4/develop/oop-ext-points/index.md | 4 ++-- .../7.4/develop/overview-ext-points.md | 6 +++--- .../develop/oop-ext-points/event-gateway.md | 2 +- .../latest/develop/oop-ext-points/index.md | 4 ++-- content-services/latest/develop/oop-sdk.md | 4 +--- .../latest/develop/overview-ext-points.md | 21 +++++++------------ .../latest/develop/reference/debugging-ref.md | 7 +++---- 14 files changed, 32 insertions(+), 42 deletions(-) diff --git a/content-services/7.2/develop/oop-ext-points/event-gateway.md b/content-services/7.2/develop/oop-ext-points/event-gateway.md index e1594d4060..d4881008ee 100644 --- a/content-services/7.2/develop/oop-ext-points/event-gateway.md +++ b/content-services/7.2/develop/oop-ext-points/event-gateway.md @@ -231,4 +231,4 @@ The Event Gateway provides a ReST API with the following features: An out-of-process extension may create a subscription to receive certain types of events in a specific topic of an ActiveMQ broker. -For more information on how to use the subscription API see the [SDK 5 documentation]({% link content-services/7.2/develop/oop-sdk.md %}#using-event-gateway). +For more information on how to use the subscription API, see the [Event Gateway documentation]({% link content-services/7.2/develop/oop-sdk.md %}#using-event-gateway). diff --git a/content-services/7.2/develop/oop-ext-points/index.md b/content-services/7.2/develop/oop-ext-points/index.md index 7b3da3ffa9..aa8a4e418b 100644 --- a/content-services/7.2/develop/oop-ext-points/index.md +++ b/content-services/7.2/develop/oop-ext-points/index.md @@ -4,11 +4,11 @@ title: Overview of out-of-process platform extension points Out-of-process Platform Extensions are extensions that run outside the Alfresco servers in its own processes. -The new [event system]({% link content-services/7.2/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.2/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.2/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.2/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.2/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. Read through the [Getting started guide]({% link content-services/7.2/develop/index.md %}) to get up to diff --git a/content-services/7.2/develop/overview-ext-points.md b/content-services/7.2/develop/overview-ext-points.md index dff3f7eda5..f27ebff09d 100644 --- a/content-services/7.2/develop/overview-ext-points.md +++ b/content-services/7.2/develop/overview-ext-points.md @@ -9,11 +9,11 @@ so called *Extension Points*. An extension point is a supported interface that c The extension points can be divided into Out-of-process extension points and In-process extension points. ## Out-of-process extension points -The new [event system]({% link content-services/7.2/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.2/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.2/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.2/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.2/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. ## In-process extension points @@ -21,6 +21,6 @@ The in-process extension points can be divided further into server side extensio Repository, and UI extensions for the web client called Share. To get started see [Platform extensions overview]({% link content-services/7.2/develop/repo-ext-points/index.md %}) and [Share extensions overview]({% link content-services/7.2/develop/share-ext-points/index.md %}). -Also, you should get familiar with [SDK 4]({% link content-services/7.2/develop/sdk.md %}) as it is +Also, you should get familiar with the [In-Process SDK]({% link content-services/7.2/develop/sdk.md %}) as it is the recommended way of developing in-process extensions. diff --git a/content-services/7.3/develop/oop-ext-points/event-gateway.md b/content-services/7.3/develop/oop-ext-points/event-gateway.md index 0512fac1d3..daddda72b8 100644 --- a/content-services/7.3/develop/oop-ext-points/event-gateway.md +++ b/content-services/7.3/develop/oop-ext-points/event-gateway.md @@ -231,4 +231,4 @@ The Event Gateway provides a ReST API with the following features: An out-of-process extension may create a subscription to receive certain types of events in a specific topic of an ActiveMQ broker. -For more information on how to use the subscription API see the [SDK 5 documentation]({% link content-services/7.3/develop/oop-sdk.md %}#using-event-gateway). +For more information on how to use the subscription API, see the [Event Gateway documentation]({% link content-services/7.3/develop/oop-sdk.md %}#using-event-gateway). diff --git a/content-services/7.3/develop/oop-ext-points/index.md b/content-services/7.3/develop/oop-ext-points/index.md index 5daf702264..559dfc4466 100644 --- a/content-services/7.3/develop/oop-ext-points/index.md +++ b/content-services/7.3/develop/oop-ext-points/index.md @@ -4,11 +4,11 @@ title: Overview of out-of-process platform extension points Out-of-process Platform Extensions are extensions that run outside the Alfresco servers in its own processes. -The new [event system]({% link content-services/7.3/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.3/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.3/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.3/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.3/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. Read through the [Getting started guide]({% link content-services/7.3/develop/index.md %}) to get up to diff --git a/content-services/7.3/develop/overview-ext-points.md b/content-services/7.3/develop/overview-ext-points.md index 153b6499a8..a1451d3235 100644 --- a/content-services/7.3/develop/overview-ext-points.md +++ b/content-services/7.3/develop/overview-ext-points.md @@ -9,11 +9,11 @@ so called *Extension Points*. An extension point is a supported interface that c The extension points can be divided into Out-of-process extension points and In-process extension points. ## Out-of-process extension points -The new [event system]({% link content-services/7.3/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.3/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.3/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.3/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.3/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. ## In-process extension points @@ -21,6 +21,6 @@ The in-process extension points can be divided further into server side extensio Repository, and UI extensions for the web client called Share. To get started see [Platform extensions overview]({% link content-services/7.3/develop/repo-ext-points/index.md %}) and [Share extensions overview]({% link content-services/7.3/develop/share-ext-points/index.md %}). -Also, you should get familiar with [SDK 4]({% link content-services/7.3/develop/sdk.md %}) as it is +Also, you should get familiar with the [In-Process SDK]({% link content-services/7.3/develop/sdk.md %}) as it is the recommended way of developing in-process extensions. diff --git a/content-services/7.4/develop/oop-ext-points/event-gateway.md b/content-services/7.4/develop/oop-ext-points/event-gateway.md index fff6bea0a8..6103cf0b42 100644 --- a/content-services/7.4/develop/oop-ext-points/event-gateway.md +++ b/content-services/7.4/develop/oop-ext-points/event-gateway.md @@ -231,4 +231,4 @@ The Event Gateway provides a ReST API with the following features: An out-of-process extension may create a subscription to receive certain types of events in a specific topic of an ActiveMQ broker. -For more information on how to use the subscription API see the [SDK 5 documentation]({% link content-services/7.4/develop/oop-sdk.md %}#using-event-gateway). +For more information on how to use the subscription API, see the [Event Gateway documentation]({% link content-services/7.4/develop/oop-sdk.md %}#using-event-gateway). diff --git a/content-services/7.4/develop/oop-ext-points/index.md b/content-services/7.4/develop/oop-ext-points/index.md index 47b14c3cd4..9de46cac88 100644 --- a/content-services/7.4/develop/oop-ext-points/index.md +++ b/content-services/7.4/develop/oop-ext-points/index.md @@ -4,11 +4,11 @@ title: Overview of out-of-process platform extension points Out-of-process Platform Extensions are extensions that run outside the Alfresco servers in its own processes. -The new [event system]({% link content-services/7.4/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.4/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.4/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.4/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.4/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. Read through the [Getting started guide]({% link content-services/7.4/develop/index.md %}) to get up to diff --git a/content-services/7.4/develop/overview-ext-points.md b/content-services/7.4/develop/overview-ext-points.md index a2f64014f5..d4e20cfdf4 100644 --- a/content-services/7.4/develop/overview-ext-points.md +++ b/content-services/7.4/develop/overview-ext-points.md @@ -9,11 +9,11 @@ so called *Extension Points*. An extension point is a supported interface that c The extension points can be divided into Out-of-process extension points and In-process extension points. ## Out-of-process extension points -The new [event system]({% link content-services/7.4/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/7.4/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/7.4/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/7.4/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/7.4/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. ## In-process extension points @@ -21,6 +21,6 @@ The in-process extension points can be divided further into server side extensio Repository, and UI extensions for the web client called Share. To get started see [Platform extensions overview]({% link content-services/7.4/develop/repo-ext-points/index.md %}) and [Share extensions overview]({% link content-services/7.4/develop/share-ext-points/index.md %}). -Also, you should get familiar with [SDK 4]({% link content-services/7.4/develop/sdk.md %}) as it is +Also, you should get familiar with the [In-Process SDK]({% link content-services/7.4/develop/sdk.md %}) as it is the recommended way of developing in-process extensions. diff --git a/content-services/latest/develop/oop-ext-points/event-gateway.md b/content-services/latest/develop/oop-ext-points/event-gateway.md index 4487649dd8..d802991148 100644 --- a/content-services/latest/develop/oop-ext-points/event-gateway.md +++ b/content-services/latest/develop/oop-ext-points/event-gateway.md @@ -231,4 +231,4 @@ The Event Gateway provides a ReST API with the following features: An out-of-process extension may create a subscription to receive certain types of events in a specific topic of an ActiveMQ broker. -For more information on how to use the subscription API see the [SDK 5 documentation]({% link content-services/latest/develop/oop-sdk.md %}#using-event-gateway). +For more information on how to use the subscription API, see the [Event Gateway documentation]({% link content-services/latest/develop/oop-sdk.md %}#using-event-gateway). diff --git a/content-services/latest/develop/oop-ext-points/index.md b/content-services/latest/develop/oop-ext-points/index.md index d81d6b382d..348df832e0 100644 --- a/content-services/latest/develop/oop-ext-points/index.md +++ b/content-services/latest/develop/oop-ext-points/index.md @@ -4,11 +4,11 @@ title: Overview of out-of-process platform extension points Out-of-process Platform Extensions are extensions that run outside the Alfresco servers in its own processes. -The new [event system]({% link content-services/latest/develop/oop-ext-points/events.md %}) in Content Services 7 enables +The [event system]({% link content-services/latest/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/latest/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/latest/develop/oop-sdk.md %}) as it is +You should get familiar with the [Out-of-Process SDK]({% link content-services/latest/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. Read through the [Getting started guide]({% link content-services/latest/develop/index.md %}) to get up to diff --git a/content-services/latest/develop/oop-sdk.md b/content-services/latest/develop/oop-sdk.md index 7fbc50c9c9..8f9d121564 100644 --- a/content-services/latest/develop/oop-sdk.md +++ b/content-services/latest/develop/oop-sdk.md @@ -22,9 +22,7 @@ for the version you're using. If your version is in Limited or Full Support and The 6.0 release takes advantage of Semantic Versioning ([SEMVER](https://semver.org/){:target="_blank"}), which means that this new release is not directly compatible with the previous releases of the SDK. -There is no direct upgrade path from previous versions of the SDK because version 6.0 is an additional SDK to -support out-of-process extensions, rather than an updated 4.x version. [Alfresco SDK 4.x]({% link content-services/latest/develop/sdk.md %}) -is still needed for a lot of the extension points, such as [content modelling]({% link content-services/latest/develop/repo-ext-points/content-model.md %}). +There is no direct upgrade path from previous versions of the SDK because version 6.0 is an additional SDK to support out-of-process extensions, rather than an updated 4.x version. The [Alfresco In-Process (SDK 4.x)]({% link content-services/latest/develop/sdk.md %}) is still needed for a lot of the extension points, such as [content modelling]({% link content-services/latest/develop/repo-ext-points/content-model.md %}). If you have an existing project with business logic that could be lifted out and implemented as an external service, then the recommended approach is to create a new SDK 6 project and start using the event system to implement the business logic. diff --git a/content-services/latest/develop/overview-ext-points.md b/content-services/latest/develop/overview-ext-points.md index 7afae4c5d0..d243e0f161 100644 --- a/content-services/latest/develop/overview-ext-points.md +++ b/content-services/latest/develop/overview-ext-points.md @@ -2,25 +2,18 @@ title: Overview of Extension Points --- -The Content Services product has always been very easy to extend and customize so it can manage content from -different types of domains, such as healthcare, finance, government, insurance, and manufacturing. This is supported by -so called *Extension Points*. An extension point is a supported interface that can be used to customize the product. +The Content Services product has always been very easy to extend and customize so it can manage content from different types of domains, such as healthcare, finance, government, insurance, and manufacturing. This is supported by so called *Extension Points*. An extension point is a supported interface that can be used to customize the product. The extension points can be divided into Out-of-process extension points and In-process extension points. - + ## Out-of-process extension points -The new [event system]({% link content-services/latest/develop/oop-ext-points/events.md %}) in Content Services 7 enables -out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/latest/develop/oop-ext-points/rest-api-java-wrapper.md %}) -is provided for easy development of extensions from Java applications. -You should get familiar with the [SDK 5]({% link content-services/latest/develop/oop-sdk.md %}) as it is -the recommended way of developing out-of-process extensions. +The [event system]({% link content-services/latest/develop/oop-ext-points/events.md %}) introduced in Content Services 7 enables out-of-process extensions. To support the event system a [ReST API Java Wrapper]({% link content-services/latest/develop/oop-ext-points/rest-api-java-wrapper.md %}) is provided for easy development of extensions from Java applications. + +You should get familiar with the [Out-of-Process SDK]({% link content-services/latest/develop/oop-sdk.md %}) as it is the recommended way of developing out-of-process extensions. ## In-process extension points -The in-process extension points can be divided further into server side extensions for the Platform, also referred to as -Repository, and UI extensions for the web client called Share. To get started see [Platform extensions overview]({% link content-services/latest/develop/repo-ext-points/index.md %}) -and [Share extensions overview]({% link content-services/latest/develop/share-ext-points/index.md %}). -Also, you should get familiar with [SDK 4]({% link content-services/latest/develop/sdk.md %}) as it is -the recommended way of developing in-process extensions. +The in-process extension points can be divided further into server side extensions for the Platform, also referred to as Repository, and UI extensions for the web client called Share. To get started see [Platform extensions overview]({% link content-services/latest/develop/repo-ext-points/index.md %}) and [Share extensions overview]({% link content-services/latest/develop/share-ext-points/index.md %}). +Also, you should get familiar with the [In-Process SDK]({% link content-services/latest/develop/sdk.md %}) as it is the recommended way of developing in-process extensions. diff --git a/content-services/latest/develop/reference/debugging-ref.md b/content-services/latest/develop/reference/debugging-ref.md index 26077fc6d8..45e658a20a 100644 --- a/content-services/latest/develop/reference/debugging-ref.md +++ b/content-services/latest/develop/reference/debugging-ref.md @@ -13,11 +13,10 @@ before continuing with this article to get an understanding of how to attach a d using Eclipse, then there is [this article](https://www.eclipse.org/community/eclipse_newsletter/2017/june/article1.php){:target="_blank"} that might be a good read before moving on. -If you are using any of the Alfresco SDKs, then you should be looking at the following sections for information about -how to do remote debugging in these environments: +If you are using any of the Alfresco SDKs, then you should be looking at the following sections for information about how to do remote debugging in these environments: -* [SDK 5 remote debugging]({% link content-services/latest/develop/oop-sdk.md %}#debug-extension-project) -* [SDK 4 remote debugging]({% link content-services/latest/develop/sdk.md %}#debugging) +* [Out-of-Process SDK remote debugging]({% link content-services/latest/develop/oop-sdk.md %}#debug-extension-project) +* [In-Process SDK remote debugging]({% link content-services/latest/develop/sdk.md %}#debugging) ## Introduction