Development lifecycle best practices

Do you have any recommendation about development lifecycle practices when Studio is involved?

Let's say some development is done via Studio while some other (like extension point implementation) is done via Nuxeo IDE? How do you reconciliate both?

Also do you have any future plan to allow Studio to use an external git repo?

1 votes

1 answers




From within Nuxeo IDE you can reference your Studio project. This means the Studio project will :

  • be added to the pom and maven dependency tree
  • be added to Eclipse classpath
  • be deployed automatically with your IDE project inside the SDK server

Your IDE project will hold the code that runs using the configuration generated by Nuxeo Studio.

For example, this mean you can build Unit Tests inside your IDE project that will deploy resources comming from Nuxeo Studio (doc types, life-cycle …).

You can also have Nuxeo IDE push some configuration inside Nuxeo Studio. For example, you can write a Java class that will provide a new Automation Operation and use IDE to push it to Studio. This will actually add your new operation inside the Nuxeo Studio registry so that you can use it from within Nuxeo Studio : inside the Automatiuon Chain editor or inside the Workflow editor.

So, to answer your question, I would say that I usually develop Studio and IDE projects side by side :

  • Studio holds the confguration and the model
  • IDE holds the code and the unit tests

About Studio using external git repo : Actually, technically, Nuxeo Studio is indeed using a private Git repository to store the configuration and exposes the resulting jar via maven.

Allowing to use an external git is indeed part of the possibilities … but this work is not scheduled for now …

Hope this helps,


1 votes

I didn't realize you could connect Studio and IDE this way. Sounds interesting!

So I understand the whole Studio configuration will be locally available at IDE level? If so I could probably use this copy to synchronize my project in a different git repo.