Etiquetas y Categorias


En GeneXus Rocha, hay una funcionalidad "nueva" que es la de poder tener objetos en categorías. Esta muy buena.

Esto es algo que veníamos pidiendo desde hace tiempo (**) , por ejemplo en el wiki de la comunidad habia escrito:

User Properties in Objects(Enrique Almeida)
Poder establecer propiedades del usuario, en los objetos GeneXus .
Poder tener TAGS asociados a los objetos, de forma de poder clasificar los objetos por TAGS creados por el usuario.
ESta funcionalidad permitiria que los usuarios definan TAGs por ejemplo.
DELETED - Objeto que no se utiliza mas, pero que no se puede borrar, pues debe ser distribuido para borrarse
SSL - Para los objetos que se deben instalar en un directorio que tengan SSL habilitado.
ERROR - Objeto que tiene errores
REVISAR - Objeto aun no testeado
Deberia poder agregarse y modificarse con GXPublic, sin necesidad de consolidar, sino hacerlo con un UPDATE.


Si el habia pedido algo, y lo implementaron, porque este post?. Porque creo que la implementación se queda corta en algunas cosas. Para poder asignar un objeto a una categoria hoy, hay que abrir agregar la categoria al objeto y salvarlo.

Esto tiene dos contras: es muy lento y es muy poco práctico. Genera una versión nueva del objeto en forma innecesaria y marca como modificado un objeto que en realidad no tuvo cambios.

A mi me gustaría que se pudiera agregar un TAG (etiqueta o una categoria, para mi es lo mismo) a un objeto en forma mas fácil y rápida.


Imagino que los objetos pueden tener diferentes tipos de TAGs, por ejemplo:



  • Estado de Testeo (Testeado, A testear, A corregir)

  • Estado de especificacion (Con Error, Con Warning, Ok),

  • Lugar de instalacion (DirVirtual publico, DirVirtual SSL, etc)

  • Dueño del objeto (Hugo, Paco, Luis)

  • Estado de bloqueo (Bloqueado, Libre, etc)

Para que todo esto sea posible, la implementación debería ser diferente y se deberían poder asignar tags a objetos de forma mucho mas facil y menos burocratica (con drag and drop? o un string donde poner Categ1, Categ2, Categ3? )


El asignar un tag al objeto no debe crear una version nueva de dicho objeto.


Evidentemente despues vamos a querer tener operaciones con los objetos que tienen un determinada etiqueta/categoría, por ejemplo distribuir todos los objetos de una categoria, especificar todos los objetos de una categoria.


Si esto se concreta, se van a poder diseñar extensiones que hagan uso de dichos tags, por ejemplo para la generacion de instaladores que permitan hacer el deploy de una aplicacion en los diferentes lugares que tengan que instalarse, dependiendo de los tags que los objetos tengan asignados.

Visto de afuera, no parece algo demasiado complicado, pero como siempre "el diablo está en los detalles".


** tiene fecha del 2006, pero es anterior porque estaba en el otro wiki
Porque pongo escribo "veníamos pidiendo", si soy yo el que lo pido?. Me estaré Maradonizando? Espero que no


Comentarios

  1. Enrique,

    Si, el drag&drop estaría bueno, supongo que habría que tener una ventana flotante con las categorías para poder "draguear" desde el "folder view" o algo asi.

    Ahora, si abris el objeto tenes las categorías ahi abajo y podés agregar el mismo a las que quieras con un "autocomplete" en el nombre de la categoría, crear una categoría "on the fly", etc.

    Tengo algun problemita para subir videos asi que subi una imagen a http://screencast.com/t/RX1qUP8Huai

    Cualquier cosa después veo si te puedo mandar el videito que hice.

    Lo de salvar una nueva versión... humm.. no se, creo que si lo categorizas está bueno que sea una nueva versión, en definitiva hiciste un cambio al objeto ;)

    Guscarr

    ResponderBorrar
  2. Guscarr: Hay varios motivos, por lo cual no es bueno que se generen nuevas versiones al poner un objeto en una categoria:

    1) Demora mucho
    2) Ocupa mucho espacio
    3) El objeto NO CAMBIA y no es bueno que modifique su fecha de modificacion por la categorizacion.
    4) Hay objetos que no se pueden re-salvar, porque tienen errores y por lo tanto no van a poder se categorizados.

    Por ejemplo, tengo una extension que lo que hace es cada vez que se especifica un objeto lo pone en una categoria, dependiendo si tiene errores o warnings.
    Esto haria que por cada vez que se especificque un objeto (cosa que se hace MUCHAS veces) se tendria una version nueva, lo cual no es nada conveniente.

    Para mi es como categorizar mails, posts, imagenes en las aplicaciones del web 2.0. No por agregarle un TAG a esas cosas, tengo que volver a salvarla. Creo que si se hiciera mas rapido y sin salvar, podrian tenerse muchas mas etiquetas asociadas a objetos.

    Enrique

    ResponderBorrar
  3. Enrique,

    Entendi la idea.

    Es un punto bastante discutido en la interna: ¿el objeto tiene una (o N) categoría o la categoría tiene objetos?

    Hoy el objeto tiene la/s categoría/s y eso en algunos "enfoques" te sirve y en otros, como el que mencionás vos, te complica.

    Igual subi un videito a youtube que muestra como categorizar nomás: http://www.youtube.com/watch?v=mcD3MbUMusI

    Guscarr
    PD (a mi también me gustan): los post en wordpress (el que yo uso para blog) se categorizan editandolos, también los mails en outlook se categorizan de ese modo, pero veo que estás con blogspot y gmail así que calculo que no aplica el comentario.

    ResponderBorrar
  4. Guscarr:
    Creo que lo mas discutible, es si categorizar un objeto, es una nueva version del mismo.

    Por un lado, si la categorizacion tiene consecuencias en el comportamiento (generacion, instalacion, etc) de dicho objeto, puede ser bueno tener una nueva version del mismo.

    Si la categorizacion, no afecta al objeto, A MI ME GUSTARIA, que se creara una nueva version del mismo.

    Me da la sensacion que si esta opcion se habilitara, se podrian hacer cosas interesantes.

    No se pueden tener las dos opciones?

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.