Análisis [2]: Edición por secciones

Análisis de la edición de una página de la wiki por secciones.

La diferencia respecto a la implementación de la visualización por secciones es que en el caso de la edición, al salvar la página lo que se necesita es actualizar sólamente la sección editada.

Los pasos que he pensado para implementarlo han sido éstos:

  • nwikiparser.php::parse_header(): añadir un enlace similar al del tab ‘Edit’ a la derecha de cada cabecera de sección, hará falta quizás añadir alguna clase al CSS para que se muestre de un determinado tamaño y a la derecha. Hay que referenciar cuál es la (sub)sección a editar, he pensado en aprovechar $WS->anchor o similar a la de la visualización parcial.
  • Añadir un nuevo atributo a la clase wikistorage, por ejemplo $WS->dfformpartialcontent (similar a la existente $WS->dfformcontent)
  • En locallib.php::wiki_edit_content() y antes de imprimir el editor con el texto, comprobar si se trata de una edición parcial (con $WS->anchor o similar) y si lo es utilizar la función implementada para la visualización parcial wiki_filter_section(), modificando con el resultado de la función la variable $content_text que es la que se contiene el texto de la página y que ahora albelgará la sección correspondiente a editar.
  • La función wiki_edit_treatment() es la que se encarga de recoger los cambios en el texto. En el caso de que sea una edición parcial, recogerá la sección actualizada ($WS->dfformpartialcontent) y actualizará el texto original ($WS->dfformcontent) con dicha sección (con una wiki_update_section() por ejemplo), para luego guardarse en BBDD como en el caso de las ediciones totales.
  • 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: