Desenvolvendo Aplicações Web com TWiki

Start Presentation

Slide 1:  

Desenvolvendo Aplicações Web com TWiki

ou

o que dá pra fazer no TWiki

Antonio S. de A. Terceiro
<asaterceiro@inf.ufrgs.br>

Slide 2: O TWiki pelo seu criador

"TWiki is a leading-edge, web-based collaboration platform targeting the corporate intranet world. TWiki
  • fosters information flow within an organization
  • lets distributed teams work together seamlessly and productively
  • eliminates the webmaster syndrome of outdated intranet content"
Peter Thoeny, autor original do TWiki.

Slide 3: De outra forma ...

  • uma ferramenta para escrita colaborativa de conteúdo (conhecimento).
  • uma ferramenta de gerenciamento de conteúdo free form.
  • uma ferramenta de acompanhamento de processos (workflow).
  • uma plataforma para desenvolvimento de aplicações.

Slide 4: básico : editar/preview/salvar

  • *negrito* = negrito, _itálico_ = itálico.
  • WikiName's
  • UmOutroTopico?
  • mil outras regras de formatação

  • Preview

Slide 5: básico : anexar

  • arquivo de qualquer tipo
  • referências aos arquivos: %ATTACHURL%/nome.ext
  • resultados expressivos quando combinados com alguns plugins

Slide 6: básico : revisões

  • RCS
  • quem alterou
  • o quê alterou
  • quando alterou
  • desfazer

Slide 7: WabiSabi

  • Tudo é efêmero.
  • Tudo é impefeito (sic).
  • Tudo é incomplet (sic).

Características:

  • Sugestão de processo natural
  • Irregular
  • Intimista
  • Despretensioso
  • Terreno
  • Simples

Desprendimento

Slide 8: básico : variáveis

  • %ICON{"type"}%: pdf, zip, xml, wav
  • %SERVERTIME{"format"}%: 05:08:59
  • %GMTIME{"format"}%: 08:08:59
  • %INCLUDE%
  • %WIKIUSERNAME% : TWikiGuest
  • %WEB%: TWikibr
  • %TOPIC%: DesenvolvendoAplica? çõesWebComTWiki

Slide 9: não-tão-básico : SEARCH

Slide 10: n-t-b : TWikiForms

  • formulários
  • Pares Nome = Valor
  • Tipos de campo:
    • checkbox, radio, select, text, textarea etc
  • uma aplicação: metadados

Slide 11: n-t-b : SEARCH + Formulários

Slide 12: indo além : Skins

  • sistema de templates
  • um skin é um conjunto de templates
    • view
    • preview
    • search
    • etc

Slide 13: uma possível aplicação

  • diferente da aplicação trivial

  • skin "form-only"
  • formulário(s)
  • SEARCH

Slide 14: Desenvolvendo: skins

Slide 15: uma skin: FreeSkin

%INCLUDE{"FreeSkinPreTopic"}%
%TEXT%
%INCLUDE{"FreeSkinPosTopic"}%

Slide 16: indo além: plugins

  • estendem as regras de formatação
  • funcionalidades especiais/adicionais
  • aplicações inteiras

Slide 17: BeautifierPlugin?

%CODE{"perl"}%
  if (not (-e $fromFilename))
  { 
    return SvgPluginError("can't find ...");
  }

  my $svgAge = (-M $fromFilename);
  my $pngAge = (-M $toFilename);
%ENDCODE%

%CODE{"perl"}% if (not (-e $fromFilename)) { return SvgPluginError? ("can't find ..."); }

my $svgAge = (-M $fromFilename); my $pngAge = (-M $toFilename); %ENDCODE%

Slide 18: BibliographyPlugin?

You start writing, and then cite a small paper %CITE{small}%. Further,
you reference a big paper %CITE{big}%. You can even reference the small
paper again %CITE{small}%.

%BIBLIOGRAPHY{}%

You start writing, and then cite a small paper %CITE{small}%. Further, you reference a big paper %CITE{big}%. You can even reference the small paper again %CITE{small}%.

%BIBLIOGRAPHY{}%

Slide 19: ChartPlugin?

| dados | dados | dados |
| dados | dados | dados |
| dados | dados | dados |
| dados | dados | dados |

%CHART{table="1" ... type="area"}%

areaexample.png

Slide 20: SlideShowPlugin

Slide 21: SpreadSheetPlugin

Idade Peso
20 70
30 80
40 66
Média: 30 Soma: 216

%CALC{"$AVERAGE( $ABOVE() )"}%

%CALC{"$SUM( $ABOVE() )"}%

Slide 22: SvgPlugin?

De:
<?xml version="1.0" encoding="UTF-8"
      standalone="no"?>
<!DOCTYPE svg PUBLIC ...>

Para:
%SVG{"TWikiBrasil.svg" topic="LogoTipo" size="150x150"}%



%SVG{"TWikiBrasil.svg" topic="LogoTipo" size="150x150"}%

Slide 23: Desenvolvendo : plugins

  • motor de renderização
  • "ganchos"
    • initPlugin
    • commonTagsHandler
    • startRenderingHandler
    • etc
  • TWikiPlugins
  • TWikiFuncModule?

Slide 24: Um exemplo

%CODE{"perl"}% sub commonTagsHandler { ### my ( $text, $topic, $web ) = @_; # do not uncomment, use $_[0], $_[1]... instead

TWiki::Func::writeDebug( "- ${pluginName}::commonTagsHandler( $_[2].$_[1] )" ) if $debug;

# do custom extension rule, like for example: # $_[0] =~ s/%XYZ%/&handleXyz()/ge; # $_[0] =~ s/%XYZ{(.*?)}%/&handleXyz($1)/ge;

$_[0] =~ s/%SVGG{(.*?)}%/&handleSvg($1,$_[1],$_[2])/ge;

} %ENDCODE%

Slide 25: Quem usa esse troço?

Slide 26: Conclusões

%SVG{"TWikiBrasil.svg" topic="LogoTipo" size="300x300"}%

-- AntonioTerceiro - 28 Oct 2004

Topic revision: r4 - 06 Mar 2006 - 19:01:14 - AntonioTerceiro

Warning: Can't find topic TWikibr.WebLeftBar

 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki-SL? Send feedback