Melhorias na gestão de conteúdo multi-idiomático

Written by | 06 June 2016 | Published in 2016 June
Ninguém gosta de fazer tarefas repetitivas quando há uma solução para elas. Eu fui escolhido para o Google Summer of Code deste ano, para tornar a vida de um administrador de uma página multi-idiomática mais fácil. A ideia é mudar a maneira como o Joomla! lida com vários componentes num ambiente multi-idiomático. Isto pode ser feito numa página só, em vez de nos limitarmos a fazer o ciclo “novo”-”gravar e fechar” para itens associados um ao outro.
Melhorias na gestão de conteúdo multi-idiomático By Fluss (Own work) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Sobre mim

Olá mundo!

Sou o João Reys Santos e estudo na universidade de Évora em Portugal. Desde pequeno que sou um apaixonado por tecnologia em geral, Comecei com a televisão e as consolas e depois disso decidi que tinha de seguir uma carreira relacionada com computadores. A razão principal foram os jogos que eram o meu hobby, tinha o sonho de trabalhar numa empresa que desenvolvesse jogos. Quando experimentei desenvolver um jogo depressa me desinteressei e como gostava de programar, tive de escolher uma área mais interessante.

Em 2012 tive a minha primeira experiência com o Google Summer of Code, foi o melhor verão da minha vida. Todos temos bons e maus dias no trabalho, mas a sensação de estar a ser pago para aprender e trabalhar na área invalidou os maus dias (Nem me lembro deles!). O meu projecto era fazer "Unit Tests" para uma organização chamada “Jikes RVM”, o meu mentor era bastante acessível e senti as minhas competências a desenvolver-se dia após dia. Não melhorou a minha capacidade de trabalho em web, mas a famosa frase “Vai ao Google primeiro!” fez de mim uma pessoa mais auto-didacta.

A minha primeira experiência Joomla! foi no secundário e a segunda foi num estágio entre 2014 e 2015, tive de melhorar uns componentes "e-commerce" para satisfazer as necessidades da empresa, corrigi bugs, editei algumas partes visuais de certas páginas, criei novas funcionalidades como pagamentos por cartão de crédito, geração de facturas, Google maps e contadores descrescentes. Esta experiência desenvolveu-me muito como "web-developper" (Até tive uma pequena experiência com Django!).

O projecto em si

O objectivo do meu projecto é melhorar o back-end de um site multi-idiomático, isto é, em vez de ter vários componentes (artigos, categorias, contactos, etc.) separados por defeito e ter de rescrever esse tipo de conteúdo várias vezes, é possível juntá-los lado a lado e fazer as alterações aí, evitando andas para trás e para a frente da maneira que eu descrevi na introdução.

Para isso irei desenvolver um componente Joomla CMS (Content Management System) para o back-end, que vai mostrar lado a lado os mesmos campos para todos os componentes onde as associações "multi-lang" estão implementadas, isto inclui extensões feitas por terceiros.

O novo componente tem de respeitar as definições de ACL (permissões), com isto vão ser gerados vários grupos ACL de acordo com os idiomas de conteúdo instalados na plataforma caso a definição "multilingual" esteja activa, isto para ajudar os admin(s) a alterar as permissões de edição/criação de itens em várias linguas, ao serem designados para estes grupos, apenas eles serão autorizados a criar, editar, modificar, eliminar, etc. os itens nos idiomas que lhes sejam atribuídos.

Outra funcionalidade será implementar uma "copia" directa de campos, porque pode haver atributos em comum tais como imagens em artigos escritos em diferentes línguas, e assim não existe a necessidade de fazer "re-upload".

Aspecto final idealizado

associationspage1

associationspage2

Todos os créditos destas imagens pertencem a Jean-Marie Simonet, um dos meus mentores que foi responsável pela edição delas. Gostaria de lhe agradecer por isso já que estas imagens melhoram um pouco a explicação sobre o "produto final"!

Read 4071 times Tagged under Portuguese (Brazil)