xAjax y los checkboxes

Si necesitas modificar el estado de un checkbox desde xAjax, estas son las distintas opciones:

$response=new xajaxResponse();

// Marcarlo
$response->assign(”chkAdulto”,’checked’, ‘1′);

// Desmarcarlo
$response->clear(”chkAdulto”,’checked’);

// Borrarlo
$response->remove(”chkAdulto”,’checked’);
// Lo siguiente no funciona para borrarlo:
//$response->assign(”chkAdulto”,’checked’, ‘0′);

Instalar varias versiones de PHP simultáneas en IIS

1º Bajar FastCGI de Microsoft e instalarlo:

http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/

2º Bajar PHP para Windows:

http://windows.php.net/

Es una compilación especial para Windows optimizada para este S.O.
Es preferible bajar la versión ‘Non thread safe’, ya que es más rápida y FastCGI se encargará de la ejecución segura en modo multithread.

3º Descomprimir el .zip en una carpeta, por ejemplo, c:\PHP5.2

4º Crear en esa carpeta el fichero php.ini con las configuraciones necesarias.

5º En aquellos sitios web que vayamos a ejecutar aplicaciones PHP que se ejecuten bajo FastCGI, ir a la opción
‘Propiedades’,'Directorio Particular’,'Configuración’,'Asignaciones’ y añadir o modificar la extensión .php para que tenga esta ruta: ‘C:\WINDOWS\system32\inetsrv\fcgiext.dll’ (Es decir, debe apuntar a la nueva dll (fcgiext.dll) que nos ha instalado FastCGI.

6º Editar el fichero fcgiext.ini que se encuentra en la misma carpeta que la dll.

Añadir la siguiente Línea al apartado Types
php=PHP

Si no exite el apartado PHP, crearlo:
[PHP]

Añadir las siguientes líneas al apartado PHP:
ExePath=C:\PHP5.2\php-cgi.exe
InstanceMaxRequests=100000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:100000

Si intentamos ejecutar el directorio PHP y nos da error, ir desde la línea de comandos al directorio de PHP y ejecutar: PHP -i para ver el posible error.

Si nos falta la librería MSVCR90.dll, descargar e instalar esto: http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

Y ya está!

Enhanced by Zemanta

Configurando Bugzilla en IIS

Algunos pasos a realizar para que Bugzilla funcione correctamente sobre IIS:

- Dar permisos de escritura al usuario web a la carpeta data.

Si queremos que Bugzilla pueda enviar correos, podemos instalar el programa sendmail que está en esta página: http://www.glob.com.au/sendmail/ (En esa web podemos incluso descargarnos un instalador para bugzilla)

Ese programa nos permite usar la librería ’sendmail’ igual que si estuviéramos en un sistema Unix.

Por supuesto, debemos configurar nuestro servidor SMTP en el fichero sendmail.ini

Se debe instalar en el path “/usr/lib”, si no lo hacemos así, hay que modificar la ruta en el fichero Constants.pm de la carpeta BugZilla en la siguiente línea:

use constant SENDMAIL_EXE => '/usr/lib/sendmail.exe';

Además, en la parte de administración de Bugzilla, puede ser interesante modificar estos parámetros:

User Authentication.

Parámetro createemailregexp: Dejarlo vacío si queremos que nadie pueda crearse una nueva cuenta y todas deban ser creadas por el administrador.

Fuentes:

http://www.chuidiang.com/chuwiki/index.php?title=Instalaci%C3%B3n_de_Bugzilla_en_windows

Como instalar Bugzilla en Windows 2003 Server con IIS

Image representing Bugzilla as depicted in Cru...

ara quien pueda serle de utilidad, estos han sido mis pasos para instalar Bugzilla 3.2.2 en Windows 2003 Server. La versión de perl instalada ha sido la 5.8.6.

Lo primero es tener instalado Perl, que se puede descargar de http://www.activestate.com/.

A continuación descargamos BugZilla desde http://www.bugzilla.org/.

