Para Desenvolvedores

Criar conteúdo no Java com estado "Aprovado"

Resolvido

Precisamos ler um arquivo CSV e salvar os dados dele no Lumis em um serviço específico. Nós já estamos conseguindo salvar todos os dados, menos inserir ele com o estado "Aprovado", sempre que esses dados são inseridos no Lumis são salvos com o estado "Em autoria", precisamos que seja salvo como Aprovado.

Vi no fórum uma forma para saber qual o status atual do conteúdo, tentei fazer algo parecido para alterar o status, porém não funcionou. Segue abaixo:

IWorkflowManager workflowManager = ContentManagerFactory.getWorkflowManager();
ContentWorkflowMetaData contentWorkflowMetaData = workflowManager.getContentWorkflowMetaData(sessionConfig, contentLocale, transaction);
contentWorkflowMetaData.setStateId("approved");

Por Iago Araujo de Moraes Almeida

Em 07/01/20 17:02

Acompanhar pergunta

2 resposta(s):

Ordenar por:

Iago,

Eu costumo criar registro content pelo Java desta maneira:

//Parâmetros
//id do source no douidefinition,
//service instance id
ContentTableSource source = (ContentTableSource) SourceFactory.createSource("default", serviceInstanceNewsConfig.getId());

//as chaves são os fieldId do source do douidefinition
Map<String, Object> contentValues = new HashMap<>();
contentValues.put("title", "n1"); //título da notícia
contentValues.put("content", "conteudo da noticia n1");
contentValues.put(ContentTableSource.TRANSITION_PARAMETER_NAME, "authoring.approve");
source.addData(contentValues);

Creio ser mais fácil. Você só precisa criar um único source para todas as linhas adicionadas. Cada chamada de source.addData(contentValues); é uma linha adicionada.

Por Luiz Carlos Valenca

Em 07/01/20 18:47

Obrigado Luiz, funcionou aqui! No meu caso só precisei adicionar o "authoring.approve", ficando assim:

Source<?> source = SourceFactory.createSource("default", avisoServiceInstanceId);
ISourceAddDataResult iSourceAddDataResult = source.addData(
	Maps
	.builder()
	.put("titulo", titulo)
	.put("introducao", conteudo)
	.put(ContentTableSource.TRANSITION_PARAMETER_NAME, "authoring.approve")
	.build()
);

Por Iago Araujo de Moraes Almeida

Em 08/01/20 08:41

Entrar

Interaja com a comunidade e tenha acesso a conteúdos exclusivos.

Houve algum erro ao acessar o banco de dados. Tente novamente mais tarde.