Accions

teixidora

Lab/Bots/Importar desde etherpads/3

De teixidora

< teixidora:Lab‎ | Bots‎ | Importar desde etherpads
Antu automated-tasks.svg

Bot Importador desde etherpads[ ]

Millores a fer - Novembre-Desembre 2020

Otras fases de desarrollo: 1 · 2 · 3

Sistema de importación de contenidos desde etherpads a Teixidora.

  • Nombre:
  • Licencia: AGPL
  • Repositorio:
  • Tarea/s


Correcciones[ ]

Mejoras[ ]

  • Al importar ignorar texto después de doble barra: el texto después de doble barra // se considera comentario y se ignora en la importación. Tanto si es a inicio de línea como si es dentro de una línea. Incluso en los títulos heading. Tarea: PENDIENTE de definir
    • La detección de labels en un heading tiene que hacerse sobre el texto que hay antes de la doble barra. Esto resulta útil para pads que tienen subtítulos multilingües separados por barras.
    • Ojo con la doble barra de las URLs
  • Limpiar subtítulos al importar. No copiar en el wiki los subtítulos que corresponden a labels de los que se ha extraído contenido para los parámetros de la plantilla. Tampoco copiar los subtítulos que no son labels pero que son contenedores de ellas y que, por lo tanto, en la importación quedan vacíos en los apuntes (Diagnóstico, Resultados, Metadatos - ver Teixidora:Pads) Tarea: PENDIENTE de definir
  • No duplicar valores al re-importar. El bot se puede re-activar para que vuelva a importar contenidos del pad una vez ya lo ha hecho (por si se ha mejorado el pad). En ese caso sobre-escribe los apuntes (a no ser que haya edición humana en el wiki) y añade los contenidos de metadatos y demás a los que ya están en el wiki. Esto produce duplicidades. Si por ejemplo ya hay palabras clave añade las que hay en el pad aunque sean las mismas. Tendría que tomar los valores del parámetro del wiki, tomar los del pad y sólo añadir los que faltan. Tarea: PENDIENTE de definir
    • Esto también pasa si antes de hacer la importación ya teníamos valores en el wiki. Por ejemplo en eventos multisesión en los que ya nos han puesto algunas palabras clave en la hoja de cálculo inicial. O cuando ya nos han puesto los intervinientes confirmados.

Problemáticas a resolver[ ]

  • Pads multilingües
    • Labels multilingües. Ahora en el pad pueden ser del tipo "Reptes // Retos // Challanges" pero ¿en qué idioma se escriben? Si se escriben en 3 idiomas igual necesitamos separar en headings distintos "Reptes", "Retos", "Challanges" para que corresponda a un label concreto y se importe separado. ¿Como lo hacemos? ¿Se cambia manualmente para cada pad? ¿Se indica una opción en el formulario de Eventos MS y el bot que crea los pads lo separa?
    • Apuntes multilingües. Cuando los apuntes libres (no información estructurada) se hace en varias lenguas. ¿Como identificamos la lengua de la línea de texto? ¿Como mantenemos esta identificación dentro del wiki sin que moleste en la lectura pero que el Bot corrector lo pueda usar?
      • Posibilidad: que en apuntes multilingües se ponga arroba seguida de identificador de idioma al empezar la línea "@es ejemplo de texto...", "@ca exemple de text". Tendríamos que buscar una forma de que al importar esto quede oculto en el texto o bien que se convierta en una plantilla que indique el idioma.

Generalitzación del Bot[ ]

Actualmente[ ]

  • El Bot importa contenidos de un pad a una página ya existente en Teixidora de tipo "esdeveniment"
  • La página existente debe contener el enlace al pad
  • La importación se activa con una opción en la página del wiki a través del formulario de edición
  • El bot identifica qué headings del pad corresponden a textos en Usuari:TeixidoraBot/Labels y los extrae para ponerlos como valores de los parámetros equivalentes de la plantilla "Esdeveniments pr"
  • El resto de los apuntes los importa en una subpágina de apuntes que crea para la ocasión
  • Al final marca la importación con el valor "FET" en un parámetro de la plantilla "Esdeveniment pr"

Generalización[ ]

  • 1. Cualquier tipo de página. No sólo importar a las páginas de "Esdeveniment", también a otras: "Projecte", "Organització", "Persona", "Publicació" y la de nueva creación "Concepte"
  • 2. Crear páginas. No sólo importar contenidos a una página existente, también crear páginas nuevas.
  • 3. Contenidos de varias páginas en el pad. En un solo pad que pueda a ver contenidos de varias páginas. Por ejemplo para crear páginas de varios conceptos o varios proyectos.
    • Cortar cuando encuentre --/*/
  • 4. No sólo Teixidora. Que se pueda importar a otros wikis semánticos y, eventualmente, a otros wikis no semánticos con plantillas o a otros sistemas web o datasets con algún tipo de estructura de datos.

Cuestiones a resolver[ ]

  • 1. Cualquier tipo de página.
    • ¿Señalar de alguna forma en el pad a qué tipo de página hay que importar? Sí
    • ¿Usamos la misma página labels para hacer la correspondencia heading=parámetro de todos los tipos de página o creamos una página para cada tipo? Creamos una para cada tipo, o sea para cada plantilla. Podemos mantener una compartida. Usamos Usuari:TeixidoraBot/Labels y subpáginas como Usuari:TeixidoraBot/Labels/Project
  • Además: ver como añadir contenido explicativo o estructura (subtítulos, enlaces) a la página Labels
  • 2. Crear páginas.
    • Detectar si la página ya existe. Lo hacemos a través del título? El título de página o también el parámetro que lleva el título? (en caso de eventos el título lleva además la fecha)
    • Si la página no existe ¿dónde activamos que el bot importe y de qué pad debe tomar la información? ¿Creamos una interfaz de importación de páginas como tenemos uno de importación de Agendas?

Posible solución:

  • Dar control en el wiki de si queremos que (a) re-escriba el contenido (b) respete el del wiki (c) que interseccione y complete - para listas (d) que ponga el contenido como texto comentado e indique en la página que hay que resolver esta cuestión
  • Hacerlo a nivel de página y a nivel de wiki en genral
  • 3. Contenidos de varias páginas en el pad.
    • ¿Por dónde cortamos? ¿Como identificamos que empieza y acaba el contenido de una página a la que importar o que se tiene que crear? ¿Usamos heading-1 para saber que empieza una página? ¿O bien algún signo?
  • 4. No sólo Teixidora.
    • ¿Un sólo Bot o un Bot para cada wiki?
    • El bot tiene que mirar una página lablels con las correspondencias de headings-parámetro y saber a qué plantilla de qué página tiene que importar
    • Suponemos que el wiki receptor tiene una preparado lo necesario para que se importe
    • ¿Ofrecemos un cron que active los Bots para los distintos wikis? ¿Pueden otros administradores tener sus propios Cron?
    • ¿Dónde se activa la importación? En principio el control de activación debería estar en cada wiki.

Necesidades experimento Teixidora-Remix 12/2020[ ]

Necesidades inmediatas para importar conceptos trabajados conjuntamente en pads a los wikis Teixidora y Remix the commons

  • 1. Importar a las páginas "Concept" de Remix y a las nuevas páginas "Concepte" de Teixidora
  • 1. Como tratar las lenguas distintas? Buscar la lengua adecuada al wiki receptor en el pad? Si el wiki receptor admite varias lenguas debería tener un heading por idioma o podría usarse un identificador tipo @es?
  • 1. Como tratar información adjunta a un contenido. Por ejemplo una definición que procede de ALGARRA, como ponemos la referencia en el pad y como la extraemos para usar la autoría en el campo "otras definiciones" del wiki?
  • 1. ¿Y si la referencia es al origen de la definición en otro wiki? Si importamos un texto que procedía de Remix y acaba en Teixidora, lo indicamos de alguna forma? En la página o en el resumen de edición?
  • 2. Poder crear páginas que no existan
  • 2. Buscar una forma de activar la importación
  • 3. A ser posible poder trabajar varios conceptos en un mismo pad (se podría trampear con un pad de índice y trabajar cada concepto en un pad distinto pero será poco operativo)
  • 4. Tener una página de labels para Conceptes en Teixidora y también en Remix
  • 4. Tener en Remix un usuario de Bot que pueda escribir
  • 4. Hacer que el bot compruebe labels en Remix y pueda importar.