Liferay 6.1
Campos personalizados
Campos personalizados
Preparado por Jesús Salinas Revelles
Índice de contenidos
‣ Introducción.
‣ Tablas asociadas a los c...
Campos personalizados
Preparado por Jesús Salinas Revelles
Introducción
‣ Existe un mecanismo para añadir nuevos campos a ...
Campos personalizados
Preparado por Jesús Salinas Revelles
Introducción
‣ Seleccionando la opción Editar pueden añadirse c...
Campos personalizados
Preparado por Jesús Salinas Revelles
Introducción
‣ Los tipos disponibles para la versión 6 de Lifer...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tablas asociadas a los campos personalizados
‣ El programador n...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandotable
‣ La tabla expandotable almacena una fila par...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandocolumn
‣ La tabla expandocolumn almacena los campo...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandocolumn
‣ Columna tableid: identificador de la tabla...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandorow
‣ La tabla expandorow relaciona las columnas t...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandorow
‣ ¿Para qué necesito esta tabla?
‣ Esta tabla ...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandovalue
‣ La tabla expandovalue almacena el valor de...
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandovalue
‣ Una fila almacena el valor de un campo pers...
Campos personalizados
Preparado por Jesús Salinas Revelles
Modelo y servicios asociados
‣ El conocimiento profundo de los ...
Campos personalizados
Preparado por Jesús Salinas Revelles
ExpandoTable
‣ Para averiguar el className asociado a una clase...
Campos personalizados
Preparado por Jesús Salinas Revelles
ExpandoTable
‣ La gestión de esta tabla se lleva a cabo mediant...
Campos personalizados
Preparado por Jesús Salinas Revelles
ExpandoColumn
‣ La gestión de esta tabla se lleva a cabo median...
Campos personalizados
Preparado por Jesús Salinas Revelles
ExpandoRow
‣ La gestión de esta tabla se lleva a cabo mediante:...
Campos personalizados
Preparado por Jesús Salinas Revelles
ExpandoValue
‣ La gestión de esta tabla se lleva a cabo mediant...
Upcoming SlideShare
Loading in …5
×

Liferay 6.1 Campos personalizados

