Home » Archive

Articles in the Programación Category

Factorsim, Internet, PHP, Programación, Web 2.0 »

[ | 13 ene 2010 | No Comment | 1.477 views | ]

Trabajando en 2 proyectos similares de cursos para varios clientes (uno del sector banca y otro institucional) nos encontramos con la necesidad de pasar un archivo doc a html.

Las posibilidades eran hacerlo mediante código en el servidor o que los usuarios de la aplicación enviaran directamente los archivos html.

Tamaño

El método más “cómodo” para usuarios no técnicos es guardar el archivo en formato html desde el propio word. Haciéndolo de esta forma se introduce una cantidad exagerada de tags html, unas que solo sirven para poner estilos y que se podrían poner de forma más cómoda y las que corresponden a la estructura del html están en un formato que, como no, no sigue el estandard.

Así que buscando por la red al final se optó por hacer la conversión directamente en el servidor mediante php y openoffice de la siguiente forma:

En el editor de textos de openoffice (writer) crear una macro como la que sigue:

REM  *****  BASIC  *****

Sub odttohtml (Path)
Dim Url as String
Url = convertToUrl(Path)

Set oDesk = CreateUnoService( “com.sun.star.frame.Desktop” )
Dim OpenParam(1) As New com.sun.star.beans.PropertyValue ‘Parameters to open the doc
OpenParam(0).Name=”Hidden” : OpenParam(0).Value=True
Dim Doc
Doc = oDesk.loadComponentFromURL(Url, “_blank”, 0, OpenParam())

Dim outputfile as String
outputfile = Left( Path, Len( Path ) – 3 ) + “html”

Dim SaveParam(0) As New com.sun.star.beans.PropertyValue
SaveParam(0).Name=”FilterName” : SaveParam(0).Value=”HTML (StarWriter)”

Url = convertToUrl(outputfile)
Doc.storeAsURL(Url, SaveParam() )
Doc.close( True )
End Sub

Con la función odttohtml se consigue pasar un documento doc a html con un formato “casi” estricto (algunos tags no se cierran).

Una vez guardada la macro, ya se puede invocar mediante php con el siguiente código:

shell_exec(‘soffice -headless “macro:///Standard.Module1.odttohtml(doc_file.doc)”‘);

Esto nos da como resultado un documento html bastante aceptable para poder ser usado por “humanos” y que sigue el estandard.

Drupal, Factorsim, Herramientas, Innovación, Internet, PHP, Programación, Tendencias, Web 2.0 »

[ | 13 nov 2009 | One Comment | 1.344 views | ]

En los premios de “Open Source CMS Award” de 2009 ha sido premiado Drupal en la categoria de Mejor PHP Open Source CMS seguido de WordPress y Joomla!.

Lista de premiados:

Ganador General:

  1. WordPress
  2. MODx
  3. SilverStripe

Open Source CMS más prometedor:

  1. ImpressCMS
  2. Pixie
  3. Pligg

Mejor PHP Open Source CMS:

  1. Drupal
  2. WordPress
  3. Joomla!

Mirando el histórico desde el 2006 se ve una progresión de Drupal que ha logrado por segundo año consecutivo ganar el premio al Mejor PHP Open Source CMS y está entre los mejores CMS.

Recientemente se ha publicado la notícia que La Casa Blanca (http://www.whitehouse.gov/) ha migrado los contenidos de su web a Drupal lo cual indica que es un CMS con la suficiente estabilidad, funcionalidad y seguridad para llevar a cabo sites tan complejos como este.

drupal-whitehouse-gov-500x500

Tanto Drupal como WordPress son los CMS que habitualmente implementamos en proyectos, por su potencia y versatilidad en el caso de Drupal y por la facilidad de uso en WordPress. Coincide que en dos semanas saldrá publicado en MOSAIC, un artículo que compara Drupal, Joomla, WordPress y Plone.

Varios ejemplos de sites que ha realizado FactorSim con Drupal son:

Las webs segmentadas por países de Roca, entre ellos Roca protugal (http://www.roca-sa.com/):

roca_sa

Una web autogestionada para Clic-Austral (http://clic-austral.com/):

clic-austral

A nosotros, esta noticia nos ha traido una nueva tarea. Probar MODx y SilverStripe para evaluar porqué han sido elegidos entre los mejores CMS del mundo.

Factorsim, Programación, xml »

[ | 6 jul 2009 | 3 Comments | 361 views | ]

TNS (Sofres Audiencia de Medios, S.A) ha confiado a DigitalSeed, por su conocimiento especializado en marketing en Internet, y a FactorSim, por su experiencia en el desarrollo de aplicaciones web 2.0 complejas, el desarrollo de una aplicación interactiva que permite a la agencia mostrar y dar acceso al recopilatorio de datos sobre la audiencia de TV, desde 1996 hasta la actualidad.

Con el anuario 2008, TNS deja atrás un modelo estático de presentación de la información, utilizando por primera vez tecnologías de lectura de XML, con integración de otros elementos de programación que permiten visualizar y acceder a los contenidos de manera más gráfica y flexible. La información se basa en datos sobre el consumo y la cuota, el perfil de cadenas y el ranking de programas y emisiones, entre otros.

Para ello, desde Factorsim hemos desarrollado un frontend web para mostrar los datos de audiencias de una manera más ágil que la permite la versión impresa. Partiendo de ficheros de datos proporcionados por TNS que son procesados mediante un conjunto de instrucciones pre-programadas, guardamos la información que contienen en formato JSON.

grafica_curvas

Una vez hecho esto, una aplicación JavaScript se encarga de leer las tablas y proporciona las distintas visualizaciones mediante una treintena de plantillas. Algunas de ellas generan tablas numéricas, otras dibujan diferentes tipos de gráficas a partir de los mismos datos. En las tablas más complejas y extensas podemos ver los datos por grupos mediante un selector y mostrar gráficas adicionales en ventanas independientes a petición del usuario.

La aplicación interactiva desarrollada puede ejecutarse desde un CD, visualizarse a través de un navegador o consultarse desde un servidor web.

Moodle, PHP, Programación »

[ | 14 may 2009 | One Comment | 3.161 views | ]

Al programar un sitio web en moodle nos ha surgido la necesidad de añadir un archivo de estilos (css) dependiendo de si el usuario es un estudiante y no incluirlo de lo contrario.

Para ello hay que editar uno de los archivos del tema que se utiliza, se puede editar el “header.html” o bien el “meta.php” .

El código que hay que añadir al archivo es el siguiente:

<?php

global $CFG;

global $course;

if (!is_null($course->id)) {

$context = get_context_instance(CONTEXT_COURSE, $course->id); // Course context

$student_role=array_shift(get_roles_with_capability(‘moodle/legacy:student’, CAP_ALLOW, $context));

$user_roles=get_user_roles($context);

foreach($user_roles as $value){

if($value->name==$student_role->name){

print(‘<link rel=”stylesheet” type=”text/css” href=”‘.$CFG->httpsthemewww.’/standard/student.css” />’);

break;

}

}

}

?>

Y con esta simple modificación se incluye el archivo “student.css” con los estilos especificos para los estudiantes.

Gestión de Proyectos, Programación »

[ | 12 may 2009 | One Comment | 384 views | ]

Hay ya muchos textos escritos sobre Subversion, pero hoy no hablaré de sus características, de lo que puede hacer ni de cómo lo hace. Hoy me centraré en qué es lo que le encontramos interesante para utilizarlo como herramienta en una empresa. En otras palabras: por qué lo utilizamos. Read the rest of this entry »