Análisis [3]: bloque y nube de categorías

En el argot wiki, una categoría es un grupo de páginas relacionadas en un mismo namespace o espacio de nombres. Esto significa que es una manera de agrupar páginas relacionadas bajo un mismo nombre.

En MediaWiki, el software que hay debajo de la Wikipedia, para definir que una página pertenezca a una determinada categoría se utiliza la expresión [[Category:Nombre_categoría]] al final de la página.

Como se ha introducido anteriormente, en NWiki las categorías se van a guaradar en una única página (nwiki-categories) en forma de lista de este estilo:

=categoria1=
· [[pagina1]]
· [[pagina2]]
· [[pagina3]]
=categoria2=
· [[pagina4]]
· [[pagina5]]
=categoria3=
· [[pagina6]]

Entonces, lo que habría de implementarse sería lo siguiente:

  • locallib.php::wiki_edit_treatment(): analizar si existe la marca [[Category:nombre_categoria]] y en el caso de que sí exista:
    • Comprobar que exista esa categoría en el fichero de categorías.
    • 1. Si existe, comprobar que la página está en dicha categoría.
      • 1.1. si está, no hacer nada.
      • 1.2. si no está, añadir la página.
    • 2. Si no existe, crear la categoría y añadir la página a esa categoría.
  • nwikiparser.php::
    • Añadir la expresión regular que encaja con las categorías en $regex y el nombre de función parse_category
    • parse_category(): al encontrar una tag de categorías, si se trata de una visualización se lo salta para que no se imprima. En caso de que se edite la página, se imprime.
  • Crear un moodle-bloque para mostrar la lista de categorías:
    • Crear una clase block_wiki_categories.php en $MOODLE_HOME/blocks/wiki_categories/
    • Sobrecargar el método get_content(), en el objeto $content definir el atributo $content->text de tal manera que cargue los nombres de las categorías del fichero de categorías y cree un enlace a dicha categoría para así mostrar las páginas que pertecnecen a ella.
    • Estudiar otras características a implementar en el bloque.
  • Crear un fichero wiki_tag_cloud.php que muestre los nombres de las categorías con tamaños relativos proporcionales al número de páginas que hay por categoría. Estudiar algún tipo de caché para hacer la funcionalidad más ligera.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: