martes, 25 de octubre de 2011

Creando un nuevo permiso en Alfresco

Para crear un nuevo permiso en Alfresco nos basta con modificar un fichero, dicho fichero se encuentra en "{ALFRESCO_HOME}\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\model" y se llama "permissionDefinitions.xml".

Lo abrimos en modo edición y dentro de la etiqueta "<permissions>" pegamos este código.


         
         
         
         
         

Dentro de la definición introduciremos lineas relativas a los permisos de bajo nivel que tendrá nuestro permiso.
Posteriormente debemos añadir nuestro permiso a los tipos donde va a actuar, en este caso "cm:folder""cm:content", dentro de los "<permissionSet>" correspondientes pegamos esta linea




Alfresco WebScript cambiando propiedades y permismos de los espacios

Lo primero, os pongo los links que voy he estado utilizando:
Aquí no voy a explicar como se hace un webscript, con los links de arriba tendréis bastante para entenderlo y crear el vuestro propio.

El Script que os muestro es una modificación del que hay contenido en el rar que se puede descargar del primer link, en la sección XML Data WebScripts de la página.

Este código corresponde a la decripción del webscript en xml, properties.get.desc.xml



 FlexSpaces get properties data
 Gets properties of a doc or folder
 /flexspaces/getProperties?nodeid={nodeid}&tipo={tipo}&desc={desc}&resp={resp}&ot={ot}&pro={pro}&cli={cli}&sol={sol}&exo={exo}&rp={rp}&dob={dob}
 /flexspaces/getProperties?nodeid={nodeid}
 /flexspaces/getProperties?storeid={storeid}&path={path}
 /flexspaces/getProperties?path={path}
 argument
 user
 required
 
   false
          


El siguiente código corresponde a la respuesta, en este caso en xml, properties.get.xml.ftl


  
  ${node.name}
  ${node.id}
  ${node.displayPath}/${node.name}

  <#if node.isContainer>
      <#assign isFolder="true">
      <#assign size="">
      <#assign encoding="">
      <#assign mimetype="">
  <#else>
      <#assign isFolder="false">
      <#assign size=node.size/1024 + " KB">
      <#assign encoding=node.properties.content.encoding!>
      <#assign mimetype=node.properties.content.mimetype!>
  

  ${node.icon16}
  ${node.icon32}
  ${isFolder}
  ${node.properties.title!}
  ${node.properties.description!}
  ${node.properties.author!}
  ${size}
  ${node.properties.creator}
  ${node.properties.created?datetime}
  ${node.properties.modifier}
  ${node.properties.modified?datetime}
  ${node.properties.editInline!}
  ${emailid}
  ${encoding}
  ${mimetype}
    


Por ultimo, esto es el javascript que se ejecutará al llamar a la url contenida en la descripción. properties.get.js


if ((args.nodeid) && (args.nodeid != ""))
{
  model.node = search.findNode("workspace://SpacesStore/" + args.nodeid);
  model.emailid=model.node.properties["{http://www.alfresco.org/model/system/1.0}node-dbid"];

  if(args.tipo.equals("O"))
  {
   model.node.properties["{modelo.ejemplo}Descripcion"] = args.desc;
  }
  var permitted = model.node.getPermissions();
  for (x = 0; x < permitted.length; x++)    {  var obje = permitted[x];  if(obje.search("NombrePermiso")>=0)
{
 var cortado = permitted[x].split(";");
 var user = cortado[1];
 try
 {
  model.node.setInheritsPermissions(false);
  model.node.removePermission("NombrePermiso", user);
  model.node.setInheritsPermissions(true);
 }
 catch(e)
 {
 
 }
}
  }
 
  model.node.setPermission("NombrePermiso",args.resp);
 
  model.node.save();
}
else if ( (args.storeid) && (args.storeid != "") && (args.path) && (args.path != "") )
{
  // use avm storeid and path
  var store = avm.lookupStore(args.storeid);
  if (store != null)
  {
     var pathWithStore = args.storeid + ":" + args.path;
     model.node = avm.lookupNode(pathWithStore);
     model.emailid = "";
  }
}
else
{
  // use doc mgt path
  if ((args.path) && (args.path != ""))
  {
     model.node = roothome.childByNamePath(args.path);
     model.emailid=model.node.properties["{http://www.alfresco.org/model/system/1.0}node-dbid"];
  }
}


He tenido que recurrir a un bucle ante la imposibilidad de utilizar la función removePermission("NombrePermiso"), en el bucle recorre todos los permisos y borra uno a uno los que coincidan con el nombre del mismo, ademas de quitar los permisos heredados antes de borrar cualquier permiso y volver a setearlos al terminar.

jueves, 20 de octubre de 2011

Actualizar M3i Zero de DSi

http://img846.imageshack.us/img846/2526/ievolutionconfirmedon3d.jpg


Información General

El ya conocido M3 Team nos ofrece un cartucho completamente compatible con la nueva 3DS (además de las DSi y DSi XL). M3i Zero tiene el mismo menú que el M3 DS Real, intuitivo y fácil de usar.

Incluye un programador externo al igual que la SuperCard DSONEi , del que hablaremos mas tarde, para actualizar el firmware del cartucho para hacerlo compatible con las diferentes actualizaciones de la consola, como ya ocurrió con la actualización de la DSi 1.4.1. Con él podrás escuchar música, visualizar vídeos, ponerla en modo PDA, utilizar él messenger e incluso hacer tus propios programas.


Características

* Compatible con DS, DS Lite, DSi, DSi XL y 3DS (Sólo en modo DS).
* 100% compatibilidad
* Salvado en Tiempo Real
* Soporte multilenguaje (Inglés, Francés, Alemán, Italiano, Español, Portugués, Holandés, Koreano y Thailandés)
* Actualizaciones continuas y frecuentes
* Software y Firmware actualizable
* Firmware actualizable con programador externo, por si Nintendo detecta la Flashcard.
* Soporta tarjetas SDHC (4GB, 8 GB, 16GB, 32GB.. etc)
* Plug&Play
* Uso intuitivo
* Función de códigos y trucos
* Soporta modo "Slow Motion"
* Soporta modo "Sleep"
* Detecta y genera automaticamente los archivos de partida guardada
* Soporta Homebrew y DLDI autoparchea
* Alta compatibilidad ISOS/Homebrew
* Interfaz robusta y completamente personalizable
* Función PassMe
* Moonshell 2.0 integrado
* Soporta Descarga DS
* Soporta Rumble Pack, GBA Expansion Pack y DS Browser
* Soporta 4 niveles de iluminación.
* Soporta varios kernels, como el oficial o el Sakura.


Contenido de la caja

- Cartucho M3i Zero.
- Lector tarjetas MicroSD.
- Cable para actualizar el Firmware.
- MicroSD*.

*: opcional, dependera del pack que hayais adquirido en tienda.


http://img818.imageshack.us/img818/1647/m3izero.jpg

Como actualizar el Firmware y el Kernel de la M3i por primera vez

Como hemos dicho anteriormente,una de las peculiaridades de esta Flash, es que lleva un Firmware interno (instalado en la propia flashcard) y un Kernel externo (instalado en la MicroSD).Como viene siendo norma general, la Flash nos viene sin nada, asi que tenemos que instalarlo todo nostros mismos.Lo primero que haremos es instalar el Firmware, y luego el Kernel, para ello seguid los siguentes pasos:

Instalar el Firmware

Lo primero que debemos hacer es formatear la MicroSD en Fat/Fat 32, nos descargamos la última versión del firw, lo descomprimes y copias en la MicroSD, como muestra la imagen.


http://img25.imageshack.us/img25/2589/m3icore.jpg

Luego introduce la MicroSD en la Flash, y seguidamente al programador externo tal y como muestra la imagen.


http://img685.imageshack.us/img685/8851/cablec.jpg

Ahora, conectamos el programador al USB del PC, y la M3i se actualizará automáticamente.Si lo hemos hecho todo bién, el LED (Lucecita roja) empezará a parpadear, cuando se apague, habrá terminado la actualización, que suele durar unos 30 segundos.
Si el LED, no se enciende, es síntoma de que no hemos conectado todo correctamente, y si se queda fijo, es que no ha encontrado la actualización.

Instalar el Kernel

- Para actualizar el kernel basta con que te descargues la ultima versión de Touchpod o M3 Sakura

- Luego debes descomprimir la carpeta SYSTEM y copiarlo en la raiz de la MicroSD. Se recomienda quitar la antigua carpeta para evitar problemas.


Datos de interés

- Página web oficial: http://www.m3adapter.com
- Usa el mismo kernel que la M3 Real
- Compatible con el YSM3
- Versión del ultimo kernel disponible: Touchpod v4.9a y M3 Sakura v1.49a 3rd
- Versión del ultimo Core disponible: v1.8.2
- Funciona con la version 1.4.2 de DSi
- Funciona con la version de Firmware 1.0.0 y v2.0.0-2 de 3DS


Descargas

Kernel

