Mudanças entre as edições de "Mediawiki Reboot"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
m
 
(22 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
  +
==Objetivo principal==
O objetivo principal deste projeto é atualizar o [[wpt:Mediawiki|Mediawiki]] - software que roda o [[wiki]] do Garoa.
 
  +
O objetivo principal deste projeto é atualizar o [[wpt:Mediawiki|Mediawiki]] - software que roda o [[wiki]] do Garoa para a versão mais recente (a nossa é de 2011).
  +
  +
[[mw:Manual:Upgrading]]
   
 
==Objetivos secundários==
 
==Objetivos secundários==
 
* Testar o backup feito atualmente - suspeito que ele só salve o banco e não os arquivos de upload
 
* 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.'''
* Fazer um backup completo do site e restaurá-lo, documentando o processo
 
  +
** ao tentar fazer um dump do banco com o comando do Wagner, encontrei o seguinte erro:
* Tentar resolver o problema do memcached
 
  +
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
==Cronograma geral==
 
  +
** workaround é executar o dump com usuário root
* Documentar instalação atual (quais extensões e porque)
 
  +
* Fazer um backup completo do site e restaurá-lo, documentando o processo. Em outras palavras, checar a sanidade do backup.
* Fazer backup
 
  +
** backup feito e restore feito, falta verificar a sanidade do processo como um todo
* Restaurar backup no homolog.garoa.net.br
 
  +
* '''Tentar resolver o problema do memcached'''
* Atualizar mw
 
  +
* mover coisas como crachá, biblio, etc para outro diretório/vhost tipo foo.garoa.net.br ou dev.garoa.net.br
* Testar
 
  +
* melhorar o visual do site
* Atualizar extensões
 
* Testar
 
* Remover extensões desnecessárias
 
* Testar
 
* Instalar novas extensões
 
* Testar
 
   
 
==Checklist==
 
==Checklist==
* apagar dados do homolog.garoa.net.br
 
* copiar para o homolog.garoa.net.br
 
** instalação mw
 
** arquivos upload
 
** banco de dados
 
   
  +
===Cronograma geral Homolog===
==Ideias de novas extensões==
 
  +
* apagar dados do homolog.garoa.net.br '''FEITO'''
* Extensão para fórmulas matemáticas
 
  +
* copiar para o homolog.garoa.net.br '''FEITO'''
* Consertar extensão embed video (#ev)
 
  +
* instalação mw '''FEITO'''
* Semantic Mediawiki
 
  +
* arquivos upload '''FEITO'''
* News
 
  +
* banco de dados '''FEITO'''
* Tornar o site mobile friendly (ver skin)
 
  +
* reabilitar SHTML para botões do pagseguro, ou procurar outra alternativa '''FEITO'''
* Bootstrap e/ou skin que use bootstrap:
 
  +
* Documentar instalação atual (quais extensões e porque) '''EM CURSO'''
** [http://www.mediawikibootstrapskin.co.uk/ Bootstrapskin] - Não é muito bonita, mas é funcional. Não parece suportar a sidebar customizável do mediawiki
 
  +
* Fazer backup produção '''FEITO'''
** [http://www.mediawikibootstrapskin.co.uk/nexus/ Nexus] - do mesmo desenvolvedor da anterior, bem mais bonita. Licenciamento obscuro
 
  +
* Restaurar backup no homolog.garoa.net.br '''FEITO'''
** Bootstrapskin >= 1.0.45 tem uma skin minimalista para mobile
 
  +
* 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:
  +
** Solução adotada: [[mw:Skin:Chameleon]] + [https://bootswatch.com/flatly/ Bootswatch Flatly] + [[MediaWiki:Chameleon.css|customizações CSS]]
  +
* TODO:
  +
** <del>BUG: ícone usuário some na navbar (pois tem a mesma cor)</del>
  +
** <del>BUG: Consertar alinhamento geral (ex: links no final extrapolam a página, se colunas somarem 12 extrapolam o body do mediawiki)</del>
  +
** <del>BUG: botão "saiba mais" tem combinação de cores ruim (rever paleta)</del>
  +
** <del>BUG: retirar sublinhado onHover nos links que são botões</del>
  +
** <del>BUG: imagens extrapolam largura no mobile</del>
  +
** <del>BUG: imagem do lab de eletrônica é muito hermética, segundo Juca</del>
  +
** <del>FEATURE:Tornar o site mobile friendly (responsivo)</del>
  +
** <del>FEATURE: Mover o menu "ferramentas de páginas" para um ícone "escrevendo na página" com dropdown e alinhá-lo fora do menu principal</del>
  +
** <del>FEATURE: colocar de volta o ''Garoando há'' no rodapé</del>
  +
** <del>FEATURE: disponibilizar a fonte Garoa Hacker Clube Bold (e respectiva classe) para o site via CSS</del>
  +
** <del>DUVIDA:pedir opinião do Tony sobre fontes e logo/elementos gráficos</del> OK
  +
** <del>BUG: consertar o alinhamento do logo</del>
  +
** <del>DUVIDA: ver qual logo será colocado no topo</del> gostei de apenas "Garoa"
  +
** <del>DUVIDA: o logo "oficial" precisa ficar em algum lugar(?)</del> Não
  +
** <del>IDEIA: testar com outros esquemas de cor do bootswatch</del>
  +
** <del>BUG: tem muito verde?</del> NÃO
  +
** <del>BUG: Status no appspot não é criptografado</del> - alterado para https
  +
** <del>BUG: logo verde do status aberto some no site (ou tem muito verde no site?)</del> 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
  +
** <del>FEATURE: deixar o site minimamente compatível com a skin antiga (tipo, se algum dia a skin nova deixar de ser mantida, etc, failsafe)</del>
  +
*** <del>mover todo o CSS de customização da skin para um arquivo CSS/less separado e carregar no config</del> movidas para a página MediaWiki:skin.css da skin
  +
*** <del>deixar no Common.css apenas configurações que não quebrem a skin, independente de qual ela seja</del> FEITO
  +
*** <del>mover overrides de $egChameleonExternalLessVariables para o arquivo do item anterior</del> desencana!
  +
*** <del>deixar logo condicional à skin usada pelo usuário</del>
  +
*** <del>liberar usuário para escolher skins (Chameleon ou Vector)</del> FEITO
  +
** TASK: Revisar o LocalSettings.php
  +
  +
*TODO extensões (mínimo):
  +
** procurar páginas com tags shtml [https://garoa.net.br/w/index.php?title=Especial:Busca&search=shtml&fulltext=Pesquisar&profile=all aqui]
  +
** Instalar NamespaceHTML e verificar o que pode quebrar
  +
** Migrar shtml para namespace html
  +
  +
===Extensões===
  +
====Atuais====
  +
* <del>SecureHTML - permite adiciona html arbitrário em páginas de modo seguro, usada para botões do pagseguro e webclient IRC</del> '''DEPRECATED'''
  +
* <del>StubManager - dep da anterior</del> '''DEPRECATED'''
  +
* <del>ParserFunctionsHelper - idem</del> '''DEPRECATED'''
  +
* <del>BreadCrumbs - para breadcrumbs</del> '''DEPRECATED'''
  +
* Wikilog - usada no [[Blog]] - atualizar p/ 1.3
  +
* bannedips.php - parece deixar o mw lento - olhar no manual do mediawiki, deixar por enquanto
  +
* <del>ReCaptcha - comentada</del> Aparentemente já vem embutida agora
  +
* <del>ConfirmEdit - comentada</del> Agora é nativo do mw?
  +
* <del>EmbedVideo</del> - 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:
  +
* [[mw:Extension:Bootstrap]] - OK
  +
* [[mw:Extension:NamespaceHTML]] restringe rawHTML a determinado(s) namespace(s). [[mw:Manual:Preventing_access#1.10_upwards|Como restringir acesso de edição em um namespace]].
  +
* [[mw:Extension:Widgets]] - talvez seja melhor usar essa
  +
;Necessário:
  +
* [[mw:Extension:SpamBlackList]]
  +
;Útil
  +
* [[mw:Extension:MobileFrontend]] - bonito em celular
  +
* [[mw:Extension:Media_Viewer]] - Esqueminha bonito de mostrar fotos em um artigo
  +
* [[mw:Extension:UploadWizard]] - facilita upload de vários arquivos
  +
* [[mw:Extension:Nuke]] - admins podem apagar páginas em massa (em caso de spam)
  +
;Cosmético
  +
* Extensão para fórmulas matemáticas (LaTeX) - acho que é só habilitar
  +
* Semantic Mediawiki (?)
  +
* News (?)
  +
* [[mw:Extension:SyntaxHighlight_GeSHi]] - code highlighting
  +
* [[mw:Extension:Interwiki]] - extensão para gerenciar interwikis pela interface gráfica
  +
* [[mw:VisualEditor:Welcome|Visual Editor]] - editor WYSIWYG
  +
* [[mw:Extension:CategoryTree]] - navigate category tree
  +
* Alguma extensão para "albuns" de imagens
  +
* Extensão que adicione tema de ícones [https://github.com/FortAwesome/Font-Awesome FontAwesome] - ver https://fortawesome.github.io/Font-Awesome/get-started/ -> PRO
  +
* Ideias de extensões em [[wen:Special:Version]]
  +
  +
===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===
  +
* <del>Avaliar necessidade de namespaces</del> FEITO. Inútil
  +
* <del>Consertar/apagar páginas do namespace interno (desabilitar namespace, apagar página, habilitar de novo)</del> REMOVIDO
   
  +
==Ideias esparsas==
  +
* usar blockquote para alguma frase célebre
  +
* <del>ideia: taguear logos do tony com Categoria:Logos do Tony<del> FEITO
  +
** IDEA: conteúdo mais dinâmico (ex, atualizações do tumblr)
   
  +
==Ideias abandonadas==
  +
** <del>[http://www.mediawikibootstrapskin.co.uk/ Bootstrapskin]</del> - <del>Não é muito bonita, mas é funcional. Não parece suportar a sidebar customizável do mediawiki</del>
  +
** <del>[http://www.mediawikibootstrapskin.co.uk/nexus/ Nexus] - do mesmo desenvolvedor da anterior, bem mais bonita. Licenciamento obscuro</del>
  +
** <del>Bootstrapskin >= 1.0.45 tem uma skin minimalista para mobile</del>
 
[[Categoria:Projetos]]
 
[[Categoria:Projetos]]

Edição atual tal como às 21h50min de 6 de novembro de 2016

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