Anda di halaman 1dari 6

ANÁLISE

Sigurd Decroos – zxc.hu

Xwiki, um wiki de segunda geração

Wiki 2.0
Sistemas wiki já são usados em grandes empresas, mas vale a pena
conhecer o Xwiki e seus diferenciais corporativos.
por Miguel Koren O’Brien de Lacy

O
s wikis iniciaram sua tra- laboração entre os programadores classe de aplicativos simples, os
jetória devido à necessi- da empresa. Hoje, o exemplo mais quais são necessários e precisam ser
dade de gerar e modificar conhecido da tecnologia wiki é, sem desenvolvidos rapidamente ecom
páginas da Web de forma simples e dúvida, a Wikipédia, que utiliza o baixo custo. Além disso, consumi-
rápida por qualquer pessoa, sem a sistema Media Wiki[3]. riam tempo ou recursos em demasia
necessidade de acesso ao servidor, se fossem desenvolvidos dentro de
e usando apenas a própria Web. O uma metodologia formal da área
primeiro wiki, o WikiWikiWeb, foi Segunda geração de TI. A figura 1 mostra grafica-
utilizado pela primeira vez em 1995, O grupo de desenvolvimento do mente o campo de aplicabilidade
no site da empresa de seu criador Xwiki[4] o rotula como um “wiki de aplicativos que podem ser im-
[1], o que mostra a longa trajetória de segunda geração”. Segundo plementados pelo Xwiki.
e o longo tempo que essa tecnologia seus desenvolvedores,
levou para ser melhor conhecida e os wikis de primeira
mais utilizada. Por sua vez, o Wi- geração atendem a
kiWikiWeb utilizou idéias que foram necessidade de cola-
implementadas no sistema Hyper- borar na geração de
card[2], criado por Bill Atkinson conteúdo na Web,
para o Apple Macintosh em 1987. enquanto os de segun-
Entre alguns aportes interessantes da geração atendem
do Hypercard à tecnologia da Inter- a necessidade de de-
net utilizados até hoje podem ser senvolver aplicativos
mencionados o cursor de hyperlink colaborativos na Web.
– uma mão com o indicador esten- Em termos de aplica-
dido – e até um navegador web, o tivos colaborativos,
ViolaWWW, de 1992. O objetivo o “mercado” visado Figura 1 O mercado atendido pelo Xwiki consiste na
do WikiWikiWeb foi facilitar a co- pelo Xwiki é toda a cauda longa do mercado de aplicativos.

56 http://www.linuxmagazine.com.br
Xwiki | ANÁLISE

Um dos objetivos dos wikis é


