In this article:


This init instance over Imcms.getServices().getCommonContentService() working from 10 version


Each documents page have common content with enable/disable languages, which store itself data about document. We can easy get all info about it , just use CommonContentService. Init CommonContentService bean service - Imcms.getServices().getCommonContentService(); Look at the code below how use API.


List<CommonContent> getOrCreateCommonContents(int docId, int versionNo);
//Get document's common contents for all languages
//If common content of non working version is null it creates new common content based on working.

CommonContent getOrCreate(int docId, int versionNo, Language language);
//Gets common content for working or published versions.
//If common content of non working version is null it creates new common content based on working.

<T extends CommonContent> void save(int docId, Collection<T> saveUs);

Set<CommonContent> getByVersion(Version version);

deleteByDocId(Integer docId);

Block parameters:

Parameters Type Description
versionNo Integer number version document
docId Integer Identify the linked document
saveUs Collection<T> List common contents which need to save

How to use getOrCreate method simple example:

How to init languageService see to languageService-documentation
Language language = languageService.findByCode(String code);
int versionNo = 0; //working version
int docId = 1001;

CommonContentService commonContentService = Imcms.getServices().getCommonContentService();

commonContentService.getOrCreate(int docId, int versionNo, Language language);

Checking what languages the document is active in, example:

Using lambda and stream API java8+

List<Language> listEnableLang = Imcms.getServices().getCommonContentService().getOrCreateCommonContents(int docId, int versionNo)

Using simple code without stream API:

List<CommonContent> contents = Imcms.getServices().getCommonContentService().getOrCreateCommonContents(int docId, int versionNo);
                     List<Language> languages = new ArrayList<>();
                     for (CommonContent commonContent: contents) {
                             if (commonContent.isEnabled()) {