ASR
ASR

Reputation: 3549

How to add structure and template for new journal article from my custom portlet?

When a new journal article is dropped into the page,:

This is my requirement( like when we drop the web-content display portlet into the page, on the on click of the add button, it will open a page and shows options choose structure, when we select the choose structure, it will append the structure id and template id associated with the structure id, to the journal article).

How to achieve this ?

Upvotes: 1

Views: 690

Answers (1)

Kona Laxman Deepak
Kona Laxman Deepak

Reputation: 280

You can refer following code snippet to add structure and template to the web content in your custom portlet

ThemeDisplay themeDisplay = (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
                Long parentFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;
                DDMStructure ddmStructure=DDMStructureLocalServiceUtil.getDDMStructure(11515);
                DDMTemplate ddmTemplate=DDMTemplateLocalServiceUtil.getDDMTemplate(11517);
                Map<Locale,String> titleMap=new HashMap<Locale,String>();
                titleMap.put(themeDisplay.getLocale(), "First Record");
                String content=
                        "<root available-locales='en_US' default-locale='en_US'>"
                                +"<dynamic-element dataType='string' indexType='keyword' name='Title' readOnly='false' repeatable='false' required='false' showLabel='true' type='text' width='small'>"
                                    +"<dynamic-content>FirstRecord</dynamic-content>"
                                +"</dynamic-element>"
                                +"<dynamic-element dataType='string' indexType='keyword' name='Description' readOnly='false' repeatable='false' required='false' showLabel='true' type='textarea' width='small'>"
                                +"  <dynamic-content>This the first one doing by programatically</dynamic-content>"
                                +"</dynamic-element>"
                                +"<dynamic-element dataType='image' fieldNamespace='wcm' indexType='keyword' name='DamImage' readOnly='false' repeatable='false' required='false' showLabel='true' type='wcm-image' width=''>"
                                +"  <dynamic-content>http://localhost:8080/documents/10184/0/welcome_community/0dc0adb1-b565-409a-b766-96d1e42b04fb?t=1459163274526</dynamic-content>"
                                +"</dynamic-element>"
                                +"<dynamic-element dataType='string' indexType='keyword' name='UserIdExcel' readOnly='false' repeatable='false' required='false' showLabel='true' type='text' width='small'>"
                                +"  <dynamic-content>458155</dynamic-content>"
                                +"</dynamic-element>"
                                +"<dynamic-element dataType='string' indexType='keyword' name='Username' readOnly='false' repeatable='false' required='false' showLabel='true' type='text' width='small'>"
                                +"  <dynamic-content>LaxmanDeepak</dynamic-content>"
                                +"</dynamic-element>"
                                +"<dynamic-element dataType='date' fieldNamespace='ddm' indexType='keyword' name='DateFromExcel' readOnly='false' repeatable='false' required='false' showLabel='true' type='ddm-date' width='small'>"
                                +"<dynamic-content>03/29/2016</dynamic-content>"
                                +"</dynamic-element>"
                            +"</root>";
                ServiceContext serviceContext = new ServiceContext();
                serviceContext.setScopeGroupId(themeDisplay.getScopeGroupId());
                serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

                JournalArticleLocalServiceUtil.addArticle(themeDisplay.getUserId(), themeDisplay.getScopeGroupId(), parentFolderId, titleMap, null, content, ddmStructure.getStructureKey(), ddmTemplate.getTemplateKey(), serviceContext);

Upvotes: 1

Related Questions