Modelo de Datos de la Wiki

De MoodleDocs

MODELO DE DATOS

http://static.flickr.com/102/253139511_9907d8d152.jpg

Tabla mdl_wiki

La tabla ‘mdl_wiki’ contiene, las especificaciones de Moodle, una lista con todas las instancias de la Nwiki. Así, en cada fila, se guardan los datos de configuración de cada Nwiki.

Sentencia de creación

 CREATE TABLE ‘mdl_wiki' (
  `id` int(10) unsigned NOT NULL auto_increment,
  `course` int(10) unsigned NOT NULL default '0',
  `name` varchar(255) NOT NULL default '',
  `intro` text NOT NULL default '',
  `introformat` tinyint(2) unsigned NOT NULL default '0',
  `pagename` varchar(255) default NULL,
  `timemodified` int(10) NOT NULL default '0',
  `editable` tinyint(1) NOT NULL default '1',
  `attach` tinyint(1) NOT NULL default '0',
  `upload` tinyint(1) NOT NULL default '0',
  `restore` tinyint(1) NOT NULL default '0',
  `editor` varchar(40) NOT NULL default 'dfwiki',
  `groupmode` tinyint(1) NOT NULL default '0',
  `studentmode` tinyint(1) NOT NULL default '0',
  `teacherdiscussion` int(1) NOT NULL default '0',
  `studentdiscussion` int(1) NOT NULL default '0',
  `evaluation` varchar(40) default 'noeval',
  `notetype` varchar(40) default 'quant',
  `editanothergroup` tinyint(1) NOT NULL default '0',
  `editanotherstudent` tinyint(1) NOT NULL default '0',
  `votemode` tinyint(1) NOT NULL default '0',
  `listofteachers` tinyint(1) NOT NULL default '0',
  ‘editorrows’ integer NOT NULL default ’40’,
  ‘editorcols’ integer NOT NULL default ‘120’,
  PRIMARY KEY  (`id`),
  KEY `course` (`course`)
  )TYPE=MyISAM COMMENT='wiki table';

Descripción de los atributos

  • id es un campo autoincremental obligatorio de Moodle.
  • course indica a que curso pertenece la instancia.
  • name es el nombre con el que el estudiante reconocerá la instancia.
  • intro contiene la descripción de la wiki.
  • introformat
  • pagename es el nombre de la primera página, la cual se abrirá al acceder a la dfwiki a través del curso.
  • timemodified es un campo obligatorio de Moodle que indica la última modificación.
  • editable valdrá 1 si los estudiantes pueden editar les paginas en las cuales no se especifique y 0 en caso contrario.
  • attach indica si los estudiantes se les mostrará la opción de adjuntar archivos del servidor o no.
  • upload valdrá 1 cuando los estudiantes puedan subir archivos al servidor y 0 lo contrario.
  • restore indica si los estudiantes pueden restaurar una versión anterior de las páginas.
  • editor contiene el tipo de edición que se ha seleccionado para la dfwiki. Sólo puede tener tres valores: ‘dfwiki’, ‘ewiki’ i ‘htmleditor’.
  • groupmode indica el modo de grupo (explicado detalladamente en el punto 2.2.1)
  • studentmode permite especificar el modo de estudiante:
    • 0: "wiki comuna"(cuando estamos a modo de grupo Sin Grupos) ó "estudiantes en grupo" (cuando estamos en modo de grupo Grupos separados o Grupos visibles).
    • 1: "Estudiantes separados" (para cualquier modo de grupo).
    • 2: "Estudiantes visibles" (para cualquier modo de grupo).
  • teacherdiscussion indica si el profesor tiene permisos de discusión.
  • studentdiscussion indica si el estudiante tiene permisos de discusión
  • evaluation permite especificar el método de evaluación:
    • noeval: No se permiten evaluaciones
    • teachereval:Solo se permite evaluar a los profesores
    • studenteval: Pueden evaluar tanto los profesores como los alumnos
  • notetype permite especificar el tipo de evaluación:
    • qual: evaluación cualitativa
    • quant: evaluación cuantitativa
  • editanothergroup indica si los editores de un grupo pueden editar la wiki de otro grupo.
  • editanotherstudent indica si los estudiantes pueden editar la wiki de otro estudiante.
  • votemode indica si se tiene o no privilegios de voto o no.
  • listofteachers privilegio para que los estudiantes puedan ver la lista de profesores que participan en la wiki, y que permitirá a los estudiantes acceder y solo ver la pagina de cada profesor.
  • editorrows contiene el número de filas del editor ewiki o dfwiki para todas las páginas de la wiki.
  • editorcols contiene el número de columnas del editor ewiki o dfwiki para todas las páginas de la wiki.

Atributo groupmode

Sin grupos: cuando el atributo groupmode = 0. Contiene las siguientes opciones:

  • Wiki comuna: studentmode = 0. Para hacer una wiki comuna, tal y como viene en la dfwiki si escogemos el modo de grupo “sin grupos”. No habrá ningún desplegable que contenga ni estudiantes ni grupos.
  • Estudiantes separados: studentmode = 1. Cada estudiante editará su propia wiki, solo la podrá ver él i el profesor, el cual accederá mediante un desplegable que contendrá los diferentes estudiantes.
  • Estudiantes visibles: sudentmode = 2. Cada estudiante editará su propia wiki y además, otros estudiantes la podrán ver (o editar en caso que puedan) mediante un desplegable que contendrá todos los estudiantes.

Grupos separados: atributo groupmode = 1. Contiene las siguientes opciones:

  • Estudiantes en grupo: studentmode = 0. Tal y como viene en la dfwiki en el modo de grupo “Grupos separados”. Solo se consideran grupos en lugar de estudiantes. El wiki será común para el grupo y solo podrán acceder los estudiantes del grupo y el profesor, el cual accederá mediante un desplegable que contiene los grupos.
  • Estudiantes separados: studentmode = 1. Cada estudiante del grupo editará su propio wiki, y del grupo solo lo podrá ver él y su profesor, el cual accederá mediante dos desplegables, uno para escoger el grupo y otro para escoger el estudiante del grupo. Ningún otro estudiante del grupo podrá ver el wiki editado por otro estudiante del grupo.
  • Estudiantes visibles: studentmode = 2. Cada estudiante editará su propio wiki del grupo, y además podrá ver y editar el wiki de otro componente del mismo grupo, mediante un desplegable que contendrá los participantes del grupo.

Grupos visibles: atributo groupmode = 2. Contiene las siguientes opciones:

  • Estudiantes en grupo: studentmode = 0. Tal y como viene en la dfwiki en el modo de grupo “Grupos visibles”. Solo se consideran grupos en lugar de estudiantes. El wiki será común para el grupo y pueden acceder un estudiante del grupo y el profesor, el cual accederá mediante un desplegable que contiene los grupos. También podrán acceder otros estudiantes de otros grupos mediante el desplegable que contiene los grupos.
  • Estudiantes separados: studentmode = 1. Cada estudiante del grupo editará su propio wiki, solo lo podrá ver él y su profesor, el cual accederá mediante dos desplegables, uno para escoger el grupo y otro para escoger el estudiante del grupo. Ningún otro estudiante del grupo podrá ver el wiki editado por otro estudiante de su mismo grupo. Los estudiantes podrán ver los wikis hechos por otros grupos mediante un desplegable que contiene todos los grupos.
  • Estudiantes visibles: studentmode = 2. Cada estudiante del grupo editará su propio wiki, y además podrá ver y editar el wiki de otro componente del mismo grupo. Los estudiantes podrán ver los wikis hechos por otros grupos mediante dos desplegables que contienen los grupos y los participantes de cada grupo.

Tabla mdl_wiki_pages

La tabla ‘mdl_wiki_pages' contiene todas las páginas de las distintas Nwikis y todas sus versiones.

Sentencia de Creación

 CREATE TABLE `prefix_wiki_pages` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `pagename` VARCHAR(160) NOT NULL,
  `version` INTEGER UNSIGNED NOT NULL DEFAULT 0,
  `content` MEDIUMTEXT,
  `author` VARCHAR(100) DEFAULT 'wiki',
  `userid` int(10) unsigned NOT NULL default '0',
  `created` INTEGER UNSIGNED DEFAULT 0,
  `lastmodified` INTEGER UNSIGNED DEFAULT 0,
  `refs` MEDIUMTEXT,
  `hits` INTEGER UNSIGNED DEFAULT 0,
  `editable` tinyint(1) NOT NULL default '1',
  `highlight` tinyint(1) not null default 0,
  `dfwiki` int(10) unsigned NOT NULL,
  `editor` varchar(40) NOT NULL default 'dfwiki',
  `groupid` int(10) NOT NULL default '0',
  `ownerid` int(10) unsigned NOT NULL default '0',
  `evaluation` MEDIUMTEXT default NULL,
  PRIMARY KEY `id` (`id`),
  UNIQUE KEY `wiki_pages_uk` (`pagename`, `version`, `dfwiki`, `groupid`, `userid`, `ownerid`)
) TYPE=MyISAM COMMENT='holds the wiki pages';

