Navegação automática

Editado por 3 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016
  1. Atualmente, há alguns bugs em Autonav:
  2. É possível gerar HTML através de coleção? Se o MediaWiki não tem esse recurso, talvez um script poderia ser usado para gerar o HTML para o usuário através da coleção quando ele pedir. Assim, não precisaríamos de páginas especiais de impressão.
  3. {{LivroPP}} resolve redundância entre índice e coleção, mas exige que a pessoa escreva o nome do livro completamente, o que não é necessário se o índice estivesse na página inicial.
  4. Acho que seria bom a possibilidade de usar uma aparência alternativa em livros específicos em vez da aparência padrão. Este livro teria uma predefinição com nome padrão e a aparência alternativa. O script de Autonav poderia verificar se essa predefinição existe para usá-la. Se isso não for possível, poderíamos pelo menos definir a cor de borda e preenchimento na página da coleção e o script leria a cor dela.
Abacaxi (Discussão)21h30min de 28 de dezembro de 2013
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

2. O formato ZIM é bem dizer uma versão "HTML" da coleção (ele arquiva e indexa HTML). Temos também o EPUB. Eu "desisti" de gerar HTML através de transclusão, porque o script teria que dar um jeito para aumentar os níveis de cada seção, antes de gerar esse "HTML". Eu até fiz um simples script para aumentar os níveis, mas essa não seria uma solução, pois necessitaria de alterações na forma como fazemos wikilivros (dessa forma cada módulo teria que começar com uma seção com nome do módulo e colocar todo conteúdo dentro dessa seção). Por isso optei por deixar o ZIM como a versão "HTML".

3. Pois é, a pessoa tem que escrever o nome do livro completamente, mas não acho que isso seja tão difícil assim (rs). Também acho interessante criar a coleção a partir de um índice montado na primeira página do livro, mas como ninguém havia criado um "script" para fazer isso, logo criei essa predefinição para eliminar ao menos uma redundância. Posso dizer também que me motivei a criar essa predefinição, para também, padronizar em parte a estrutura de um livro (prefácio, colocação de elementos na primeira página, etc.).

4. Eu sugeri que houvessem classes CSS para cada livro (claro, algo editável por "editores", ou seja, não limitado a "administradores"). Infelizmente isso ainda não é possível :/

Guiwp (Discussão)22h23min de 28 de dezembro de 2013
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016
  1. O recurso de definir CSS específico para cada livro foi pedido no bugzilla:15075. Até que seja resolvido, estamos utilizando um gadget como hack: Wikilivros:Gadgets dos livros. Ele se encarrega de carregar estes scripts e folhas de estilos nos livros correspondentes. De qualquer modo, a permissão necessária para editar páginas de CSS e JS, que estão no domínio MediaWiki é a editinterface, que só é concedida a administradores. Futuramente, se/quando implementarem os gadgets 2.0 a situação poderá mudar: mw:Thread:Talk:ResourceLoader/V2 testing/Questions about permission model and developer workflow.
Helder.wiki (Discussão)19h27min de 21 de janeiro de 2014
 
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Colocar índice na página inicial do livro editar

Abacaxi, você entende de Lua? Talvez seja possível fazer o script que colete os links na primeira página do livro através dessa linguagem. Mas para ser mesmo automático, precisamos de um "trigger", ou algo orientado a eventos (tipo, quando atualizarem a página, aciona-se o "script" e ele atualiza a coleção).

Eu não entendo de Lua, mas se você quiser dar início a "este script", eu tento ajudar. Também, possivelmente, o Helder e o Raylton em coisas mais emergenciais, ou difíceis, eles podem prestar um "suporte" rs.

Notas editar

Elementos sintáticos idênticos e significados diferentes editar

A sintaxe usada na coleção parece dar significados diferentes a determinados elementos:

  • Declaração de capítulo: usa-se a sintaxe para definição de termos ;. Na coleção é entendido como "capítulo", no "livro" é entendido como "definição de termo" (como os elementos tipo HTML dt, etc.). Usaríamos uma sintaxe alternativa para indicar o capítulo? E qual seria?

Como pretende solucionar isso Abacaxi?

Recursos do Scribunto (Lua) editar

Dei uma breve leitura agora, parece que você pode usar:

Guiwp (Discussão)15h45min de 30 de dezembro de 2013
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

