Modelo:Catalogacao

De CLASSE - Classificação de Software Educacional Livre
Ir para: navegação, pesquisa

Esta página se destina a apresentar uma proposta de catalogação para os programas educativos/educacionais a serem trabalhados neste wiki. Esta proposta leva em consideração alguns princípios em sua construção. São eles:

  1. Uso de extensões do MediaWiki que não alterem a infraestrutura do banco de dados da instalação deste wiki (i.e., o MySQL). Tecnicamente falando, não está previsto o uso de comandos SQL. Isto ajuda a diminuir o risco de ataques de injeção de SQL neste wiki e, ainda por cima, facilita a sua posterior atualização ou migração;
  2. Organização das informações segundo um critério base de programas por área (disciplina) proposta;
  3. Possibilidade de edição (e.g., inserção, exclusão e alteração) de entradas de catálogo em apenas uma página wiki. Isto não somente ajuda a ação dos que atuam na catalogação como favorece a consistência das informações com que se trabalha;
  4. Possibilidade de recuperação das informações da base de dados a partir de qualquer outra página hospedada neste wiki;

Como fazer em poucos passos

  1. Crie uma página wiki com as entradas do catálogo. Dada uma disciplina, a página wiki deve se chamar Entrada:NomeDaDisciplinaSemAcentosEComIniciaisEmMaiusculas;
  2. Crie uma página wiki de índice para visualização. Esta página deve buscar as informações do catálogo criado no passo anterior e deve se chamar Indice:NomeDaDisciplinaSemAcentosEComIniciaisEmMaiusculas. Embora opcional, este passo é importante para testar se tudo está funcional e para manter em wiki um índice mais genérico das informações tais como registradas;
  3. Recupere as informações de um catálogo. Crie um página wiki qualquer e informe que se deseja buscar as informações armazenadas na página wiki criada no primeiro passo usando a marcação wiki {{:Entrada:NomeDaDisciplinaSemAcentosEComIniciaisEmMaiusculas#Base_de_dados}}. Veja algumas opções testadas de visualizações nesta seção. Em especial, atente-se para o uso de marcações div do HTML a fim de impedir a visualização da própria página wiki com as entradas do catálogo.

Alguns exemplos

Extensões usadas

  • Uma página wiki no formato Entrada:<NOME-DA-DISCIPLINA> que representa uma base de dados simples contendo um conjunto de entradas de programas de uma determinada disciplina (obrigatório);
  • Uma página wiki no formato Indice:<NOME-DA-DISCIPLINA> que serve de visualização das entradas armazenadas em Entrada:<NOME-DA-DISCIPLINA> (opcional).


Para criar um catálogo, dois passos devem ser realizados:

  1. Criar uma página wiki com as entradas (obrigatório)
  2. Criar uma página wiki de índice para visualização de um catálogo (opcional)


Passo 1: Criar uma página wiki com as entradas (obrigatório)

Criação de uma página wiki que representa um arquivo com as entradas de catalogação para uma disciplina <NOME-DA-DISCIPLINA>. Cada entrada do catálogo tem o seguinte formato:

{{#arraydefine:NomeSemEspacosEAcentosComIniciaisEmMaiusculas|
<nome_do_programa>,
<breve_descricao>,
<pagina_web>,
<referencia_local_para_este_wiki>
}}

Onde:

  • NomeSemEspacosEAcentosComIniciaisEmMaiusculas: índice da entrada;
  • <nome_do_programa>: nome do programa. Por convenção, o seu valor é igual a NomeSemEspacosEAcentosComIniciaisEmMaiusculas
  • <breve_descricao>: texto sumário que descreva o programa;
  • <pagina_web>: página Web;
  • <referencia_local_para_este_wiki>: referência para este wiki em formato MediaWiki, isto é, antecedido por dois colchetes ("[[") e precedido por dois colchetes ("]]").

Atenção: todos os campos de uma entrada do catálogo não devem conter vírgulas!


A página wiki com as entradas do catálogo deve apresentar a seguinte estrutura (atenção: troque <NOME-DA-DISCIPLINA> por um NomeSemEspacosEAcentosComIniciaisEmMaiusculas):

{{#ifeq: {{#explode: {{PAGENAME}}|:|0}} | Entrada |
Voltar para [[Indice:<NOME-DA-DISCIPLINA>]] |
}}

== Base de dados ==

{{#ifeq: {{#explode: {{PAGENAME}}|:|0}} | Entrada |
<center>'''AVISO: Para enxergar as definições das entradas da base de dados
deste índice, edite esta página.</center>

Após entrar em modo de edição, gere uma entrada conforme o modelo abaixo:
<pre>
{{#arraydefine:NomeSemEspacosEAcentosComIniciaisEmMaiusculas|
<nome_do_programa>,
<breve_descricao>,
<pagina_web>,
<referencia_local_para_este_wiki>
}}
</pre> |
}}


<!-- inclusão automática: inicio-->
<div class="NavFrame collapsed" style="border-style: none;">
  <div class="NavHead" style="background: none;"></div>
  <div class="NavContent" style="text-align:left;">

{{#arraydefine:ProgramaDeExemplo1|
ProgramaDeExemplo1,
Breve descrição do programa de exemplo 1,
N/A,
N/A
}}

{{#arraydefine:ProgramaDeExemplo2|
ProgramaDeExemplo2,
Breve descrição do programa de exemplo 2,
N/A,
N/A
}}

...

{{#arraydefine:ProgramaDeExemploN|
ProgramaDeExemploN,
Breve descrição do programa de exemplo N,
N/A,
N/A
}}

</div>
</div>

Passo 2: criar uma página wiki de índice para visualização do catálogo (opcional)

A página wiki de índice para uma disciplina <NOME-DA-DISCIPLINA> deve apresentar a seguinte estrutura (atenção: troque <NOME-DA-DISCIPLINA> por um NomeSemEspacosEAcentosComIniciaisEmMaiusculas):

Voltar para [[Indice:Geral]]


= Índice: <uma_descricao_da_disciplina> =

<center>'''Para definir novas entradas da base de dados deste índice, acesse
[[Entrada:<NOME-DA-DISCIPLINA>|esta página]] diretamente.'''</center>

<!-- inclusão automática: inicio-->
<div class="NavFrame collapsed" style="border-style: none;">
  <div class="NavHead" style="background: none;"></div>
  <div class="NavContent" style="text-align:left;">

<center>'''ATENÇÃO: O conteúdo da seção abaixo foi obtido
[[Entrada:<NOME-DA-DISCIPLINA>|desta página]]. Para alterá-lo,
[[Entrada:<NOME-DA-DISCIPLINA>|edite-a diretamente]].</center>

{{:Entrada:<NOME-DA-DISCIPLINA>#Base_de_dados}}
  </div>
</div>
<!-- inclusão automática: fim-->

== Visualização da base de dados ==

* {{#arrayprint:ProgramaDeExemplo1}}
* {{#arrayprint:ProgramaDeExemplo2}}

...

* {{#arrayprint:ProgramaDeExemploN}}

<a name="visualizacao_catalogo"></a>

Para visualizar as informações de um catálogo de uma disciplina <NOME-DA-DISCIPLINA> previamente criado em outra página wiki qualquer, é preciso primeiramente indicar de qual catálogo se pretende buscar as informações. Isto é realizado adicionando as seguintes linhas abaixo:

<!-- inclusão automática: inicio-->
<div class="NavFrame collapsed" style="border-style: none;">
  <div class="NavHead" style="background: none;"></div>
  <div class="NavContent" style="text-align:left;">

<center>'''ATENÇÃO: O conteúdo da seção abaixo foi obtido
[[Entrada:<NOME-DA-DISCIPLINA>|desta página]]. Para alterá-lo,
[[Entrada:<NOME-DA-DISCIPLINA>|edite-a diretamente]].</center>

{{:Entrada:<NOME-DA-DISCIPLINA>#Base_de_dados}}
  </div>
</div>
<!-- inclusão automática: fim-->

Supondo que, na base de dados Entrada:NomeDaDisciplina, tem-se somente a seguinte entrada:

{{#arraydefine:ProgramaDeExemplo1|
NomeDoProgramaDeExemplo1,
Programa de exemplo 1,
http://programa.exemplo.org,
[[ProgramaExemplo1Link]]
}}

Para apenas imprimir a entrada descrita acima, use o seguinte comando:

{{#arrayprint:ProgramaDeExemplo1}}

Como resultado, tem-se:

NomeDoProgramaDeExemplo1, Programa de exemplo 1, http://programa.exemplo.org, ProgramaExemplo1Link

Onde ProgramaExemplo1Link se apresenta como uma referência para outra página dentro deste wiki (não mostrada acima).

Para criar uma tabela com as informações da entrada do programa ProgramaDeExemplo1 (mostrada acima), tem-se a seguinte descrição de página wiki:

{|align="center" border="1"
| align="center" | <b>Nome</b>
| align="center" | <b>Descrição curta</b>
| align="center" | <b>Página</b>
| align="center" | <b>Página CLASSE</b>
|-
{{#arrayprint:ProgramaDeExemplo1||@@@@|<nowiki/>
! <font style="font-weight:normal;"> @@@@</font>}}
|}