Descripción de los atributos

  • id es el identificador de la página
  • pagename es el número original de la página.
  • version es el identificador de la versión, la versión original de una página es 1.
  • content contiene el texto íntegro de la página. De esta manera solo es necesario parsearlo para mostrarlo por pantalla.
  • author guarda el nombre del usuario (username) que ha realizado la edición de esta versión de la página.
  • userid contiene el identificador del autor de la versión de una página.
  • created contiene la fecha en que se editó la primera versión de la página.
  • lastmodified indica la fecha en que se va insertar la versión (la fila de la tabla.
  • refs contiene una lista de los enlaces que hay dentro de la página. La lista

se guarda con un carácter ‘|' separando el nombre de la página destino como si se realizara un implode sobre el vector de enlaces.

  • hits guarda el número de veces que se ha visitado la página.

Se actualiza en todas las versiones de la página a la vez.

  • editable vale 1 si la página puede ser editada por los estudiantes, y 0 de lo contrario.
  • highlight indica si se ha remarcado la versión (con color verde).
  • dfwiki guarda el id de la mesa ‘mdl_wiki' dónde hay la instancia de la wiki

a la cual pertenece.

  • editor contiene el tipo de edición que se ha seleccionado para la dfwiki. Sólo puede tener tres valores: ‘dfwiki’, ‘ewiki' y ‘htmleditor’:
    • dfwiki: usa la misma sintaxis de Wikipedia. Actualmente Wikipedia es la wiki más grande del mundo y contiene millones de documentos. Si los estudiantes están acostumbrados a usar otras wikis, es probable que prefieran este sistema ya que sigue los formatos estándar de wiki.
    • ewiki: la sintaxis para los documentos será como el antiguo módulo wiki de Moodle. Normalmente lo prefieren los estudiantes que ya han trabajado con Moodle antes. La sintaxis de ewiki puede resultar algo ambigua.
    • htmleditor: si queréis utilizar el sistema de edición estándar de Moodle (similar a los editores de Word y Oppen Office). Este sistema cancelará todas las utilidades de la wiki disparo de los enlaces internos y externos porque el editor ofrece soluciones visuales por dar formato a los documentos.
  • groupid indica a qué grupo pertenece esta página de la wiki.
  • ownerid contendrá el identificador id del usuario y servirá para saber a qué persona pertenece cada página wiki.
  • evaluation es la evaluación de la página.

Tabla mdl_wiki_synonymous

La tabla ‘mdl_wiki_synonymous' es dónde se guardan los sinónimos. Cada instancia de la wiki puede tener sus propias páginas con sus propios sinónimos.


Sentencia de creación

 CREATE TABLE `prefix_wiki_synonymous` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `syn` VARCHAR(160) NOT NULL,
  `original` VARCHAR(160) NOT NULL,
  `dfwiki` int(10) unsigned NOT NULL,
  `groupid` int(10) NOT NULL default '0',
  `ownerid` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY `id` (`id`),
  UNIQUE KEY `wiki_synonymous_uk` (`syn`,`dfwiki`,`groupid`, `ownerid`)
  ) TYPE=MyISAM COMMENT='holds the synonymous of wiki pages';

Descripción de los atributos

  • syn contiene el nombre sinónimo.
  • original contiene el nombre original de la página (el pagename de la tabla mdl_wiki_pages).
  • dfwiki es el identificador de la instancia (el anexo de la tabla mdl_wiki).
  • groupid indica a qué grupo pertenece el sinónimo.
  • ownerid estudiante al que pertenece la página. Si vale 0 pertenece a un grupo.


Tabla mdl_wiki_votes

La tabla ‘mdl_wiki_votes' almacena todas las votaciones que reciben las páginas de una wiki.

Sentencia de creación

 CREATE TABLE `prefix_wiki_votes` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `pagename` varchar(160) NOT NULL,
  `version` int(10) unsigned NOT NULL default '0',
  `dfwiki` int(10) unsigned NOT NULL,
  `username` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
  ) TYPE=MyISAM COMMENT='holds the votes of wiki pages';

Descripción de los atributos

  • id es el identificador de la votación.
  • pagename contiene el nombre de la página que ha sido votada.
  • version es la versión de la página que se ha votado.
  • dfwiki guarda la id de la tabla ‘mdl_wiki' donde está la instancia de la wiki a la que pertenece.
  • username contiene el nombre de user de la persona que ha dado el voto.