Inserció d’una pàgina a NWiki 16/04/2007
Posted by Albert in PFC.trackback
La funcionalitat més complicada que necessitem per a l’API és la inserció de pàgines. Per poder-ho implementar cal saber dues coses: què cal modificar de la base de dades i quins permisos s’han de comprovar.
Per inserir una pàgina cal afegir un nova fila a la taula wiki_pages. Podem diferenciar dos casos: quan és una pàgina nova o s’està actualitzant una existent. En el segon cas alguns paràmetres s’obtindran a partir de l’última versió de la pàgina. Els atributs s’assignen de la manera següent:
- pagename: el nom de la pàgina. S’han de tenir compte els sinònims, es pot mirar com ho fa la funció wiki_get_real_pagename.
- version: si és una pàgina nova és 1, sinó s’incrementa l’última versió.
- content: el contingut de la pàgina.
- author: el nom de l’usuari.
- userid: l’id de l’usuari.
- created: l’hora actual si és una pàgina nova, sinó el mateix que l’última versió.
- lastmodified: l’hora actual.
- refs: llista dels enllaços, per obtenir-los es pot fer amb:
$links = array();
foreach/wki_sintax_find_internal_links($content) as $link) {
$clink = wiki_clean_pagename($link);
$content = str_replace($link, $clink, $content);
$links[] = $link;
}
$res = wiki_internal_link_to_string($links); - hits: 0
- editable: si és una pàgina nova, copiar el valor del camp editable de la instància de la wiki, sinó copiar-lo de l’última versió de la pàgina.
- highlight: no assignar-lo, valor per defecte
- dfwiki: id de l’instànca de la wiki on s’insereix la pàgina.
- editor: nwiki.
- groupid: si és una pàgina actualitzada el copiarem de l’última versió, sinó assignaerm l’id del grup de l’usuari, que es pot obtenir amb:
SELECT g.id FROM group g, groups_members gmUn usuari pot pertànyer a més d’un grup? Si és així hauríem de deixar a l’usuari triar el grup.
WHERE gm.userid = $userid AND g.courseid = $courseid AND gm.groupid = g.id
- ownerid: l’id de l’usuari si és una pàgina nova, sinó el mateix de l’última versió de la pàgina.
- evaluation: no s’assigna, valor per defecte.
Ara cal investigar sobre els permisos…
Comentaris»
No comments yet — be the first.