Descomprimos el fichero .tar descargado desde BugZilla en la carpeta desde la que queremos que se ejecute, por ejemplo, c:\bugzilla.

Desde una ventana de Ms-Dos, voy a la carperta de bugzilla y ejecuto:
perl checksetup.pl

Esto nos permitirá saber qué módulos de perl me faltan para poder ejecutar BugZilla.

En mi caso, esta es la salida:

<code>

* This is Bugzilla 3.2.2 on perl 5.8.6
* Running on Win2003 Build 3790 (Service Pack 2)

Checking perl modules…
Checking for              CGI.pm (v3.21)    found v3.05
Checking for            TimeDate (v2.21)    not found
Checking for           PathTools (v0.84)   ok: found v3.01
Checking for                 DBI (v1.41)    not found
Checking for    Template-Toolkit (v2.15)    not found
Checking for          Email-Send (v2.16)    not found
Checking for          Email-MIME (v1.861)   not found
Checking for Email-MIME-Modifier (v1.442)   not found

Checking available perl DBD modules…
Checking for              DBD-Pg (v1.45)    not found
Checking for           DBD-mysql (v4.00)    not found
Checking for          DBD-Oracle (v1.19)    not found

The following Perl modules are optional:
Checking for                  GD (v1.20)    not found
Checking for               Chart (v1.0)     not found
Checking for         Template-GD (any)      not found
Checking for          GDTextUtil (any)      not found
Checking for             GDGraph (any)      not found
Checking for            XML-Twig (any)      not found
Checking for          MIME-tools (v5.406)   not found
Checking for         libwww-perl (any)     ok: found v2.033
Checking for         PatchReader (v0.9.4)   not found
Checking for          PerlMagick (any)      not found
Checking for           perl-ldap (any)      not found
Checking for         Authen-SASL (any)      not found
Checking for          RadiusPerl (any)      not found
Checking for           SOAP-Lite (any)     ok: found v0.55
Checking for         HTML-Parser (v3.40)    found v3.38
Checking for       HTML-Scrubber (any)      not found
Checking for Email-MIME-Attachment-Stripper (any)      not found
Checking for         Email-Reply (any)      not found
Checking for            mod_perl (v1.999022)  not found

* NOTE: You must run any commands listed below as Administrator.

***********************************************************************
* Note For Windows Users                                              *
***********************************************************************
* In order to install the modules listed below, you first have to run *
* the following command as an Administrator:                          *
*                                                                     *
*   ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms
*                                                                     *
* Then you have to do (also as an Administrator):                     *
*                                                                     *
*   ppm repo up theory58S                                             *
*                                                                     *
* Do that last command over and over until you see “theory58S” at the *
* top of the displayed list.                                          *

***********************************************************************
***********************************************************************
* REQUIRED MODULES                                                    *
***********************************************************************
* Bugzilla requires you to install some Perl modules which are either *
* missing from your system, or the version on your system is too old. *
*                                                                     *
* The latest versions of each module can be installed by running the  *
* commands below.                                                     *
***********************************************************************
COMMANDS:

ppm install CGI.pm
ppm install TimeDate
ppm install DBI
ppm install Template-Toolkit
ppm install Email-Send
ppm install Email-MIME
ppm install Email-MIME-Modifier

***********************************************************************
* DATABASE ACCESS                                                     *
***********************************************************************
* In order to access your database, Bugzilla requires that the        *
* correct “DBD” module be installed for the database that you are     *
* running.                                                            *
*                                                                     *
* Pick and run the correct command below for the database that you    *
* plan to use with Bugzilla.                                          *
***********************************************************************
COMMANDS:

PostgreSQL: ppm install DBD-Pg
Minimum version required: 1.45
MySQL: ppm install DBD-mysql
Minimum version required: 4.00
Oracle: ppm install DBD-Oracle
Minimum version required: 1.19

