No carregamento da página, pegamos as TAGS da matéria (ou álbum, ou vídeo...) e buscamos no MonteCarlo (via sourcepath) para verificar se existe alguma coleção com aquela tag. A definição de qual TAG iremos utilizar para a busca depende de alguma regras: - Utilizamos a TAG do campo "tag-coleção" - Se estiver vazio, utilizamos a primeira TAG do campo "tag-outras" - Se estiver vazio, utilizamos a TAG definida no config do canal ($config.collection)
Origem dos dados da Coleção (Mônaco)
Teremos uma editoria de tagpage para cada área (Estilo, Entretenimento, Esporte e Notícias). - Estilo: http://publicador.intranet/collection.jsp?contentUri=/conteudo/geral/gera-colecao/tagpage-estilo.xml - Esporte: http://publicador.intranet/collection.jsp?contentUri=/conteudo/geral/gera-colecao/tagpage-esporte.xml - Entretenimento: http://publicador.intranet/collection.jsp?contentUri=/conteudo/geral/gera-colecao/tagpage-entretenimento.xml - Notícias: http://publicador.intranet/collection.jsp?contentUri=/conteudo/geral/gera-colecao/tagpage-noticias.xml A editoria não é gerenciada pelo GeraMT.
publicador.js - Reponsável por todas as funções de interação do editor/arquiteto (esconder/exibir módulo, travar publicação de campo obrigatório, bloquear a exportação dos dados para o JSON, ...) - Carrega o "publicador.js" do componente "Home", pois podemos escolher módulos cruzados que aparecem na Coleção
collection.js - Temos um serviço que lista todas as Coleções: http://conteudo.jsuol.com.br/c/publicador/util/collection.json - Utilizado dentro das editorias do Mônaco para o editor destacar uma coleção
Tratamento dos Dados
Antes de chegar na "controller.vm", os dados passam pela API de Conteúdo (/macros/api/monaco/collection.vm )
O objeto final possui: - content.config{}: Configurações gerais da Coleção (título, link, busca...) - content.config.search{}: parâmetros da busca da Coleção - content.config.images{}: imagens representativas da Coleção (usadas no componente "related-collection") - content.config.frequency-rule: frequência que os módulos cruzados podem aparecer - content.order[]: ordem dos módulos cruzados - content.components{}: dados de cada um dos módulos cruzados