
Recentemente, Confluence e sharepoint reinaram quase completamente no mercado de base de conhecimento. Os sistemas são excelentes, eu não discuto, mas eu pessoalmente não tenho flexibilidade suficiente e de alguma forma não cresci juntos: o wiki do sharepoint permaneceu em algum lugar no nível de 2005 (eu sou silencioso sobre como trabalhar com documentos do escritório, tudo isso é movimentado) e Confluência, em virtude de suas características, com o crescente número de artigos inexoravelmente transformados em lixões, nos quais é impossível encontrar o que você precisa (
mas talvez o problema estivesse em mim ).
Sem diminuir os méritos desses sistemas, gostaria de falar sobre as oportunidades que o
Mediawiki tem como base de conhecimento corporativa. Obviamente, o mediawiki não é adequado para todos - ele não possui uma integração elegante com o jira / tfs / etc, transferir documentos com fotos do pacote do Microsoft Office é um grande inconveniente e está escrito em PHP, que recentemente foi um impedimento para alguns especialistas em TI . No entanto, a plataforma é mais animada do que todos os vivos e um grande número de pessoas está trabalhando em seu desenvolvimento, desde que
a família de projetos da
Wikimedia Foundation se baseie nela.
O wiki em si é bastante mesquinho com as possibilidades, mas muitas
extensões foram escritas para ele. A maior parte da funcionalidade interessante está nas extensões, portanto, uma boa parte do artigo será sobre elas. E sim, não posso deixar de notar que existe uma versão corporativa especial do Mediawiki -
BlueSpice , que eu não usei e, portanto, não posso julgar sua adequação.
Por que você entrou nisso e quem é você de qualquer maneiraOi Meu nome é Nikolai, sou engenheiro de controle de qualidade.
O controle de qualidade inclui não apenas / não tanto testes quanto garantia de qualidade em um sentido amplo. E, entre outros significados desse sentido mais amplo, oculta-se a gestão do conhecimento. Existem muitos artigos e livros abstratos sobre esse tópico que falam sobre os princípios da gestão do conhecimento, mas surpreendentemente existem poucas recomendações concretas e idéias praticamente aplicáveis, pelo menos de alguma forma atual. Isso me faz pensar que ou todos usam o que as empresas famosas dão a todos e se alegram, ou não usam nada e sofrem, ou viram sua própria bicicleta secreta, que é embaraçoso falar sobre uma empresa decente.
Também estou com vergonha, mas vou lhe contar. Primeiro, sobre os chips do próprio mediaiwki
Antes de falar sobre extensões, vale a pena mencionar quais recursos o próprio mediawiki possui em geral. Se você tem mil edições na Wikipedia em sua conta, é improvável que aprenda algo novo com essa parte, é possível ignorá-la com segurança.
A primeira e uma das guloseimas mais tangíveis -
categorias . As páginas podem ser adicionadas às categorias, as próprias categorias podem ser adicionadas às categorias. Diferente da estrutura do arquivo (esqueça os links simbólicos), uma página / categoria pode estar em várias categorias ao mesmo tempo. O uso de categorias dificulta o crescimento do caos com o crescente número de artigos. Especialmente se você procurar periodicamente listas de artigos não categorizados e categorias não categorizadas
Namespaces . A ideologia do wiki diz que tudo é uma página (mesmo uma categoria ou imagem). Para separar páginas de diferentes tipos, foi adicionada a ideia de namespaces. Se desejar, você pode adicionar seus próprios namespaces para separar conhecimentos de diferentes tipos (por exemplo, namespaces separados para informações sobre produtos, utilitários, guias, descrições de processos, outras informações de serviço).
O wiki também suporta
modelos - páginas wiki que podem ser incluídas posteriormente em outras páginas. Os modelos suportam o trabalho com parâmetros, o que os transforma em algo mais do que simples inserções de texto: se desejado, você pode escrever um script simples na linguagem do modelo. A propósito, eles dizem que
a linguagem do modelo pode ser completa por Turing .
Além dos modelos, a extensão
Scribunto permite o uso de
módulos lua dentro de um wiki. Módulos, juntamente com modelos, permitem implementar muitas coisas sem precisar escrever suas próprias extensões.
Por exemplo,
as tabelas de navegação são construídas com base nessa dupla. A tabela de navegação é, por exemplo, esta coisa, que geralmente pode ser vista na parte inferior da página:

Embora não sejam uma funcionalidade padrão, eles se estabeleceram como um meio conveniente de navegação e restauração da ordem e agora são usados quase universalmente.
Não posso deixar de mencionar os arquivos
Mediawiki: Common.css e Mediawiki: Common.js que permitem adicionar um pouco de personalização ao wiki - é melhor usar extensões para grandes coisas.
Editores
Uma das partes mais importantes de um wiki é o editor. É extremamente difícil implementar um wiki se ele não tiver um editor visual, porque apenas uma pessoa muito iniciativa concordará em aprender a marcação do wiki.
Editor visual
Uma extensão relativamente recente - o
VisualEditor resolve o problema com a edição visual de artigos. Ele tem seus próprios batentes, mas para a maioria das tarefas ele tem o suficiente. Dos problemas mais visíveis - não há a inserção de imagem mais conveniente.
O surgimento de um editor visual está intimamente relacionado ao advento do
Parsoid , um serviço de conversão entre a sintaxe do Mediawiki e o html. Essa tarefa acabou sendo extremamente não trivial, devido ao fato de que a sintaxe do mediawiki se desenvolveu aleatoriamente e não foi estritamente definida. Leia mais no
excelente post do blog oficial .
Entre as extensões integradas ao VisualEditor, você pode selecionar
Graph para editar gráficos,
Math para editar fórmulas matemáticas e
SyntaxHighlight para destacar sintaxe de fragmentos de código.
Wikieditor
O WikiEditor é um editor simples de wikitexto. Algumas coisas complicadas ainda são mais convenientes através do editor wikitext, em alguns lugares a edição visual ainda não é suportada. Seja como for, o WikiEditor facilita o trabalho com o Wikitext e é
muito simples personalizá-lo .
Editando Conflitos
Qualquer um que usou o Mediawiki no passado lembra como todas as resoluções de edição de conflitos eram dolorosas.
O TwoColConflict com beta ativado por padrão simplifica bastante a solução. No caso de um conflito, você pode olhar para os locais onde o conflito ocorre e selecionar a versão desejada do fragmento controverso. Se as duas versões não estiverem completas, você poderá suplementar uma delas. Algo parecido com isto nos negócios:

Você pode experimentá-lo
na página de teste .
Formulários para adicionar o mesmo conteúdo
A
extensão PageForms permite adicionar conteúdo uniforme ao seu wiki usando formulários. Na minha prática, usei formulários para adicionar chaves de registro, tabelas de banco de dados e outras coisas típicas semelhantes ao wiki.

Esta extensão revela seu poder ao usar o
Semantic Mediawiki ou seus análogos. A ciência de mídia semântica permite adicionar propriedades ou objetos da página às suas propriedades. As propriedades são definidas assim (por exemplo, página Alemanha):
[[ ::]]
Essas propriedades e objetos podem ser obtidos usando a
solicitação de solicitação ou através da API.
A partir das propriedades obtidas, você pode derivar tabelas, criar gráficos e
fazer muitas outras coisas legais . Por exemplo, no meu caso, com base em tabelas adicionadas por meio de formulários, os esquemas db mais simples são criados. Além disso, o esquema pode ser construído não para todo o produto, mas para uma categoria específica. E no diagrama, além dos links óbvios FK / PK, também podem ser refletidos links implícitos que não podem ser vistos com ferramentas de gráficos padrão.
Para chaves do Registro, as informações da chave são extraídas das mesmas propriedades para que possam ser usadas para gerar um arquivo .reg com um determinado valor.
Árvore de categorias
O PageForms suporta a capacidade de adicionar um campo com uma árvore de categorias. Para adicionar uma página às categorias necessárias, basta clicar nas caixas de seleção necessárias.
Por outro lado, quando já temos artigos categorizados, eles podem ser exibidos em qualquer página na forma de uma árvore:

A árvore é carregada dinamicamente, portanto, funciona para um grande número de artigos e para categorias de loop, se alguém precisar deles de repente.
Autorização LDAP / AD
A extensão de
autenticação Ldap suporta autorização de domínio, restrição de acesso para determinados grupos e mapeamento de grupos de usuários do mediawiki para grupos ldap. Você pode configurar vários domínios de uma só vez. É um pouco tedioso em termos de configurações, mas, felizmente,
existem instruções muito boas na Internet .
Direitos de acesso granular
Aqui está tudo ruim. Se a tarefa é restringir o acesso a usuários não autorizados, isso é simples. Se entre esses usuários for necessário distinguir grupos separados com direitos de acesso especiais, isso é difícil.
Existem muitas extensões diferentes, mas elas não resolvem o problema fundamental: o mediawiki não foi criado como um CMS. Para dar suporte aos direitos de acesso, você precisará corrigir o código do Mediawiki, adicionando manualmente
$title->userCan('read')
em tudo o que não deve ser dado sem verificação de direitos. O mesmo se aplica a todas as extensões: para cada extensão adicionada, você deverá adicionar manualmente todas as verificações necessárias.
Para mim, resolvi o problema com uma extensão criada por você, baseada na idéia do
PermissionACL e em um pacote de patches para diferentes extensões e no próprio mediawiki. Felizmente, eu não precisava de uma ACL avançada; havia verificações primitivas suficientes para vários grupos.
Para suportar o mesmo para imagens, você precisará quebrar o acesso ao arquivo em
Img_auth.php . E o último usa uma serpentina de arquivos do mediawiki, que não sabe como fornecer
conteúdo parcial (na época do mediawiki 1.31); portanto, para oferecer suporte à reprodução de vídeo, você precisará anexar outra serpentina de arquivos.
Suporte de vídeo
O suporte a vídeo não está incluído no pacote padrão, mas é trivialmente resolvido com a instalação da extensão
TimedMediaHandler . Reprodutor de vídeo normal, nada de especial. Inserir vídeo em uma página é exatamente o mesmo que inserir uma imagem.
Pesquisar
Uma das coisas que pessoalmente me incomoda no Confluence é a busca. A pesquisa padrão do Mediawiki é ainda pior, mas felizmente existem extensões de terceiros. Das extensões de pesquisa, as mais populares são
CirrusSearch e
SphinxSearch . Eu nunca usei o último, mas conheci bem o primeiro, aliás, também é usado em projetos da Wikimedia Foundation
O CirrusSearch funciona com base na pesquisa elástica. Para que a extensão funcione, você também precisará instalar uma interface intermediária - a extensão
Elastica .
O CirrusSearch suporta um
número insano de parâmetros e está se desenvolvendo bastante ativamente. Por exemplo, fiquei muito satisfeito com o início da pesquisa no CamelCase no ramo 1.32.
Outro ponto de que gostei é a capacidade de adicionar um dicionário de sinônimos. O dicionário funciona bem com jargões corporativos internos bem estabelecidos, abreviações, erros tipográficos típicos ou várias transliterações. Mas o dicionário deve primeiro ser escrito, o que pode não ser a tarefa mais fácil. Se você não aprimorar o dicionário para uma empresa específica, poderá tentar os dicionários existentes no espírito do
WordNet , mas não no fato de que eles servirão você pessoalmente.
A extensão não suporta a adição de sinônimos no nível de
configuração LocalSettings, mas isso não é difícil de resolver editando o código de extensão - consulte
AnalysisConfigBuilder.php e
instruções para configurar sinônimos para elasticsearch .
Se desejar, você pode adicionar uma linha de pesquisa à página principal por meio da extensão
InputBox , após a qual você pode
vincular o preenchimento automático a ela de acordo com as instruções .

A propósito, o
AdvancedSearch ajudará a arrumar a aparência da página de pesquisa, pois não parecerá vítima de um fã da caixa de seleção.
Google Analytics
Parece ridículo, é claro, mas a análise é extremamente útil, mesmo para a base de conhecimento interna que cem pessoas visitam por mês. Ele permite que você entenda como os usuários interagem com a interface, o que estão procurando, o que lêem e o que usam. Se os planos incluírem desenvolvimento adicional da base de conhecimento, as estatísticas serão simplesmente inestimáveis.
Para a intranet, há uma extensão extremamente valiosa do
Matomo (ex Piwik). A extensão correspondente para integração é
MatomoAnalytics .

O Matomo coleta estatísticas sobre consultas de pesquisa, fontes de tráfego, downloads, cliques (você pode ver a frequência de cliques com sobreposição na própria página) e muitas outras métricas. As estatísticas podem ser coletadas com referência a usuários específicos e anônimas, para não confundir ninguém.
Outros
Além do exposto, existem muitas extensões que simplesmente facilitam a vida. Por exemplo, o
GuidedTour para ensinar aos iniciantes o básico sobre como trabalhar com interfaces,
Popups para visualizar artigos em foco, o
MultimediaViewer para uma visualização mais confortável de imagens em tamanho real e muito, muito mais.
Qual é o resultado?
O conjunto de extensões do cavalheiro listado cobre uma parte significativa das necessidades de criação de uma base de conhecimento, mas não todas. O Mediawiki não é adequado como uma base de conhecimento unificada universal. Mas todos os outros também se saem mal como um sistema universal - sharepoint, confluência, pastas do Outlook da velha escola, que levam meia hora para pesquisar etc. O Mediawiki, em segundo plano, se destaca por seus recursos de personalização e excelente escalabilidade.
Em contraste com todas essas vantagens, o mediawiki constantemente exige funcionalidade de corte de arquivos para as necessidades de uma empresa em particular, portanto seu administrador deve estar mentalmente preparado para entender os códigos php, js e lua. Mas se isso não for assustador e se você concordar em separar o trabalho dos documentos do escritório e dos artigos do wiki em diferentes plataformas, o mediawiki como base de conhecimento pode ser uma boa ideia.