Mediawiki Reboot

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar

Objetivo principal

O objetivo principal deste projeto é atualizar o Mediawiki - software que roda o wiki do Garoa para a versão mais recente (a nossa é de 2011).

mw:Manual:Upgrading

Objetivos secundários

  • Testar o backup feito atualmente - suspeito que ele só salve o banco e não os arquivos de upload
    • aparentemente, o contrário! Não encontrei o backup do banco, apesar de o Wagner afirmar em um e-mail para a lista do CMC de 06 Mar 2014 que o script do servidor dele faz backup do banco.
    • ao tentar fazer um dump do banco com o comando do Wagner, encontrei o seguinte erro:
 Access denied; you need (at least one of) the RELOAD privilege(s) for this operation 
    • isso deve ter sido uma configuração que mudou ao longo do tempo e o script não acompanhou
    • workaround é executar o dump com usuário root
  • Fazer um backup completo do site e restaurá-lo, documentando o processo. Em outras palavras, checar a sanidade do backup.
    • backup feito e restore feito, falta verificar a sanidade do processo como um todo
  • Tentar resolver o problema do memcached
  • mover coisas como crachá, biblio, etc para outro diretório/vhost tipo foo.garoa.net.br ou dev.garoa.net.br
  • melhorar o visual do site

Checklist

Cronograma geral Homolog

  • apagar dados do homolog.garoa.net.br FEITO
  • copiar para o homolog.garoa.net.br FEITO
  • instalação mw FEITO
  • arquivos upload FEITO
  • banco de dados FEITO
  • reabilitar SHTML para botões do pagseguro, ou procurar outra alternativa FEITO
  • Documentar instalação atual (quais extensões e porque) EM CURSO
  • Fazer backup produção FEITO
  • Restaurar backup no homolog.garoa.net.br FEITO
  • Atualizar mw FEITO
  • Atualizar extensões EM CUSRO
  • Remover extensões desnecessárias EM CURSO
  • Instalar novas extensões EM CURSO
  • Instalar nova skin FEITO
  • Testar EM CURSO
  • Criar um arquivo README documentando as extensões
  • limpar pasta 'ghc'
  • BUG: Status deveria rodar no riverraid (privacy concerns)
  • migrar outros serviços (que não sejam do wiki) para domínio riverraid.garoa.net.br ou sua respectiva pasta de virtual host

Mediawiki/skin/home

  • A ideia é usar Bootstrap e/ou uma skin que use bootstrap:
  • TODO:
    • BUG: ícone usuário some na navbar (pois tem a mesma cor)
    • BUG: Consertar alinhamento geral (ex: links no final extrapolam a página, se colunas somarem 12 extrapolam o body do mediawiki)
    • BUG: botão "saiba mais" tem combinação de cores ruim (rever paleta)
    • BUG: retirar sublinhado onHover nos links que são botões
    • BUG: imagens extrapolam largura no mobile
    • BUG: imagem do lab de eletrônica é muito hermética, segundo Juca
    • FEATURE:Tornar o site mobile friendly (responsivo)
    • FEATURE: Mover o menu "ferramentas de páginas" para um ícone "escrevendo na página" com dropdown e alinhá-lo fora do menu principal
    • FEATURE: colocar de volta o Garoando há no rodapé
    • FEATURE: disponibilizar a fonte Garoa Hacker Clube Bold (e respectiva classe) para o site via CSS
    • DUVIDA:pedir opinião do Tony sobre fontes e logo/elementos gráficos OK
    • BUG: consertar o alinhamento do logo
    • DUVIDA: ver qual logo será colocado no topo gostei de apenas "Garoa"
    • DUVIDA: o logo "oficial" precisa ficar em algum lugar(?) Não
    • IDEIA: testar com outros esquemas de cor do bootswatch
    • BUG: tem muito verde? NÃO
    • BUG: Status no appspot não é criptografado - alterado para https
    • BUG: logo verde do status aberto some no site (ou tem muito verde no site?) não.
    • BUG: pega fontes via API do Google, privacy concerns. Como resolver: baixar as fontes e deixar no servidor
    • BUG: pega imagem do Creative Commons.org, privacy concerns
    • FEATURE: transformar links no rodapé (imprimir, link permanente, etc) em glyphicons
    • FEATURE: carroussel com logos de eventos
    • FEATURE: carroussel ou grid com fotos legais
    • FEATURE: link para o tumblr
    • FEATURE: usar botões do Bootstrap na página de submeter alterações
    • FEATURE: deixar o site minimamente compatível com a skin antiga (tipo, se algum dia a skin nova deixar de ser mantida, etc, failsafe)
      • mover todo o CSS de customização da skin para um arquivo CSS/less separado e carregar no config movidas para a página MediaWiki:skin.css da skin
      • deixar no Common.css apenas configurações que não quebrem a skin, independente de qual ela seja FEITO
      • mover overrides de $egChameleonExternalLessVariables para o arquivo do item anterior desencana!
      • deixar logo condicional à skin usada pelo usuário
      • liberar usuário para escolher skins (Chameleon ou Vector) FEITO
    • TASK: Revisar o LocalSettings.php
  • TODO extensões (mínimo):
    • procurar páginas com tags shtml aqui
    • Instalar NamespaceHTML e verificar o que pode quebrar
    • Migrar shtml para namespace html

Extensões

Atuais

  • SecureHTML - permite adiciona html arbitrário em páginas de modo seguro, usada para botões do pagseguro e webclient IRC DEPRECATED
  • StubManager - dep da anterior DEPRECATED
  • ParserFunctionsHelper - idem DEPRECATED
  • BreadCrumbs - para breadcrumbs DEPRECATED
  • Wikilog - usada no Blog - atualizar p/ 1.3
  • bannedips.php - parece deixar o mw lento - olhar no manual do mediawiki, deixar por enquanto
  • ReCaptcha - comentada Aparentemente já vem embutida agora
  • ConfirmEdit - comentada Agora é nativo do mw?
  • EmbedVideo - broken, achar substituta
  • QuestyCaptcha - é a classe de captcha que estamos usando agora. Mas me parece fraca. Um humano pode ensinar um robô a quebrá-la facilmente.

Novas extensões

Essencial
Necessário
Útil
Cosmético

Plano de migração para produção

  • Anunciar migração na lista 3 dias antes
  • Colocar wiki em readonly mode $wgReadOnly = 'Upgrading to MediaWiki 1.24.2';
  • Fazer backup completo (pasta do MW e BD ghc_wiki)
  • Testar sanidade do backup completo
  • Criar nova pasta (nova-prod)
  • Copiar tudo da homolog, exceto pasta images
  • Copiar images da antiga prod para a nova prod
  • Copiar LocalSettings.php (alterar BD e inicialmente deixar vector como padrão)
  • Copiar {Common,Vector,Chameleon}.css da homolog
  • Copiar Página Principal da homolog
  • Copiar outras páginas alteradas da homolog (Eventos Regulares, Links, Lojas, Sidebar, Status) - verificar mudanças recentes
  • apagar redirect Falaqueeuteescuto
  • testar
    • if success remover pasta produção antiga e apontar nova para lá
    • else restore backup

Pós migração

  • Avaliar necessidade de namespaces FEITO. Inútil
  • Consertar/apagar páginas do namespace interno (desabilitar namespace, apagar página, habilitar de novo) REMOVIDO

Ideias esparsas

  • usar blockquote para alguma frase célebre
  • ideia: taguear logos do tony com Categoria:Logos do Tony FEITO
    • IDEA: conteúdo mais dinâmico (ex, atualizações do tumblr)

Ideias abandonadas

    • Bootstrapskin - Não é muito bonita, mas é funcional. Não parece suportar a sidebar customizável do mediawiki
    • Nexus - do mesmo desenvolvedor da anterior, bem mais bonita. Licenciamento obscuro
    • Bootstrapskin >= 1.0.45 tem uma skin minimalista para mobile