Touchpod v4.9a (http://www.megaupload.com/?d=O9PQ6MTW)
M3 Sakura 1.49a (http://www.megaupload.com/?d=QUZ52PY3)

Core

Core v1.8.2 (http://www.megaupload.com/?d=4OYBG4YA) (Para actualización v2.0.0-2 de la 3DS)
Core v1.8.2 (http://www.megaupload.com/?d=ETZEO8I5) (Para DSi v1.4.2)
Core v1.7.1 (http://www.megaupload.com/?d=0TPBC598) (Para que funcione en 3DS, no es necesario actualizar si tienes DSi)
Core v1.6.1 (http://www.megaupload.com/?d=LEWA3ZDE) (Para DSi v1.4.1)


http://www.espal3ds.com/foros/archive/index.php/t-216.html?s=b328654e6eec95af6ac2f533a1aa4770

martes, 18 de octubre de 2011

Cambiar configuración por defecto de "Mi Panel de Inicio" Alfresco

Utilizando Alfresco 3.4g.

Cuando nos autenticamos en Alfresco se nos presenta una interfaz web referente a "Mi Alfresco" que el mismo usuario puede configurar, pero ¿Que pasa si queremos cambiar esa configuración por defecto que nos presenta el gestor documental y presentar la nuestra propia?.

La cosa es "muy sencilla y muy fácil" ;)

Vamos a {ALFRESCO_DIR}\Alfresco\tomcat\shared\classes\alfresco\extension, alli encontramos el fichero web-client-config-custom.xml.

Aquí introduciremos los cambios que queramos machacar de la configuración por defecto de Alfresco. Simplemente con incluir estas lineas:














Reiniciamos el servidor y lo lanzamos de nuevo, veremos que al autenticarnos se ha cumplido nuestro deseo.

De igual forma podemos indicarle que layout queremos que se muestre por defecto, para ello debemos añadir estas lineas:








En este caso ponemos por defecto un layout de 2 columnas.Estas lineas se introducen dentro de la etiqueta "<dashboards>"

viernes, 11 de marzo de 2011

Instalación de Liferay 6.0

En esta entrada veremos un pequeño resumen de la metodologia a seguir para la instalación de Liferay 6.0

Requisitos:

MySQL -- descargar de aquí
Java JDK -- descargar de aquí
Liferay 6.0 + Tomcat -- descargar de aquí


1. Instalación de JDK y configuración de las variables de entorno.

Nos descargamos de la página de java sun referenciada arriba la última versión del JDK disponible, para ello nos dirigimos a "Download" --> "Java for developers" y la descargamos e instalamos.

Una vez tenemos el JDK instalado debemos configurar las variables, para ello nos dirigimos a "Panel de control" -- "Sistema" -- "Configuración avanzada" -- "Variables de entorno", creamos una nueva y añadimos la variable JAVA_HOME, en valor de la variable pondremos el directorio donde hemos instalado Java.

Por último editamos la variable "Path" donde debemos hacer referencia a la carpeta \bin de Java, añadiremos al principio de la variable esta linea "%JAVA_HOME%\bin;".

2. Instalación de MySQL

Descargamos la ultima version de "MySQL Community Server" de la página referenciada arriba y lo instalamos. Podemos utilizar este Tutorial para instalar y ejecutar MySQL.

3. Configuración de Liferay 6.0

Nos vamos a la sección "Descargas" de la página de Liferay. Descomprimimos el archivo y nos disponemos a configurar Liferay con la base de datos y el puerto de escucha.

Para configurar el puerto de escucha, nos dirigimos al archivo "server.xml" que se encuentra dentro de la carpeta de "liferay/tomcat/conf" , debemos modificar la siguiente linea:


<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

Desviamos la atención ahora a la configuración de la base de datos, recordamos que hemos creado un esquema llamado "lportal" con nombre de usuario "root" y password "admin". Debemos referenciar esta base de datos en el archivo situado en "liferay/tomcat/webapps/ROOT/WEB-INF/classes" con nombre "portal-ext.propierties", con estas lineas que tenemos a continuación.
#Configuration of database to use MySQL
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.username=root
jdbc.default.password=admin
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
Finalmente, una vez ya configurado, solo nos queda iniciar el servidor tomcat para poner en marcha liferay. Nos dirigimos al directorio bin de la carpeta tomcat ("liferay/tomcat/bin"), allí veremos dos archivos importantes, uno para iniciar tomcat ("startup.bat") y parar tomcat ("shoutdown.bat"). Basta con ejecutar el archivo "startup.bat", si el proceso se realiza correctamente, se abrirá en nuestro navegador la página principal de nuestro liferay.

Aquí finaliza este tutorial de instalación de Liferay. Esperamos que os sirva.

Fuentes:

jueves, 10 de marzo de 2011

El día que todo empezó

Tal día como hoy, empieza la controvertida marcha de dos casi titulados en los interesantes y siempre utiles blogs.

Nuestra dedicación a los mundos de la programación y el desarrollo, nos lleva a la búsqueda de la solución a problemas e interrogantes que se presentan, durante esos tramites acabamos visitando muchos blogs, foros y demás lares, donde siempre acabamos encontrado alguien que tiene o ha tenido los mismo problemas o dificultades.

Por ello, tal día como hoy, decidimos en beneficio de la integridad de nuestras neuronas, sometidas a tanto conocimiento que nos rodea, plasmar mediante entradas en este blog esas migas que con el tiempo van desaparenciendo en el profundo y oscuro bosque de la mente.

Tal día como hoy, inauguramos este blog con la esperanza de que ese conocimiento que vamos adquiriendo con el tiempo que pasamos entre variables y sentencias, sea útil para gente como nosotros que tanto tenemos que agradecer...

PD: Prometemos cambiar el estilo del blog en cuanto tengamos tiempo, para hacerlo más agradable.

Un Saludo.
Arriba