lunes, 7 de septiembre de 2009

El Iphone, el 3G, el GPRS, el Push, la batería y las llamadas perdidas.

Podría ser el titulo de una película de humor o en este caso de una tragicomedia. Antes que nada vamos a definir un poco los conceptos de forma poco rigurosa pero entendible para todos.

Iphone.- es el teléfono de Apple que hace la mitad que los demás pero con mucho más estilo y fluidez.

3G.- Sistema de transmisión de datos que permite transmitirlos a más velocidad que el GPRS y sin interrumpir la entra de llamadas de voz, pero consumiendo la batería en 0,5.

GPRS.- Sistema de transmisión de datos más lento que el 3G pero que consume menos batería.

Push.- Sistema por el cual nuestro teléfono deja un camino de datos abierto con el servidor de correo para saber cuando ha llegado correo, citas o contactos nuevos y actualizarlos en el teléfono. Además de paso se zampa la batería.

Batería.- Elemento que produce electricidad para que nuestro teléfono funcione y que siempre se agota en el momento más inoportuno.

Llamada perdida.- Llamada que era de vital importancia para nuestra vida y que no pudimos atender porque el teléfono decidió que estaba apagado o fuera de cobertura.

Una vez aclarado esto vamos con el tema.

PROBLEMA:

Muchos usuarios del Iphone lo utilizamos para sincronizar nuestro correo electrónico con un servidor de correo tipo Microsoft Exchange Server. Por defecto al configurar una cuenta de Exchange en el Iphone se queda activada la actualización mediante Push, la cual si tenemos el 3G activado hará que la batería nos dure literalmente 1 hora. Muchos de nosotros como solución a este problema lo que haremos es desactivar el 3G, con esto aparentemente se soluciona el problema y la batería dura más.

Pero surge otro problema, la gente se empieza a quejar de que nos llama y le sale la locución diciendo que el teléfono esta apagado o fuera de cobertura, a lo que nosotros le decimos “ que raro si tengo el teléfono al lado mío y esta a tope de cobertura”. Efectivamente, pero probablemente el teléfono en ese momento esta sincronizándose con el servidor de correo y como hemos desactivado el 3G, ahora lo hace por GPRS o EDGE lo cual hace que en ese instante no podamos recibir llamadas.

SOLUCIÓN:

La solución mejor que he encontrado, por lo menos en mi caso, ha sido activar el 3G y cambiar el Push por la sincronización automática cada hora, con esto la batería dura y la perdida de llamadas por este motivo es nula.

Cuidado con los lugares donde no hay cobertura 3G ya que el teléfono se conectara por GPRS y volveremos a perder llamadas. En estos casos, si tenemos que pasar tiempo a diario en ese lugar, deberíamos intentar configurar un acceso WIFI, de hecho os recomiendo que siempre que podáis uséis la WIFI. Por ejemplo yo tengo configuradas la del trabajo y la de casa de forma que el teléfono en esos lugares se conecta automáticamente por WIFI.

 

Etiquetas de Technorati:

Problema con Adobe flash player en terminal server.

PROBLEMA:

En un servidor de terminal server tenemos instalamos el Adobe flash player desde una cuenta con privilegios de Administrador. Pero el resto de usuarios cuando van a una página que requiere el plugin reciben un mensaje como que no esta instalado y además lógicamente no pueden instalarlo.

SOLUCIÓN:

La solución pasa por cambiar los permisos de dos ramas del registro y sus objetos hijo.

Las dos ramas a editar son:

[HKEY_CLASSES_ROOT\TypeLib\{D27CDB6B-AE6D-11CF-96B8-444553540000}]
[HKEY_CLASSES_ROOT\CLSID\{D27CDB6B-AE6D-11CF-96B8-444553540000}]

Los permisos de estas dos ramas deben ser cambiados read (lectura) para el grupo Todos o Everyone.

Una vez hecho esto la próxima vez que los usuarios hagan login todo funcionará correctamente.

Etiquetas de Technorati:

miércoles, 3 de junio de 2009

Restaurar el fichero AllItems.aspx en SharePoint.

PROBLEMA

Aunque parezca increíble es posible sobrescribir sin darnos cuenta el dichero AllItem.aspx de una biblioteca de documentos.  Esto puede ocurrir, por ejemplo, si estamos editando un documento en Word y al hacer clic Guardar como pegamos en el nombre del documento un link a la biblioteca de documentos. En principio nuestra intención sería que el documento se guardara en dicha biblioteca, pero lo que puede ocurrir es que terminemos sobrescribiendo el documento AllItems.aspx con la información de nuestro documento de Word. Si esto sucede, el SharePoint nos devolverá un error cada vez que intentemos acceder vía web a dicha biblioteca.

SOLUCION

