CommunityFiliator, reorganizando estructuras de comunidades

Aviso a navegantes, éste puede considerarse un post «raro». Si quedaste extrañado cuando explicamos el structure-builder, quizá sea mejor que no sigas leyendo.

Cuando hace tiempo nos topamos con el comando communityFiliator, la sensación de extrañeza fué mayúscula ¿y esto para qué sirve?. Ahora la pregunta sería diferente ¿y esto se usa en alguna parte?

Un poco de historia

Antes de la versión 1.2 no existía la posibilidad de definir sub-comunidades, es decir sólo habia Comunidades y Colecciones colgando de ellas.

En la actualidad se pueden definir n-elementos, sub-comunidades, entre la Comunidad de nivel superior y las Colecciones.

Pues bien, este comando sirvió a las instalaciones Dspace para «re-colocar» estructuras planas, dos niveles, en estructuras más piramidales.

Una comunidad en DSpace se puede considerar

  1. ‘padre’ (en realidad madre) en el sentido que hay al menos otra comunidad (sub-comunidad) dependiendo de ella. [Por ejemplo, en la figura anterior, las comunidades 2, i, i.j serían ‘madres’]
  2. ‘hij@’, significando que depende de una comunidad de un nivel superior. [Comunidades 2.1, 2.2, i.j, i.j.k]
  3. Ninguna de las dos cosas (no tiene sub-comunidades dependientes y su vez no depende de otra comunidad). [Comunidad 1]
  4. Ambas cosas (tiene sub-comunidades dependientes y a la vez depende de otra comunidad). [Comunidad i.j]

En estos términos, una comunidad ‘huérfana’ es quien no tiene ‘madre’, a éstas también las llamamos comunidades de nivel superior (top-level communities).

El comando tiene dos sabores: Set y Remove, para establecer y deshacer relaciones madre-hija.
Set sirve para coger una comunidad huérfana, es decir de nivel superior, y hacerla dependiente de otra comunidad, moviendo toda la estructura debajo de la especificada en el comando. Y Remove convierte a una comunidad ‘hija’ en ‘huérfana’.

Igual que el structure-builder, el CommunityFiliator se incluye en la clase Org.Dspace.administer y se invoca con un

[dspace]/bin/dspace community-filiator parámetros…

Los comandos tienen la sintaxis siguiente:

[dspace]/bin/dspace community-filiator -s -p ID1 -c ID2

en donde ‘-s’ o ‘–set’ significa que a la comunidad ‘huérfana’ con ID2 la hacemos depender de la ID1

y usando el comando Remove, con la sintaxis alternativa que la mayoría de comandos Dspace tienen:

[dspace]/bin/dspace community-filiator –remove –parent=ID1 –child=ID2

en donde hacemos huérfana a la comunidad ID2, ‘matando’ la relación de dependencia con la ID1

Lamentablemente, y por si no nos habíamos dado cuenta hasta ahora, el comando no sirve para mover colecciones (SOLO comunidades y sus colecciones dependientes) de una comunidad a otra, o dicho de otro modo los IDs corresponden a entradas en la tabla comunidades, no en la tabla colecciones. De hecho el comando re-escribe justamente la tabla comunidades…

Los comentarios están cerrados.