**********************************************************************
* OPTIONAL MODULES                                                   *
**********************************************************************
* Certain Perl modules are not required by Bugzilla, but by          *
* installing the latest version you gain access to additional        *
* features.                                                          *
*                                                                    *
* The optional modules you do not have installed are listed below,   *
* with the name of the feature they enable. If you want to install   *
* one of these modules, just run the appropriate command in the      *
* “COMMANDS TO INSTALL” section.                                     *
**********************************************************************

***********************************************************************
*                    MODULE NAME * ENABLES FEATURE(S)                 *
***********************************************************************
*                             GD * Graphical Reports, New Charts, Old Charts *
*                          Chart * New Charts, Old Charts             *
*                    Template-GD * Graphical Reports                  *
*                     GDTextUtil * Graphical Reports                  *
*                        GDGraph * Graphical Reports                  *
*                       XML-Twig * Move Bugs Between Installations    *
*                     MIME-tools * Move Bugs Between Installations    *
*                    PatchReader * Patch Viewer                       *
*                     PerlMagick * Optionally Convert BMP Attachments to PNGs *
*                      perl-ldap * LDAP Authentication                *
*                    Authen-SASL * SMTP Authentication                *
*                     RadiusPerl * RADIUS Authentication              *
*                    HTML-Parser * More HTML in Product/Group Descriptions *
*                  HTML-Scrubber * More HTML in Product/Group Descriptions *
* Email-MIME-Attachment-Stripper * Inbound Email                      *
*                    Email-Reply * Inbound Email                      *
*                       mod_perl * mod_perl                           *
***********************************************************************
COMMANDS TO INSTALL:

GD: ppm install GD
Chart: ppm install Chart
Template-GD: ppm install Template-GD
GDTextUtil: ppm install GDTextUtil
GDGraph: ppm install GDGraph
XML-Twig: ppm install XML-Twig
MIME-tools: ppm install MIME-tools
PatchReader: ppm install PatchReader
PerlMagick: ppm install PerlMagick
perl-ldap: ppm install perl-ldap
Authen-SASL: ppm install Authen-SASL
RadiusPerl: ppm install RadiusPerl
HTML-Parser: ppm install HTML-Parser
HTML-Scrubber: ppm install HTML-Scrubber
Email-MIME-Attachment-Stripper: ppm install Email-MIME-Attachment-Stripper
Email-Reply: ppm install Email-Reply
mod_perl: ppm install mod_perl
</code>

Vamos, que me faltan un montón de módulos…

Ejecuto la primera línea de las dos que me pide que ejecute como administrador:

ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms

Y obtengo la siguiente salida:

Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Repository
[3] theory58S

Así es que al parecer, acabo de añadir theory58S a los repositorios de Perl.

Posteriormente, tal y como sugiere la documentación, ejecuto la orden: ppm repo up theory58S un par de veces, hasta que ‘theory58S’ aparece el primero:

ppm repo up theory58S

Repositories:
[1] ActiveState PPM2 Repository
[2] theory58S
[3] ActiveState Package Repository

ppm repo up theory58S

[1] theory58S
[2] ActiveState PPM2 Repository
[3] ActiveState Package Repository

Después ejecuto todas las órdenes de instalación necesarias para los módulos principales:

ppm install CGI.pm
ppm install TimeDate
ppm install DBI
ppm install Template-Toolkit
ppm install Email-Send
ppm install Email-MIME
ppm install Email-MIME-Modifier

Instalo el acceso a las bases de datos mysql:

ppm install install DBD-mysql

E instalo algunos de los módulos opcionales.

Vuelvo a ejecutar perl checksetup.pl y me dice que el modulo CGI es obsoleto pero si lanzo el ppm install CGI.pm me dice que ya está instalado..

Lo desinstalo con “ppm remove CGI.pm”, lo vuelvo a instalar con “ppm install CGI.pm” y nada, al parecer bugzilla pide la versión 3.21 y la que me instala por defecto es la 3.05

