Saltar para o conteúdo

Wikinotícias:Substituição

Fonte: Wikinotícias


Substituição é uma função que permite, quando um editor publica (salva) uma página, que um item escrito em wikitexto seja substituído permanentemente pelo código-fonte presente no item naquele momento de publicação da página. Em particular, uma predefinição pode ser substituída, em alternativa à transclusão. A diferença é que quando uma predefinição é substituída em uma página, o seu aspecto nessa página não será mais afetado por mudanças posteriores feitas à predefinição em si. Em outras palavras, uma corresponde à cópia permanente do conteúdo de uma página noutra e a outra reflete a atualização do conteúdo da página transclusa nas páginas onde está transcluída.

O mais comum é aplicar a substituição de predefinições em páginas de variados domínios. Para substituir uma predefinição, adicione o modificador subst: após as chaves de abertura, ou seja, {{subst:nome da página}}. Por exemplo, para substituir a Predefinição:Mostrar previsão use {{subst:mostrar previsão}}, em contraste à transclusão: {{mostrar previsão}}.

Além disso, esta página lista predefinições que devem sempre ou nunca serem substituídas, exceto no domínio Wikipedia. Ferramentas automáticas (robôs) que realizam tais substituições nunca devem ser usadas nas páginas das predefinições originais.

Sobre o subst

[editar código-fonte]

A palavra mágica subst: (abreviação de "substituição") é usada como prefixo dentro de códigos de predefinição. Ela altera o modo como o software expande a predefinição. Normalmente, uma predefinição será expandida durante o uso; ou seja, o código da predefinição em uma página chama uma página diferente cada vez que ela é formada. Embora a maioria das exibições de página sejam advindas do cache, as páginas precisam ser formadas para previsões, e formadas novamente quando a página é alterada. Quando alguém está editando uma página com uma chamada "normal" de predefinição (transclusão), eles veem a chamada da predefinição. Adicionar "subst:" dentro das chaves diz ao software para substituir permanentemente a predefinição com o texto da predefinição (por exemplo, o texto que está na página do artigo da predefinição quando a predefinição é adicionada à página). Logo {{predefinição}} se torna {{subst:predefinição}}, até a página ser salva. O próximo editor não vê a chamada da predefinição, mas o texto da predefinição de quando você salvou; ele não muda, mesmo se a predefinição o fizer.

Você pode substituir uma predefinição adicionando "subst:" a ela. Por exemplo, use {{subst:teste5}} ao invés de {{teste5}}.

Tratando-se do componente principal de uma edição, recomendamos que a predefinição seja mencionada no sumário de edição. Por exemplo, coloque "{{subst:teste}}", "subst:teste" ou "teste aplicado" em seu sumário de edição, para que outros editores possam saber facilmente o que você fez.

Adicionalmente, ao criar ou editar predefinições que geralmente são substituídas, adicionar um comentário em HTML à página da predefinição ajuda editores a ver como as predefinições estão sendo usadas (ex. <!-- Substituído de Predefinição:Documentação -->).

  • Muitas vezes predefinições são modificadas ou eliminadas. Se uma predefinição é texto clichê, considere se você quer que ele varie conforme a predefinição é modificada. Se a sua resposta for "não", a substituição é justificada. Um exemplo disto é a predefinição {{bem-vindo}}. Os arquivos de discussão de uma página de usuário devem ser a real mensagem que o usuário recebeu, não a mensagem de boas-vindas usada atualmente.
  • Se há uma predefinição que você gostaria de modificar para uma única ocasião, mas você não quer alterar a predefinição para todas as páginas, sem torná-la uma nova predefinição, você pode substituir a predefinição e depois com uma segunda edição, realizar as modificações. Por exemplo: uma predefinição pode ser usada para todos os estados dos Estados Unidos e com o Distrito de Colúmbia. A predefinição pode estar correta para os estados, mas imprecisa para DC. Para corrigir isto, você pode substituir a predefinição, e depois alterá-la.
  • Substituir predefinições muito usadas, mas desprotegidas (das quais há poucas) limita o dano que pode ser causado ao vandalizá-las.
  • Usar a substituição em massa talvez acelere o sítio, embora o quanto e a importância disto seja alvo de debates frequentes. Sempre que uma página é formada, o servidor precisa buscar o conteúdo de outra página, e fará isto para cada predefinição utilizada; enquanto que cada predefinição, individualmente, possui pouco efeito, o vasto número de predefinições usadas em determinadas seções da Wikipédia afeta a carga sobre o servidor e o tempo de acesso aos artigos. No entanto, o Chief Technical Officer Brion Vibber (quem "mantém a responsabilidade geral para todas as funções técnicas da fundação, incluindo ambos hardware e software") disse: Predefinição:" 'Políticas não devem importar-se de verdade com a carga do servidor, exceto no mais extremo dos casos; manter tudo configurado para fornecer o que a base de usuários precisa é o nosso trabalho."

Desvantagens

[editar código-fonte]
  • Uma vez que uma predefinição é substituída, o resultado não é mais ligado à predefinição, tornando difícil encontrar todas as páginas exibindo o seu resultado, embora categorizações possam evitar isto. Este problema também pode ser evitado, facilmente, ao incluir uma ligação à predefinição no código da predefinição.
  • Uma predefinição substituída não é atualizada quando a predefinição for.
  • Se a predefinição é usada para padronizar alguma experiência, você realmente não quer a substituição. Um exemplo disto é uma tabela de conteúdos ou uma caixa de navegação.
  • Substituições em massa, editando milhares de artigos com robôs, retarda o sítio e gasta recursos do servidor.
  • Substituições aumentam o tamanho de artigos no banco de dados, e nas descargas do banco de dados.
  • Uma predefinição substituída pode adicionar muito código wiki ou HTML ao artigo, ferindo a acessibilidade, principalmente para os usuários menos familiarizados.
  • Evita que novatos aprendam a usar predefinições, e de encontrar a sua documentação.
  • Se a predefinição só está sendo usada temporariamente, é melhor não substituí-la. Substituições são muito difíceis de remover ou modificar.
  • Quando uma predefinição vandalizada é substituída, é mais difícil reparar os danos devido à falta de ligação entre a predefinição e suas incarnações, somadas à falta de atualizabilidade.
  • Algumas metapredefinições, como {{((}}, não funcionam se elas são substituídas.

O modificador safesubst:

[editar código-fonte]


O modificador subst: pode ser substituído pelo modificador alternativo safesubst:. As duas tem o mesmo modo de actuação, excepto quando eles são encontrados durante expansão não substituída (transclusão ou mostrar directo) da predefinição. Nesta situação, o código {{subst:...}} mantém-se sem ser processado, ao invés de {{safesubst:...}} que é tratado como se nenhum modificador estivesse presente (por isso a subpredefinição é transcluída ou a váriavel ou função de parser é evaluada).

Assim o modificador safesubst: é usado no código da predefinição que foram criadas para produzir substituição recursiva quando são substituídas, mas também são feitas para funcionar quando são transcluídas – ou simplesmente vistas diretamente. Utilizando o básico subst: em tais predefinições deve quebrar a transclusão (e possivelmente visualização direta). Para mais detalhes sobre como implementar isto (em particular, como prevenir a substituição de ser feita logo que a predefinição é salva).