2. Não consegui visualizar ZIM pelo navegador. A ideia da versão HTML é poder visualizar no navegador e imprimir sem precisa de outro programa.

4. Se é possível para um script coletar dados de uma página, como lista de links, significa que é possível ler cor de uma predefinição.

Lua não é o problema. A dificuldade é saber como scripts do Mediawiki funcionam. Eu vi scripts em Lua e JavaScript espalhados em vários lugares. Por ser coisas sensíveis, só administradores podem mexer.

Abacaxi (Discussão)19h35min de 30 de dezembro de 2013
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

2. O ZIM precisa mesmo de um leitor próprio, já EPUB tem addon para navegador (significa que você pode ler no próprio navegador). E infelizmente, ainda o melhor documento para impressão é o PDF. HTML não foi feito para impressão, agora é que estão aliando CSS3 para poder, quem sabe, criar o tal "HTML para impressão". Mas isso é um assunto "longo", na internet tem muita coisa sobre isso.

4. Acredito que trabalhar diretamente com CSS seria mais interessante. No mais eu deixo Helder.wiki e Raylton P. Sousa comentarem sobre isso.

Guiwp (Discussão)20h18min de 30 de dezembro de 2013
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Em teoria poderíamos utilizar lua para ler a página de índice e processa-la conforme necessário. Só não sei qual a viabilidade disso. Provavelmente faríamos o mesmo processo que fazemos com javascript só que com uma linguagem diferente. Não é possível pular a etapa de criar coleção porque a coleção é padronizada e o índice não. Automação exige padronização.

A predefinição {{LivroPP}} parece interessante. Vou dar uma olhada nela em breveǃ

O resto comento logo maisǃ Abraçoǃ

Raylton P. Sousa qualquer coisa estou aqui! =D20h40min de 30 de dezembro de 2013
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Exato. O melhor é que o sistema possa ter uma sintaxe padronizada, e como a Collection não aceita que a lista seja gerada por transclusão, a única opção é que a sintaxe utilizada seja aquela reconhecida por essa extensão.

Os índices não eram feitos de forma padronizada, então mesmo o JavaScript que criei para facilitar a criação das coleções encontra problemas pelo caminho, que exigem correção manual...

Helder.wiki (Discussão)19h35min de 21 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Seria mais adequado atualizações automáticas, porque as páginas continuarão mudando com o tempo. O Raylton tinha um script que cria ou atualiza páginas de coleção de acordo com a página inicial.

Abacaxi (Discussão)18h16min de 26 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

E não foi esse o JS instável que eu mencionei no comentário anterior?

A propósito, já gerei a lista coleções/índices a atualizar... :-)

Helder.wiki (Discussão)18h41min de 26 de janeiro de 2014
 
 
 
 
 
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Abri o pedido de exportação em formato HTML no bugzilla:60300. Isso já havia sido sugerido no Tópico:Wikilivros:Plantão de dúvidas/Coleção de HTML e na mw:Extension:Collection/Wishlist#Output HTML.

O MediaWiki propriamente dito não tem nenhum outro recurso que gere o livro inteiro em HTML. Uma tentativa minha e do Raylton nesse sentido foi a mw:Extension:BookManager#Automatic print version, mas infelizmente ainda não temos uma versão que possa ser instalada nas wikis da WMF.

Outras opções seriam:

  • Abandonar o suporte a quem não tem/desativa JavaScript no navegador, e desenvolver um gadget que gere a versão HTML on the fly, quando requisitado pelo leitor, sem criar página alguma na wiki.
  • Utilizar links deste tipo para a Special:ExpandTemplates, que se encarrega de expandir o código wiki quando alguém clicar? A desvantagem é que no HTML resultante também aparece a interface da página especial...
Helder.wiki (Discussão)19h57min de 21 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Não acho difícil eles fazerem a versão HTML, porque seria só juntar todas as página em uma só e mostrar como versão de impressão. E a motivação é poder ver tudo ou imprimir sem precisar de software especial.

Sim, essas alternativas podem ser usadas temporariamente enquanto eles não implementam versão HTML. Mas seria bom atualizar para usar a coleção como base, em vez de Predefinição:Lista de capítulo.

Seria mais adequado usar domínio "Livro" em vez de "Wikilivros:Livro/...". Na Wikipédia, esse domínio é usado (Livro:Mitologia Grega). O trabalho será renomear tudo.