Miro en la documentación de bugzilla y recomiendan añadir otro repositorio, así que ejecuto:

ppm repository add landfill http://www.landfill.bugzilla.org/ppm/

y posteriormente: “ppm repo up landfill” para colocarlo como primer repositorio.

Y ahora al instalar de nuevo el módulo CGI, sí que me coge la última versión, en este caso, la 3.23.

Pero, cuando hago un pmp describe CGI, me sigue apareciendo la versión 2.91…

Me he dado cuenta de que me coge el CGI 2.91 del repositorio de theory58S y el “CGI.pm” del de landfill.

Así que desinstalo ambos: “ppm remove CGI.pm” y “ppm remove CGI”.

Desactivo el repositorio de theory58S: con “ppm rep” veo la posicion en la que se encuentra (2), y con “ppm rep off 2″, lo desactivo.

Pruebo a instalar y sigo con el mismo problema, aunque me instala la versión 3.23, después en el checksetup.pl sigue encontrándome la 2.91.

Pruebo incluso a instalar el paquete directamente desde el repositorio:

ppm install http://theoryx5.uwinnipeg.ca/ppms/CGI.pm.ppd

Pero no soluciona el problema.

Finalmente, se me ocurre modificar directamente el requerimiento de Bugzilla y bajar la versión a la 2.90.

Para ello me voy al fichero Bugzilla\Install\Requirements.pm y sustituyo en la línea:

“version => (vers_cmp($perl_ver, ‘5.10′) > -1) ? ‘3.33′ : ‘3.21′”

la versión 2.90

“version => (vers_cmp($perl_ver, ‘5.10′) > -1) ? ‘2.90′ : ‘2.90′”

Y, por fin funciona!!!

Ahora, el checksetup.pl me ha creado un fichero localconfig con la configuración de BugZilla.

Lo edito y seteo los datos de la bd.

Dado que usaré mysql como bd, creo estas líneas en el fichero my.ini:

# For BugZilla
# Allow packets up to 4MB
max_allowed_packet=4M

# For BugZilla
# Allow small words in full-text indexes
ft_min_word_len=2

Creo la base de datos en mysql.

CREATE DATABASE `bugs` DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;

Y creo el usuario de bugzilla en la bd, asignándole permisos:

GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY '$db_pass‘;

Vuelvo a lanzar checksetup.pl y me crea las tablas en la bd y las plantillas html.

Me pide además los datos del servidor SMTP.

Me aparecen algunos errores que espero que no sean importantes (Attempt to free unreferenced scalar…)

Me pide el e-mail del administrador, password.. y parece que ya está todo.

A continuación, creo el sitio web en iis y añado index.cgi a los documentos del sitio web.

Vuelvo a ejecutar checksetup.pl y, por fin, me aparece que ya se ha instalado BugZilla..

A continuación, creo el sitio web en iis y añado index.cgi a los documentos del sitio web.

En la pestaña ‘Home Directory’ del nuevo sitio virtual, en el botón ‘Configuration’, me lleva a Mappings y ahí tengo que añadir la extensión cgi para que apunte a:

<full path to perl.exe >\perl.exe -x<full path to Bugzilla> -wT "%s" %s

Por ejemplo: 
c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s

y si existe la extensión .pl, borrarla.

Fuentes:

http://www.chuidiang.com/chuwiki/index.php?title=Instalaci%C3%B3n_de_Bugzilla_en_windows

http://www.bugzilla.org/docs/2.20/html/os-specific.html#win32-perl-modules

Enhanced by Zemanta

Streaming de ficheros mp4 en Windows 2003 Server con IIS

Si en una página web quieres mostrar embebido un vídeo codificado en QuickTime (.mp4), basta con incluir esté código html:

<object id=”id1″ width=”611″ height=”474″ style=”height: 458px; left: 109px; position: absolute; top: 12px; width: 611px; z-index: 1;” data=”video.mp4″ type=”video/quicktime”>
<param value=”video.mp4″ name=”src”/>
<param value=”false” name=”controller”/>
<param value=”true” name=”autoplay”/>
<param value=”tofit” name=”scale”/>
<param value=”100″ name=”volume”/>
<param value=”true” name=”loop”/>
</object>
<div class=”spacer” style=”height: 600px; line-height: 600px;”> </div>

Sin embargo, si tu servidor es IIS, es posible que después de ejecutar la página, no aparezca el vídeo.

Probablemente el problema es que en tu servidor no está configurado el tipo mime ‘.mp4′ y por defecto IIS no sirve ficheros cuyo tipo mime no esté configurado.

Para solucionarlo, existen dos alternativas:

1ª Configurar el tipo mime únicamente en el sitio web que va a contener los ficheros ‘.mp4′:

- Hay que hacer click con el botón derecho en el directorio virtual del sitio web.

- Ir a la opción Propiedades.

- Ir a la pestaña Encabezados HTTP y al botón Tipos MIME.

- Añadir el tipo Mime de este modo:

- Extensión: .mp4

- Tipo MIME: video/mp4

- Y ya lo tenemos solucionado!

2ª Otra opción es configurar ese tipo mime para todos los sitios web:

- Botón derecho sobre Sitios Web, Propiedades y realizar los pasos anteriores.

Fuente: http://www.webbrush73.com/archives/2008/08/27/problems-getting-quicktime-export-to-web-files-to-play-online/

Listado de tipos MIME mapeados en IIS: http://asistencia.aruba.it/kb/idx/45/349/00002Lenguajes-y-espacio-web/article/MIME-mapados-en-IIS-bajo-Hosting-Windows-2003.html

Instalar PHP5 en IIS

Algunas páginas útiles si tienes que instalar PHP5 sobre IIS:

En Castellano:
http://ernesto.rusanval.com/2007/06/como-instalar-php-5-en-iis-60/
http://www.elguruprogramador.com.ar/articulos/configurar-el-iis-para-que-funcione-con-php.htm

En Inglés:
http://www.wikihow.com/Install-PHP-5-for-IIS-6
http://peterguy.com/php/install_IIS6.html
http://www.iis-aid.com/articles/how_to_guides/installing_php_5_on_iis_in_5_simple_steps
PDF: http://modxcms.com/forums/index.php?action=dlattach;topic=14486.0;attach=4999

Yo lo he instalado como módulo ISAPI en lugar de instalarlo como CGI, ya que de ese modo es más rápido y, por lo tanto, más eficiente. Aquí explican las diferencias entre un modo u otro: http://www.phpbuilder.com/board/archive/index.php/t-10216336.html

Si usas el módulo ISAPI, hay que tener en cuenta que te obliga a que todas las extensiones instaladas sean thread-safety, dado que muchas extensiones no lo son, si alguna te dá problemas, lo primero que puedes intentar es ejecutarlas bajo el módulo CGI. Otra posibilidad es usar FastCGI que combina lo mejor de ambos modos. En ese caso, aquí hay un par de sitios que explican cómo instalarlo: http://phplens.com/phpeverywhere/fastcgi-php, http://blogs.iis.net/bills/archive/2006/10/31/PHP-on-IIS.aspx

Algunas notas importantes:
Para mySQL 4.1.5 o posteriores, la línea a descomentar es “extension=php_mysqli.dll” en lugar de “extension=php_mysql.dll”

Si se usan las directivas para el código PHP, hay que activar en el init la siguiente línea:
short_open_tag = On. Si sólo se usa no es necesario.

Y algunas consideraciones si existía código para la versión 4.x en el servidor:
Se recomienda desactivar en el fichero php.ini la directiva: allow_call_time_pass_reference = Off y por tanto, si existían llamadas a funciones en las que por defecto debían recibir parámetros por referencia, indicarlo en la declaración de la función.

También se recomienda desactivar la directiva: register_globals = Off

