martes, 23 de septiembre de 2008

Activar el conector aspx para el filemanager del FCKeditor

Hay que reconocer que la aplicación gratuita de FCKeditor es una autentica maravilla. Y además preparada para actuar como un control .NET con un par de líneas.

Pero me encontré con un problema al querer utilizar el FileManager que trae incorporado para gestionar de una forma sencilla los ficheros multimedia que queramos almacenar en el servidor y utilizar en los documentos realizados en el editor.

Y el problema se manifestaba como un gigantesco mensaje de error que, entre un montón de código que no decía nada de interés, me indicaba que había un problema con los ficheros php… ¿php? Pero si mi sistema es .Net!!

Mirando en la ayuda me encuentro que hay que tocar el fichero de configuración (fckconfig.js) que te encuentras en el directorio raíz del FCKeditor y modificarlo de esta forma tan sencilla:

// The following value defines which File Browser connector and Quick Upload
// "uploader" to use. It is valid for the default implementaion and it is here
// just to make this configuration file cleaner.
// It is not possible to change this value using an external file or even
// inline when creating the editor instance. In that cases you must set the
// values of LinkBrowserURL, ImageBrowserURL and so on.
// Custom implementations should just ignore it.
var _FileBrowserLanguage = '
aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = '
aspx' ; // asp | aspx | cfm | lasso | perl | php | py

Solamente hay que cambiar el valor por defecto de php por aspx.

Pero cuando fui a probarlo, me encuentro con una pantalla de error en donde me informa que el conector aspx no está habilitado. Que lo haga en el fichero \editor\filemanager\connectors\aspx\config.ascx en donde hay que modificar la siguiente línea:

// SECURITY: You must explicitly enable this "connector". (Set it to "true").
//Enabled = CheckAuthentication(); //Comentado para no borrarlo.
Enabled = true;


Y con esto funciona todo corréctamente.

domingo, 21 de septiembre de 2008

HTTP 401.1 - Unauthorized: Logon Failed - FCKeditor

Estoy haciendo una aplicación en casa para la gestión de noticias de un portal de mi club de tiro con arco. Y estoy utilizando el excelente programa FCKeditor para la publicación de noticias vía Web.

Me descargo el paquete e instalo todo sin problemas.

Pero al ir a probarlo me encuentro con este precioso mensaje del IIS, al mismo tiempo que me sale una ventana de identificación: HTTP 401.1 - Unauthorized: Logon Failed

Teniendo en cuenta que el IIS está en mi portátil, y que el perfil está en un dominio que no existe... me las vi negras, muy negras.

Me puse a trastear sobre la configuración del IIS y nada, hasta que por medio de San Google llegué a esta página en donde me dio la idea de que la dll de referencia no entraba con el usuario que debiera, si no con otro.

En un caso de un IIS público haría lo que recomiendan en el enlace anterior y hubiera encontrado el usuario por medio de una auditoria del directorio de marras, dándole los permisos adecuados.
Pero, en este caso de desarrollo casero, le he dado permisos sobre el directorio fckeditor al usuario "Todos".

Por último me daba un error de que no encontraba la página y esto era debido a que en las propiedades del FCKeditor le tení a que quitar la barra al basepath (en vez de /fckeditor / debía ser fckeditor/)

Y ahora a seguir picando un domingo por la tarde :)

viernes, 19 de septiembre de 2008

Evento Mad.Nug Gestión de código fuente con Visual Studio Team System

Este jueves, día 18 de Septiembre del 2008, he tenido el gusto de asistir a mi primer evento de MAD.NUG. Con Jesús Jiménez como ponente de una interesante charla sobre mi más apreciada bestia en tecnología .NET. Team System.

La sala, en la sede de Microsoft de Madrid, estaba a medio llenar con oyentes de todas las edades y condiciones. Y con dos bestias pardas MVP como son Luis Fraile y Bruno.

Nada más entrar lo primero que hice fue quitarme la corbata y la chaqueta, arremangarme las mangas y diluirme en el entorno en donde mis canas resaltan aún más que la pinta de jefe de proyecto.

Luís, me dio la sensación, que me reconoció pero no me pudo situar. Y yo tampoco me sentí con ganas de señalarle que este año llevo viéndolo en cuatro presentaciones :)

La ley de Murphy atacaba de nuevo y se retrasó el inicio de la charla a causa de la instalación fallida de la conexión bluetooth, pero obviando estos problemas todos los ejemplos y el resto del evento fueron sobre ruedas.

La charla fue muy interesante y tocó temas sobre estructura del proyecto y, sobre todo, el concepto de branches, que no había oído nunca. Además las intervenciones de Luis y Bruno le dieron el punto adecuado de informalidad y buen rollito al evento. (yo tampoco uso entreprise library, pero porque no las conozco.)

Me quedaron unas cuantas dudas que debería haber preguntado en la sesión de cervezas a las que nos invitó Luis, con cara de alegría, y a la que no me apunté por cansancio (que vengo de trabajar) y porque no me venía bien llegar más tarde a casa. Pero para el siguiente jueves, porque la próxima con el Guille seguro que hay overbooking en la sala, si que quisiera quedarme y construir una relación personal más cercana con estos admirados y excelentes profesionales.

Lo mejor, las ganas de sentarme delante de mi portátil a poner en práctica las cosas que me habían enseñado. Las ganas que me ha dejado esta charla de aprender más.

viernes, 12 de septiembre de 2008

Final de otro proyecto.

Si, es cierto que es inherente a todo consultor tener una movilidad más o menos constante en este mundo del desarrollo. Y hoy eres Jefe de Proyecto y mañana vuelta a picar código. Pero he de reconocer que me da rabia cuando un proyecto queda sin finalizar a causa de razones más o menos acertadas.

En este caso, pegándome con una pequeña aplicación programada por demasiadas manos, he tenido que ceder el sitio para que el funcionario, recién aprobada su oposición, tenga labor por la que le paguen el sueldo todos los meses y el Jefe de Área, con buen criterio, decida que tener un consultor (con lo que costamos) una semana “de apoyo” es un tanto absurdo y, en una horita, cambie de opinión y me diga la famosa frase de “no es necesario que vengas el Lunes”.

Y yo pensando, pos mal decidido porque hay que retocar cuatro cosas que tienen muy mala follá y yo lo podría hacer en un par de jornadas y la funcionaria nueva, que no es que no sepa si no que no controla este plato de espaguetis de aplicación, se va a volver loca hasta encontrar el final de la madeja para empezar a tirar del hilo. Cómo me pasó a mí hace cinco meses.

Pero bueno, un tiempillo en la oficina, dos proyectos en un año y los dos con final brusco que me han dejado con mal sabor de boca por no ver nacer la criatura. Y a la espera, que parece que la crisis aprieta, y aunque en InfoJobs hay casi 50 ofertas para .NET al día en Madrid (todas a poco más de 25.000€ brutos) en mi empresa (Oracle y Java) no tiene nada de lo mío en perspectiva.

Osea, me olvido del escáner Canon 5010C, y a por el siguiente reto que es Report Services de SQL server 2005. Eso sí puedo cerrar este capítulo en Windows Forms y me vuelvo a mi muy querido y entendido asp.net .

martes, 9 de septiembre de 2008

Problemas de desinstalación desde un recurso de Red.

La aplicación en la que estoy trabajando estos últimos meses ha sido realizada por otra compañía (Indra) y es la muestra de un código realizado y retocado por diferentes desarrolladores de diferentes niveles y terminada por el menos preparado de todos.

Entre las múltiples “perlas” que me he encontrado y corregido, ayer me encontré con una insidiosa que se trata en que para instalar la aplicación en los equipos de los usuarios hay que desinstalar la versión anterior. El problema se presenta cuando, para hacer más sencillo esta operación, la instalación anterior se realizó desde un recurso compartido que, por alguna razón misteriosa, los de sistemas le quitaron los permisos de acceso posteriormente.

Por lo cual al intentar desinstalarlo me encuentro con un mensaje del Windows Installer avisándome que no encuentra el fichero .msi y que no puede realizar la operación. Y la aplicación al encontrar una versión ya instalada me dice “tururú pajarito” y me quedo con cara de bobo viendo que no tengo manera de actualizar el ejecutable.

Solución: tuve la enorme suerte de ser perro viejo en esto y hacerme una copia del fichero de instalación en la máquina en local. Así que cambiando el path fue suficiente para obtener los resultados deseados.

lunes, 1 de septiembre de 2008

¿Está enchufado a la corriente?

El ciclo de trabajo de estás librerías es por medio de eventos en donde se invocan los diferentes métodos y sus parámetros enumerados, para que el escáner realice las funciones que le indica la librería.

Es decir, lanzamos un ksScan.action = KSACTIONSTART y el escaner lanza los siguientes eventos:
BatchStart
PageStart
PageEnd
PageAnnotate
PageDone
BatchEnd
ErrorEvent

Estos eventos, en el modo de lote de escaneos, se repiten una y otra vez hasta que finalizas el trabajo o llegas a la última página. Y aquí tenía el problema con el Canon (ahora mismo usamos un Fujitsu), que se quedaba tonto y no cerraba el ciclo de eventos.

Después de una semana rompiéndome los cuernos, decidí hacerme un proyecto nuevo desde cero y corrigiendo los múltiples fallos y duplicidades que tiene el código original, y obteniendo resultados positivos, escanear y almacenar el documento, de forma casi inmediata.

Y entonces se presento "la bestia negra del desarrollo"...

La causa principal de cambiar de escáner es el poder imprimir por el anverso un sello de registro del documento. Con el Fujitsu, solamente se puede imprimir por el reverso y se imprime una etiqueta de registro extra para situar en el anverso del documento físico.

Por lo cual cuando en las pruebas no obtenía ninguna impresión, empecé a tocar todo lo tocable y a volverme loco pensando el porqué del fallo. Incluso modifiqué el desarrollo para poder pasar de un escáner al otro de manera fácil y sencilla para hacer pruebas, y nada. Aquello no imprimía la línea de prueba ni en broma.

Al final me olvidé que en mis tiempos de servicio técnico lo primero que había que comprobar es el entorno FISICO. Y, efectivamente, el problema era que la impresora del escáner (llamada preprinter) no recibía las hojas desde el escáner por un desajuste que el técnico encontró después de una hora de sufrimiento y que soluciono con una cuña de papel (alta tecnología).