SDK 4.1 without docker for Alfresco 6.2

cancel
Showing results for 
Search instead for 
Did you mean: 
ranjsingh
Customer

SDK 4.1 without docker for Alfresco 6.2

Have organization level restriction on docker usage on local machine.

a) Is it possible to have sdk 4.1 to build extension jar and also run without docker for alfresco 6.2 enterprise application ?

b) Do we have any forked version of (https://github.com/Alfresco/alfresco-sdk) which does not mandate docker installation . (Like sdk 3.1 or sdk 2.2 , which does not need docker)

Note: I understand that - 

i) The sdk 4.1 set up can be tweaked to build and generate jar(but not run application) .(without docker)

ii) The extension jar created (in above step i) can be used in another alfresco enterprise set up (using distribution zip) to run application. 

 

Extract:

The Alfresco SDK is used by developers to build extensions for the Alfresco Digital Business Platform. It is based on Apache Maven, compatible with major IDEs and enables Rapid Application Development (RAD) and Test Driven Development (TDD).

https://github.com/Alfresco/alfresco-sdk/blob/master/docs/README.md

3 Replies
abhinavmishra14
Advanced

Re: SDK 4.1 without docker for Alfresco 6.2


@ranjsingh wrote:

Have organization level restriction on docker usage on local machine.

a) Is it possible to have sdk 4.1 to build extension jar and also run without docker for alfresco 6.2 enterprise application ?

 

b) Do we have any forked version of (https://github.com/Alfresco/alfresco-sdk) which does not mandate docker installation . (Like sdk 3.1 or sdk 2.2 , which does not need docker)

 

Note: I understand that - 

i) The sdk 4.1 set up can be tweaked to build and generate jar(but not run application) .(without docker)

ii) The extension jar created (in above step i) can be used in another alfresco enterprise set up (using distribution zip) to run application. 

 

Extract:

The Alfresco SDK is used by developers to build extensions for the Alfresco Digital Business Platform. It is based on Apache Maven, compatible with major IDEs and enables Rapid Application Development (RAD) and Test Driven Development (TDD).

https://github.com/Alfresco/alfresco-sdk/blob/master/docs/README.md


 

a - yes, you can build extensions. Just use maven command : "mvn clean package" or "mvn clean install -DskipTests=true". Please note that if you want to use integration-tests, you would be required to update the url of running instance in order to use it. By default "mvn clean install" tries to launch the containers and perform the integration tests.

You can find this property in pom.xml:

<!-- Default local -->
<test.acs.endpoint.path/>
or

<!-- For a remote instance -->
<test.acs.endpoint.path>http://xyzhost.com/alfresco</test.acs.endpoint.path>

see here for more details: https://github.com/Alfresco/alfresco-sdk/blob/master/docs/advanced-topics/integration-testing/it-working.md

You can also setup debugging , see here: https://github.com/Alfresco/alfresco-sdk/blob/master/docs/advanced-topics/debugging/debug-eclipse.md

b - No, sdk4.1 is based on docker and docker-compose.

You can generate extensions and deploy them anywhere irrespective of community or enterprise version unless you have something very specific to enterprise version. You can generate jar and amp both from the sdk4.1. You need to uncomment following plugin in order to generate the amps. 

<!-- Build an AMP if 3rd party libs are needed by the extensions JARs are the default artifact produced in your modules, if you want to build an amp for each module you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your module. -->

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-assembly-plugin</artifactId>
	<version>2.6</version>
	<executions>
		<execution>
			<id>build-amp-file</id>
			<phase>package</phase>
			<goals>
				<goal>single</goal>
			</goals>
			<configuration>
				<appendAssemblyId>false</appendAssemblyId>
				<descriptor>src/main/assembly/amp.xml</descriptor>
			</configuration>
		</execution>
	</executions>
	<dependencies>
		<dependency>
			<groupId>org.alfresco.maven.plugin</groupId>
			<artifactId>alfresco-maven-plugin</artifactId>
			<version>${alfresco.sdk.version}</version>
		</dependency>
	</dependencies>
</plugin>

 

~Abhinav
(ACSCE, AWS SAA, Azure Admin)
ranjsingh
Customer

Re: SDK 4.1 without docker for Alfresco 6.2

Hi @abhinavmishra14 ,

Summary: (Without docker with sdk 4)

a) We cannot run alfresco aplication(but just build jar) 

- So how can one build jar if one cannot test the extension.?

- For remote debugging also you need 2nd Alfresco set up (https://docs.alfresco.com/6.2/concepts/ch-install.html)?

b) There is no forked version of sdk 4.1 ,

(Abhinav) - No, sdk4.1 is based on docker and docker-compose.

- so one has to rely on 2nd Alfresco set up (Using distribution zip) ?

Is the above correct?? 

 

 

Abhinav, i had mentioned that below and able to generate amp/jar

Note: I understand that - 

i) The sdk 4.1 set up can be tweaked to build and generate jar(but not run application) .(without docker)

ii) The extension jar created (in above step i) can be used in another alfresco enterprise set up (using distribution zip) to run application. 

 

abhinavmishra14
Advanced

Re: SDK 4.1 without docker for Alfresco 6.2

You have to use docker and docker-compose if want to test the extension from IDE or locally (must use docker). This is only way with SDK4.1. Else, you can enable debug ports for your locally running distribution based acs+share, copy the hotswap/jrebel agent config into classpath of acs (webapps/alfresco/WEB-INF/classes) +share (webapps/share/WEB-INF/classes) and test extensions in case you want to test and debug extensions locally. you would have to build and deploy it to your locally running acs+share everytime in this case and restart the acs+share. This is only workaround i think. 

I am not aware of any forked version of the sdk4.1.

If you are enterprise version user, try contacting support.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)