La solución más rápida a este problema es abrir la biblioteca, desde el explorador de Windows, como un Web Folder. Para ello en Windows Vista vamos a Equipo y haciendo clic con el botón derecho hacemos clic en Agregar una ubicación de red, seguimos los pasos y cuando nos pregunte por la Dirección de red o Internet, ponemos nuestra dirección de la biblioteca de SharePoint. Una vez creada la nueva ubicación la abrimos y si tenemos activado Ver documentos ocultos, veremos una carpeta que se llama Forms, entramos en dicha carpeta, editamos el documento WebFldr.aspx copiamos todo su contenido, lo cerramos. Después editamos, con WordPad, el documento AllItems.aspx y lo sustituimos pegando el contenido del anterior documento. Por ultimo guardamos los cambios y ya esta.

Etiquetas de Technorati:

lunes, 4 de mayo de 2009

Zend_Application and Autoload Modules

UPDATE: if you're using SVN, you need to update to a later revision (after 15357, mandatory) due to a bug

La liberación de la versión 1.8 del Zend Framework deja mucho que desear en cuanto a documentación. Erratas y omisiones parecen ser los principales problemas con los que nos encontramos los usuarios. Además, no se ha publicado el API 1.8 para su descarga (sólo consulta online). Sin embargo, los test sobre el código cubren el 100% y hacen más llevadera la interpretación del código.

Otro de los problemas con el que nos encontramos es cómo configurar nuestra aplicación modular para que se beneficie del componente Zend_Application y la carga dinámica de los recursos mediante Zend_Application_Module_Bootstrap. Por eso hemos decidido escribir este post y ofrecer como ejemplo una sencilla aplicación modular que se representa en el siguiente árbol:

En primer lugar creamos nuestro public/index.php

// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(dirname(__FILE__) . '/../library'),
get_include_path()
)));

/* Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()->run();

A continuación añadimos los datos de configuración de nuestra aplicación en: /application/configs/application.ini

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

autoLoaderNameSpaces.0 = "Scienta"

resources.layout.layout = "layout"
resources.layout.layoutPath = APPLICATION_PATH "/layout/scripts"

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.plugins.debug = "Scienta_Controller_Plugin_Debug"


resources.modules[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

En tercer lugar, acondicionamos nuestro /application/Bootstrap.php



class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
/**
* @var Zend_Log
*/
protected $_logger;

protected function _initLogging()
{
$this->bootstrap('frontcontroller');
$logger = new Zend_Log();

$writer = 'production' == $this->getEnvironment() ?
new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../var/logs/app.log') :
new Zend_Log_Writer_Firebug();
$logger->addWriter($writer);

if ('production' == $this->getEnvironment()) {
$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
$logger->addFilter($filter);
}

if($writer instanceof Zend_Log_Writer_Firebug)
{
$writer-> setPriorityStyle(8, 'TABLE');
$logger->addPriority('TABLE', 8);
}


$logger->info($this->bootstrap('frontcontroller'));
$logger->info($this->getPluginResourceNames());
$logger->info($this->getApplication());
Zend_Registry::set('logger', $logger);

/*
* Set _logger for use with other methods
*/
$this->_logger = $logger;
}
protected function _initView()
{
// Initialize view
$view = new Zend_View();
$view->doctype('XHTML1_STRICT');
$view->headTitle('My First Zend Framework Application');
// set the content type and language
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8');
$view->headMeta()->appendHttpEquiv('Content-Language', 'en-US');

$view->headLink()->appendStylesheet('/css/basic.css');
$view->headLink()->appendStylesheet('/css/jquery-ui-themeroller.css');

// Add it to the ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);

// Return it, so that it can be stored by the bootstrap
return $view;
}

}


Y, finalmente, en cada uno de nuestros módulos, añadimos un archivo que instancie el module bootstrap:



Puedes descargar el código fuente de este pequeño ejemplo aquí:

Download Source Code.

viernes, 1 de mayo de 2009

Liberada la versión 1.8 del Zend Framework




El Zend Framework 1.8 acaba de ser publicado esta noche y está disponible para su descarga.

Se trata casi de una actualización mayor, ya que, por un lado, empieza a romper la compatilidad con versiones previas y se empieza a enfilar la versión 2.0 (el método estático Zend_Loader::registerAutoload ha sido marcado como deprecated y sustituido por la funcionalidad del nuevo componente Zend_Loader_Autoloader) y, por otro, porque la funcionalidad de algunos de los nuevos componentes intenta superar la brecha que existe entre lo que se conoce como glue framework vs Full Stack framework, es decir, incorporar elementos de autosuficiencia que permitan usarlo como entorno completo de desarrollo.

