Open the menu

    Transformação de Arquivos

    Com necessidade de se atender a múltiplos dispositivos, principalmente telefones celulares, é preciso adaptar imagens e vídeos para que sejam melhor visualizados em cada situação. Para atender a isso, o Lumis disponibiliza a Transformação de Arquivos, em que torna possível exercer alterações de tamanho e formato(apenas vídeo) para cada arquivo adicionado ao portal.

    Habilitando as transformações

    As transformações serão habilitadas por instância de serviço, sendo possível habilitar no serviço de Imagens ou Documentos. Para habilitar em uma determinada instância de serviço, como por exemplo, serviço de imagens, é preciso navegar até uma de suas interfaces e clicar com o botão direito sobre a mesma, selecionando a opção "Propriedades de Arquivos".

    imagens029

    A janela abaixo será exibida.

    imagens030

    Para habilitar a transformação para a instância de serviço, basta habilitar o checkbox "Transformação de Arquivos".

    imagens031

    Ao habilitar, a administração de transformações de arquivos irá carregar, e o usuário será perguntado se deseja carregar as sugestões proposta pelo Lumis para as transformações:

    imagens032

    Customização de extratores de metadados

    imagens033

    O Lumis já possui por default seus próprios extratores de metadados, porém, é possível customizar a extração destes metadados, cadastrando novos extratores, que substituirão o padrão do Lumis. Para tal, é necessário inserir nome qualificado do extrator de áudio ou vídeo nos campos demonstrados acima e posteriormente clicar Ok.

    Adição de Transformações

    Para adicionar uma nova transformação é necessário clicar em "Adicionar", na área "Transformação" do pop up de "Propriedades de Arquivos".

    imagens034

    O pop up a seguir será exibido:

    imagens035
    • Chave:A chave da transformação. É única por instância de serviço, e será exibida no XML da interface.
    • Descrição: A descrição da transformação. JPEG Pequena, por exemplo.
    • Prefixo*: O prefixo que receberá o nome arquivo transformado.
    • Sufixo*: O sufixo que receberá o nome do arquivo transformado.
    • Content-Type: Expressão regular indicando quais content types cujo arquivos sofrerão a transformação cadastrada. Exemplo: a expressão ^video/(flv|mpe?g)$, fará com que arquivos com o content type video/flv ou video/mpeg sofram a transformação.
    • Extensão: Qual extensão receberá o arquivo transformado. Se nenhuma extensão for inserida, o arquivo transformado receberá a mesma extensão do arquivo original.
    • Parâmetros da Transformação: Os parâmetros da transformação são os atributos da transformação.
      • Nome: O nome do parâmetro.
      • Construtor: O construtor é a classe responsável por iniciar a transformação em si. Um builder válido deve implementar a ITransformationBuilder e ter um ITransformation associado para realizar a transformação.
      • Valor: O valor esperado da transformação. Por exemplo, se a transformação deve ser efetuada de um arquivo flv para avi, seu valor deve ser avi. Ou então, para transformações de escalonamento, o valor deve ser um inteiro.

    * É obrigatório inserir ao menos o sufixo ou prefix para uma transformação.

    Para adicionar um novo parâmetro, é necessário apenas clicar em "Adicionar" e um novo conjunto de parâmetros aparecerá.

    imagens036

    Para excluir o parâmetro, é preciso apenas clicar no "X" ao lado do conjunto de parâmetros.

    imagens037

    O número de parâmetros para uma transformação é ilimitado, tendo-se em conta de que deve haver ao menos um parâmetro cadastrado, ao tentar excluir o último parâmetro, o portal deve rejeitar a ação.

    Ao preencher os dados, e clicar Ok, a transformação será exibida na administração:

    imagens038

    Edição de Transformações

    Para editar uma transformação adicionada, basta selecionar o item desejado e clicar "Editar".

    imagens039

    O seguinte pop up de edição será exibido:

    imagens040

    Para editar, basta alterar o pop up desejado e clicar Ok.

    Exclusão de transformações

    Para excluir uma transformação, basta selecionar o arquivo desejado e clicar em "Excluir".

    imagens041

    Regerando todas as transformações

    Após adicionar novas transformações à instância de servico, ou editar as persistidas anteriormente. É possível realizar a retransformação dos arquivos já adicionados, aplicando também as novas transformações ou alterações das transformações anteriormente realizadas a todos arquivos da instância. Para isso, ao realizar uma alteração nas transformações, basta marcar o checkbox "Regerar todas as transformações".

    imagens045

    Ao clicar "Ok" no pop up, o seguinte alerta será exibido:

    imagens044

    Ao clicar "Ok", todos os arquivos serão retransformados.

    Desabilitando as transformações

    Para desabilitar as transformações é necessário apenas clicar no checkbox marcado anteriormente.

    imagens043

    Ao desabilitá-la, e consequentemente clicar em "Ok", todas as transformações serão perdidas.

    Arquivos Transformados

    Os arquivos adicionados pela instância de serviço, serão automaticamente transformados (caso haja alguma transformação cadastrada) e serão persistidos no sistema de arquivos na mesma pasta em que o arquivo original será persistido, caminho relativo à pasta lumisdata\data\files.

    XML de LumFile

    As informações das transformações executadas pela instância de serviço serão disponibilizadas no XML de LumFile, como o id do arquivo gerado(fileId), seu caminho (fullPath), content type (contentType), tamanho(fileSize), arquivo original, (originalFileId), seus metadados, e o formato(format).

    Filas de Execução

    Todas operações sobre a funcionalidade de transformações de arquivos, com exceção da adição de transformações, fazem uso de Filas de Execução. Ou seja, essas ações são enfileiradas para execução junto à outras ações inerentes à transformação ou não. Sendo assim, por exemplo, ao excluir/editar uma determinada transformação, dependendo do número de filas a serem executadas e do número de arquivos em que essa alteração deve ser refletida, as alterações sobre os arquivos transformados podem demandar algum tempo até serem efetivadas. Para maiores informações sobre Filas de Execução, consultar Filas de Execução.

    Problemas Conhecidos

    A biblioteca padrão utilizada pelo Lumis para realizar as transformações de vídeo, JAVE, inclui e usa um executável do FFMPEG. Há um problema conhecido com esse executável, em que o mesmo não é capaz de realizar o escalonamento para frames que não são múltiplos de 2. Logo, no caso de vídeos, não é recomendado utilizar valores ímpares para os parâmetros WIDTH e HEIGHT, já que a citada transformação não ocorrerá e será logado um erro sobre este evento.