E qual seria o padrão proposto para índice e página inicial do livro? Como falei, seria adequado o editor se preocupar em editar em só um lugar. Os outros poderiam ser atualizados automaticamente ou por um robô que monitora as edições de índices.

Abacaxi (Discussão)13h54min de 22 de janeiro de 2014
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Difícil não é. Tanto que eu e o Raylton até incluímos um protótipo na extensão BookManager... A questão é que esse tipo de coisa, que só beneficia um dos projetos menores (ou seja, quase todos exceto a Wikipédia inglesa), costuma ser tratado como baixa prioridade. Então a não ser que a gente mesmo coloque a mão na massa, e escreve o código necessário, para que "eles" só precisem revisar, as coisas costumam andar bem lentamente...

Como disse em outro lugar, a discussão sobre o domínio específico para as coleções deveria ser continuada em um tópico específico.

Helder.wiki (Discussão)16h20min de 22 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Acrescentei ao Módulo:Book (antes chamado de "Módulo:Nav") uma função que gera a versão para impressão, e coloquei no lugar da predefinição que era utilizada na Predefinição:Versão para impressão automática.

Optei por ignorar (não transcluir, nem mencionar) eventuais links vermelhos que estejam na coleção, por não acrescentarem nada à versão impressa.

Helder.wiki (Discussão)20h32min de 23 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Para simplificar as coisas, acho que {{Versão para impressão}} poderia então ser movido para {{livro}}. Assim usaríamos só uma predefinição. Poderia ser colocado também o link de HTML em {{Livro gravado}} por ser um dos formatos também. Quando eles implementarem HTML pelo próprio MediaWiki é só substituir na predefinição.

Agora é saber qual é a melhor solução, para não ter que criar páginas "/imprimir". Posso ver Special:ExpandTemplates e o problema com a interface, mas não sei como ficaria aquela com JavaScript. Não sei se é possível, mas pode ser bom que a predefinição seja carregada numa página que esteja sendo prevista e ter algum bloqueio para evitar que ela seja salva. A vantagem é que a interface ficaria na parte debaixo.

Abacaxi (Discussão)22h06min de 23 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Que boa notícia Helder. Podemos colocar a {{Lista de capítulos}} em desuso agora né? Pelas minhas contas era só isso que faltava tornar a antiga predefinição obsoleta.

Raylton P. Sousa qualquer coisa estou aqui! =D22h29min de 23 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Creio que sim, mas é bom que testem em mais casos, para nos certificarmos de que está funcionando como deveria.

Helder.wiki (Discussão)23h00min de 23 de janeiro de 2014
 
 
 
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Acho que resolvi o nosso problema com mais uma gambiarra. Ela combina:

Provavelmente precisará de mais uns ajustes para ficar ótimo (e mover o CSS para o lugar ideal), mas por enquanto, o que acharam?

Helder.wiki (Discussão)22h59min de 23 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

Tô só de espectador, mas tô gostando de ver! rs

Guiwp (Discussão)02h04min de 24 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h26min de 17 de agosto de 2016

A {{Lista de capítulos/Imprimir}} tá obsoleta também? Vi alguns afluentes!

Raylton P. Sousa qualquer coisa estou aqui! =D02h31min de 24 de janeiro de 2014
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Parecem ser afluentes fantasmas...

Eu pensava que a atualização de afluentes ia para a fila de tarefas, mas conforme esta consulta à API, ela está vazia, mesmo havendo 27 afluentes que precisam ser corrigidos. Será que ela não está funcionando como deveria?

De qualquer modo, abrir cada página em modo de edição, e clicar em salvar (sem sequer alterar o código) costuma ser o suficiente para forçar a remoção da lista de afluentes (funcionou com Gramática inglesa estrutural/Imprimir e Alfabeto para crianças/Imprimir, por exemplo). Fiz isso com as páginas que faltavam, então não há mais transclusões.

Helder.wiki (Discussão)10h27min de 24 de janeiro de 2014
Editado por 2 outros utilizadores.
Última edição: 08h26min de 17 de agosto de 2016

Massa... Comecei a página de ajuda para documentarmos.

Ajudem-me!

Raylton P. Sousa qualquer coisa estou aqui! =D15h58min de 24 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Voltando ao assunto. Criei uma seção listando os erros conhecidos da navegação. E outra com os tópicos relacionados. Podem me ajudar a completar?