Así, se incorporan las siguientes novedades que nos parecen interesantes:
  • La herramienta de comandos Zend_Tool, para crear y editar proyectos desde la linea de comandos y aliviarnos del trabajo que supone tener que crear a mano toda la estructura del proyecto.
  • Zend_Application, el componente que permite configurar el Bootstrap de la aplicación de una forma orientada a objetos.
  • Zend_Navigation, una forma sencilla de tratar menús, breadcrumbs o sitemaps.
  • Zend_Json mejorado para soportar expresiones.
Para una descripción completa de las notas de la versión, se puede consultar el post de Matthew Weier O'Phinney (Nuevo jefe de proyecto -y el más cualificado, por cierto-) en Devzone

lunes, 27 de abril de 2009

Konducta asiste a iCities 2009

Se nos ha hecho corta la asistencia a las jornadas iCities 2009 en Candelaria (Tenerife).

Este año fue la segunda edición sobre Open Government, e-Administración y Participación Digital y, de nuevo, nos ha sorprendido la capacidad organizativa del ayuntamiento y todo su plantel. El despliegue de medios (amplia difusión previa, eco en la red, streaming de video, actualización inmediata) y ponentes ha sido de una calidad bastante alta.

Se trataron varios temas agrupados bajo la etiqueta 2.0: la administración electrónica y su "modernización", la fusión de ciudad + tecnología como polo de desarrollo, tecnólogos canarios en centros mundiales de referencia, sanidad y el periodismo que viene (ante el agotamiento del modelo actual). Al mismo tiempo, se ofertó la asistencia a los iCities Labs en los que, a modo de laboratorios prácticos, los interesados podían entrar en contacto directo con las tecnologías discutidas en la sala principal.

Ha sido enriquecedor en muchos sentidos, pero sobre todo para poder tomar el pulso a la forma en la que se están interpretando las posibilidades técnicas para adaptarlas al mundo "real". Como conclusión, podemos decir que los principales impedimentos para la implantación de muchas soluciones tecnológicas necesarias, no es el estado actual de la tecnología en sí, sino la falta de organización y acuerdo entre las partes interesadas. La actualización de las administraciones y servicios desvela que existe una brecha entre el modelo descentralizado de gestión política y la concentración y simplicidad que podrían aportar las herramientas informáticas en sí mismas.

El año que viene volvemos. Dejamos aquí algunos enlaces que nos han parecido interesantes:

jueves, 19 de marzo de 2009

Error al instalar el cliente de Microsoft CRM 4.0

PROBLEMA:

Cuando vamos a instalar o configurar el cliente para Outlook de CRM 4.0 nos encontramos con el siguiente error “Microsoft Dynamics CRM para Outlook no se puede instalar en un equipo en que hay instaladas versiones de Microsoft Exchange Server anteriores a Exchange Server 2007”. En principio esto no sería un error si fuera cierto que estamos intentando instalar el cliente en un servidor con un Exchange Server anterior a 2007 instalado. El error o problema surge cuando estamos instalando en una maquina cliente o en un servidor, normalmente de terminal, donde no existe ningún Exchange Server instalado.

image

SOLUCIÓN:

En dicho caso existe una pequeña “trampa” que podemos hacer para solventar el problema. Ejecutamos el editor del registro del sistema, inicioejecutar y escribimos regedit.
Vamos a la rama HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange y hacemos clic en el botón derecho exportar, guardando el archivo resultante. Después eliminamos dicha rama con el botón Supr.

Una vez hecho esto volvemos a ejecutar la configuración del cliente de Outlook para CRM 4.0 , que en principio esta vez no nos debería dar ningún problema. Si nos da algún error, desinstalar primero y después volver a instalar.

Por ultimo hacer doble clic en el fichero guardado por la exportación de la rama del registro para así volver a recuperarla.

Etiquetas de Technorati: ,

martes, 17 de marzo de 2009

Nueva versión 4.0 del Antivirus NOD32

ATENCIÓN: De momento desde Konducta no recomendamos instalar dicha versión en servidores con Windows Server 2003 y Terminal Server en modo aplicación instalado, ya que se ha comprobado que puede generar inestabilidad en el sistema y cuelgues inesperados.

ESET Smart Security v.4 y ESET NOD32 v.4 han sido optimizados para contrarrestar el enorme volumen actual de amenazas a través de web y de correo electrónico

ESET, proveedor global de protección antivirus de última generación, ha presentado hoy la nueva versión de sus soluciones de seguridad, proporcionando la protección más eficaz contra las amenazas actuales. Construidas sobre la exclusiva y probada tecnología ThreatSense®, que ha hecho de ESET líder en protección proactiva, ESET Smart Security® v.4 y ESET NOD32 Antivirus® v.4 han sido optimizados para ofrecer una mejor protección y uso, manteniendo un bajo impacto en el rendimiento del sistema.

