Tutorial Foswiki
Índice
O que é um Wiki: Cultura Wiki, Histórico, Foswiki
Sobre
wiki se compreende uma coleção de softwares colaborativos que se utilizam apenas do aplicativo navegador de internet para sua gerência.
A
Cultura Wiki diz que:
- Qualquer pessoa pode deletar toda e quaisquer informações;
- Qualquer pessoa pode "jogar"/usar;
- Apenas os bons jogadores continuarão jogando…
- Wiki não é WYSIWYG - What you see is what you get, ou seja, "O que você vê é o que você tem";
- Mas já existe plugin para edição WYSIWYG;
- Wiki não é tempo real;
- O conteúdo pode ser pensado de forma que o resultado apresentado poderá ter boa qualidade.
Foswiki, é uma flexível, poderosa, segura e simples plataforma de colaboração baseada na Web. Segundo o seu site oficial (
http://foswiki.org), Foswiki é um wiki, para que você e sua equipe possam colaborar e editar páginas diretamente no navegador da web. Para colaboração avançada, Foswiki permite inserir macros para automatizar páginas e construir aplicações inteiras de dentro do seu navegador.
Utilizando o Foswiki, pessoas geograficamente separadas podem trabalhar juntas na construção de conteúdos. O Foswiki também possibilita a criação de diversos tipos de aplicações, tais como: controle de tarefas e pendências, agenda compartilhada, sistema de revisão e publicação de textos, acompanhamento de projetos, e outros. O Foswiki continua o legado do TWiki, que, junto com o MediaWiki, revolucionou e continua influenciando o modo como as pessoas trabalham em conjunto através da Internet.
Tudo começou em 1995, quando o Ward Cunningham, criou o
WikiWikiWeb e atribuiu o atual significado para os softwares chamados wikis, que editariam páginas Web rapidamente. Ele se inspirou na palavra "wikiwiki", que significa rápido, em havaiano e na expressão "wikiwiki bus" que faz referencia avião, no Aeroporto de Honolulu. Em 1997, foi criado o JosWiki. Em 1998, o TWiki foi criado por Peter Thoeny. Seu nome originou-se de TakeFive Wiki, que é o nome da empresa para qual o Peter Thoeny trabalhava. Em 2009, com a mudança do contrato social no projeto TWiki, a quase totalidade dos desenvolvedores desligam-se do projeto e fundam o Foswiki para garantir que o processo continuasse tão livre e aberto quanto o software resultante.
Outros Wikis
Além do Foswiki, existem vários outros wikis no mercado:
- Um dos mais conhecidos é a plataforma usada para o desenvolvimento da Wikipedia (http://wikipedia.org), o chamado MediaWiki (htp://www.mediawiki.org/). Lançado em 2002, contribuiu com a sua facilidade de edição para o atual grau de crescimento dessa enciclopédia livre, construída por vários colaboradores ao redor do mundo. Segundo a Wikipédia, o MediaWiki "é um software wiki escrito em PHP utilizando sistemas de gestão de base de dados MySQL, e licenciado sob GPL."
- Existem outros wikis como o Zwiki (desenvolvido em Python, sob GPL, 2002)*, MoinMoin (desenvolvido em Python, sob GPL, 2000) e DokuWiki (desenvolvido em Python, sob GPL, 2004).
Funcionalidades
- Edição ou criação de páginas Web usando apenas o browser;
- Edição fácil usando o botão "Edit";
- Auto-linkagem de WikiWords e URLs;
- Simples formatação de textos;
- Ferramenta de busca para as Webs (áreas temáticas independentes dentro do Foswiki);
- Lista de alterações;
- Notificação de alterações por e-mail;
- Uso de formulário para estruturação de conteúdos;
- Anexação de arquivos;
- Versionamento;
- Novas funcionalidades com o uso de extensões (plugins);
- Variáveis predefinidas;
- Variáveis definidas pelo usuário;
- Controle de acesso;
- Gerenciamento de usuários;
- Gerenciamento de páginas, anexos e webs;
- Criação de aplicações sem necessariamente ter acesso ao servidor;
- Estatísticas;
- Resolução de conflitos, etc.
Casos de Uso
A empresa Yahoo! utiliza o Foswiki
(desde a fase TWiki) nos seus processos internos de comunicação para gerenciar documentos e projetos de seus produtos. Como o Yahoo! conta com um grande time de desenvolvedores ao redor do mundo, encontram no TWiki uma importante plataforma colaborativa de gerência e comunicação.
Veja, na íntegra, o testemunho do Eric Baldeschwieler, diretor de desenvolvimento de software da Yahoo em
http://twiki.org/cgi-bin/view/Main/TWikiSuccessStoryOfYahoo
Os maiores exemplos no Brasil são:
A Colivre sempre utilizou o Foswiki para hospedar a sua intranet, site oficial, criar documentações como esta, além de prover sites personalizados e aplicações colaborativas para os seus consumidores.
O Foswiki é uma plataforma na qual pode-se organizar conteúdos por temas através de
webs, que por sua vez são constituídas de páginas chamadas de
tópicos.
Os tópicos no Foswiki são unicamente identificados pela chamada
WikiWord (ou PalavraWiki), que podem ser definidas por conjuntos sucessivos de letras maiúsculas e minúsculas, podendo também conter números.
Alguns exemplos:
AtaReuniãoGeral20050525
,
ProgramacaoEvento
,
WebHome
, etc.
O conteúdo de uma página Foswiki consiste de textos e opcionalmente de formulários e anexos (imagens, arquivos de áudio, etc). Cada tópico tem uma WikiWord que o identifica unicamente em uma web.
No Foswiki, webs são uma coleção de tópicos sob um nome (ou tema) em comum. Várias características, como buscas, privilégios de acesso, plugins disponíveis, template de design, podem ser controlados em Webs próprias.
Linkando para um tópico em outra web:
- "
Tech.WebHome
" resulta em Tech
- "
Colivre.QuemSomos
" resulta em QuemSomos
Analise a URL:
http://www.colivre.coop.br/bin/view/Tech/TutorialFoswiki
Registro, Usuários e Grupos
Para editar WikiWebs é necessário possuir uma conta Foswiki:
- No tópico UserRegistration, na web
System
, são criadas as contas de usuário.
- No tópico WikiUsers, na web
Main
, existe a lista de todos os usuários do Foswiki. No seu tópico pessoal (que de preferência deve ser formado pela junção do primeiro e do último nome) o usuário pode construir seu perfil, portifólio, ou seja, usá-lo como página pessoal.
- No tópico WikiGroups, na web
Main
, são listados todos os grupos que podem ser usados para definir o controle de acesso (AccessControl) no Foswiki como um todo ou de forma diferenciada para cada web. O nome do tópico do grupo deve ser uma WikiWord e deve ser terminada em "Group". Exemplo: AdminGroup é o grupo que possui poder administrativos sobre uma instalação do software.
Nota: Pense duas vezes antes de restringir o acesso a escrita para uma Web ou um tópico, por que em um sistema aberto, onde qualquer um pode contribuir é a essência da Cultura Wiki. Experiências mostram que trabalhos com acesso irrestrito de escrita são possíveis pois:
- Existem características que levam a postagem de conteúdo apropriado, como identificação da conta que promoveu a alteração, alerta para novas alterações de modo que os demais colaboradores possam acompanhar o desenvolvimento do conteúdo, etc.
- Os conteúdos não são perdidos pois os tópicos estão sob controle de versão.
- Qualquer revisão do tópico pode ser refeita por um membro do AdminGroup se necessário.
- Por mais estranho que pareça, existem muito mais pessoas dispostas a ajudar do que a atrapalhar. Esta tese foi confirmada pelo primeiro Wiki de Ward Cunningham e pela Wikipedia, ambos os projetos sempre foram abertos para a edição de qualquer visitante.
Formatação de textos
Comando de Formatação:
|
Você escreve:
|
Você terá:
|
Parágrafos:
Linhas em branco entre blocos de textos criam parágrafos.
|
1º parágrafo
2º parágrafo
|
1º parágrafo
2° parágrafo
|
Títulos:
Três ou mais traços (hífens) no início da linha, seguidos por sinais de soma e o texto do título. Um "+" cria títulos de primeiro nível, dois "+" para títulos de segundo nível, etc. O nível máximo para títulos é 6.
Pode-se criar uma tabela de conteúdos, ou menu, com a variável %TOC%. Se você quiser excluir um título do menu, acrescente !! depois do ---+ . Exemplo: ---++
Títulos vazios são permitidos, mas não irão aparecer na tabela.
|
---++ Foswiki
---+++ Software Livre
---+++!! Não entrará no TOC
|
Foswiki
Software Livre
Não entrará no TOC
|
Texto em negrito:
Palavras ou frases são mostradas em negrito quando envolvidos por * asteriscos.
|
*Negrito*
|
Negrito
|
Texto em Itálico:
Palavras ou frases são mostradas em itálico, quando envolvidas por _ underline ou sublinhado.
|
_Itálico_
|
Itálico
|
Negrito e Itálico:
Palavras ou frases são mostrados em negrito itálico, quando envolvidos por dois __ underlines ou sublinhados.
|
__Negrito Itálico__
|
Negrito Itálico
|
Fonte Fixa:
Palavras ou frases são mostradas em fonte fixa , quando envolvidas por sinais de igualdade = .
|
=Fonte Fixa=
|
Fonte Fixa
|
Fonte Fixa em negrito:
Palavras ou frases são mostradas em fonte fixa em negrito , quando envolvidas por dois sinais de igualdade == .
|
==Fonte Fixa em negrito==
|
Fonte Fixa em negrito
|
Pode-se fazer a pontuação do texto normalmente após os indicadores de negrito, itálico, etc,(* _ __ = == ).
Note se não existem espaços em branco entre o texto e os indicadores.
|
_Cultura Wiki_,
_não funcionará _
|
Cultura Wiki,
_não funcionará _
|
Texto em Verbatim (Literal):
Envolva códigos especiais ou com outras formatações com <verbatim> e </verbatim> tags.
tags verbatim tags desabilitam o código HTML. Use <pre> and </pre> tags se quiser que o código HTML seja interpretado.
NOTA: De Preferência variáveis (* Set NOME = valor) são setadas dentro de tags verbatim.
|
<verbatim>
class CatAnimal {
void purr() {
<código aqui>
}
}
</verbatim>
|
class CatAnimal {
void purr() {
<código aqui>
}
}
|
Separador (Linha Horizontal):
Três ou mais traços (hífens) no início da linha
|
-------
|
|
Listas
Comando de Formatação:
|
Você escreve:
|
Você terá:
|
Lista não ordenada:
Múltiplos de três espaços, um asteriscos e outro espaço
Para todos os tipos de listas, pode-se quebra um item da lista em várias linhas, contanto que não se esqueça de fazer a indentação idêntica ao da primeira linha do item de lista.
|
* nível 1
* nível 2
* voltou para 1
* Um item
quebrado em
três linhas
* último item de lista
|
- nível 1
- voltou para 1
- Um item quebrado em três linhas
- último item de lista
|
Lista Numerada:
Múltiplo de três espaços, um caracter, um ponto e outro espaço.
Digite |
Estilo |
Exemplo de sequência |
1. |
Numerais árabes |
1, 2, 3, 4… |
A. |
Letras maiúsculas |
A, B, C, D… |
a. |
Letras minúsculas |
a, b, c, d… |
I. |
Numerais romanos maiúsculos |
I, II, III, IV… |
i. |
Numerais romanos minúsculas |
i, ii, iii, iv… |
|
1. Plataforma
1. Web
1. Tópico
A. Plataforma
A. Web
A. Tópico
i. Plataforma
i. Web
i. Tópico
|
- Plataforma
- Web
- Tópico
- Plataforma
- Web
- Tópico
- Plataforma
- Web
- Tópico
|
Lista de Definição:
Três espaços, um símbolo sifrão, um termo, um sinal de dois pontos, um espaço, seguido pela definição.
|
$ Chimarrão: Rio Grande\
do Sul
$ Acarajé: Bahia
|
- Chimarrão
- Rio Grande do Sul
- Acarajé
- Bahia
|
Tabelas
Comando de Formatação:
|
Você escreve:
|
Você terá:
|
Tabelas:
Cada linha da tabela é uma linha contando uma ou mais células. Cada célula inicia e termina com uma barra vertical "|". Qualquer espaço no início da linha é ignorado.
-
| *negrito* | células cabeçalho com texto entre asteriscos
-
| centralizado | células com iguais dois ou mais espaços em branco em cada lado do texto
-
| alinhado a direita | células coom mais espaços a esquerda
-
| colspan 2 || células que ocupam múltiplas colunas apresentam |'s a sua direita
-
|^| célula com indicação que deve fazer parte da célula da linha de cima
- Você pode quebrar o conteúdo de uma célula em múltiplas linhas usando
'\' no fim de cada linha
- O conteúdo da tabela ocupa automaticamente o espaço estabelecido pelo browser
|
| *L* | *C* | *R* |
| A2 | B2 | C2 |
| A3 | B3 | C3 |
| multi span |||
| A5-7 | 5 | 5 |
|^| seis | seis |
|^| sete | sete |
| conteúdo\
| em\
| 3 linhas |
| A9 | B9 | C9 |
|
L |
C |
R |
A2 |
B2 |
C2 |
A3 |
B3 |
C3 |
multi span |
A5-7 |
5 |
5 |
seis |
seis |
sete |
sete |
conteúdo |
em |
3 linhas |
A9 |
B9 |
C9 |
|
Hipertextualidade: tópicos, web e links externos
O Foswiki faz auto-linkagem para as WikiWords. Para escapar da auto-linkagem pode-se usar uma "!" ou a tag HTML "nop" precedendo a palavra Wiki. Exemplo:
!TutorialFoswiki
<nop/>TutorialFoswiki
Caso não exista na web uma página relacionada a uma WikiWord escrita em um tópico, será mostrada uma "?" após a WikiWord. Com isso, o Foswiki lhe indica que o tópico ainda não existe e que pode ser criado clicando-se sobre a interrogação e salvando-se o tópico criado.
Comando de Formatação:
|
Você escreve:
|
Você terá:
|
Links e WikiWords:
Palavras com as suas iniciais maiúsculas concatenadas (ou WikiWords) irão produzir automaticamente links se forem envolvidos por espaços em branco ou parênteses.
Para linkar uma página de uma outra web escreva Outraweb.NomeTopico .
O título do link irá excluir o nome da web, isto é, apenas o nome do tópico será mostrado. Como excesão, p nome da web será mostrada no tópico WebHome.
Geralmente, é uma boa idéia usar Macros %SYSTEMWEB% e %MAINWEB% para referenciar a web Foswiki e a web Main.
|
WebStatistics
Sandbox.WebNotify
Sandbox.WebHome
|
WebStatistics
WebNotify
Sandbox
|
Ancoras:
Você pode definir uma referência dentro de um tópico Foswiki (chamado de ancora) e linká-lo. Para definir uma ancora você deve escrever #NomeDaAncora (deve ser WikiWord) no início de uma linha. Para criar um link para a ancora use a sitaxe [[NomeDoTopico#NomeDaAncora]] . Pode-se omitir o nome do tópico se você estiver trabalhando com o link dentro do mesmo tópico.
|
[[#MyAnchor][Pule...]]
#NomeDaAncora ...para aqui
|
Pule...
…para aqui
|
Links Forçados:
Você pode criar um link interno forçado usando a sintaxes dos colchetes duplos.
É opcional a existência de espaços em branco no texto dentro dos colchetes; o nome do texto é formado pela concatenação das palavras com as iniciais maiúscula, por exemplo, [[tutorial Foswiki]] para linkar o tópico TutorialFoswiki. Pode-se também referenciar um tópico em uma web diferente e usar âncoras.
Para escapar os colchetes duplos, use uma "!" ao lado esquerda dos colchetes.
|
[[tutorial Foswiki]]
[[Main.wiki users]]
escapado:
![[tutorial Foswiki]]
|
TutorialFoswiki
wikiUsers
escapado:
[[tutorial Foswiki]]
|
Links Específicos:
Pode-se criar links usando-se a notação de colchetes: [[referência][texto]] . A referência suporta links internos (WikiWords, exemplo: TutorialFoswiki) e URLs (exemplo: http://colivre.coop.br).
As regras sobre Links Forçados são aplicáveis aqui também.
Âncoras podem ser usadas para criar link para um lugar específico dentro do tópico.
|
[[TutorialFoswiki][tutorial Foswiki]]
[[http://gnu.org][GNU]]
|
tutorial Foswiki
GNU
|
Prevenindo Links:
Para evitar a linkagem de uma WikiWord, deve-se usar um ponto de exclamação.
|
!WebHome
|
WebHome
|
Desabilitando Links:
Pode-se desabilitar automaticamente link das WikiWords utilizando as tags <noautolink> e </noautolink>
|
<noautolink>
CoopTecLivre &
TutorialFoswiki
</noautolink>
|
CoopTecLivre &
TutorialFoswiki
|
Links Mailto:
Endereços de e-mail também são linkados automaticamente. Para criar links para e-mail com o assunto, corpo da mensagem ou para emitir o endereço de e-mail, escreva: [[mailto:usuário@domínio][texto descritivo]] .
|
a@b.com
[[mailto:a@b.com]\
[Mail]]
[[mailto:?subject=\
Hi][Hi]]
|
a@b.com
Mail
Hi
|
Anexos ou FileAttachment
No Foswiki, um tópico pode ter um ou mais arquivos anexados. A anexação é feita por meio de um formulário que permite registrar meta-informações e os arquivos são armazenados sob controle de versão, assim como os tópicos.
O upload de arquivos é feito usando o link ou botão Attach
. Este link leva a tela de anexação, onde se pode escolher o arquivo, adicionar um comentário que esclareça a natureza do arquivo, escolher se um link deve ou não ser criado para o anexo e se este deve ficar visível na tabela de anexo ao final do tópico.
Notas:
- O tópico deve existir previamente à anexação do arquivo;
- Arquivos que possam acarretar risco ao sistema serão renomeados. Exemplo:
*.php
será renomeado para *.php.txt
;
- O Foswiki pode limitar o tamanho do arquivo para upload. Isso é configurado na variável
50000
na WebPreferences. O valor padrão é 10Mb. Isso porque arquivos grandes podem deixar o upload muito lento e ocorrer um time out. Aconselha-se usar um FTP para grandes arquivos.
- Não existe controle de acesso sobre anexos individualmente. Para fazer esse tipo de controle, aconselha-se criar um tópico para cada arquivo e usar restrições de acesso a nível de tópico.
O link criado para o arquivo é adicionado ao final do conteúdo do tópico, mas uma vez anexado, o arquivo pode ser reutilizado quantas vezes se fizer necessário, manipulando-se o link no modo de edição para alteração do seu posicionamento.
Pode-se mover arquivos entre webs e tópicos usando-se o seu relativo link manage
ou gerenciar
na tabelas de anexos do tópico. Esse link leva à tela de controle do anexo, no qual se deve escolher a opção Move
ou Mover
e posteriormente, indicar a web e tópico para qual o anexo será enviado e clicar no botão Move
ou Mover
.
Para deletar um anexo do tópico, igualmente à operação anterior, deve-se usar o manage
do arquivo que se quer excluir, escolher a opção delete
ou remover
, que irá movê-lo para o tópico TrashAttachment
, na web Trash
. Por segurança, somente o administrador do servidor pode deletar definitivamente arquivos ou tópicos.
Para acessar a tela de controle do anexo, caso este esteja com o atributo de permanecer fora da tabela de anexos (ou seja, esteja invisível), deve-se usar o botão attach
do tópico. Abaixo do formulário para a anexação de um novo arquivo, existe a tabela com todos os anexos do tópico. Assim tem-se acesso a fazer alterações a partir do link manage
do anexo. Caso não esteja invisível a tabela de anexos fica ao final do conteúdo do tópico. Abaixo um exemplo de tabela de anexos:
Links para arquivos
Anexando um arquivo pela primeira vez |
1 |
Anexe o arquivo usando o attach |
2 |
Edite o tópico e inclua %ATTACHURL%/nomedoarquivo.txt caso não tenha usado a opção de "Criar link para o arquivo" durante a anexação |
Arquivo anexado em outro tópico |
Trabalhando na mesma web |
%PUBURLPATH%/%WEB%/OtherTopic/nomedoarquivo.txt |
Trabalhando em outra web |
%PUBURLPATH%/Otherweb/OtherTopic/nomedoarquivo.txt |
Conteúdos de documentos HTML ou txt são mostratos no tópico (inline) |
1 |
Anexe o arquivo .html ou .txt usando o attach |
2 |
Edite o tópico e escreva %INCLUDE{"%ATTACHURL%/nomedoarquivo.txt"}% |
Imagens: GIF, JPG and PNG, são mostratas no tópico |
1 |
Anexe a imagem usando o attach |
2 |
Edite o tópico e inclua %ATTACHURL%/nomedoarquivo.gif |
Operações sobre os tópicos
Ferramentas Nativas
- WebTopicList - lista de todos os tópicos em ordem alfabética da web
- WebChanges - lista de tópicos recém alterados nesta web
- WebNotify - para subscrição de envio de um e-mail alerta sobre alterações na web
- WebRss, WebAtom - RSS e ATOM feeds das alterações dos tópicos da web
- WebStatistics - lista de tópicos mais populares, quantidade de visitas e maiores contribuidores da web
- WebPreferences - configuração das preferências da web
- As configurações gerais do Foswiki se encontram na web Main, no tópico SitePreferences. Essas configurações são válidas para todas as webs da instância do Foswiki.
- WebSearch - para buscas na web
Plugins
No Foswiki, o que se chama de plugin são as extensões que utilizam a sua API, as demais são denominadas de Add-on.
A seguir alguns plugins do TWiki/Foswiki, para conhecer outros acesse System→InstalledPlugins.
Este plugin insere uma caixa de edição para postagem rápida de comentários nos tópicos nos quais estão escritos. Ou seja, não há necessidade de ir para o modo de edição para adicionar conteúdos na página.
Sintaxe básica: %COMMENT%
Posicionamento
Em relação a tag COMMENT: o mais comum é posicionar em relação a tag. Pode-se usar os parâmetros bellow
e above
(abaixo e a cima, respectivamente). Ex: %COMMENT{type="bellow"}%
Em relação a uma âncora do TWiki: %COMMENT{type="above" target="Main.PersonalRemarks#InsertHere" }%
Em relação a primeira ocorrência de um texto da página: %COMMENT{type="above" location="Texto Qualquer"}%
Templates
Exemplo de caixa de comentário
A tag %COMMENT{type="below" button="Enviar" target="TutorialFoswiki" }%
irá resultar em:
Image Gallery Plugin
Este plugin possibilita a criação de uma galeria com as imagens anexadas ao tópico.
A galeria cria miniaturas das imagens para:
- ampliação das imagens;
- navegação pelas imagens: próximo, anterior, primeiro, último e voltar (up);
- ordenação das imagens com a adição da numeração no seu comentário:
<número><espaço>-<espaço><comentários>
;
- fácil gerenciamento das imagens clicando-se sobre o ponto vermelho localizado no seu título;
Além disso é possível customização da aparência da galeria usando-se CSS e HTML, veja mais informações em http://twiki.org/cgi-bin/view/Plugins/CommentPlugin.
Sintaxe
Duas tags da sintaxe básica:
- %IMAGEGALLERY{...}%: renderiza a galeria de imagens
- %NRIMAGES%: retorna o número de imagens anexadas na (lista de) tópicos
Exemplo
Tags:
Temos %NRIMAGES{topic="PluginsTWiki"}% imagens na galeria:
%IMAGEGALLERY{columns="3" size="small" topic="PluginsTWiki"}%
Resultado:
Temos %NRIMAGES{topic="PluginsTWiki"}% imagens na galeria:
Saiba mais sobre esse plugin, instalação e variáveis em http://twiki.org/cgi-bin/view/Plugins/ImageGalleryPlugin.
Edit Table Plugin
este plugin é útil para edição de tabelas sem a necessidade de se editar todo o tópico. O seu uso torna ainda mais fácil o uso de tabelas TWiki, além de permitir a aplicação de drop down, radio, campo de texto, etc.
Para formatação da tabela pesquise pelo TablePlugin em TWiki.org.
Sintaxe
Sintaxe básica: %EDITTABLE{}%
-
header
, especifica o cabeçalho da nova tabela. Usado para iniciar a tabela com o uso do botão (sem cabeçalho);
-
format
, formato das colunas durante a edição da tabela. Uma célula pode ser um campo de entrada de texto, ou um dos tipos a seguir:
- Campo de entrada de texto (1 linha):
text, <tamanho>, <valor inicial>
- Área de entrada de texto:
textarea, <linhas>x<colunas>, <valor inicial>
- Caixa Drop Down:
select, <tamanho>, <opção 1>, <opção 2>, etc
, apenas um item pode ser selecionado;
- Botões Radio:
radio, <tamanho*>, <opção 1>, <opção 2>, etc
, o tamanho indica o número de botões por linha no modo de edição;
- Checkboxes:
checkbox, <tamanho*>, <opção 1>, <opção 2>, etc
, o tamanho indica o número de checkboxs por linha no modo de edição;
- Etiqueta fixa:
label, 0, <label texto>
- Número de linhas:
row, <offset>
- Data:
date, <tamanho>, <valor inicial>, <data no formato DHTML>, "text, 16"for all cells * =changerows
- Linhas podem ser adicionadas e removidas se configurado para "on";
- Linhas podem ser adicionadas e não podem ser removidas se configurado para "add";
- Linhas não podem ser adicionadas ou removidas se configurado para "off";
-
quietsave
mostra o botão de Save (salvar) se "on", o esconde se "off";
-
include
, outros tópicos definindo os parâmetros do EDITTABLE. O primeiro do tópico será usado. Isso é usado quando se tem muitos tópicos com o mesmo formato de tabel e se quer atualizar o formato em um só lugar;
-
helptopic
, nome do tópico contendo o texto de ajuda mostrado abaixo da tabela quando se edita a tabela. As variáveis %STARTINCLUDE%
e %STOPINCLUDE%
podem ser usados no tópico para especificar o que é mostrado;
- O padrão é sem texto de ajuda;
-
headerislabel
, as células de cabeçalho da tabela é mostrado apenas para leitura se "on"; as células de cabeçalho poderão ser editadas ser "off" ou "0". O padrão é "on";
-
editbutton
configura o botão de edição, por exemplo, "Editar tabela"; pode-se considerar uma imagem botão com texto alternativo "alt", como "Editar tabela, Error: (1) can't find edittopic.gif at TWiki.TWikiDocGraphics"; pode-se esconder o botão no fim da tabela com "hide" (Nota: O botão é automaticamente escondido se um botão edite estiver presente na célula;
Exemplo
Tag:
%EDITTABLE{ format="| row, -1 | text, 20, inicial | select, 1, um, dois, três, quatro | radio, 3,:-),:-I,:-( | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%
Resultado:
A seguir um exemplo de edição de tabela com o EDITABLE que demonstra a utilização do date:
Outros
O Foswiki conta com uma enorme variedade de plugins, organizados por tags relativas a sua função. Para a buscar por novos plugins, acesse http://foswiki.org/Extensions onde pode-se fazer download e ter informações sobre uso e instalação.
Com os inúmeros plugins pode-se trabalhar com agenda de eventos, formatação de tabelas, operações matemáticas e de tratamento de strings, desenvolvimento, autenticação, etc.
Macros
A seguir uma lista de macros frequentemente utilizadas no Foswiki. Para obter a lista completa, visite o tópico Macros da web System.
- GMTIME -- tempo GM
- Sintaxe: %GMTIME%
- Expande para: 19 May 2007 - 20:30
- Relacionados: DISPLAYTIME, GMTIME{"format"}, SERVERTIME
- GMTIME{"format"} -- tempo GM formatado
- Sintaxe: %GMTIME{"format"}%
- Variáveis suportadas:
- Exemplo: %GMTIME{"$day $month, $year - $hour:$min:$sec"}% expande para 19 May, 2007 - 20:30:33
- Relacionados: DISPLAYTIME, GMTIME, SERVERTIME
Variável |
Unidade |
Exemplo |
$seconds |
segundos |
59 |
$minutes |
minutos |
59 |
$hours |
horas |
23 |
$day |
dia do mês |
31 |
$wday |
dia da semana (Sun, Mon, Tue, Wed, Thu, Fri, Sat) |
Thu |
$month |
mês em formato ISO |
Dec |
$mo |
mês em 2 dígitos |
12 |
$year |
ano em 4 dígitos |
1999 |
$ye |
ano em 2 dígitos |
99 |
$tz |
ambos "GMT" (se configurado no gmtime), ou "Local" (se configurado no servertime) |
GMT |
$iso |
tempo no padrão ISO |
2007-05-19T20:30:33Z |
$rcs |
tempo no padrão RCS |
2007/05/19 20:30:33 |
$http |
tempo no formato E-mail & http |
Sat, 19 May 2007 20:30:33 GMT |
$epoch |
Números de segundos desde 00:00 de 1º de Janeiro de 1970 |
1184261004 |
- INCLUDE{"page"} -- inclui outros tópicos ou páginas Web
- Sintaxe: %INCLUDE{"page" ...}%
- Relacionados: BASETOPIC, BASEWEB, INCLUDINGTOPIC, INCLUDINGWEB, IncludeTopicsAndWebPages, STARTINCLUDE, STOPINCLUDE
- Parâmetros suportados:
Parâmetro |
Descrição |
Exemplo |
"SomeTopic" |
Nome de um tópico na web corrente |
%INCLUDE{"WebNotify"}% |
"Web.Topic" |
Um tópico em outra web |
%INCLUDE{"System.WikiName"}% |
pattern="..." |
Uma expressão regular para incluir um sub-conjunto de tópicos ou páginas |
none |
rev="1.2" |
Inclui uma revisão anterior do tópico; N/A para URLs |
top revision |
warn="off" |
Aviso de atenção se houve erro de inclusão do tópico: Falha oculta, se "off"; saída padrão, se "on"; caso contrário, a saída será um texto especificado (use $topic para o nome do tópico) |
%INCLUDE- WARNING% preferences setting |
- INCLUDINGTOPIC -- nome do tópico que inclui o tópico corrente
- O nome do tópico que inclue o tópico corrente - como o %TOPIC% em caso de não existir inclusão
- Sintaxe: %INCLUDINGTOPIC%
- Relacionados: BASETOPIC, INCLUDINGWEB, INCLUDE, TOPIC
- INCLUDINGWEB -- web que inclui o tópico corrente
- O nome da web do tópico que inclui o tópico corrente - como o %WEB% se não existir inclusão
- Sintaxe: %INCLUDINGWEB%
- Relacionados: BASEWEB, INCLUDINGTOPIC, INCLUDE, WEB
- PUBURL -- base da URL dos anexos
- Sintaxe: %PUBURL%
- Expande para: http://wiki.colivre.net/pub
- Exemplo: Você pode referenciar o arquivo anexado de outro tópico com %PUBURL%/%WEB%/OtherTopic/image.gif
- Relacioandos: ATTACHURL, PUBURLPATH, SCRIPTURL, FileAttachments
- REVINFO{"format"} -- informações sobre a revisão do tópico
- Sintaxe: %REVINFO{"format"}%
- Parâmetros suportados:
Parâmetro |
Descrição |
Padrão |
"format" |
Formato das informações das revisões, veja abaixo as variáveis suportadas |
"r1.$rev - $date - $wikiusername" |
web="..." |
Nome da web |
web corrente |
topic="..." |
Nome do tópico |
tópico corrente |
rev="1.5" |
Número da revisão |
Última revisão |
Variáveis suportadas em format:
Variável |
Unidade |
Exemplo |
$web |
Nome da web |
web corrente |
$topic |
Nome do tópico |
tópico corrente |
$rev |
Número da revisão. Prefixo r1. para ter o formato usual r1.5 |
5 |
$date |
Data da revisão |
11 Jul 2004 |
$username |
username de login do revisor |
jsmith |
$wikiusername |
WikiName com o prefixo da web Main |
Main.JohnSmith |
- Exemplo: %REVINFO{"$date - $wikiusername" rev="1.1"}% retorna informações sobre a primeira revisão
- Relacionados: REVINFO
- SCRIPTURL -- URL base onde se encontram os scripts do Foswiki
- SEARCH{"text"} -- busca de conteúdo
- mostra os resultados de uma busca dentro do tópico
- Sintaxe: %SEARCH{"text" ...}%
- Parâmetros suportados : [1]
Parâmetros |
Descrição |
Padrão |
"text" |
Termo da pesquisa. É a palavra-chave ou expressão regular, depende do tipo de parâmetro. VarSEARCH tem mais informações |
exigido |
search="text" |
Alternativa (Alternativa à de cima) |
N/A |
web="Name" web="Main, Know" web="all" |
Wiki web para busca: uma web, uma lista de webs separadas por vírgulas, ou todas as webs. |
web corrente |
topic="WebPreferences" topic="*Bug" |
Limite de busca por tópicos: um tópico, um tópico com asterisco coringa representando um conjunto tópicos com sufixo ou prefixo semelhante, ou uma lista de tópicos separados por vírgula. |
Todos os tópicos da web |
excludetopic="Web*" excludetopic="WebHome, WebChanges" |
Exclui tópicos da busca: Um tópico, um tópico com asterisco coringa representando um conjunto tópicos com sufixo ou prefixo semelhante, ou uma lista de tópicos separados por vírgulas. |
Nada |
type="keyword" type="literal" type="regex" |
Faz uma busca por palavra chave como "web service" -shampoo ; uma busca literal como web service ; ou busca por Expressão Regular como web service;!shampoo |
%SEARCHVAR- DEFAULTTYPE% configuração de preferências (literal) |
scope="topic" scope="text" scope="all" |
Busca por nome de tópico (título); texto (corpo) do tópico; ou ambos |
"text" |
order="topic" order="created" order="modified" order="editby" order= "formfield(name)" |
Ordenação dos resultados da busca por nomes, datas de criação do tópico, última edição, ou nome do campo do DataForm. A ordenação é feita web por web; caso você queira ordenar dentre webs, crie uma tabela formatada e a ordene com o initsort do TablePlugin |
Ordenação por nome do tópico |
limit="all" limit="16" |
Limite do número de resultados retornados. Isto é feito depois da ordenação se o tipo dessa ordenação for especificado |
Todos os resultados |
reverse="on" |
Inverte a direção da busca |
Busca ascendente |
casesensitive="on" |
Busca case-sensitive, ou seja, diferencia letras minúsculas e maiúsculas |
Ignora a diferença |
nosummary="on" |
Mostra apenas o título do tópico |
Mostra o resumo do tópico |
bookview="on" |
Busca BookView, ou seja, mostra o texto completo do tópico |
Mostra sumário do tópico |
nosearch="on" |
Suprimir a string de busca |
Mostra a string da pesquisa |
noheader="on" |
Suprimir cabeçalho da busca Topics: Changed: By: |
Mostra o cabeçalho da busca |
nototal="on" |
Não mostrar o números de tópicos achados |
Mostra o número |
header="..." format="..." |
Formato de resultados customizados: veja FormattedSearch para forma de uso, variavéis e exemplos |
Resultados em tabela |
expandvariables="on" |
Expande variáveis antes de aplicar a FormattedSearch na busca. Utilizada para mostrar o texto expandido, isto é, para mostrar no resultado da SpreadSheetPlugin instanciado na fórmula |
Texto Puro |
separator=", " |
Linha separadora |
"$n" |
- Exemplo: %SEARCH{"wiki" web="Main" scope="topic"}%
- Exemplo com formatação: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Típico: * | *Sumário: * |" format="| $topic | $summary |"% (mostra resultados em uma tabela com cabeçalho)
- Se o Foswiki:Extensions.TablePlugin está instalado, você pode configurar uma variável %TABLE{}% apenas antes de %SEARCH{}% para alternar a saída da pesquisa. Exemplo: %TABLE{ tablewidth="90%" }%
- Relacionado: METASEARCH, TOPICLIST, WEBLIST, FormattedSearch
- [1] Nota: A busca em formulários usa nomes idênticos para as entradas dos campos.
- [2] Nota: A web pode ser excluída de da pesquisa
web="all"
se você definir a variável NOSEARCHALL=on na WebPreferences.
- STARTINCLUDE -- posição inicial do texto do tópico se incluído
- Se presente em um tópico incluído, inicia a inclusão dessa posição até o final ou até a localização da variável %STOPINCLUDE%. A visualização normal do tópico é mostrada exceto a própria variável %STARTINCLUDE%.
- Sintaxe: %STARTINCLUDE%
- Relacionadas: INCLUDE, STOPINCLUDE
- STOPINCLUDE -- posição final da texto do tópico a ser incluído
- Se presente no tópico incluído, pára a inclusão nesta localização e ignora o restante do texto. Uma visualização normal do tópico mostra tudo exceto a própria variável %STOPINCLUDE%
- Sintaxe: %STOPINCLUDE%
- Relacionados: INCLUDE, STARTINCLUDE
- TOC -- menu de conteúdos do tópico corrente
- Sintaxe: %TOC%
- Relacionados: TOC{"SomeTopic"}
- TOC{"Topic"} -- menu de conteúdos
- Sintaxe: %TOC{"SomeTopic" ...}%
- Tabelas de conteúdos. Mostra um TOC que é gerado automaticamente baseada nos títulos do tópico. Títulos na WikiSyntax ("---++ texto") e HTML ("<h2>texto</h2>") são usados. Qualquer título com "!!" é excluído do TOC; por exemplo, escreva "---+!! texto" se você não quer listar o título no TOC.
Parâmetros suportados:
Parâmetro |
Descrisão |
Padrão |
"TopicName" |
nome do tópico |
Tópico Atual |
web="Name" |
Nome da web |
Web Atual |
depth="2" |
Limite da profundidade dos cabeçalhos mostrados no TOC |
6 |
title="Some text" |
Título para aparecer no topo do TOC |
nenhum |
- Exemplo: %TOC{depth="2"}%
- Exemplo: %TOC{"FoswikiMacros" web="Tech" title="Contents:"}%
- Relacionados: TOC
- TOPIC -- nome do tópico corrente
- Sintaxe: %TOPIC%
- Expande to:
FoswikiMacros
, renderiza como FoswikiMacros
- Relacionados: BASETOPIC, INCLUDINGTOPIC, TOPICLIST, WEB
- TOPICLIST{"format"} -- tópico de índices da web
- O "format" define o formato dos itens do tópico. Ele deve incluir as variáveis:
$name
expande para o nome do tópico; a variável $web
expande para o nome da web.
- Sintaxe: %TOPICLIST{"format" ...}%
- Parâmetros suportados :
Parâmetros |
Descrição |
Padrão |
"format" |
Formato de uma linha, deve incluir as variáveis $name e $web |
"$name" |
format="format" |
(Alternativo ao de cima) |
"$name" |
separator=", " |
Separador de linha |
"\n" (new line) |
selection="TopicA, TopicB" |
Valor atual para ser selecionado na lista |
(none) |
web="Name" |
Nome da web |
web atual |
- Exemplo:
%TOPICLIST{" * $web.$name"}%
cria lista de itens de todos os tópicos
- Exemplo:
%TOPICLIST{separator=", "}%
cria lista com todos os tópicos separados por vírgula
- Exemplo:
%TOPICLIST{" <option>$name</option>"}%
cria uma lista de opções (para menus tipo drop down)
- Relacionados: SEARCH, WEBLIST
- SYSTEMWEB -- nome da web de documentação do Foswiki
- web que contém toda a documentação e configurações para todo o site Foswiki
- Sintaxe: %SYSTEMWEB%
- Expande para: System
- Relacionados: MAINWEB
- USERNAME -- seu nome de usuário
- Foswiki tem 3 formatos para nomes: USERNAME como jsmith, WIKINAME como JohnSmith e WIKIUSERNAME como Main.JohnSmith. Um usuário é denominado WikiGuest caso o mesmo não seja autenticado.
- Sintaxe: %USERNAME%
- Espande para: guest
- Relacionados: REMOTE_USER, WIKINAME, WIKIUSERNAME
Controle de Acesso
As permissões de acesso no Foswiki, assim como as outras opções do ambiente, são definidas como variáveis. Existem variáveis para definir o acesso à tópicos e webs. Como é natural, as variáveis que definem as permissões de web como um todo devem ser definidas no tópico WebPreferences e as variáveis que definem as permissões de um tópico podem ser setadas no corpo de qualquer tópico.
As variáveis são:
-
DENYWEBVIEW
e ALLOWWEBVIEW
- definem a visibilidade da web
-
DENYWEBCHANGE
e ALLOWWEBCHANGE
- definem quem edita a web
-
DENYWEBRENAME
e ALLOWWEBRENAME
- definem quem renomeia topicos da web
-
DENYTOPICVIEW
e ALLOWTOPICVIEW
- definem a visibilidade do tópico
-
DENYTOPICCHANGE
e ALLOWTOPICCHANGE
- definem quem edita o tópico
Essas variáveis podem receber como valor uma lista de nomes de usuários ou grupos.
Exemplos:
Restringindo a visualização e edição de uma web:
* Set ALLOWWEBVIEW = Main.BrasilGroup
* Set ALLOWWEBCHANGE = Main.BrasilGroup
Restringindo a edição de um tópico:
* Set ALLOWWEBCHANGE = Main.JoseDaSilva, Main.MariaBonita
No Foswiki, formulários são facilmente criados através de Template de Formulários, que são tópicos contendo tabelas, nas quais cada linha se refere a um campo do formulário.
Os passos para a criação de um formulário são:
- Crie um novo tópico com o nome para o formulário (WikiWord terminado em 'Form'). Ex: NomeForm, EmpresaForm, ServicosForm, etc.
- Crie uma tabela em notação Wiki, onde cada coluna represente uma elemento de um campo de entrada: Name, Type, Size, Values, mensagem Tooltip, e Attributes.
- Para cada campo, adicione uma nova linha;
- Salve o tópico
Antes de utilizar os formulários é necessário listá-lo na variável WEBFORMS da WebPreference do site em questão.
Para acrescentar um formulário em um tópico, deve-se ir no modo de edição e clicar no link "Adicionar Formulário". O formulário aparecerá após o conteúdo do tópico.
Exemplo
Veja a seguir o NoticiaForm do sistema de notícias do PSL-BA.
Name |
Type |
Size |
Values |
Tooltip message |
Attributes |
Classificacao |
select |
1 |
Selecione,Noticia |
Classificação do tópico |
Autor |
text |
40 |
Autor da notícia |
Titulo |
text |
40 |
Título da notícia |
Data |
text |
10 |
02/05/2008 |
Data da notícia |
Fonte |
text |
40 |
Fonte original da notícia, quando for o caso. |
Wiki Estruturado
O Objetivo de um Wiki estruturado é combinar os benefícios de um Wiki com aplicações de bancos de dados
Podemos caracterizar Wikis e aplicações com BD como:
- Wiki:
- Conteúdo Orgânico: O conteúdo da estrutura e do texto do site está aberto para edição e evolução
- Conteúdo aberto: leitores podem refazer conteúdos incompletos ou pobres de informação;
- Hiper-linkado: muitos links relacionando os conteúdos através de WikiWord
- Confiável: aberto para qualquer pessoa editar com segurança
- Aplicação com banco de dados:
- Dados altamente estruturados
- Relatórios fáceis
- Workflow (ex: requisição de compra)
- Controle de acesso
Logo os benefícios de um Wiki estruturado são:
- Flexibilidade para adicionar livremente conteúdos de um formulário como um conteúdo estruturado (e vice-versa)
- Possibilidade de construção de Wiki Applications.
O que são WikiApplications
Denomina-se WikiApplication ou Aplicação Wiki, a aplicação criada sobre a plataforma Foswiki, através do uso de formulários, expressões regulares, formatação de buscas, criação de tópicos, plugins e outras funcionalidades do Foswiki, para automatizar trabalhos colaborativos específicos.
Isso é possível pelo fato do Foswiki ser um wiki estruturado. Um wiki que funde os benefícios do wiki e dos bancos de dados, possibilitando a criação livre/flexível de conteúdo, buscas específicas, filtragem e apresentação de conteúdo dinâmico.
Um exemplo didático de aplicação no TWiki é o sistema de notícias do site do Projeto Software Livre Bahia (PSL-BA), visite: http://twiki.dcc.ufba.br/bin/view/PSL/SistemaDeNoticias.
Novas Webs
As webs são criadas apenas por usuários administradores, através do tópico ManagingWebs.
Após a criação é aconselhável visitar o tópico WebPreferences da nova web para ajustar as restrições e configurações gerais.
Adicionando Layout
- Criar tópico LayoutTemplate com o HTML e CSS - aconselha-se incluir um tópico com o CSS no template com o HTML;
- Acrescentar a variável %TEXT% no tópico do template, onde o conteúdo deverá ser mostrado
- Na WebPreferences, listar o template acima na variável VIEW_TEMPLATE. No caso ficaria
* Set VIEW_TEMPLATE = Layout
- Para as imagens do layout usar a variável %ATTACHURL%/Nomedaweb/Nomedotopico/Nomedaimagem
- Pode-se usar também: %PUBURL%/Nomedaweb/Nomedotopico/Nomedaimagem
- Acrescente os botões de edição, anexação, etc. Veja: Main.TWikiPreferences
- Faça as devidas customizações do layout
Dicas
- Para saber um pouco mais de XHTML
- Para saber um pouco mais de CSS
- Para layouts livres acesse:
- Licenciamento de produções artísticas e intelectuais:
Boas Práticas
- Use preferencialmente ShortHand, que é uma forma simples de formatação de textos no Foswiki, visto que nem todos conhecem HTML e afins;
- Usar WikiWords para que sejam automaticamente hiperlinkadas. Sugere-se usar palavras que dêem significado à WikiWord;
- Em caso de discussão:
- separe as falas com espaços em branco;
- adicione seu WikiName com data no final de seus comentários. Ex:
-- Main.RicharStallman - 27 Sep 1983
- se preferir use um link com label. Ex:
-- [[Main.RicharStallman][RMS]] - 27 Sep 1983
- Um bom formato para tópicos é o conteúdo seguido por discussão;
- Caso a discussão morra e o tópico se torne uma página estática, sinta-se livre para refatorar sem piedade;
- Edite destemidamente para capturar os pontos-chave;
- Reduza o ruído sem perder os fatos;
- Se você mesclar ou excluir comentários, dê crédito aos contribuintes no fim da página;
Esta é a forma como o conteúdo Wiki amadurece e cresce em valor ao longo do tempo.
- Use um formato de data internacional como 01 Sep 2003 or 2003/09/01
- Quando quiser verificar o conteúdo de um tópico sem necessariamente editá-lo use o modo de "texto cru" (Raw Text).
Para conhecer mais
Veja o tópico foswiki Avançado, onde foram listados conhecimentos necessários e referências a documentação adequada para fazer do Foswiki muito mais que mais um Wiki.
Criticas, sugestões e testemunhos de utilização desse tutorial, por favor, contacte Aurélio A. Heckert <aurium em colivre.coop.br>
De acordo com a licença do Foswiki, de onde nos baseamos para criar esse tutorial, esse material também é GPL (http://www.gnu.org/copyleft/gpl.html).
Colivre - Cooperativa de Tecnologias Livres

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-Colivre?
Send feedback