Raylton P. Sousa qualquer coisa estou aqui! =D16h22min de 25 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

A propósito, o mw:Manual:Pywikibot/touch.py pode ser útil caso apareça uma quantidade maior de páginas para atualizar futuramente...

Helder.wiki (Discussão)17h52min de 28 de janeiro de 2014
 
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Para mim do jeito que está está bom. O único bug aparece nas cores de código de livro de linguagem de programação: velho, novo. Mas é melhor do que manter páginas '/imprimir'.

Abacaxi (Discussão)15h31min de 25 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Suspeito que o problema seja o mesmo do bugzilla:39049, e que não podemos fazer nada a respeito localmente...

Helder.wiki (Discussão)15h51min de 25 de janeiro de 2014
 
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Uma pergunta, se a cor e aparência da navegação de livros específicos é definida pelo CSS, seria possível colocar um script que lê informações de páginas editáveis por usuários comuns para gerar o CSS? Da mesma forma que um script lê a coleção para fazer a navegação.

Abacaxi (Discussão)23h02min de 24 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

CSS não é nem deve ser editável por usuários comuns por questões de segurança.

Helder.wiki (Discussão)13h43min de 25 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

O que eu tinha falado era deixar o usuário colocar a informação na página da coleção, como cor de bordo e de preenchimento, e então o script lê a cor e faz a navegação ter essa cor. Poderia ser criado também múltiplos estilos de navegação e o usuário por na coleção qual estilo ele prefere.

Abacaxi (Discussão)14h50min de 25 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Curiosidade.

Sobre Citação: Helder escreveu: «CSS não é nem deve ser editável por usuários comuns por questões de segurança.»

Você fala no sentido de alguém mudar o visual de algum elemento para se passar por outro para pode fazer alguma coisa mal intencionada?

Pelo que me lembro do CSS, e pelo pouco que sei sobre ele (uso só os recursos básicos... rs), sei que ele não tem muitos recursos para permitir vazamento de informação e outras coisas...

Ou você também está se referindo a estabilidade do projeto, ex.: "estragar" o visual (acessibilidade também) seja por vândalos, seja por pessoas que não entendam muito de CSS... ?

Finalizando, acredito que possamos permitir, mas só a usuários cadastrados com um número mínimo de edições (assim como se faz para ser revisor, etc.).

Guiwp (Discussão)15h42min de 25 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

O CSS por ser aplicável ao site todo. pode torna-lo totalmente inutilizável. Ou até mesmo tornar impossível visualizar o site inteiro. Além de inserir informações falsas/promocionais que só poderiam ser desfeitas por pessoas com conhecimento especifico etc.

Raylton P. Sousa qualquer coisa estou aqui! =D16h18min de 25 de janeiro de 2014
 
Editado por 2 outros utilizadores.
Última edição: 08h27min de 17 de agosto de 2016

Ao contrário do CSS pessoal que cada usuário pode editar, o CSS que se aplica a todos os usuários só deve ser editável por usuários que tenham a permissão correspondente (atualmente, "editinterface"). Ver também as preocupações levantadas nos seguintes lugares:

Helder.wiki (Discussão)16h34min de 25 de janeiro de 2014
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Ao contrário do Guiwp, minha proposta não é deixar usuários editar CSS e sim a criação de um script que leia dados que o usuário colocar na página da coleção para dar mais customização à aparência do livro, como na navegação. Isso deixa o livro com uma cara mais única em vez de genérica.

Abacaxi (Discussão)17h59min de 25 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Que tipo de dados?

Helder.wiki (Discussão)18h26min de 25 de janeiro de 2014
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Poderia ter uma predefinição na coleção como esta

{{estilo
|modelo=1
|cor_da_borda=0000FF
|cor_de_preenchimento=B2FFFF
|cor_do_texto=0000FF
}}

e o script criaria barra de navegação com essas cores em vez do cinza padrão e usando um modelo dentro de um conjunto de modelos a ser definido.

Abacaxi (Discussão)18h51min de 25 de janeiro de 2014
 
 
 
Editado por outro utilizador.
Última edição: 08h27min de 17 de agosto de 2016

Como por gadget somos livre para usar JavaScript sem restrições (certo?), e JavaScript tem recursos para mexer com CSS através do DOM. Sim, é possível.

Guiwp (Discussão)15h46min de 25 de janeiro de 2014