[ANSOL-geral]Foruns (oops, fora)

J M Cerqueira Esteves jmce arroba artenumerica.com
Wed Apr 24 12:37:02 2002


* Lopo de Almeida <lopo.almeida arroba sitaar.com> [2002-04-23 23:33 +0000]:
> Eu até estava a ter outra ideia. Porque não manter uma lista para discussão
> geral como está e criar um Forum mais WEB-based para os trabalhos.

Se houver interesse em usar um sistema de forum, devo poder ajudar.
Estou a acabar de preparar um para um cliente e talvez seja
interessante para a ANSOL, mesmo com poucas ou nenhumas alteracoes.

Comecei por tentar usar o Squishdot (que ja' tinha usado em dois casos
anteriores), mas fartei-me dos bugs e outras "manias" dele e decidi
fazer um sistema de forum "from scratch", tambem sobre Zope.

O esquema geral de funcionamento imita em boa parte o Slash e outros
do genero.  Caracteristicas basicas:

- Todas as contribuicoes sao "mensagens".  Uma mensagem tem titulo,
  introducao e desenvolvimento (opcional). Cada mensagem pode
  ter anexado um numero arbitrario de attachments (ficheiros de que
  se faz upload com o mesmo formulario usado para introduzir a
  mensagem).   Os editores podem acrescentar notas (visiveis ao
  publico ou apenas a outros editores).

- Os participantes podem enviar mensagens ou como resposta a mensagens
  existentes ou como propostas de "artigo".

- Um artigo publicado distingue-se das outras mensagens por aparecer
  na pagina de entrada, como os artigos do Slashdot e do Gildot.
  Qualquer mensagem (proposta por um leitor para artigo ou inserida
  antes como resposta a outra) pode ser promovida a "artigo publicado"
  por um editor (participante com autorizacao de administracao).
  Pode ainda ter uma nota introdutoria do editor.

- Cada mensagem pode ser classificada como associada com um numero 
  arbitrario de "topicos", que podem ir sendo definidos e redefinidos
  dinamicamente.  Os topicos sao criados por editores, e quem escreve
  cada mensagem decide os topicos dela (quando e'uma resposta, por 
  omissao sao os mesmos topicos da "mensagem mae").

- Os utilizadores podem escrever anonimamente (isto e', nao
  registados, tendo no entanto
  a hipotese de inserir um nome) ou entrar registados (o username
  e'o endereco de email, mas este pode ser escondido do publico
  se o utilizador preferir).

- Todas as mensagens (attachments tambem) e topicos e informacoes dos 
  utilizadores sao guardados em base de dados relacional (MySQL,
  tabelas InnoDB).

- Na apresentacao (desenvolvida) de uma mensagem, os attachments em  
  HTML ou texto simples aparecem logo a seguir ao texto da mensagem.
  Outros tipos de attachments podem ser acedidos seguindo o link para
  eles.

- Todo o HTML submetido (introducao, desenvolvimento, attachments)
  e' passado pelo `tidy' para "limpar" o markup (produto final:
  XHTML).  Muito em breve quero acrescentar filtragem de tags perigosas
  (talvez com o código preparado pelo autor do Squish).

- Todas as queries SQL sao feitas atraves de ZSQL methods do Zope,
  com quoting em todos os parametros de input (evitando a entrada
  de queries maliciosas com "truques" de SQL no conteudo dos dados),
  e os ZSQL methods nao sao directamente invocaveis do exterior
  (apenas pelos scripts de apresentacao e administracao).
  Em termos de seguranca, provavelmente sera' dificil repetir
  a carreira esburacada do PHP-Nuke...


Essencialmente e' isto...  A coisa nao esta' num estado "simpatico" de
"pronto a instalar" por qualquer pessoa (nem o codigo preparado da
forma mais limpa e "object oriented" que seria possivel no Zope), mas
por outro lado e' bem mais simples (acho) que o Slash e talvez outros,
certamente mais facil de perceber que o caos de DTML do Squish (desta
vez usei principalmente Python Scripts e Zope Page Templates).  No
estado actual nao tinha pensado ainda em termos de uma "release" ao
publico (mais por ser ainda "feito à medida" e nao algo "install and
play" como o Squish), mas nao temos (AN) qualquer problema em libertar
o codigo que ja'existe (nada de especial, vejo aquilo como Lego montado
com outras ferramentas) com licenca GPL.

Ainda esta semana arranca o primeiro forum que usa isto, e tentarei
colocar outra "instancia" dele num computador da AN para poderem
testar `a vontade.  Logo que esteja acessivel, aviso.
Como a coisa esta' "acabadinha" de fazer, o momento e'propicio a
alteracoes "por medida" de acordo com as necessidades da ANSOL...
e montada a coisa, qualquer um podera' dar sugestoes sobre alteracoes
ao codigo.

Se a ANSOL estiver interessada em usa'-lo, a solucao mais simples
para mim a curto prazo e' instala'-lo numa maquina nossa,
para onde podem apontar um  qualquercoisa.ansol.org, e mais
tarde, se preferirem, migrar para um computador da ANSOL
(como esta' a questao do alojamento?).  Supondo que irao usar ou usam
Debian no servidor ANSOL, isso ainda torna mais facil a migracao,
ja' que tambem usamos Debian everywhere.
(embora o Zope eu tenha preferido ate' agora instalar "manualmente").
Costumo colocar o Zope por detras do Apache (funcionando como "reverse
proxy"), pelo que nao ha' qualquer problema de coexistencia com
conteudo "estatico" ou outros servicos invocados via Apache.
Pode naturalmente ficar em "subdirectorio" de outro sitio WWW
ou com hostname independente.

That's all... Logo que tenha instancias do bicho (still nameless)
online (no maximo ate' ao fim da semana), aviso para verem se acham
aquilo util como ferramenta.  Com algum jeito ate' se pode acoplar de
alguma forma a uma lista de email e sabe-se la' mais o que...

TTFN
             JM