Skip to content
This repository has been archived by the owner on Mar 4, 2020. It is now read-only.

Neste repositório é descrito o processo usado para migração do conteúdo da antiga Wiki do IFSC câmpus SJ para uma versão atualizada da mediawiki.

Notifications You must be signed in to change notification settings

ctic-sje-ifsc/migracao-atualizacao-mediawiki-sj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 

Repository files navigation

Migração dos Dados da wiki.sj.ifsc.edu.br Para a Nova Versão da Mediawiki

Nesse repositório é descrito o processo usado para migração do conteúdo da antiga Wiki do câmpus SJ para a nova Wiki.

A antiga wiki encontrava-se na versão 1.16.0 do software open source MediaWiki. A migração do conteúdo foi feita para a versão LTS mais recente (1.31.x).

Software instalado

Produto Versão
MediaWiki 1.31.1
PHP 7.1.26 (apache2handler)
MariaDB 10.1.36-MariaDB
ICU 57.1

Lista de Antigas Extensões

Abaixo, tabela com os antigos plugins, cujas instalações foram necessárias na nova versão da Wiki:

NOME INFO WIKI ANTIGA WIKI NOVA
Semantic MediaWiki melhorar estrutura e organização versão 1.5.6 versão 2.5.4
Semantic Project Management junto com semantic mediawiki, exportar projetos versão 1.5 DESATIVADA
Collection criar livros versão 1.4 versão 1.7.0 (2014-04-18)
Cite auxílio para citações - já vem com a versão nova da wiki
EmbedVideo inserir vídeo na wiki com link (youtube) versão 1.0 versão 2.7.0 (2017-05-08)
GeSHiCodeTag highlight de textos dentro da wiki Versão 1.65 DESATIVADA, opção nova
Google Calendar exibir calendario google na wiki - DESATIVADA, widget google calendar
GoogleDocTag adiciona tag pra inserir google doc versão 0.4.0 versão 0.4 (2014-03-31)
ParserFunctions melhora o analisador (parser) com funções lógicas Versão 1.4.0 versão 1.6.0 (2014-03-28)
Widgets permite adicionar widgets Versão 1.0 versão 1.3.0 (agosto 2017)
OggHandler manipulador para arquivos Ogg Theora e Vorbis - ARQUIVADA, nova opção
Google Maps Extension criar mapas na wiki versão 0.9.4 ARQUIVADA, nova opção
LDAP Authentication Plugin autenticação LDAP versão 1.2p versão 2.1.0 (2014-03-28)
LockDown restringe acesso para um grupo - -
Validator processador de parâmetros para definição versão 0.4.13 versão 2.0.5 (2016-04-04)
Quiz permite inserção de quiz na wiki - 1.2.0 (2013-08-13)

Kubernetes Charts Mediawiki e Problemas para Mudança de Idioma

A documentação relacionada a implementação da imagem em nosso kubernetes pode ser encontrada dentro do projeto servicos_kubernetes, com o nome de mediawiki_att. Ao editar o arquivo LocalSettings.php com intuito de mudar o idioma da mediwiki de "en" para "pt-br" na linha $wgLanguageCode = "pt-br";, o pod do kubernetes tornava-se inacessível e ficava reiniciando infinitamente. O motivo, como descobrimos, está atrelado ao trecho a seguir do arquivo deployment.yaml:

        livenessProbe:
          httpGet:
            path: /index.php
            port: http
          initialDelaySeconds: 120
        readinessProbe:
          httpGet:
            path: /index.php
            port: http
          initialDelaySeconds: 30
        resources:

O 'livenessProbe' citado acima é usado pelo kubelet para checar (a cada intervalo de tempo configurado) se o pod está funcionando corretamente, acessando a página descrita na linha path: /index.php. Ao mudar o idioma da mediawiki de inglês para português, a página /index.php passa a ser /index.php/Página_principal, fazendo com que o livenessProbre reiniciasse o pod por não conseguir acesso a página. Para resolver o problema, editamos o arquivo deployment.yaml de forma a mudar o path descrito no livenessProbe para um arquivo dentro da pasta images.

           "livenessProbe": {
              "httpGet": {
                "path": "/images/Logoifsc.png",
                "port": "http",
                "scheme": "HTTP"
              },
              "initialDelaySeconds": 120,
              "timeoutSeconds": 1,
              "periodSeconds": 10,
              "successThreshold": 1,
              "failureThreshold": 3
            },
            "readinessProbe": {
              "httpGet": {
                "path": "/images/Logoifsc.png",
                "port": "http",
                "scheme": "HTTP"
              },

Instalação de novas extensões na mediawiki 1.31

É possível ver os testes de todas as extensões listadas abaixo na página Testes de Extensões da nova wiki.

Cite

A extensão Cite auxilia o usuário na criação de referências e notas de rodapé. Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha wfLoadExtension( 'Cite' );

EmbedVideo

A extensão EmbedVideo adiciona uma parser function necessária para inserir vídeos de diversas plataformas de compartilhamento de vídeo em uma página da wiki. Ele também adiciona suporte a arquivos mp3, mp4 entre outros, locais da mediawiki.
Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha wfLoadExtension( 'EmbedVideo' );

GoogleDocTag

A extensão GoogleDocTag insere um documento do Google Docs na página da wiki. Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha require_once "$IP/extensions/GoogleDocTag/GoogleDocTag.php";

Math

A extensão Math, dependendo da configuração, faz uso do utilitário Texvc para renderização das equações. Este utilitário, por sua vez, não vem instalado junto com a imagem mediawiki da Bitnami. Ao instalar a extensão, em vez de ela mostrar as equações, a wiki devolvia o erro abaixo: Falhou ao verificar gramática (O executável <code>texvc</code> não foi encontrado. Consulte math/README para instruções da configuração.) Para resolver o problema basta inserir as duas linhas abaixo no arquivo LocalSettings.php:

$wgMathFullRestbaseURL= 'https://en.wikipedia.org/api/rest_';
$wgDefaultUserOptions['math'] = 'mathml';

Na primeira linha é apontado o endereço da API necessária pro funcionamento da extensão e na segunda é configurado o uso do Mathoid para renderização padrão das contas de usuário da wiki. O Mathoid utiliza MathJax para converter a entrada texvc no lado do servidor para renderização MathML + SVG. Nota-se que a renderização feita utilizando MathML não tem como resultado uma imagem PNG, diferente do Texvc se configurado para tal. (fonte:https://www.mediawiki.org/wiki/Extension:Math/pt-br)

ParserFunctions

Adiciona funções úteis ao wikitexto relacionadas a logica e manipulação de strings. Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha wfLoadExtension( 'ParserFunctions' );

Quiz

Permite adicionar quizes em uma página da wiki. Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha wfLoadExtension('Quiz' );

SyntaxHighlighter

Adiciona suporte a realce de sintaxe na wiki. Depois de instalar praticamente todas as extensões do tipo Syntex Highlight oficiais (que podem ser encontradas para download no site da mediawiki) e ver que nenhuma delas funcionava na versão 1.31.x da mediawiki que possuímos, a extensão SyntexHighter foi a que salvou. O problema das outras extensões é desconhecido, nenhuma informação das páginas de discussões das extensões funcionou.
Instalação feita baixando os arquivos da extensão e adicionando-os à pasta /extensoes/SyntaxHighLighter do diretório raiz da instalação do mediawiki. No arquivo LocalSettings.php é adicionado a linha require_once "$IP/extensions/SyntaxHighlighter/SyntaxHighlighter.php";

Widgets

Basta fazer download da extensão Widgets. Ela criará um novo namespace na wiki. Para adicionar um widget, é preciso criar uma página dentro do namespace Widget com o nome do Widget que será usado. Por exemplo, o Widget Google Calendar:

LDAP Authentication Plugin

Plugin de autenticação LDAP, com suporte para vários métodos de autenticação. Para instalar na wiki, basta baixar os arquivos da extensão (disponíveis na página da extensão), e depois adicionar as linhas a seguir ao arquivo LocalSettings.php:

require_once "$IP/extensions/LdapAuthentication/LdapAuthentication.php"; # adiciona extensao a wiki
$wgAuth = new LdapAuthenticationPlugin(); # para autenticacao de senha
$wgLDAPUseLocal = true; # permite usar tambem usuarios locais

Outras configurações podem ser consultadas no arquivo LocalSettings.php disponível neste mesmo repositório.

Lockdown

Adiciona um modo de restringir acesso de namespaces específicos e páginas específicas a um grupo de usuários. Foi implementada na nossa wiki pelo professor E. Torresini. Para instalação basta baixar os arquivos da página da extensão e adicionar a linha a seguir no arquivo LocalSettings.php:

require_once "$IP/extensions/Lockdown/Lockdown.php";

Mais configurações usadas na nossa wiki podem ser vistas no arquivo LocalSettings.php disponível neste mesmo repositório.

TinyMCE

A extensão TinyMCE, que segue o formato WYSIWYG, facilita a edição de páginas da wiki por ser mais visual e intuitiva. A implementação de um editor WYSIWYG foi sugerida pelo professor M. Moecke.
Foi primeiramente testada a extensão VisualEditor, mas vimos que ela possuía diversas dependências e teríamos que fazer uma nova imagem docker apenas para poder usá-la no nosso ambiente. A extensão TinyMCE não requer nenhum serviço ou biblioteca para funcionar. Para instalar basta baixar os arquivos da extensão (link disponível na página da extensão) e adicionar a linha wfLoadExtension( 'TinyMCE' ); ao arquivo LocalSettings.php.

About

Neste repositório é descrito o processo usado para migração do conteúdo da antiga Wiki do IFSC câmpus SJ para uma versão atualizada da mediawiki.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published