Taxonomy Vs. CCK

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
karimbolivia's picture

Creo que para muchos es una vieja pregunta, pero me sigue torturando.

Muchos necesitamos “clasificar” nuestro contenido. La manera más obvia es a través de taxonomy (categorías). La otra es de crear dos (o más) tipos de contenidos (cck), uno que sería el contenido como tal (por ejemplos artículos) y el otro que sería el clasificador (por ej. secciones) y con ello podemos crear un modelo relacional.

¿Cual de las dos opciones es la más apropiada?

Comments

Si las secciones tienen

mariano.barcia's picture

Si las secciones tienen "entidad" de tal, entonces pueden ser nodos y se arma un esquema "maestro-detalle" o cosa parecida.

Sin embargo, hay que ver qué tan "entidad" son las secciones. Eso vendrá dado por la cantidad/calidad de operaciones (casos de uso) que se le apliquen.

Si las secciones son un mero clasificador, entonces los términos de taxonomía van bien (terms de taxonomia o CCK terms). Después hay que construir una interfaz de usuario adecuada, pero la estructura queda bien y Drupal provee muchas cosas out-of-the-box con taxonomía o CCK.

El módulo category podría ayudar si las relaciones de términos son complejas, y eso dependerá de las necesidades, porque tal vez con un simple book o con Views2 se pueda resolver el asunto.

Mis 2 ctvos, espero haber sido de ayuda

Mariano Barcia
http://www.colaborativa.net

Entidades

karimbolivia's picture

Tienes razon Mariano. Esto es tal vez el principal argumento. Para mi si el “clasificador” no es una entidad como tal, lo podríamos poner como categoría (taxonomy). Por lo contrario si tiene “vida propia e independiente” deberíamos ponerlo como un cck independiente y apuntarle con un node reference.

Por otro lado, los términos de las categorías (taxonomy) no pertenecen como tal al contenido, lo que nos puede causar un problema en el futuro si exportamos los datos hacía otras plataforma o si los queremos compartir con otros servicios. Para evitar aquello podríamos utilizar Content Taxonomy (http://drupal.org/project/content_taxonomy) para incluir el termino en el mismo contenido de referencia.

Para volver al tema central, creo que las secciones no tienen una entidad propia, por lo cual deberíamos utilizar una categoría y tal vez Content Taxonomy para integrar la clasificación al mismo nodo.
Será este el buen camino?

podcast lullabot

ingacosta's picture

Buenas, en el sitio de Lullabot se trata ese tema con profundidad. La dirección es:

http://www.lullabot.com/audiocast/podcast-48-taxonomy-taxonomy-taxonomy

Básicamente Taxonomy se usaría para clasificar contenido, y cck cuando es información que se debe guardar en el contenido (aunque se pueda clasificar después con Views).

Por ejemplo, en el caso de recetas de cocina, se usaría Taxonomy para clasificar entre tailandesa, china, criolla, etc. Y se usaría Taxonomy para método de cocción: horno, asada, frita, etc.

El método de cocción es información de la receta, aunque se puede clasificar también por ellas.

Un saludo
Hernán

Un poco de ayuda de los expertos.

adecampillo's picture

Hola a todos, veo que sois unos entendidos en el tema y la verdad es que a mi también me está torturando con un proyecto que tengo en mente.
La estructura de lo que necesito es la siguiente:
1. ETAPAS EDUCATIVAS

1.1 CURSOS

1.1.1 Materias

1.1.1.a Objetivos

1.1.1.b Contenidos
1.1.1.b.1 Materiales (páginas webs, pdfs, powerpoint,etc)

1.1.1.c Procedimientos
1.1.1.c.1 Materiales (actividades multimedia, webquest, cazas del tesoro, wikipages, etc...)

1.1.1.d Evaluación
1.1.1.d.1 Materiales (exámenes online, encuestas, etc...)

Las etapas educativas, Cursos y Materias están planteadas desde el portal, es decir, el usuario no puede crear ninguna de estas pero si puede crear los objetivos, contenidos, procedimientos, evaluación y materiales. Todas las cosas que un usuario puede crear están definidas cada una como un tipo de contenido.
El caso es que he probado con taxonomías y me salía una ensalada bestial, no se si es que las he planteado mal o que no es la forma correcta.
También he probado como libro, como libro con taxonomías y luego intentando sacar cosas con views pero no lo veo claro.
La idea es por ejemplo, que un profesor de matemáticas pueda listar todos los materiales de todos los cursos referentes a su asignatura o que un profesor pueda listar todos los contenidos de todas las asignaturas de un determinado curso o de una etapa educativa , en definitiva, listar cualquier cosa bajo cualquier criterio.
El caso es que si no lo planteo bien luego no hay forma de manejar las vistas, o por lo menos no he sabido hacerlo o quizá lo esté planteando todo mal. Quizá la solución sea muy simple y yo no la esté viendo.
¿Alguna idea?, gracias de antemano.

A. Campillo

El portal puede definir la

mariano.barcia's picture

El portal puede definir la taxonomía de todas las:
Etapa educativas
Cursos
Materias

y luego los profesores/usuarios suben nodos de tipo Contenidos, Procedimiento o Evaluacion, y lo clasifican en la materia correspondiente.

Luego con Views podés filtrar por la materia (argumento term ID) o por tipo de contenido (por ej. Procedimiento) o una combinación de ambas.

Para listar las materias, hay varios módulos que pueden ayudar, por ej. Taxonomy List.

Espero sea de ayuda,

Mariano Barcia
http://www.colaborativa.net