Utilizador:Raylton P. Sousa/Tarefas: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Movendo essa parte da página para Utilizador:Raylton P. Sousa/BookManager wireframe
Linha 179:
 
== AutoNav ==
Ver [[Utilizador:Raylton P. Sousa/BookManager wireframe|BookManager wireframe]]
=== Links uteis ===
*[[:mw:Manual:Tag extensions]]
*[[:mw:Manual:Parser functions]]
*[[:mw:Manual:Hooks]]
*[[:mw:Manual:Special pages]]
*[[:mw:Manual:Skins]]
*[[:mw:Manual:Magic words]]
**[[:mw:Manual:Variable]]
*[[:mw:Manual:Wg variable]]
*[[:mw:API]]
* Ferramentas para fazer buscas no código fonte do MediaWiki:
** [http://toolserver.org/~krinkle/wikimedia-svn-search/ Wikimedia SVN Search] ([http://toolserver.org/~krinkle/wikimedia-svn-search/?path=%2Ftrunk%2Fphase3&searchphrase=subPageSubtitle&recursive=on exemplo])
** [http://www.google.com/codesearch Google Code Search] ([http://www.google.com/codesearch/p?hl=pt-BR#umfxHfkFPFE/phase3/includes/Skin.php&q=subPageSubtitle%20package:%22http://svn.wikimedia.org/svnroot/mediawiki/trunk%22&sa=N&cd=1&ct=rc&l=1169 exemplo])
=== Parte 0(planejamento) ===
*Inspirar-se na [[mw:Extension:Proofread Page]] e seu comando [[s:en:Help:Side_by_side_image_view_for_proofreading#Transclusion|<pages index="nome_do_arquivo.djvu" from=20 to=40/>]] {{feito}},(não vejo muito utilidade para essa funcionalidade no contexto, mas muita coisa serve como inspiração)
*Observe que antes de converter AutoNav para PHP deve-se resolver a maioria dos problemas do AutoNav atual e testar amplamente, para que o PHP sirva somente para melhorar o que já foi feito e facilitar a interação com o usuário sem necessidade de JS.{{feito}}
=== Parte 1(variáveis) ===
*Escrever AutoNav com PHP (descobrir um jeito de fazer de forma linear) {{feito}}
*Escrever Autonav com PHP+MediaWiki {{feito}}
*Criar variável PHP que defina ou detecte o prefixo onde a lista de capítulos pode ser encontrada (ex: ''<code>Livro:</code> , <code>Wikilivros:Livros/</code>''){{feito}}(parcialmente)
**Descobrir se o Namespace funciona sem prefixo definido.
*Criar variável <nowiki>{{ROOTPAGENAME}}</nowiki>(e sua respectiva função que indicará o nome do livros onde a lista pode ser encontrada){{feito}}
*Descobrir como utilizar a extensão Collection para gerar uma lista de páginas {{feito}}
*Criar variável <nowiki>{{PREVPAGENAME}}</nowiki> e <nowiki>{{NEXTPAGENAME}}</nowiki>{{feito}}
*Criar versão codificada da variável com os nomes: <nowiki>{{PREVPAGENAMEE}}</nowiki>, <nowiki>{{NEXTPAGENAMEE}}</nowiki> e <nowiki>{{ROOTPAGENAMEE}}</nowiki>{{feito}}
*Criar variável PHP que limite o numero máximo de páginas da lista(embora com a nova abordagem do código numero máximo para que a página comece a ficar lenta tenha aumentado muito, é preferível que haja uma opção como essa para evitar algum tipo de vandalismo ou atraso). Levar em conta que os livros criados com a extensão collection podem ter no máximo 500 capítulos ([http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Collection/Collection.php?view=markup#l86 $wgCollectionMaxArticles = 500]). Então para manter a compatibilidade entre as extensões, os limites devem ser mantidos iguais entre as duas.
*Criar respectivas variáveis JS globais(baixa prioridade, deve vir desativada por padrão)
 
=== Parte 2(barra de navegação) ===
*Criar uma navegação(gráfica) superior e inferior que seja definida em uma mensagem do sistema (ver [[mw:Extension:PageNotice]]) {{feito}}
*Criar configuração de namesapace semelhante a [[mw:Extension:ReaderFeedback]]{{feito}}(na [[rev:83150]] e corrigido na [[rev:83164]])
*Criar versão que adicione o html diretamente caso nenhuma mensagem seja definida {{feito}} (na [[rev:83706]])
*Criar folha de estilo para formatar navegação.{{feito}}
*Criar JS para acessibilidade a partir do teclado.{{Feito}}(na [[rev:84906]]. Falta saber o que há de errado com o ResourceLoader)
**Descobrir o motivo daquele(s) bug(s) contemporâneo(s) ao ResourceLoader.
 
=== Parte 3(correção de bug do mediawiki) ===
*Corrigir bug nas variáveis [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/parser/CoreParserFunctions.php?view=markup#l350 <nowiki>{{BASEPAGENAME}}</nowiki>] [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/parser/CoreParserFunctions.php?view=markup#l344 <nowiki>{{SUBPAGENAME}}</nowiki>] que tratam somente as barras "/", sem observar se as páginas exitem ou não (feito atualmente com [http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/ParserFunctions/ParserFunctions_body.php?view=markup#l322 #ifexist] nas predefinições {{tl|EXISTBASEPAGENAME}} e {{tl|EXISTSUBPAGENAME}}). <s>Isso será feito na extensão, mas idealmente deveria</s> deve ser adicionado ao núcleo do mediawiki dentro das respectivas variáveis e sem qualquer parâmetro extra (visto que exitem maneiras muito rápidas de detectar esse tipo de coisa, como alias [http://toolserver.org/~krinkle/wikimedia-svn-search/do-live.php?path=/trunk/phase3&recursive=on&searchphrase=subPageSubtitle&timestamp=1299262376#F4 já é feito no mediawiki])
**já criamos o código para o ''[[mw:Core|core mediawiki]]'' e enviamos para avaliação no [[bugzilla:27976]].
 
=== Parte 4 (revisão) ===
*Varrer código a procura de falhas...
*Seguir as [[:mw:Manual:Coding_conventions|convenções]] sempre que possível
*Utilizar [http://svn.wikimedia.org/svnroot/mediawiki/trunk/tools/code-utils/ ferramentas] para apurar erros
*Observar bugs em funcionalidades da extensão
*Em caso de duvida chamar o Helder com o ''Helder-Sinal''
 
=== Outras funcionalidades ===
*Criar primeiramente partes que não são suportas pela collection (como versão para impressão e categorização por prefixo).
*Criar pagina especial [[#|Special:Book render]] com a ação "type" ou "format" que indicará o formato de saída, exemplo: <code>&type=pdf</code>.
*Criar página especial [[#|Special:Chapters list]] que que irá conter as listas de capítulos (incluindo a ordem em que os capítulos vão ser analisados, por exemplo: alfabética, manual etc).
*Criar categorização por prefixo que será controlada pela variável $wgCategorizationByPrefix;(tipo "lógigo ou boolean").
*Criar menu lateral(sidebar) com as ferramentas dos livros.
*Criar variáveis <nowiki>{{RANDOMCHAPTER}}</nowiki>, <nowiki>{{RANDOMBOOK}}</nowiki>, <nowiki>{{NUMBEROFBOOKS}}</nowiki> e <nowiki>{{NUMBEROFCHAPTERS}}</nowiki>.
*Descobrir se é mais produtivo criar um layout de banco de dados separado ou tentar utilizar categorias(O que seria um impulso pra eu chatear os caras do irc pra melhorar as funcionalidades das categorias, ou até melhorar sozinho).
*Adicionar um JS e um CSS pra cada livro.
*Criar Uma página especial para listar os livros e algumas estatísticas e também proteger vigiar e detetar livros inteiros.
*Fazer com que as referencias espalhadas pelo livro possam ser visualizadas em uma unica pagina.
 
==Relativo aos Livros==
*Terminar [[Guia foca Linux]]