Obtener usuario y grupo que ha modificado un contenido

Para obtener el usuario que modificó un contenido por última vez  y los grupos a los que pertenece podemos usar dentro de una página jsp de OpenCms (que puede ser un template o una función) el siguiente código:

[code]

<%@page buffer=»none» session=»false» taglibs=»c,cms,fn» %>
<%@ page import=»org.opencms.jsp.*» %>
<%@ page import=»org.opencms.file.*» %>
<%@ page import=»org.opencms.util.*» %>
<%@ page import=»java.util.*» %>

CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
CmsJspNavBuilder nav = cms.getNavigation();
String filename = cms.getRequestContext().getUri();
String lm = org.opencms.util.CmsDateUtil.getDateShort(cms.getCmsObject().readFile(filename).getDateLastModified());
CmsResource res=cms.getCmsObject().readFile(filename);
if(lm != null){
out.print(«<div class=\»txtalignright\»>Last Updated: » + lm + «</div>»);
}
if(res != null){
CmsUUID uuid=res.getUserLastModified();
CmsUser user=cms.getCmsObject().readUser(uuid);

out.print(«<div class=\»txtalignright\»>User Last Updated: » + user.getName()+» «+user.getEmail()+ «</div>»);
// out.print(«<div class=\»txtalignright\»>User Last Updated: » + uid + «</div>»);

// Getting the groups of the users
List groups = cms.getCmsObject().getGroupsOfUser(user.getName(),false);
Iterator it= groups.iterator();
while (it.hasNext()) {
CmsGroup cmsGroup = (CmsGroup) it.next();
out.println(«<div class=\»txtalignright\»>GRUPO «+ cmsGroup.getName() + «</div>»);
}
}

[/code]

Crear un portal en OpenCMS8: 4.Crear el contenido del portal

En esta entrada vamos por fin a ver nuestros resultados si hemos seguido bien los pasos. Es la hora de crear la estructura del portal y sus contenidos. PAra nuestro caso vamos a crear la siguiente estructura:

  • index.html como el contenedor de la página principal.
  • .content del tipo «content_folder»
  • .content/.config como la configuración del sitio del tipo de contenido «sitemap_config»
  • .content/.new como la configuración para los nuevos contenidos. Es opcional.
  • _categories con tantas carpetas y subcarpetas como categorías deba de tener los contenidos del portal. Es opcional
  • 1lauva del tipo de contenido subsitemap
  • 11historiaypatrimonio
  • 12rectorado
  • 13vicerrectorados
  • 2estudios
  • 3investigacion
  • 4internacional
  • 5comunidad
  • 6empresaeinstituciones
  • 7vida

Con esta estructura ya podemos hacernos una idea de cómo crear el árbol de contenidos de la página.

Leer más

Crear un portal en OpenCms8: 2.Crear un tipo de contenido

En esta entrada vamos a crear nuestro primer tipo de contenido, que llamaremos tipo texto, con un título y un párrafo de texto libre.

Empezaremos creando un módulo para este tipo. Para ello vamos al interfaz de administrador -> Gestión de módulos -> Módulo nuevo. En nuestro caso será el paquete «es.uva.web.portal.tipos.texto»

Crear modulo

Después nos vamos al explorador y cambiamos el sitio a «/». A partir de aquí debemos ir a la carpeta del nuevo módulo creado: /system/modules/es.uva.web.portal.tipos.texto/ donde tendremos tantas carpetas como hayamos indicado al crear el módulo. En nuestro caso sólo usaremos tres: classes, schemas y formatters.

Leer más