permitir a criação e a edição de
páginas de uma forma simples.
Entretanto, apesar de o HTML
já ser, a princípio, uma lingua-
gem simples, para a maioria das
pessoas, é bastante difícil se lem-
brar de todas as tags HTML e da
sintaxe exata. Assim, nasceram
diversas linguagens de marcação
para formatar as páginas. Lamen-
tavelmente, ao mesmo tempo em
que são consideravelmente mais
simples de usar e que têm o HTML
como referência, a multiplicida-
de de linguagens como structured
text, MoinMoin, reStructured text
e outras gera confusão e faz com Figura 2 Edição visual de um documento (página) do Xwiki, no qual foi inseri-
que os wikis deixem de ser portá- da uma imagem.
veis entre sistemas.
Devido a suas origens, os sistemas Categorias tam-se, normalmente, de aplicativos
wiki são colaborativos por natureza Os wikis podem ser classificados em simples, como listas de tarefas, con-
e atendem muito bem as necessi- três grandes grupos: os pessoais e co- troles simples de materiais etc.
dades iniciais da Web que estão munitários, os wikis de aplicativos Por último, os wikis corporativos
hoje em evolução. Respondem ao e os corporativos. Vejamos algumas possuem recursos adequados, na-
desejo de participação em equipe características de cada um. turalmente, ao uso em ambientes
na criação de páginas e também Os wikis pessoais e comunitários corporativos. Normalmente são usa-
às necessidades corporativas. No têm como objetivo a administração de dos para formar sistemas de base de
ambiente de comunidades e equi- informações de natureza fundamen- conhecimento e são disseminados
pes de projeto, é útil permitir que talmente de texto, sem necessidades internamente nas empresas. Entre
todos os membros participem por de acesso a bancos de dados ou ou- suas principais características, en-
igual na criação do conteúdo. No tros aplicativos. Eles podem oferecer contram-se:
ambiente corporativo, as necessida- acesso colaborativo na mesma página ➧ sistema de permissões de acesso;
des são opostas e, de certa forma, ou simplesmente acesso exclusivo ➧ facilidade de interação com sis-
contrárias ao objetivo original dos para a organização de informação temas externos;
wikis, pois existe a necessidade de individual, e por isso são muito sim- ➧ facilidade de classificação das in-
controlar quem pode fazer modifi- ples de instalar e operar. formações de forma estruturada;
cações. Sendo assim, os wikis mo- Os wikis de aplicativos têm uma ➧ acesso simplificado a bancos de
dernos têm fortes mecanismos de estruturação que permite a criação de dados SQL.
segurança de acesso. aplicativos. Geralmente vão além de
Os sistemas wiki são, na realida- administrar apenas páginas HTML e O site Wikimatrix[9] se dedica a
de, sistemas de gestão de conteúdo oferecem a possibilidade de incluir comparar sistemas wiki e gera uma
(CMS) desenvolvidos colaborati- chamadas a programas externos a par- longa lista de comparação de recur-
vamente, utilizando diretamente o tir das páginas, além de permitirem sos entre quaisquer sistemas que o
próprio navegador web. Assim, seu o uso de scripts internos para incre- usuário selecionar.
foco está na criação do conteúdo e mentar a funcionalidade da edição
não nos demais aspectos do geren- com a linguagem de criação. Esses
ciamento de sites tais como blogs, aplicativos também são conhecidos Xwiki
álbuns de fotos e outros, que por como aplicativos situacionais, pois O Xwiki é um dos projetos mem-
sua vez são o forte de sistemas como são desenvolvidos por seus próprios bros do consórcio OW2[10], que
Plone[5], Joomla [6], OpenCMS [7], usuários de forma não estruturada e tem por missão fornecer soluções
Drupal[8] e muitos outros. sem uma metodologia definida. Tra- de middleware (no sentido amplo

Linux Magazine #43 | Junho de 2008 57


ANÁLISE | Xwiki

O controle de versões do conteúdo


é mais um recurso importante, pois
armazena todas as versões das pági-
nas para possibilitar a auditoria do
conteúdo. Ele permite desfazer as
alterações para voltar qualquer pá-
gina a uma versão anterior.
O gerenciamento de permissões
permite a definição por usuário e por
documento, indicando quem pode
acessar ou modificar cada documen-
to, área ou wikis completos.
Além disso, o gerenciamento de
usuários e grupos fornece um bom
controle sobre a definição de gru-
pos e atribuição de usuários para
aplicar as diretivas de segurança de
forma flexível.
O Xwiki pode fazer um uso muito
interessante do mecanismo de RSS. O
RSS permite emitir e receber notifica-
ções de modificações, e normalmente
Figura 3 Exemplo de site público feito com o Xwiki e um skin personalizado. é usado para acompanhamento de
notícias. Porém o Xwiki possibilita
do termo) de alta qualidade com as permite a edição do conteúdo com a emissão de notificações ao serem
quais uma empresa possa atender suas a notação wiki. A figura 2 mostra o alteradas as páginas, ou a inclusão
necessidades em aplicativos de base. poder de edição visual comparado à de notificações de outras fontes no
Sendo um membro OW2, o Xwiki edição wiki de outros sistemas. conteúdo do Xwiki.
é também um aplicativo em Java
que pode rodar dentro de contêine-
res tais como Tomcat ou servidores
Java Enterprise como JBoss ou Jonas.
Essa característica do Xwiki aumen-
ta seu apelo dentro da empresa, pois
oferece integração ao restante da
estrutura computacional. Porém,
o Xwiki não é apenas um membro
do consórcio OW2, mas também é
usado em diversas páginas do próprio
site do consórcio e de outros proje-
tos. Vejamos alguns de seus recursos
mais relevantes.

