Archive for CMS_Server

Detectar documentos con valores NULL dentro de CMS

Ejecutar las siguientes sentencias SQL

select * from renderViewLink where  VERSION_NAME is NULL;

verificamos que documentos son:

select * from renderViewLink INNER JOIN document on document.id = renderViewLink.ELEMENT_LINK_PARENT_ID where  VERSION_NAME is NULL;

Finalmente, listar los documentos:

select document.NAME from renderViewLink INNER JOIN view on view.id = renderViewLink.ELEMENT_LINK_PARENT_ID INNER JOIN document on view.parent_id = document.ID where renderViewLink.VERSION_NAME is NULL;

 

Si deseamos saber por ejemplo, que documentos de la BD legis, ejecutar esto:

select document.parent_id, document.NAME from renderViewLink INNER JOIN view on view.id = renderViewLink.ELEMENT_LINK_PARENT_ID INNER JOIN document on view.parent_id = document.ID where renderViewLink.VERSION_NAME is NULL;

 

Borrar documento con ID Editor – Taxonomy

taxonomy

==================================

delete from taxonomy where id = 167772;
delete from taxonomy where id = 403487;

El valor ID es del taxonomy

 

editor

===============

delete from document where id=144899;

El valor lo sacamos con CMS consulting

Comandos para contar Nro de Documentos en Legislacion, Jurisprudencia y Doctrina (CMS 2.3)

Para Legislacion:

SELECT * FROM document where parent_ID=’1′;

 

Para Jurisprudencia:

SELECT * FROM document where parent_ID=’3′;

Para Doctrina

SELECT * FROM document where parent_ID=’4′;

 

Martín Lugo

Modificación a plantillas, pues no se visualizaban las ventanas emergentes

Hay que cambiar el archivo:

document-frame.htm, que contiene esto:

<style type=”text/css” media=”print”> body { display: none; }</style><script>var clp = parent.parent.EnCiclopePosta;if ( clp != “si”){window.location = “about:blank”;document.oncopy = window.clipboardData.setData(“Text”,””);}</script><!– #document?t=document-frame.htm –>

 

Por esto:

<!– #document?t=document-frame.htm –>

 

 

OJO: para quitar las restricciones en el tipo de navegador, hay que modificar el archivo default.htm

Deberia quedar asi:

<script language="JavaScript" type="text/JavaScript">
function browser()
{
	var browserType=navigator.userAgent;
	if (browserType.indexOf("MSIE")==-1)
	{
		window.location = "contenidos.dll?f=templates$fn=default.html";
	}else{
		window.location = "contenidos.dll?f=templates$fn=default.html";
	}
}
</script>

Nada mas!!!

Exportar Legislación por años

A veces queremos exportar Legislacion delimitada por un rango de años. Esto es posible gracias a un desarrollo a medida que hicieron los amigos de DOT S.A. y funciona de la siguiente manera:

1.- Se nos envio un archivo comprimido, el cual contenía 02 carpetas(specific_export y classes) y un archivo “id-failed.htm”

2.- La carpeta specific_export pegarlo en cualquier lugar (de preferencia dentro de la carpeta root)

3.- La carpeta classes de la siguiente manera:

La implantación se basa en extraer los archivos comprimidos y ubicarlos en los directorios correspondientes. Estas clases que se van a agregar al CMS para el Exportador, en el directorio “../apache/webapps/cms/WEB-INF/classes/com/dotsa/tentacle/exec”[DIR_BASE].

NOTA: El nombre de la carpeta apache-tomcat puede variar según la versión que el usuario tenga instalado.

Agregar:

  • La carpeta “classes/batch/export” del archivo comprimido hay que agregarla en “[DIR_BASE]/batch/”.
  • La carpeta “classes/client/export” del archivo comprimido hay que agregarla en “[DIR_BASE]/client/”.
  • El archivo “classes/client/CMSExportGaceta.class” hay que agregarlo en el directorio “[DIR_BASE]/client/”

4.- En el archivo /../specific_export/config/config.mk      especificar el rango de fechas que deseamos exportar.

5.- Ejecutar el archivo Makefile con el siguiente comando:

#make export

 

Adjunto Indicaciones mas detalladas que se nos envio:

******************************************************************

Búsqueda por fecha de publicación

26/10/2011

Requerimientos:

 

El Documento originalmente enviado (“Presupuesto Filtro exportacion Ciclope CMS”) consideraba casos de uso con una alta integración con la interfaz web. Lo cual significaba un desarrollo extenso, con modificaciones costosas al producto. Siendo las funcionalidades principales tendientes a obtener el producto de referencia las siguientes:

 

  • Caso 1 – “Exportar por fecha sin documentos de exportación obligatoria definidos”

    a) Se ejecuta el script de exportación, definiendo la carpeta destino.

b) Se exportan solo los documentos entre las fechas indicadas, inclusive.

c) No se listan las carpetas vacías.

  • Caso 2 – “Exportar por fecha con documentos de exportación obligatoria definidos”

    a) Se ejecuta el script de exportación, definiendo la carpeta destino.

b) Se exportan los documentos entre las fechas indicadas, inclusive, y los que fueron definidos como obligatorios.

c) No se listan carpetas vacías.

  • Caso 3 – “Definición de un documento de exportación obligatoria”

a) Se busca el documento en el CMS_Editor

b) Se selecciona el CheckBox de Obligatoriedad en “Datos Generales”.

 

 

  • La Exportación solo considerará a los documentos que estén registrados en Taxonomy.
  • Para resolver el corte de recursos documentales: Funcionalidad de los links que llevan a documentos NO pertenecientes a la Sub Colección.

 

 

Detalle del trabajo a realizar:

 

  • Crear el Campo “Exportación Obligatoria” a través de la interfaz de Administración del CMS, dentro del recurso “Datos Generales”.
    • Esto permite diferenciar los documentos a exportar obligatoriamente de los que se considerarán por su fecha de publicación.
    • Se debe marcar en forma individual cada documento obligatorio.
  • Crear el script de procesamiento
    • Es el único proceso que se disparará para obtener la exportación.

 

Estimaciones:

 

Programa de Exportación de Documentos especificos de CMS

 

Introducción

 

Este programa entregado se encarga de buscar dentro de los Repositorios del CMSEditor los Documentos que cumplan con las condiciones de fecha y obligatoriedad, determinadas por el usuario. Además los Documentos deben encontrarse en el CMSTaxonomy.

 

Instalación del comprimido

 

La implantación se basa en extraer los archivos comprimidos y ubicarlos en los directorios correspondientes. Estas clases que se van a agregar al CMS para el Exportador, en el directorio “../apache/webapps/cms/WEB-INF/classes/com/dotsa/tentacle/exec”[DIR_BASE].

 

NOTA: El nombre de la carpeta apache-tomcat puede variar según la versión que el usuario tenga instalado.

 

Agregar:

  • La carpeta “classes/batch/export” del archivo comprimido hay que agregarla en “[DIR_BASE]/batch/”.
  • La carpeta “classes/client/export” del archivo comprimido hay que agregarla en “[DIR_BASE]/client/”.
  • El archivo “classes/client/CMSExportGaceta.class” hay que agregarlo en el directorio “[DIR_BASE]/client/”

 

La carpeta “specific_exporter” del archivo comprimido contiene el make que ejecuta el exportador. En necesario que los archivos “iconv” y “xalan.sh” dentro de la carpeta “specific_exporter/bin” tengan permisos de ejecución.

 

NOTA: Es necesario que el servidor tenga instalado el “wine”

 

 

Configuración del Exportador

 

Archivo: “../config/config.mk”

 

Variables a definir:

USERNAME”, el nombre del usuario del CMS con el cual se realizara la exportación.

PASSWORD”, la contraseña del usuario del CMS con el cual se realizara la exportación.

DATABASE”, el nombre de la base de datos a la cual se conectara el CMS.

DATABASE_HOST”, el equipo donde se encuentra la base de datos.

 

TRANSFORM”, ‘true’ ó ‘false’ depedendiendo si se desea exportar los documentos como HTML o XML respectivamente.

 

DATE_RANGE”, El rango en el cual se comparan los Documentos. Ejemplo: “01/11/2011-30/11/2011”

 

TENTACLE_LIB_DIR”, la dirección de la carpeta donde se encuentran las bibliotecas del CMS.

TENTACLE_BIN_DIR_JAVA”, la dirección de la carpeta donde se encuentran las clases de CMS.

 

Especificación de los Repositorios que se desean trabajar

 

Archivo: “../config/collection.xml”

 

<cms>

<config format_date=”dd/MM/yyyy|dd-MM-yyyy”/>

<element name=”Nombre del Repositorio” type=”collection”>

<element name=”Nombre del Tipo de Recurso” type=”config”>

<element name=”Nombre del Campo donde se encuentra la Fecha”

type=”formfield” field_type=”date”/>

<element name=”Nombre del Campo donde se encuentra la Obligatoriedad”

type=”formfield” field_type=”check”/>

</element>

</element>

</cms>

El XML puede tener definidos más de un Repositorio, pero por cada uno debe estar definido el

Tipo de Recurso donde se comprobara la Fecha y la Obligatoriedad del Documento.

 

El Tipo de Recurso a su vez debe tener definido los Campos del Formulario donde se comprobara la fecha y la obligatoriedad. El Campo de la fecha es obligatorio para que el programa pueda funcionar. En cambio el Campo de obligatoriedad es opcional, de no estar solo se exportaran los que cumplan la condición de fecha.

 

A la hora de configurar este archivo lo más importante son los atributos “name” de los nodos “element”. En necesario que estos valores se correspondan exactamente con los nombres que poseen en el CMSAdmin.

 

El atributo “format_date” contiene los distintos formatos de fecha que se pueden encontrar en los Campos del Formulario donde se encuentra la fecha.

 

 

Ingresar imagenes del CMS_Editor al Ciclope server

Cuando uno publica una colección que fue trabajada en Ciclope CMS V. 2, esta no indexa las imagenes y no los pone dentro del archivo idx, por lo que hay que publicarlas intencionalmente dentro de la carpeta del servidor web.

Paso 1.- Copiar todas la imagenes del siguiente directorio:

/usr/local/tomcat/apache-tomcat-7.0.11/webapps/cms/client/editor/uploads

Paso 2.- Pegar estas imagenes en el siguiente directorio publicado en el Internet Information Server:

C:\inetpub\wwwroot\imagenes

 

Listo!!!!

PD. podriamos automatizar la copia de estas imagenes hacia el servidor en donde publicamos utilizando el task scheduler, pscp ver este post

Recompilar el MAPA.XML para que genere de nuevo el archivo idx sin necesidad de compilar TODO en Ciclope CMS

Paso 1.- Ingreso a la carpeta en donde está el proyecto

[root@servidor_cms ~]# cd demo_import_export_LEGIS

Paso 2.- Compilo de nuevo

[root@servidor_cms ~]#wine bin/ciclope/ccompilador.exe 6-CompilarServer/mapa.xml /A /L 6-CompilarServer/log_ccompilador_Legislacion.txt

Listo

 

Generar archivo de actualización para ser mostrado en las colecciones

Tengo la necesidad de mandar un archivo de actualización al inio de la pantalla del aplicativo, para mostrar la última fecha de actualización, para esto trabajaré con archivos bat para generar un html y luego actualizar la web:

La idea es esta:

1.- En el  archivo bat  de transferecia de idx vamos a agregar una linea llamando a otro archivo bat y quitando el reinicio de IIS.

Quedaria asi:

@echo on
IISRESET /STOP
pscp -l root -pw ADMINISTRADOR root@192.168.0.222:/root/novedades/novedades.idx c:\Index
pscp -l root -pw ADMINISTRADOR root@192.168.0.222:/root/demo_import_export_DOCTRINA/6-CompilarServer/Doctrina.idx c:\Index
pscp -l root -pw ADMINISTRADOR root@192.168.0.222:/root/demo_import_export_LEGIS/6-CompilarServer/Legislacion.idx c:\Index
pscp -l root -pw ADMINISTRADOR root@192.168.0.222:/root/demo_import_export_JURISP/6-CompilarServer/Jurisprudencia.idx c:\Index
fecha_hora_ok.bat

Si nos fijamos en la última linea llamo a otro archivo bat (fecha_hora_ok.bat).

2.-Vamos a generar un archivo bat (fecha_hora_ok.bat) en el cual le diremos 4 cosas básicas: 1.- eliminar el archivo html (fecha_hora_ok.html) que ya existia respecto a la hora y fecha. 2.- Generar un nuevo archivo html (fecha_hora_ok.html) en el cual me indique la hora y fecha  que estoy haciendo esto. 3.- Copiar este archivo a la ruta de los templates en donde llamare mediante un iframe, y 4.- Reiniciamso el IIS.

El código que hace estas 4 cosas quedaria asi:

del c:\fecha_hora_ok.htmlecho ^<html^> >> fecha_hora_ok.html
echo ^<head^> >> fecha_hora_ok.html
echo ^<style type=”text/css”^> >> fecha_hora_ok.html
echo .fecha {font-size: 11px; color: #990033; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold;} >> fecha_hora_ok.html
echo ^</style^> >> fecha_hora_ok.html
echo ^</head^> >> fecha_hora_ok.html
echo ^<body “^> >> fecha_hora_ok.html
echo ^<table^>^<tr^>^<td span ^>Se actualiz^&oacute; por ^&uacute;ltima vez el: %date% a las %time% ^</td^>^</tr^>^</table^> >> fecha_hora_ok.html
echo ^</body^> >> fecha_hora_ok.html
echo ^</html^>  >> fecha_hora_ok.html

copy /y c:\fecha_hora_ok.html C:\”Program Files (x86)”\”………….”\Templates\Enu
IISRESET /START

 

Dentro de la pagina de donde deseo mostrar esto agregare esta linea de código:

<div><iframe width=”760″ height=”25″ src=”#!– #TEMPLATES:fecha_hora_ok.html –#” scrolling=”no” frameborder=”no” ></iframe></div>

A probar!!!!

Script para exportar la Doctrina,Legis,Jurisprudencia del CMS al Ciclope Server

Script para exportar la doctrina del CMS al Ciclope Server
==============================================================

Los scripts de exportación masiva de la doctrina permiten exportar la doctrina del CMS al ciclope server.

Se trabaja dentro de la carpeta

Doctrina:

/root/import_export_DOCTRINA/

Legislacion:

/root/import_export_LEGIS/

Jurisprudencia:

/root/import_export_JURISP/

Alli encontraremos la siguientes carpetas y archivos

[Carpetas]
0-Normas
1-Yobuzo
2-ImportacionCMS
4-ExportacionTaxonomia
5-ExportacionCMS
6-CompilarServer
07-Archivos_idx
bin
Config

[Archivos]
makefile
connection.xml
log.txt

PASOS Y CONFIGURACION DE ARCHIVOS PARA EXPORTAR
================================================

1.- Modificar el archivo /root/import_export_xxxx/import_export_DOCTRINA/config/config.mk

USERNAME:=username
PASSWORD:=XXXXXXXXX
DATABASE:=database_name
DATABASE_NAME:=Doctrina
TRANSFORM:=true
EXPORT_NODES:=365888 (importante: este numero de nodo se debe de copiar del CMS taxonomy)

2.- Establecer la ruta a donde generará el idx en el siguiente archivo /root/import_export_DOCTRINA/import_export_XXX/config/templates/export-config.xml

output_directory=”/root/import_export_XXX/import_export_XXX/07-Archivos_idx”

3.- Luego ir a la siguiente ruta:

cd /root/import_export_XXX/import_export_XXX/

4.- Ejecutar el script

#make export

A pesar de que en el paso 2 se dice donde se genera el idx, veo que este se a generado en la siguiente carpeta: “/root/import_export_XXX/import_export_XX/6-CompiladorServer”

Listo!!!

Martin Lugo

Importacion Masiva de documentos al CMS

Importacion Masiva
====================

Para la importacion masiva, se hace dentro de la carpeta /root/importacion masiva
Alli encontraremos la siguientes carpetas y archivos

[Carpetas]
0-Normas
1-Yobuzo
2-ImportacionCMS
4-ExportacionTaxonomia
5-ExportacionCMS
6-CompilarServer
bin
Config

[Archivos]
makefile

Pasos para la importación masiva (usuario root)
===================================

1.- copiar las normas a importar a la siguiente ruta:

/root/impotacion_masiva/0-Normas

(Es recomendable crear una carpeta y meter alli las normas, para que cuando se importe todas estas normas esten dentro de una carpeta y no dispersas, ya desde alli derivar a la carpeta de la taxonomia correspondiente)

2.- Ira la siguiente ruta para ejecutar el comando de importacion:

/root/impotacion_masiva/

3.- Ejecutar el siguiente comando dentro de la carpeta /root/impotacion_masiva/:

#make import

Pasos para la importación masiva (usuario cms_user)
===================================

1.- copiar las normas a importar a la siguiente ruta:

Desde windows esta es la ruta: \\192.168.0.xx\servidor_cms

(Es recomendable crear una carpeta y meter alli las normas, para que cuando se importe todas estas normas esten dentro de una carpeta y no dispersas, ya desde alli derivar a la carpeta de la taxonomia correspondiente)

Importante.- Las normas no deben de llevar ningun tipo de caracter especial como: °, tildes, espacios en blanco o etc, en el nombre del archivo odt (ejemplo deberia de ser asi: res_leg_051.odt)

2.- Abrir el programa puTTY, poner los siguientes datos:

Hostname: 192.168.0.xx <enter>
Usuario:cms_user
Password:usuario_cms

2.- Ira la siguiente ruta para ejecutar el comando de importacion:

$  cd impotacion_masiva/

3.- Darle derechos de poder ejecutar el programa de importacion al usuario:

$ sudo su

4.- Al hacer esto, veremos que al inicio del cursor cambia de $ a #

5.- Ejecutar el siguiente comando dentro de la carpeta /impotacion_masiva/:

#make import

Listo!!!

Martin Lugo