SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Liferay 6.1
Campos personalizados
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.
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:
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.
Campos personalizados
Preparado por Jesús Salinas Revelles
Introducción
‣ Los tipos disponibles para la versión 6 de Liferay son:
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.
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.
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.
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.
Campos personalizados
Preparado por Jesús Salinas Revelles
Tabla expandorow
‣ La tabla expandorow relaciona las columnas tableid y classpk
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.
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:
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.
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.
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);
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.
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);
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.
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);

Weitere ähnliche Inhalte

Ähnlich wie Liferay 6.1 Campos personalizados

Crear DataSet tipado desde Wizard de .NET
Crear DataSet tipado desde Wizard de .NETCrear DataSet tipado desde Wizard de .NET
Crear DataSet tipado desde Wizard de .NETJorge Ercoli
 
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4C informacion instructores jcarlosmanuales juan carlosen_partesparte_4
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4Jose Martin Sosa Granados
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
Normas icontec26 08 15 torre ........
Normas icontec26 08 15 torre ........Normas icontec26 08 15 torre ........
Normas icontec26 08 15 torre ........2503468
 
Sistema gestor de bases de datos
Sistema gestor de bases de datosSistema gestor de bases de datos
Sistema gestor de bases de datosEdwin Narváez
 
6.- DynaForms Avanzados v3.pptx
6.- DynaForms Avanzados v3.pptx6.- DynaForms Avanzados v3.pptx
6.- DynaForms Avanzados v3.pptxMariaJoseRobayo
 
Jaironaranjotarea5
Jaironaranjotarea5Jaironaranjotarea5
Jaironaranjotarea5Jairoad
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Accessveronica
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Accessveronica
 
Consultas de access
Consultas de accessConsultas de access
Consultas de accessPatylu Alexa
 
Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0CuC
 

Ähnlich wie Liferay 6.1 Campos personalizados (20)

access
accessaccess
access
 
Crear DataSet tipado desde Wizard de .NET
Crear DataSet tipado desde Wizard de .NETCrear DataSet tipado desde Wizard de .NET
Crear DataSet tipado desde Wizard de .NET
 
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4C informacion instructores jcarlosmanuales juan carlosen_partesparte_4
C informacion instructores jcarlosmanuales juan carlosen_partesparte_4
 
Bd
BdBd
Bd
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Normas icontec26 08 15 torre ........
Normas icontec26 08 15 torre ........Normas icontec26 08 15 torre ........
Normas icontec26 08 15 torre ........
 
Base
BaseBase
Base
 
Sistema gestor de bases de datos
Sistema gestor de bases de datosSistema gestor de bases de datos
Sistema gestor de bases de datos
 
6.- DynaForms Avanzados v3.pptx
6.- DynaForms Avanzados v3.pptx6.- DynaForms Avanzados v3.pptx
6.- DynaForms Avanzados v3.pptx
 
Jaironaranjotarea5
Jaironaranjotarea5Jaironaranjotarea5
Jaironaranjotarea5
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Access
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Access
 
Crear inventarios
Crear inventariosCrear inventarios
Crear inventarios
 
TIPOCONSULTASACCESS
TIPOCONSULTASACCESSTIPOCONSULTASACCESS
TIPOCONSULTASACCESS
 
Consultas de access
Consultas de accessConsultas de access
Consultas de access
 
Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0
 
Access
AccessAccess
Access
 
Access
AccessAccess
Access
 
Consultas de access
Consultas de accessConsultas de access
Consultas de access
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Mehr von Ematiz Tecnología, S.L.

Mehr von Ematiz Tecnología, S.L. (10)

Contenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecmContenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecm
 
El core de Alfresco 4.2
El core de Alfresco 4.2El core de Alfresco 4.2
El core de Alfresco 4.2
 
Perfiles en maven
Perfiles en mavenPerfiles en maven
Perfiles en maven
 
Filtrado de recursos en Maven
Filtrado de recursos en MavenFiltrado de recursos en Maven
Filtrado de recursos en Maven
 
Estructura de un informe en JasperReports
Estructura de un informe en JasperReportsEstructura de un informe en JasperReports
Estructura de un informe en JasperReports
 
Introducción a JasperReports
Introducción a JasperReportsIntroducción a JasperReports
Introducción a JasperReports
 
Liferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosLiferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollos
 
Liferay 6.1 Service Builder
Liferay 6.1  Service BuilderLiferay 6.1  Service Builder
Liferay 6.1 Service Builder
 
Liferay versión 6.1 Trabajando con LDAP, introducción
Liferay versión 6.1  Trabajando con LDAP, introducciónLiferay versión 6.1  Trabajando con LDAP, introducción
Liferay versión 6.1 Trabajando con LDAP, introducción
 
Trabajando con imagenes en liferay 6.1
Trabajando con imagenes en liferay 6.1Trabajando con imagenes en liferay 6.1
Trabajando con imagenes en liferay 6.1
 

Liferay 6.1 Campos personalizados

  • 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. 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. 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. Campos personalizados Preparado por Jesús Salinas Revelles Introducción ‣ Los tipos disponibles para la versión 6 de Liferay son:
  • 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. 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. 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. 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. Campos personalizados Preparado por Jesús Salinas Revelles Tabla expandorow ‣ La tabla expandorow relaciona las columnas tableid y classpk
  • 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. 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. 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. 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. 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. 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. 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. 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. 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);