Development environment for Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
upforsin
Senior Member

Development environment for Alfresco

Hello,

I've been playing around with Alfresco for 2 years now and I still do not have a good enough development environment (which would increase efficiency).

What is your development environment for creating Alfresco repo and share add-ons (dashlets,workflows,webscripts,etc.) ?

Currently, I'm using Eclipse (IntelliJ does not have Aciviti plugin :/ ), JDK11, and I'm testing code in the Docker (running "run.sh build_start"). Hot-swap works only sometimes (DCVM has some problem on macOS), javascript debugger does not work (headless mode), so I'm only writing Java code (debugging possibility). Creating Share addons is a nightmare because even a small HTML change requires a server restart. Unit tests are very rare (most code need access to the repository services) and I still did not find any good solution for the integration tests (alfresco-tests-parent might be an option but what if it won't be updated).

Do you have any better situation or do Alfresco developers have to be doomed?

2 Replies
sanjaybandhniya
Intermediate

Re: Development environment for Alfresco

You can use alfresco sdk for development.

Ref : https://docs.alfresco.com/content-services/6.0/develop/sdk/

Here you can create your project 2 ways/

1) All in one - where repo and share both are combined in single project. It will take time on restart beacuse repo and share both will restart

2)You can create repo and share separate project. Here you can work independenly with share or repo. If you are doing changes in repo then only repo restart need. so It will reducing time for restart.

 

Thanks & Regards,
Sanjay
upforsin
Senior Member

Re: Development environment for Alfresco

Hi @sanjaybandhniya 

I'm not sure what you mean by saying Alfresco SDK..

I do use All in One (90% of my extensions need both Repo and Share). However, using Docker deployment I'm unable to run Javascript Debugger, I'm unable to just refresh the browser and update some HTML/FTL/JS/CSS files.

A couple of years ago, before docker, there was an alfresco:run maven plugin, which at least didn't run in headless mode and you could start the Javascript debugger. 

I've found little facilitation in the xenit dynamic extensions, but it still isn't perfect (not updated for the Alfresco 7.2 or even 7.1, you still do not have JS debugger, you still have to recompile the whole project and manually apply them).

In comparison, when you develop Angular projects  (i.e. alfresco-content-app) you have an instant hot-reload of all files and the debugger of even HTML templates!