Por último, esta es una buena guía sobre cómo migrar código de PHP4 a PHP5: http://es.php.net/manual/es/faq.migration5.php

Caducidad de los dominios .es

A partir de un hilo en los foros: http://www.demene.com/discussion/2408/hay-vida-despues-de-la-caducidad-es-/, he descubierto cual es la ‘vida’ de los dominios .es una vez que cumple su fecha de caducidad sin que hayan sido renovados:

Estados por los que pasa un dominio .es hasta que quede libre para su registro cuando el Agente Registrador no lo ha renovado:

  • Recibida
  • 15 días antes de la fecha de caducidad del dominio.
    Pendiente Aceptación Renovación: Se le avisa al Agente Registrador que se ha generado la solicitud de renovación
  • 5 días antes de la fecha de caducidad del dominio.
    No Renovado por Agente Registrador. Se le avisa al Contacto Administrativo que el dominio no ha sido renovado por el Agente Registrador.
  • El día de la fecha de caducidad del dominio.
    No Renovado por Agente Registrador. Se le vuelve ha avisar al Agente Registrador que no ha renovado el dominio.
  • Hasta 25 días después de la fecha de caducidad del dominio.
    Período de gracia. El dominio sigue funcionando correctamente.
  • 25 días después de la fecha de caducidad del dominio.
    Renovación No Efectuada.
    Dominio Desactivado Temporalmente. Se suspenden los DNS. El dominio ni resuelve ni está liberado. Sólo puede ser renovado por el titular.
  • 40 días después de la fecha de caducidad del dominio.
    Dominio No Renovado. El dominio queda libre para su registro.

Durante el período de 40 días posteriores a la fecha de caducidad del dominio, el registro “WHOIS” no sufre ninguna modificación. Durante este periodo el dominio puede ser trasladado sin problemas, es más ahora los dominios al trasladarse entre agentes no se renuevan automáticamente aun estando dentro de lo que le llamamos “transferencia en renovación”.

Formato de las fechas en Word 2003 al combinar correspondencia con Excel

En las versiones anteriores a Word 2003, al combinar correspondencia con una tabla Excel, los campos cogían automáticamente el mismo formato que tenían en Excel.

Sin embargo, en Word 2003 parece que cogen un formato por defecto.

La forma de ‘dar formato’ a un campo de combinación en Word 2003 o posteriores es:

1.- Click derecho con el ratón sobre el campo y seleccionar “Editar Campo”

2.- Pulsar el botón “Códigos de Campo” que suele estar en la esquina inferior izquierda.

3.- Normalmente aparecerá este texo en el campo “Códigos de Campo:”
MERGEFIELD  Fecha_Examen

Dónde Fecha_Examen es el nombre del campo.

Para darle un formato, hay que añadir el símbolo  \@ y el formato entre comillas.

Por ejemplo, para que la fecha aparezca en el formato: “22 de Julio de 2008″

El texto que debe quedar es el siguiente:

MERGEFIELD  Fecha_Examen \@ “dd ‘de’ MMMM ‘de’ yyyy”

Espero que os sirva!

1.- Marca el campo
2.- Boton de la derecha, editar campo, aparece una ventana emergente
3.-selecciona codigos de campo
4.-selecciona boton opciones
5.- Pincha la pestaña de “modificaciones especificas”
6.- En descripcion añade #0,00  (para 2decimales)
te quedará MERGEFIELD nombrecampo #0,00

Enhanced by Zemanta

Logos de google durante las Olimpiadas 2008

A través de Bitelia, llego a una página dónde podéis ver todos los logos de Google durante las Olimpiadas de 2008: http://www.google.com/doodle14.html

Algunas series y dibujos para niños

En Bebés y más nos hablan del jardín de los sueños de la nueva serie “hermana” de los Teletubbies que comienza a emitirse por TVE.

Además de esta serie, son interesantes si tienes enanos, los Teletubbies y Pocoyó.

Y para los nostálgico, siempre tendremos Barrio Sésamo ;)