A continuación se muestran los principales beneficios de estas nuevas versiones:

  • Protección ante amenazas desconocidas: La premiada tecnología ThreatSense® proporciona la protección más eficaz del mercado frente a los nuevos ataques.

  • Diseñado para ser rápido: Las soluciones de ESET son realmente rápidas, ofreciendo un gran rendimiento durante los análisis.

  • Bajo impacto en los recursos del sistema: Las soluciones de  ESET suelen utilizar entre 35 y 40MB de la memoria del sistema, una fracción de lo que consumen otros productos.
    Los usuarios de portátiles agradecerán el nuevo modo automático de conservación de energía de sus baterías.

  • Sencillo para el usuario: Más fácil de usar que nunca.
    Gracias a su interfaz compacta e intuitiva, el uso mínimo de alertas o el cortafuegos autodidacta, estará configurado y listo para funcionar en un instante, sin notar apenas que el programa trabaja en segundo plano.

Etiquetas de Technorati: ,

Publicado el paquete de actualizaciones 3 para Microsoft Dynamics CRM 4.0

Microsoft ha publicado el paquete acumulativo de actualizaciones 3 para Microsoft Dynamics CRM 4.0. La actualización incluye correcciones de errores y mejoras de rendimiento en un solo paquete para su fácil implementación.

Este paquete acumulativo esta disponible para todos los idiomas compatibles con Microsoft Dynamics CRM 4.0.

Podéis encontrar información detalla, en perfecto ingles, en el articulo 961768 de Microsoft Knowledge Base. Para aquellos que no dominen el ingles os diré que el articulo básicamente comenta lo siguiente:

  1. Debemos hacer una copia de seguridad de todo el sistema y de las posibles personalizaciones que hayamos hecho.
  2. No hace falta tener instalados el paquete de actualizaciones 1(952858) o 2 (959419), ya que el 3 las incluye.
  3. La versión 32-bit contiene los siguientes archivos:

    * CRMv4.0-KB961768-i386-Server-LangID.exe – Se instala en el servidor.
    * CRMv4.0-KB961768-i386-Client-LangID.exe – Se instala en los clientes.
    * CRMv4.0-KB961768-i386-Router-LangID.exe  - Se instala en  el Router de Exchange.
    * CRMv4.0-KB961768-i386-SRS-LangID.exe – Se instala en el SQL Reporting Server.
  4. Podemos exportar personalizaciones desde un servidor con el paquete 2 e importarlas en un servidor con paquete 3, y viceversa.
  5. No debemos hacer exportaciones desde servidores sin ningún paquete o el paquete 1, e importarlas en un servidor con el paquete 3. Tampoco debemos hacer el caso contrario, exportar desde un servidor con el paquete 3 e importar en un servidor con el 1 o ninguno.
  6. También tenemos que tener en cuenta que dentro de la lista de actualizaciones que incluye el paquete 3 existen algunas que debemos habilitar manualmente si nos interesan. Estas son:  955452, 955745, 956527, 959248, 957871, 950175, 953340, 958562, 955138, 956330, 968515, 958601, 968672 y 968755.
  7. Existen tres actualizaciones que deberemos deshabilitar antes de la instalación si no nos interesan o necesitamos ciertas compatibilidades con la versión anterior, son: 948155, 950476 y 958562.

Además como ya sabéis el equipo de Microsoft Dynamics CRM ira sacando paquetes de actualizaciones acumulativas como este más o menos cada dos meses.

Etiquetas de Technorati:

lunes, 16 de marzo de 2009

Las impresoras de red no se mapean en Windows 2003 Terminal

Vamos a empezar este blog con un sencillo "poltergeist" que ocurre en entornos que trabajan en Windows Terminal Server 2003 con clientes en Windows XP.

PROBLEMA:

En dichos entornos a veces ocurre que cuando inicias sesión en terminal desde un Windows XP, el cual tiene instalada una impresora de red, dicha impresora no se mapea y por tanto no la vemos dentro de la sesión de Terminal. Además no se registra ningún error en el visor de eventos.

SOLUCION:

Existen dos posibles soluciones, las cuales indicamos por orden de recomendación.

  1. Instalar Service Pack 3 de XP.

  2. Dentro del Windows XP afectado:

    * Vamos a Inicio - Ejecutar y tecleamos regedit, esto abrirá el editor del registro del sistema.

    * Iremos a la rama HKCU\Software\Microsoft\Terminal Server Client\Default\AddIns\RDPDR

    * Hacer clic con el botón derecho y seleccionar nuevo valor del tipo DWORD con el nombre FilterQueueType

    * Hacer doble clic en la nueva entrada e introducir el siguiente dato FFFFFFFF

    * Por último reinicia el sistema.