Recursos
A edição WYSIWYG (what you see
is what you get) elimina o problema
de aprender alguma sintaxe de edi-
toração para formatar o conteúdo do
documento. Isso é de grande utilidade
para se usar o sistema sem qualquer
treinamento. Porém, o Xwiki também Figura 4 Com um skin diferente, o Xwiki pode ganhar um novo visual.

58 http://www.linuxmagazine.com.br
Xwiki | ANÁLISE

A arquitetura de plugins desse wiki distribuídos junto com o pacote


de segunda geração prepara-o para o básico, destacam-se os de blogs,
desenvolvimento modular de exten- álbum de fotos, calendário de even-
sões. O site do projeto lista diversos tos, busca, mapas mentais e listas
plugins que podem ser instalados de tarefas. Isso mostra que o Xwiki

SEÇÃO
para incrementar a funcionalidade já “vem de fábrica” com aplicativos
do sistema. de utilidade para seu uso imediato
O visual do Xwiki pode ser alterado no ambiente corporativo.
por temas, ou skins, como são oficial- Pelo fato de incorporar uma API es-
mente chamados na documentação. pecífica para a integração com outros
Esse é, sem dúvida, um recurso de sistemas, o Xwiki é considerado mais
grande utilidade para manter a ima- simples que os demais wikis neste quesi-
gem corporativa de uma área wiki. O to. Isso facilita bastante a escalabilidade
uso de skins permite modificar o visual das áreas wiki construídas na empresa
sem necessidade de modificação do e que, posteriormente, tenham que ser
conteúdo, separando a informação integradas a outros sistemas corpora-
da apresentação. Os skins são dese- tivos sem a necessidade de modificar
nhados com CSS (Cascading Style a própria área wiki.
Sheets), um padrão Web. As figuras Além disso, o Xwiki atende às nor-
3 e 4 dão uma idéia da variedade de mas JSR 168 e, portanto, pode ser ro-
visuais oferecida pelos skins. dado como portlet dentro de portais
Além disso, podem ser definidos corporativos como JBoss Portal[13],
modelos para as páginas e modelos Liferay[14], Exo Platform[15] etc.
para formulários, auxiliando no de- Essa possibilidade ajuda a integra-
senvolvimento de novas páginas no ção do sistema dentro da estrutura
mesmo padrão visual. Tanto as páginas computacional da empresa.
quanto os modelos do Xwiki podem O conteúdo gerenciado pelo Xwi-
ser feitos nas linguagens Groovy[11] ki é guardado em bancos de dados
ou Velocity[12]. Em particular, o relacionais SQL. Pode ser usado o
Groovy é atualmente bastante popu- banco de dados da preferência do
lar entre os desenvolvedores web. Já o cliente, pois o acesso é feito pelo
Velocity faz parte do projeto Apache, Hibernate[16], que suporta diversos
e foi criado como uma linguagem a bancos. O Hibernate possibilita até a
ser usada para modelos. troca de banco de dados sem perder
No gerenciamento, o sistema in- suas informações, algo que poderia
clui o conceito de wikis individuais eventualmente ser importante se um
sendo gerenciados centralmente pelo determinado wiki mudar de platafor-
Enterprise Manager. ma devido a fusões ou aquisições de
Um dos maiores apelos de um empresas. Esse é outro destaque de
wiki corporativo é a possibilidade apelo corporativo do Xwiki, pois, em
de construir e utilizar aplicativos grandes empresas, é recomendável
web. O Xwiki é distribuído com manter as informações em bancos
vários aplicativos de utilidade geral de dados por motivos de facilidade
e também pode incorporar outros de administração e segurança de
aplicativos. A programação destes é acesso. Além de usar o banco de
feita com a inclusão de programas dados para guardar o conteúdo, o
dentro das páginas e com o agrupa- Xwiki pode usá-lo para realizar a
mento de páginas para formar um autenticação dos usuários no login.
aplicativo. Um aplicativo pode ser Outra forma de autenticação é a
exportado como arquivo XAR (Xwi- integração com LDAP.
ki Archive) para ser importado em Acompanhar as estatísticas de uso
outro Xwiki. Entre os aplicativos do sistema é uma tarefa importante,