1,100 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,100
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Liferay 6.1 Campos personalizados

  1. 1. Liferay 6.1 Campos personalizados
  2. 2. Campos personalizados Preparado por Jesús Salinas Revelles Índice de contenidos ‣ Introducción. ‣ Tablas asociadas a los campos personalizados. ‣ Modelo y servicios asociados: ‣ ExpandoTable. ‣ ExpandoColumn. ‣ ExpandoRow. ‣ ExpandoValue.
  3. 3. Campos personalizados Preparado por Jesús Salinas Revelles Introducción ‣ Existe un mecanismo para añadir nuevos campos a la entidades que ya existen en el núcleo de Liferay sin necesidad de modificar el modelo y sus servicios asociados. ‣ Este mecanismo se conoce como Campos personalizados. ‣ Desde el panel de control se puede acceder a la funcionalidad que comentamos:
  4. 4. Campos personalizados Preparado por Jesús Salinas Revelles Introducción ‣ Seleccionando la opción Editar pueden añadirse campos: ‣ Se debe definir una clave y un tipo de dato.
  5. 5. Campos personalizados Preparado por Jesús Salinas Revelles Introducción ‣ Los tipos disponibles para la versión 6 de Liferay son:
  6. 6. Campos personalizados Preparado por Jesús Salinas Revelles Tablas asociadas a los campos personalizados ‣ El programador necesita conocer cuatro tablas en la base de datos para entender cómo se gestionan los campos personalizados: ‣ expandotable. ‣ expandorow. ‣ expandocolumn. ‣ expandovalue.
  7. 7. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandotable ‣ La tabla expandotable almacena una fila para cada entidad de Liferay que tiene asociados campos personalizados. ‣ La columna tableid se relaciona con classnameid, que es el identificador de la clase asociada a la entidad.
  8. 8. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandocolumn ‣ La tabla expandocolumn almacena los campos personalizados que se definen en el sistema relacionándolos con las entidades asociadas.
  9. 9. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandocolumn ‣ Columna tableid: identificador de la tabla asociada, es decir, el campo personalizado se encuentra asociado a una entidad específica de Liferay. ‣ Columna name: nombre del campo personalizado. ‣ Columna type: tipo de campo personalizado.
  10. 10. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandorow ‣ La tabla expandorow relaciona las columnas tableid y classpk
  11. 11. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandorow ‣ ¿Para qué necesito esta tabla? ‣ Esta tabla se encarga de relacionar las columnas tableid y classpk. ‣ Se relaciona un objeto de tipo ExpandoTable con objetos específicos de una determinada entidad. ‣ Ejemplo: ‣ ExpandoTable define una fila para trabajar con campos personalizados para la entidad User identificada mediante un tableId específico. ‣ ExpandoRow define una fila para cada objeto de tipo User que tiene relleno un campo personalizado.
  12. 12. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandovalue ‣ La tabla expandovalue almacena el valor de un determinado campo personalizado asociado a una entidad para un objeto específico:
  13. 13. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandovalue ‣ Una fila almacena el valor de un campo personalizado definido para una determinada entidad para un objeto específico, es decir: ‣ data_: valor que almacena el campo personalizado. ‣ tableid: identificador de la entidad de Liferay sobre la que se aplica el campo personalizado. ‣ columnid: nombre y características del campo personalizado. ‣ rowid_: objeto específico sobre el que se aplica el valor del campo personalizado.
  14. 14. Campos personalizados Preparado por Jesús Salinas Revelles Modelo y servicios asociados ‣ El conocimiento profundo de los modelos y servicios asociados a los campos personalizados permiten al desarrollador manejarlos de forma programática.
  15. 15. Campos personalizados Preparado por Jesús Salinas Revelles ExpandoTable ‣ Para averiguar el className asociado a una clase, se debe utilizar el servicio ClassNameLocalServiceUtil: ‣ A partir de ahí se recupera la tabla asociada a esa entidad. ‣ Si una entidad no tiene campos personalizados, no tiene una fila en la tabla expandotable. long userClassNameId = ClassNameLocalServiceUtil.getClassNameId( User.class.getName()); ExpandoTable table = ExpandoTableLocalServiceUtil.getDefaultTable( companyId, userClassNameId);
  16. 16. Campos personalizados Preparado por Jesús Salinas Revelles ExpandoTable ‣ La gestión de esta tabla se lleva a cabo mediante: ‣ El modelo ExpandoTable. ‣ El servicio ExpandoTableLocalServiceUtil.
  17. 17. Campos personalizados Preparado por Jesús Salinas Revelles ExpandoColumn ‣ La gestión de esta tabla se lleva a cabo mediante: ‣ El modelo ExpandoColumn. ‣ El servicio ExpandoColumnLocalServiceUtil. ‣ Ejemplo: ExpandoColumn column = ExpandoColumnLocalServiceUtil.getColumn(tableId, name);
  18. 18. Campos personalizados Preparado por Jesús Salinas Revelles ExpandoRow ‣ La gestión de esta tabla se lleva a cabo mediante: ‣ El modelo ExpandoRow. ‣ El servicio ExpandoRowLocalServiceUtil.
  19. 19. Campos personalizados Preparado por Jesús Salinas Revelles ExpandoValue ‣ La gestión de esta tabla se lleva a cabo mediante: ‣ El modelo ExpandoValue. ‣ El servicio ExpandoValueLocalServiceUtil. ExpandoValueLocalServiceUtil.getValue(tableId, columnId, classPK); ExpandoValueLocalServiceUtil.addValue(classNameId, tableId, columnId, classPK, data);

×