Uma Infra-estrutura para controle de versões e adaptação de páginas web - Moro, Rodrigo Giacomini (2003)
Conforme os sites Web crescem em número de páginas, sua manutenção torna-se mais complicada. Assim, os administradores dos sites de métodos e ferramentas que tornem sua manutenção mais organizada e automatizada. Entretanto, a criação de tais mecanismos é dificultada pelo formato das páginas Web (HTML), que mistura o conteúdo e a formatação da página em um mesmo arquivo. Uma solução usual para esse problema é separar estes componentes da página em documentos XML (conteúdo) e folhas de estilo XSLT (formatação). Pode-se notar várias semelhanças entre páginas Web e programas de computador (software), pois ambos têm componentes de tipos diferentes que evoluem com o tempo. Assim, técnicas oriundas da área de Gerência de Configuração de Software, como controle de versões, podem ser adaptadas para auxiliar a manuutenção de sites. Além da melhoria na manutenção, outra necessidade cada vez mais comum aos sites é a adaptação automática das páginas. Por meio desta, páginas podem ser automaticamente adequadas (adaptadas) e determinado usuário, o que potencialmente atrai um maior número de visitantes ao site. Se forem mantidas versões de cada componente de página, pode-se combiná-las para gerar muitas páginas alternativas. Através da escolha cuidadosa das versões dos ocmponentes que compõem uma página, é possível obter páginas adaptadas automaticamente. Na área de Gerência de Configuração de Software, o chamado proceesso de configuração é responsável por selecionar automaticamente versões de módulos para compor um programa completo. O presente trabalho propõe uma infra-estrutura para um servidor Web que realiza controle de versões e suporta a adaptação de páginas Web de forma transparente ao visitante. Para tanto, é projetado um modelo de versões de páginas que separa conteúdo e formatação em componentes distintos. É proposto um processo de configuração que é responsável pela geração de páginas dinâmicas, o que é suportado por informações presentes no modelo de versões. Os autores de páginas e o próprio servidor Web podem interferir nas escolhas doprocesso de configuração, fornecendo critérios de seleção de versões. Esses critérios guiam as escolhas do processo de configuração, pois representam características que as versões escolhidas devem (necessariamente ou preferencialmente) apresentar.