Linux Magazine #43 | Junho de 2008 59


ANÁLISE | Xwiki

seja para otimizar seu desempenho, tos que sejam de interesse para seu ponentes que deve simplesmente
seja para detectar problemas, e o trabalho imobiliário. ser descomprimido no diretório de
Xwiki oferece tais estatísticas. O Xwiki Workspaces atende a equi- escolha do usuário. Para um maior
pes de projeto e facilita a colaboração controle sobre a instalação, ou caso
Módulos entre elas. Nesse módulo, cada usuário seja preciso integrar o Xwiki dentro
A modularidade do sistema lhe per- possui uma área pessoal, onde pode de uma infra-estrutura existente,
mite ser estendido conforme as ne- incluir documentos e anexos, além existem os pacotes WAR. Sua ins-
cessidades da empresa. O módulo de poder convidar outros usuários a talação não apresenta dificuldades
básico é o próprio sistema Xwiki participarem em sua área. ou dependências difíceis de solu-
Enterprise (XE) com os recursos O Xwiki Platform é o motor do cionar, mas quem tiver problemas
listados anteriormente. Ele é pró- sistema, utilizado para integrar ser- pode seguir as instruções na docu-
prio para ser utilizado em intranets viços wiki dentro de outros aplica- mentação. Depois da instalação
e na Internet para gestão de conhe- tivos. O próprio Xwiki Enterprise e do sistema, por exemplo, do Xwiki
cimento, colaboração em projetos, Manager é composto por aplicati- Enterprise, podem ser instalados os
sistemas mashup, gestão de conteúdo vos desenvolvidos usando essa pla- aplicativos padrão que são disponi-
simples, dentre outros. taforma como seu núcleo. Outro bilizados em formato XAR nativo
Para as situações em que devem exemplo de uso do Xwiki Platform do Xwiki. É recomendável instalar
ser administrados e gerenciados di- é a integração de um wiki dentro esses aplicativos, pois eles disponi-
versos wikis em conjunto, está dis- do sistema CRM OpenCRX[17]. bilizam funcionalidades que prova-
ponível o Xwiki Enterprise Manager A figura 5 mostra a arquitetura do velmente serão de utilidade.
(XEM), que oferece a possibilidade Platform e seu relacionamento com Diversos plugins, aplicativos e
de gerar novos wikis sob demanda outros componentes. skins podem ser baixados da mesma
e gerenciar o acesso de usuários e Para facilitar a portabilidade, cada área de download. Para os desen-
grupos a esses wikis. página do Xwiki pode ser exportada volvedores, existe um plugin para a
O módulo Xwiki Watch tem como em diversos formatos, como PDF, plataforma Eclipse.
objetivo aceitar e filtrar diversas HTML, RTF e XAR (formato de por- Usando o instalador genérico
fontes de noticias por RSS e apre- tabilidade do Xwiki). A possibilidade em Java, pode ser seguida a se-
sentá-las de forma personalizada de obter um PDF do conteúdo sem guinte seqüência de passos: para
para os usuários, incluindo anota- complicação é uma característica de iniciar esse instalador, primeiro é
ções feitas por outros usuários. Ele grande utilidade, pois permite que necessário ter o Java instalado no
é projetado para o uso em situações qualquer usuário possa procurar o sistema. Para executar o instalador,
nas quais são indicadas ferramentas material de que precisa e obtenha usa-se o comando:
de inteligência competitiva. Um rapidamente uma versão formatada
bom exemplo pode ser a agregação para impressão ou apresentação. java -jar xwiki-pacote-a-instalar.
de notícias imobiliárias de diversas ➥jar
fontes, filtradas por palavras-chaves
e apresentadas individualmente a Instalação e Operação Talvez seja necessário adicionar
corretores, os quais filtram os assun- Existem diferentes pacotes de ins- o parâmetro -Xmx512m ou algo seme-
talação, dependendo lhante para atender a necessidades
das necessidades do de memória durante a instalação.
usuário. A forma mais Os idiomas do aplicativo são ape-
simples para come- nas inglês e francês, mas o método
çar a usar o sistema de instalação segue o básico Next-
é instalando o pacote Next-Finish.
completo, que inclui Logo depois da instalação, o siste-
o contêiner Java Jetty ma deve ser iniciado, o que significa
[18] e o banco de da- banco de dados e contêiner Java para
dos Hsqldb [19]. Há Web operacionais. O instalador ge-
também um instalador nérico mostra um ícone diretamente
nativo para Windows, na área de trabalho, por meio do qual
Figura 5 Arquitetura do Xwiki Platform e aplicativos. além de um pacote ZIP deve-se acionar o sistema. Depois de
com os mesmo com- alguns minutos, já é possível apontar

