How to add a new Document type and its HST Content Bean to a running instance

Hello everyone.

May I have some guides to state how to add a new document type and its HST Content Bean to a running instance please?

There’re guides of how to add a new document type and its HST Content Bean in local development environment using essential, and how to run a standalone instance. I think it is a common case to add some new document types and related HST Content Beans to a running instance, however, it seems no guide exists for the case.

If by “new document types and related HST Content Beans to a running instance” you mean dynamically adding java code and compiling/hot swapping in running jvm this is not supported. Although maybe it is theoretically possible. Although you can create new document types (without beans) through cms document type editor.

How about if I add document types and beans and compile a new deploy distribution in local development enviroment, and then follow the deploying process again but just not bootstrap the content repository in local development enviroment?

I noticed there’s a statement in deployment guide says that

During a first deployment, the (still empty) content repository is always bootstrapped using the project’s bootstrap data. Make sure to create a distribution with bootstrap content for the first deployment.

However, it is important to note that on subsequent deployments, in an environment set up following out documentation, repository bootstrap is disabled by default. If a CMS upgrade or new project release requires new content to be bootstrapped into the repository this must be enabled by (temporarily) modifying the bin/setenv.sh script in the Catalina Base directory: in the REP_OPTS variable change -Drepo.bootstrap=false to -Drepo.bootstrap=true.

But I’m not very sure what is so-called subsequent deployments, and is it just what I want to do?

If you are just working locally you don’t have to worry. If you are running with -Drepo.path=storage flag every time then changes are alrady in your local repository. If you are not running with -Drepo.path=storage then it’s still ok, since a new one inside target/ directory will be created and a new repo will be bootstrapped per:

During a first deployment, the (still empty) content repository is always bootstrapped using the project’s bootstrap data. Make sure to create a distribution with bootstrap content for the first deployment.

If auto-export is on, that is. Since this is the mechanism configuration files are generated and used

Yes, everything works fine in local enviroment. But is it possible to just deploy new war/jar components to application server without local content repository?