Mediawiki Reboot
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).
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:
- Solução adotada: mw:Skin:Chameleon + Bootswatch Flatly + customizações CSS
- 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õesBUG: imagens extrapolam largura no mobileBUG: imagem do lab de eletrônica é muito hermética, segundo JucaFEATURE: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 principalFEATURE: colocar de volta o Garoando há no rodapéFEATURE: disponibilizar a fonte Garoa Hacker Clube Bold (e respectiva classe) para o site via CSSDUVIDA:pedir opinião do Tony sobre fontes e logo/elementos gráficosOKBUG: consertar o alinhamento do logoDUVIDA: ver qual logo será colocado no topogostei de apenas "Garoa"DUVIDA: o logo "oficial" precisa ficar em algum lugar(?)NãoIDEIA: testar com outros esquemas de cor do bootswatchBUG: tem muito verde?NÃOBUG: Status no appspot não é criptografado- alterado para httpsBUG: 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 configmovidas para a página MediaWiki:skin.css da skindeixar no Common.css apenas configurações que não quebrem a skin, independente de qual ela sejaFEITOmover overrides de $egChameleonExternalLessVariables para o arquivo do item anteriordesencana!deixar logo condicional à skin usada pelo usuárioliberar 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 IRCDEPRECATEDStubManager - dep da anteriorDEPRECATEDParserFunctionsHelper - idemDEPRECATEDBreadCrumbs - para breadcrumbsDEPRECATED- Wikilog - usada no Blog - atualizar p/ 1.3
- bannedips.php - parece deixar o mw lento - olhar no manual do mediawiki, deixar por enquanto
ReCaptcha - comentadaAparentemente já vem embutida agoraConfirmEdit - comentadaAgora é 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
- mw:Extension:Bootstrap - OK
- mw:Extension:NamespaceHTML restringe rawHTML a determinado(s) namespace(s). Como restringir acesso de edição em um namespace.
- mw:Extension:Widgets - talvez seja melhor usar essa
- Necessário
- Ú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
- Visual Editor - editor WYSIWYG
- mw:Extension:CategoryTree - navigate category tree
- Alguma extensão para "albuns" de imagens
- Extensão que adicione tema de ícones 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
Avaliar necessidade de namespacesFEITO. InútilConsertar/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 TonyFEITO- 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 mediawikiNexus - do mesmo desenvolvedor da anterior, bem mais bonita. Licenciamento obscuroBootstrapskin >= 1.0.45 tem uma skin minimalista para mobile