60 http://www.linuxmagazine.com.br
Xwiki | ANÁLISE

o navegador Web para o endereço Conclusão aos padrões, além de facilitar a


http://localhost:8080/xwiki/bin/ O Xwiki atende muito bem a seu manutenção pela área de TI com
view/Main/WebHome para visualizar o mercado-alvo declarado. Assim, ele experiência em Java. ■
sistema padrão (figura 6). é uma boa alternativa para criar áre-
A partir desse momento, já se pode as colaborativas e aplicativos web
modificar o conteúdo do Wiki e usá-lo simples em pouco tempo e com es- Mais informações
para qualquer propósito que o usuário forço reduzido. Podem ser gerados
[1] História do primeiro wiki:
deseje. Para parar o sistema, pode-se aplicativos complexos, mas esse uso http://c2.com/cgi/wiki
acionar o ícone na área de trabalho extrapola os objetivos de projeto do
específico para essa tarefa. sistema. Porém, chamamos atenção [2] Hypercard: http://
Um dado importante para o iní- aos exemplos de sites públicos feitos en.wikipedia.org/
wiki/HyperCard
cio é habilitar e conhecer o login com o Xwiki. Suas características
padrão do usuário administrador. corporativas, tais como integração [3] MediaWiki: http://
Por padrão, a instalação desabilita LDAP, uso de bancos de dados SQL, www.mediawiki.org
o login do superadministrador por gestão de permissões e controle de
[4] Xwiki: http://www.xwiki.org
motivos de segurança. O arquivo versões do conteúdo aumentam o
xwiki.cfg no diretório WEB-INF/ do apelo para o uso corporativo. A pla- [5] Plone: http://www.
contêiner Java contém uma linha taforma Java e o uso do mecanismo plone.org
xwiki.superadminpassword=system, a Hibernate para persistir os dados [6] Joomla: http://
qual deve ser descomentada e re- em bancos de dados aumentam a www.joomla.org
ceber a senha desejada. Note que portabilidade do Xwiki para vários
é possível utilizar o sistema sem sistemas operacionais e bancos de [7] OpenCMS: http://
www.opencms.org
habilitação de login do super ad- dados. Para as empresas que usam
ministrador. Após essas alterações, a tecnologia Java, esse sistema apre- [8] Drupal: http://drupal.org
o sistema deve ser reiniciado. senta ainda a vantagem de aderir
[9] Wikimatrix: http://
www.wikimatrix.org

[10] Consórcio OW2:


http://www.ow2.org

[11] Groovy: http://groovy.


codehaus.org/

[12] Velocity: http://


velocity.apache.org/

[13] JBoss Portal: http://www.


jboss.org/jbossportal/

[14] Liferay: http//www.


liferay.com

[15] Exo Platform: http://


wiki.exoplatform.com

[16] Hibernate: http://


www.hibernate.org

[17] OpenCRX: http://www.


linuxmagazine.com.br/
article/forte_nao_gordo

[18] Jetty: http://jetty.


mortbay.org

[19] Hsqldb: http://


hsqldb.org/
Figura 6 Página inicial do Xwiki após a instalação do pacote completo.

Linux Magazine #43 | Junho de 2008 61

Anda mungkin juga menyukai