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).
Produto | Versão |
---|---|
MediaWiki | 1.31.1 |
PHP | 7.1.26 (apache2handler) |
MariaDB | 10.1.36-MariaDB |
ICU | 57.1 |
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) |
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"
},
É possível ver os testes de todas as extensões listadas abaixo na página Testes de Extensões da nova wiki.
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' );
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' );
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";
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)
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' );
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' );
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";
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:
- Crie uma página chamada Widget:Google_Calendar. Nela é preciso colocar todo o código source do Widget na página recém criada. O código pode ser procurado (não estava muito acessível) na página https://www.mediawikiwidgets.org/w/index.php?title=Widget:Google_Calendar&action=edit.
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.
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.
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.