Facturación en OpenERP

Un par de opciones en el tema de facturación en OpenERP que confunden un poco son la de facturación desde albaranes o facturación desde pedidos. Incluso, pueden marcarse ambas y seleccionarse en ese caso cual tipo de facturación se hará por defecto. Para mis gustos, sería ideal que pudiéramos definir el tipo de facturación cuando creamos un nuevo cliente pero esa opción no está habilitada sin tener que insertar algunas líneas de programación adicional. Por ahora y volviendo al tema de facturación, tenemos lo siguiente:

Facturación desde Pedidos de Venta: Con esta opción podemos facturar el pedido de ventas del cliente e incluso podemos hacer modificaciones a la factura final por lo que no es mucho problemas si el pedido de ventas se modificó sobre la marcha con un par de ítems de más o de menos. Muchos de nuestros clientes requieren por su estructura administrativa que la factura sea estrictamente similar a su orden de compra por lo que es nuestra “opción por defecto” en OpenERP. Cuando se selecciona esta opción, el botón de “crear factura” aparece sobre el pedido de ventas.

Facturación desde albaranes de salidas: Muchas compañías utilizan este método de facturación para un mayor control de su inventario y lo que se despacha y factura desde el. Básicamente es un sistema de “facturo lo que voy despachando” pero tiene en contra que muchos clientes, como lo mencioné anteriormente, no aceptan facturas parciales de una misma orden de compra. Cuando se selecciona esta opción, el botón de crear factura se encuentra en la nota de entrega (albarán de salida).

Anuncios

Algunas razones que me invitan a odiar el iPhone

Hace pocos meses, llegó a mi vida mi primer iPhone de manos de mi esposa luego de tantas quejas que hacía del Blackberry que tenía en ese momento. El Blackberry es un teléfono con excelentes prestaciones pero que, lamentablemente, se va “degradando” en el tiempo y comienza el proceso eterno de “colgarse” en el momento menos oportuno, a estar lento aún formateando la unidad, a tener que reiniciarlo cada 2 horas, etc, etc.

Sin embargo, luego de tener el iPhone por unos 3 meses, puedo mencionar algunas cosas que me parecen absurdas que sucedan (o no) en un smartphone hoy día. Sigo satisfecho con la velocidad de respuesta y lo bien diseñado respecto a forma pero les doy mis malas impresiones:

  1. Es algo estúpido que no se puedan desactivar las notificaciones (correos, mensajes de whatsapp, etc) cuando estamos hablando con alguien por teléfono. Es algo desesperante el hecho de que escuches al fondo el sonido de la notificación y adicionalmente, te vibre en la oreja. Puede alguien cercano a un diseñador de software de la Apple pedirle que el sensor de proximidad aparte de apagar la pantalla, también tenga la opción de apagar las notificaciones mientras hablamos?
  2. Sigo sin entender porque cuando alguien llama, no es posible ver la “compañía o empresa” donde trabaja si es un dato que podemos colocar en su hoja de contacto. Creo que hasta un teléfono de la gama más baja muestra esto. Realmente no me importa si la persona me llama de su “casa” o “móvil” o “iPhone”, prefiero ver de que empresa llama dado que muchas veces no distingo entre un cliente u otro por similitud de nombres o cantidad de tiempo sin hablar con esa persona.
  3. Cuál es el capricho de que la alarma (despertador) solo pueda ser postergada por nueve (9) minutos y no pueda ser configurable ese tiempo? No todos somos iguales.
  4. Es posible que finalmente podamos tener Firefox en nuestros iPhone?
  5. Arriba existe una barra de tareas que solo muestra la hora, la batería y la señal. Sería mejor si la utilizaran para indicar que tenemos un mensaje de texto, de whatsapp, de correo-e o algo por el estilo.
  6. Es algo increíble que la aplicación de correo electrónico no “refresque” todas las carpetas de correo (etiquetas de gmail) y el usuario deba hacerlo manualmente.

Todas estas son cosas “habituales” que hace cualquier teléfono de hoy día sea smartphone o no.

Utilizar descuentos en las líneas de producto de OpenERP y mostrar el precio unitario en los reportes

Desde hace un tiempo he estado probando OpenERP como solución flexible para manejar las operaciones de la compañía en la cual trabajo. Actualmente lo tengo instalado en un servidor EC2 de Amazon (en algunos días haré un post con esta información) y a pesar de su flexibilidad, me encontré con una piedra (de las tantas que he encontrado) en el camino de hacer que los reportes de Oferta Comercial / Pedido se parezcan a los formatos que utilizamos en la compañía.

Por la dinámica de esta empresa, a pesar que manejamos los precios de los productos con listas de precios y tarifas (o multiplicadores) hay un caso específico donde la persona que elabora la oferta debe adicionar un porcentaje de descuento de acuerdo al producto que está ofertando. Para esta opción, simplemente vamos a Configuración -> Ventas y marcamos la casilla “Permite establecer un descuento en las líneas de los pedidos de venta”. Debemos tener permisos de administrador para hacer este cambio.

Captura de pantalla 2013-04-10 a la(s) 17.54.19

De esta manera, al ingresar cualquier producto en una nueva oferta por ejemplo, tendremos la opción de aplicar un descuento al precio de ese producto.

Captura de pantalla 2013-04-10 a la(s) 17.57.31

Sin embargo, nos vamos a encontrar que al imprimir nuestra Oferta Comercial u Orden de Pedido (en este ejemplo) nos aparecerá el precio unitario sin descuento, el descuento y el subtotal (cantidad x precio unitario) con descuento. Pero por ningún lado aparecerá el precio unitario con descuento. En nuestro caso, nuestras ofertas comerciales son enviadas mostrando el precio unitario con descuento y el subtotal con descuento. En ningún caso mostramos el precio neto sin descuento ni el descuento en si.

Captura de pantalla 2013-04-10 a la(s) 18.02.19

Luego de una ardua búsqueda en los campos de los reportes, pude ver que esta variable no está disponible en OpenERP (o al menos yo no la encontré). Por lo tanto, utilicé una operación aritmética de división dentro del mismo reporte para obtener el resultado que esperaba. Sencillamente, utilicé la siguiente expresión:

[[ formatLang( line.price_subtotal/line.product_uos_qty) ]]

En esta línea, divido el precio “subtotal” (line.price_subtotal) entre la cantidad de productos (line.price_uos_qty) y de esta manera obtengo el precio unitario ya con el descuento aplicado. Utilizo la expresión “formatLang” para que el numero resultante sea mostrado de forma correcta según lo configurado para mostrar las centenas y los miles (en mi caso, un punto como separador de miles cada tres dígitos y una coma como separador de decimales).

Captura de pantalla 2013-04-10 a la(s) 18.13.45

Lo que obtenemos una vez modificado el reporte en OpenOffice (utilizo esta herramienta en conjunto con el plugin de OpenERP) nos queda lo siguiente al imprimirlo (modificaciones en rojo):

Captura de pantalla 2013-04-10 a la(s) 18.16.06

De esta manera, es notable que podemos utilizar operaciones aritméticas y matemáticas de python directamente sobre los reportes de OpenERP.

Conectarse a internet en un MacBook Air a través de un Blackberry

Esta vez, he hecho un cambio radical de plataforma y ahora estoy utilizando Mac luego de tener toda mi vida bajo Windows. El cambio fue fácil, sobre todo después de interactuar algunos días con Windows 8 y entre busqueda y busqueda de un nuevo ultrabook, me tropecé con uno distinto a todos, muy bien diseñado, totalmente liviano e increiblemente rápido. Así fue como terminé hace un par de días con un MacBook Air debajo del brazo. Y creo que valió la pena el cambio.

Pero bueno, contada esta historia, vamos al tema que hace enfasis este nuevo post que es Conectarse a internet a través del Blackberry en una Macbook (imagino que funciona para otros modelos además del Air).

Lo primero que debemos hacer es habilitar el Bluetooth en nuestro Blackberry y además, colocarlo en modo de espera para que podamos verlo. En el software 6, esto se hace a través de Herramientas -> Redes y Conexiones -> Conexiones Bluetooth, escogemos “Activado” en el campo de selección  y cuando se active el servicio, escogemos “2 minutos” en Reconocible.

Ahora nos vamos a nuestra Mac y activamos nuestro Bluetooth en Preferencias del Sistema -> Bluetooth. Cuando aparezca el logo de Bluetooth en el “Centro de Notificaciones” lo pulsamos y accedemos a “Configurar dispositivo Bluetooth…”

Captura de pantalla 2013-01-14 a la(s) 19.05.58

Luego, cuando aparezca la ventana escogemos nuestro teléfono de la lista de encontrados y pulsamos Continuar

Captura de pantalla 2013-01-14 a la(s) 19.07.53

 

Hecho esto, nos aparecerá un mensaje de que el Mac se intenta conectar con el teléfono y además aparece un código. En el teléfono aparecerá un mensaje indicándonos que nuestra Mac se quiere conectar al Blackberry y mostrará el código en cuestión para comprobar que es seguro hacer esta conexión. Pulsamos “Si” en el Blackberry y “Continuar” en la Mac

Captura de pantalla 2013-01-14 a la(s) 19.08.52

 

Luego, nos aparecerá un recuadro de configuración para terminar de hacer la conexión. En mi caso, tengo el plan de datos con Movistar Colombia. Solo debemos colocar la información tal cual como se muestra a continuación (la contraseña es “movistar” sin las comillas):

Captura de pantalla 2013-01-14 a la(s) 19.12.52

 

En el caso de otras operadoras, pueden intentar con los siguientes datos (no verificados):

Claro:

Nombre de Usuario: webcomcel

Contraseña: webcomcel

Punto de Acceso: internet.comcel.com.co

Tigo:

Nombre de Usuario: se deja en blanco

Contraseña: se deja en blanco

Punto de Acceso: web.colombiamovil.com.co

Hecho esto, pulsamos continuar y posiblemente MacOS nos pida que ingresemos nuestra clave de acceso. La colocamos, aceptamos y debería aparecernos una pantalla diciendo que todo quedó configurado:

Captura de pantalla 2013-01-14 a la(s) 19.17.06

 

Presionamos Salir y buscamos el botón de status de la conexión en la barra de estado del Mac. Lo pulsamos, escogemos la opción “Conectar Bluetooth DUN” y ya a los pocos segundos ya deberíamos tener acceso a internet a través del plan de datos del Blackberry.

Captura de pantalla 2013-01-14 a la(s) 19.19.58

Espero que les haya podido ayudar.

 

Guardar pestañas al salir de Firefox

Este es un post algo más personal que de ayuda. Es un temaque aparece por millones en google pero quería guardarlo en mis comentarios como referenciaActualmente, cuando se instala Mozilla Firefox (ya va por el 16.x) no se tiene la opción por defecto de preguntar si se quieren guardar las pestañas. Como todo en la vida, hay una manera fácil de volver a tener esta opción disponible pero en lo particular no me entusiasma mucho porque siempre va a guardar nuestra última sesión, queramos o no. Para activarlo de esta manera, entramos a: Botón Firefox -> Opciones y buscamos “Cuando Firefox inicie:”. Allí colocamos la opción “Mostrar mi ventana y pestañas de la última vez” (lo traduje, quizás en la versión en español no diga esto literalmente) y damos click en Aceptar.

La otra opción, que si pregunta al cerrar Firefox si queremos guardar nuestras pestañas se hace como sigue:

1.- En la barra de direcciones tipeamos “about:config” (tal cual, pero sin las comillas)  y presionamos enter.

2.- Aparecerá una página de inicio explicandonos que podemos destruir Firefox si hacemos algo mal, le decimos que si, tendremos cuidado.

3.- Buscamos “browser.tabs.warnOnClose” (sin las comillas) en el campo Buscar.

4.- Nos aparecerá esta instrucción. Si el valor es “false” hacemos doble-click para cambiarlo a “true”.

5.- Hacemos este mismo procedimiento con las siguientes instrucciones:

  • browser.warnOnQuit
  • browser.warnOnRestart
  • browser.showQuitWarning

Todas deben quedar en “true”.

6.- Intentamos cerrar Firefox y listo, debería aparecernos un cuadro preguntándonos si queremos guardar las pestañas actuales!

Si en algún momento nos cansamos del cuadrito cada vez que cerramos Firefox (que no es mi caso), simplemente quitamos la selección en “Advertirme cuando trate de cerrar multiples pestañas”.

Recuperar una laptop ASUS con DVD’s hechos con AI Recovery inferior a 1.0.24

Conozco a ASUS desde hace un buen tiempo y de hecho, cuando decidí comprar una “netbook” hace un tiempo atrás, mi primera opción fué, en aquel momento, una ASUS EEE 1000HE. Con este equipo pasé al menos 1 año y siempre instalando y probando nuevos SO como Win 7 en sus versiones RC (venía por defecto con Win XP), Fedora, Ubuntu, etc. Siempre a la final terminaba por colocar una unidad externa de DVD y utilizar mi disco de recuperación sin problemas.

Luego pasé a un Laptop HP DV6 con i7 y una ATI HD la cual formateaba a gusto con periodicidad, bien fuera con partición de recovery o con los DVD’s.

Pero hace un par de meses, decidí cambiar esta HP por una ASUS K55VD-BS71 (a.k.a. R500V) por las prestaciones que brindaba (Intel Core i7 3610M, nVidia GeForce 610M 2Gb, 8 Gb RAM, DD 500Gb, etc). Como siempre, y queriendo probar la respuesta de los sistemas a lo nuevo, instalé Windows 8 Preview Release hace unos días y le sumé Ubuntu para probar el comportamiento de la laptop. Hacía todo a la perfección, incluso con el famoso sistema de Boot EFI. Pero la emoción duró solo un par de horas, el fulano sistema “Metro” de Windows 8 me dió dolor de cabeza y decidí volver a mi sistema original con los DVD’s de recuperación.

Todo fué funcionando a la perfección. Los cuatro DVD se instalaron perfectamente y al final apareción el esperado mensaje de “Reinicie y continúe con la instalación”. Pero al reiniciar, apareció un mensaje de que Windows 8 debía ser recuperado en una bonita pantalla azul con la fuente metro de su nuevo estilo (Segoe).

Pensé que debía ser por la mezcla inusual de sistemas operativos por lo que tomé el discoduro, lo instale en un laptop que tenía a mano y con la ayuda de la herramienta de diagnóstico de Seagate, borré toda la información del disco.

Pensé que ya todo estaba resuelto y por ende, volví a colocar el disco en la laptop, instalé nuevamente los 4 DVD de recovery (1 hora aproximadamente) y mi sorpresa fué que esta vez, al reiniciar, apareció un mensaje de Windows 7 que debía ser recuperado. Al presionar “ENTER” o “Esc” o “Ctrl+Alt+Supr” (ahora no recuerdo) dejo de aparecer el mensaje y solo daba un error de que insertara un medio de booteo válido. De hecho, el discoduro ni siquiera aparecía dentro de las opciones del BIOS.

Buscando en google, encontré un artículo que hacía referencia al problema y daba como solución, hacer el respaldo en un disco menor a 500Gb ya que el AI Recovery tenía un defecto en sus versiones menores a la 1.0.25 que impedía recuperar la laptop en discos iguales o superiores a esta capacidad.

Por la emergencia, tomé mi fiel y estimado disco externo Seagate Freeagent GO de 320 Gb y siguiendo un pequeño pero muy buen tutorial de Youtube, lo abrí y utilicé ese disco para hacer el recovery. Funcionó a la perfección. Luego, simplemente actualicé el AI Recovery Agent a la última versión disponible en la página de ASUS (1.0.27) y volví a crear los DVD’s de respaldo (para esto, el detector automático de ASUS funciona de forma excelente). Instalé nuevamente el discoduro original de 500Gb en la laptop, recuperé el sistema con los nuevos DVD’s y listo! Funcionó like a charm!
Es un proceso tedioso pero una vez que ya se tiene el problema, no hay vuelta atrás para resolverlo.

Abrir automáticamente la página de pestaña nueva al iniciar Firefox 13

Firefox ha implementado una nueva página de “nueva pestaña”que es bastante funcional y verdaderamente parecida a la página que navegadores como Safari, Chrome y Opera implementaron hace tiempo atrás. Sin embargo, con sus pro y sus contras, sigo siendo fiel seguidor de Mozilla (tanto Firefox como Thunderbird).

Ahora bien, si queremos que esta página de “nueva pestaña” se convierta en nuestra página de inicio por defecto, solo debemos seguir un sencillo paso. Abrimos nuestro panel de opciones (Botón Firefox -> Opciones -> Opciones) y colocamos como nuestra página de inicio lo siguiente:

about:newtab

Y en el campo “Cuando Firefox inicie:” abrimos el menú desplegable y seleccionamos “Mostrar mi página de inicio

Ya con esto tendremos esa nueva página funcional cada vez que abramos nuestro navegador.

¿Que hago cuando la partición de recuperación o los discos de recuperación de mi laptop HP arrojan errores?

Hace un año compré una laptop HP de la serie DV6 y pese al problema que presenta por el calentamiento excesivo producto de la mala distribución de la ventilación del procesador, no había tenido ningún otro problema y hasta el momento, cada vez que el sistema colapsaba (generalmente por mi mea culpa al instalar cualquier aplicación que barría los archivos) simplemente utilizaba la partición de Recovery (pulsando F11 al prenderla) y problema resuelto. Como esos colapsos suceden al menos cada 3 meses, lo primero que hice al comprarla fué crear los 5 DVD de recuperación “por si acaso”.

Adicional a esto, cuento con un viejo (pero fiel) disco externo Seagate Freeagent Go donde llevo un respaldo mas o menos decente de mis archivos gracias a 2BrightSparks SyncBack (la versión gratuita funciona de mil maravillas para mi uso normal). Por lo tanto, soy casi un fanático de volar el sistema y reinstalar y actualizar todo.

Pero vamos a lo que nos compete en este artículo y es: ¿Que pasa si la partición de recuperación (Recovery Partition) o los discos de recuperación (Recovery DVD´s) fallan. E inclusive, si ambos lo hacen a la vez?

Bueno, frente a varias posibilidades, doy algunas alternativas de que podemos o deberíamos hacer:

1.- Debo reinstalar el sistema y tengo acceso a la partición de recuperación pero esta se cuelga cuando va en XX por ciento.

En este caso debemos evaluar si aún podemos entrar con F11 a la partición de recuperación. De ser así, lo primero que hacemos es desconectar cualquier periférico que tengamos conectado a la laptop (inclusive el cargador), le quitamos la batería y presionamos el botón de encendido por 20 segundos. A esto los técnicos de HP le llaman “Hardware Reset”. Yo lo llamo: efecto blackberry. Luego, colocamos nuevamente la batería en su lugar, insertamos el cargador y no conectamos nada más, ABSOLUTAMENTE NADA. Ni siquiera aquel mouse usb que tanto me gusta, nada. Presionamos F11 al encender para cargar el recovery y colocamos la opción de “Factory Reset” o volver todo a como vino de fábrica. Esta debería ser la primera opción de no estar “System Recovery” antes que esta. Esté donde esté, “Factory Reset” va a ser nuestra opción.

Personalmente no le hago nunca Backup (porque ya lo tengo hecho) pero de ser necesario, solo de ser necesario, señalamos esta opción y comenzamos nuestra recuperación. Si volvemos a tener algún error siguiendo estos sencillos pasos, es hora de pasar a nuestra segunda opción recuperando el sistema a través de los DVD´s hechos con la herramienta de HP Recovery dentro de Windows. Si por algúna razón no tomamos la previsión de hacer este respaldo, lo mejor es ir a la página de HP y pedir unos DVD de recuperación nuevos (cuestan unos 16 USD para equipos vendidos en USA).

2.- Al usar los DVD de recuperación, me pide el DVD Nro. X y al rato, me aparece un mensaje de que no se puede continuar la recuperación por el error 00000090914…

Si nos aparece este error en pleno proceso de recuperación, generalmente el significado es que ese disco en particular tiene un problema de lectura (una raya, un sucio, etc.). El problema es que el proceso se detiene por completo, deja el discoduro mal formateado y para probar el disco nuevamente debemos pasar por tooooodo el proceso de recuperación nuevamente.

Al suceder este error, mi recomendación es la siguiente:

– Siempre instale inicialmente una recuperación al estado original de fábrica (Factory Recovery) y luego, de querer hacerlo, proceder a hacer una recuperación mínima del sistema para evitar tener instalado esa cantidad innecesaria de freeware y herramientas que terminan solo ocupando espacio.

– De ser posible, pruebe su discoduro y borrelo completamente con una herramienta de diagnostico del fabricante. En el caso de mi Laptop, el discoduro es seagate y utilicé el SeaTools.Esta herramienta se graba en un CD y permite arrancar la computadora en un programa de diagnóstico que detecta si el disco tiene algún error y ademas se puede dejarlo como nuevo eliminando toda la información.  El diagnóstico dura una media hora por cada 100Gb de capacidad (en mi caso, 2,5 horas por 500Gb).

– Si tiene otra computadora cerca con quemadora de DVD, cree una imagen del disco que falló y luego grabela en un nuevo DVD. en una oportunidad recuerdo que tuve que instalar un Windows 7 de “dudosa procedencia” en mi laptop HP, instalar el CDBurnerXP (mi programa favorito para quemar CD’s y DVD’s) y crear la imagen y luego grabarla. Al final, recuperar el sistema y listo.

– Aunque por lo general el proceso tarda más de lo ideal y queremos insertar el DVD siguiente lo antes posible, recomiendo que se espere al menos unos 5 minutos entre disco y disco para permitir que la unidad lectora se enfríe un poco. Esto es algo así como un consejo más de “viejo con mañas” que de procedimientos científicos.

3.- Si aún asi no puedo recuperar el sistema?

Lo mejor será pedir a HP una copia de los discos de su sistema. A través de la página de soporte puede hacer el pedido por unos 20 USD.

Configurar DavMail para cargar automáticamente al iniciar Ubuntu

Ya configurada nuestra herramienta de conexión a Exchange, DavMail, una de las preguntas más comunes es: ¿Cómo hacer para cargarlo automáticamente al iniciar Ubuntu?

En este caso, simplemente hacemos click en el icono de sistema (Ubuntu 12.10) arriba a la derecha y seleccionamos “Aplicaciones al Inicio o Startup Applications”.

Presionamos el botón agregar y en el cuadro siguiente colocamos lo siguiente:

  • Nombre: “DavMail”
  • Comando: “davmail”
  • Comentario: “Inicia el conector DavMail” <- No requerido, podemos dejarlo en blanco

Guardamos nuestra configuración, reiniciamos Ubuntu y debería aparecernos arriba a la derecha el ícono amarillo de DavMail y un aviso indicando que está conectado a Exchange.

Instalar Mozilla Thunderbird y conectar a un servidor de Exchange con DavMail

Haciendo unas busquedas en Google, me dió curiosidad de como configurar la cuenta de correo de mi oficina (en Microsoft Exchange) en Mozilla Thunderbird y olvidarme de Outlook de una vez por todas. Entre tantas busquedas, encontré un conector entre Exchange y Thunderbird que funciona “like a charm”. Todo lo que necesitamos es acceso a Exchange a través de la web (por ejemplo, https://mail.midominio.com/exchange) y nuestro nombre de usuario y contraseña.

Inicialmente instalamos nuestro conector con Exchange llamado DavMail. Simplemente bajamos el .deb (para Debian / Ubuntu) y al terminar la descarga, lo instalamos haciendo doble click y abriendolo con el Ubuntu Software Center.

Abrimos DavMail y simplemente, en el recuadro donde nos pide el OWA (Exchange) URL, colocamos nuestra dirección de acceso web a Outlook (OWA -> Outlook Web Access). Siguiendo con el ejemplo, esta sería https://mail.midominio.com/exchange. Todos los demás parámetros se dejan igual (puertos, etc).

Ya tenemos configurado nuestra aplicación de enlace. De ahora en adelante, nuestro servidor de correos para nuestra cuenta Exchange será localhost y solo tendremos que accesar a los siguientes puertos desde Thunderbird:

  • 1110: Puerto POP para recibir correos desde Exchange por este protocolo
  • 1143: Puerto IMAP para recibir correos desde Exchange por este protocolo
  • 1025: Puerto SMTP para enviar correos a través de Exchange
  • 1080: Puerto CalDav para sincronizar nuestro calendario (lightening) con Exchange
  • 1389: Puerto LDAP para accesar a nuestra libreta de direcciones en Exchange. Podemos configurar Thunderbird para autocompletar las direcciones de correo al igual que en Outlook

En caso de que estemos conectados a internet a través de un proxy, lo configuramos en la pestaña “networks”:

Ya en este punto, tenemos todo listo con MailDav. Solo nos queda instalar y configurar Thunderbird. En Ubuntu 11.10 y algunas versiones anteriores, este viene instalado por defecto. De cualquier modo, podemos descargarlo e instalarlo desde este enlace. Ahora abrimos Thunderbird y comenzamos la magia:

Abrimos Thunderbird y (si es primera vez) utilizamos el asistente para agregar cuentas de correo. Si no aparece, nos vamos a Editar -> Configuración de la cuenta y abajo a la izquierda en el boton de Opciones sobre la Cuenta seleccionamos Agregar Cuenta de Correo. Ingresamos los datos requeridos: Nombre, Correo Electrónico y Contraseña (la cual es generalmente la misma con la que iniciamos Windows).

Presionamos Continuar y Thunderbird intentará encontrar el mejor servidor para accesar nuestro correo. Cuando este indique que no encontró un servidor o no se puede conectar, rellenamos los campos como sigue:

  • Entrante: “POP3” Server: “localhost” Puerto: “1110” SSL: “Ninguna” Autenticación: “Contraseña”
  • Saliente: “SMTP” Server: “localhost” Puerto: “1025” SSL: “Ninguna” Autenticación: “Contraseña”
  • Nombre de Usuario: “midominio/usuario”

Si no se puede conectar, se puede intentar con Nombre de Usuario: “midominio.com/usuario”.

Una vez creada la cuenta, entramos a Editar -> Configuración de la Cuenta y bajo la cuenta que acabamos de crear buscamos el submenú Redacción y direcciones. Luego, buscamos el campo Direcciones, seleccionamos Utilizar un directorio LDAP diferente y presionamos Editar directorios. Cuando aparezca la ventana de Servidores de Directorios LDAP, presionamos Agregar.

En esta ventana (Propiedades del Servidor de Directorios) ingresamos los siguientes valores:

  • Nombre: “Exchange”
  • Servidor: “localhost”
  • Base DN: “ou=people”
  • Puerto: “1389”
  • Bind DN: “midominio\usuario” <- Si, con barra invertida

Ya configurada nuestra Libreta de Direcciones, presionamos Ok en ambas ventanas y estando nuevamente en la configuración de cuentas, seleccionamos nuestra recién creada “Exchange” en el campo Utilizar un directorio LDAP diferente.

Para terminar con esta sección, nos vamos a Servidor de Salida (al final de las opciones de cuenta en el panel de la izquierda) y allí debemos tener nuestro servidor recién configurado con la cuenta (al inicio, cuando colocamos los servidores de entrada y salida). Lo seleccionamos como predeterminado si no lo está y presionamos Editar.

Colocamos los siguientes datos en esta nueva ventana:

  • Descripción: Como quiera llamar al Servidor SMTP
  • Nombre del Servidor: “localhost”
  • Puerto: “1025”
  • Seguridad de Conexión: “Ninguna”
  • Método de Autenticación: Contraseña
  • Nombre de Usuario: “midominio\usuario” <- Si, con barra invertida

Presionamos Ok hasta que salgamos de las opciones y volvamos a Thunderbird. Como paso final y pero no por eso menos importante, hacemos una última tarea para utilizar la opción de Autocompletado de direcciones de correo. Nos vamos a Editar -> Preferencias -> Redacción -> Direcciones y seleccionamos Libreta de Direcciones Local, Servidor de Direcciones y en el cuadro desplegable seleccionamos Exchange. Aceptamos y listo! Ya podemos recibir correos de Exchange en Mozilla Thunderbird.

Aunque este tutorial esta basado en Ubuntu como sistema operativo, es similar para el caso de Microsoft Windows.

Instalar Ubuntu 11.10 en Windows 7 a través de Wubi y modificar efectos con CompizConfig

Estoy probando recientemente la nueva versión de Ubuntu (11.10) instalada sobre Windows 7 (Wubi Instaler) y me ha gustado bastante su interfaz gráfica y nuevas opciones de escritorio. Para instalarla, simplemente se descarga el archivo de instalación que pesa unos 731 Mb (Imágen ISO) y se corre el instalador una vez montada la imágen (siempre lo hago a través de la versión gratuita de Daemon-Tools Lite).

Una vez dentro del instalador, este nos preguntará el lenguaje de la instalación, el tamaño del disco para nuestra instalación (en mi caso coloqué 30Gb), nombre de usuario y contraseña. En este punto, recomiendo colocar una contraseña que solo contenga letras (de la A a la Z) y/o números. Luego pueden cambiarla. Mi recomendación es porque al iniciar Ubuntu por primera vez, quizás el teclado no tenga la configuración correcta y por tanto no nos permita introducir nuestra clave si tiene algún símbolo. Esto sucede aún con el teclado en pantalla.

Wubi Installer

Una vez instalado el SO, una de las primeras cosas que hice fué descargar el administrador de efectos Compiz. Para esto, tenemos dos opciones. La primera, abrimos el Ubuntu Software Center y buscamos Compiz dentro de los programas disponibles.Seleccionamos CompizConfig Settings Manager y lo instalamos. En la segunda pantalla aparece “Installed” porque el screen lo tomé tiempo después de haberlo instalado. recomiendo instalar este CompizConfig antes de cualquier driver de nuestras tarjetas de video. Yo en mi primera instalación tuve problemas con el driver de ATI para mi Radeón HD porque no hacía los cambios que le ordenaba.

Busqueda de Compiz en el USC

Instalar CompizConfig Settings Manager

La segunda opción es abrir la ventana terminal e ingresar la siguiente línea:

sudo apt-get install compiz compiz-gnome

Cuando nos pida la contraseña la ingresamos y luego colocamos “y” cuando lo requiera para finalizar la instalación.

Una vez instalado de cualquiera de las dos maneras, vamos al botón “Dash Home” que se encuentra de primero con el logo de Ubuntu en el Unity Launcher (barra de íconos de la izquierda) y buscamos “Compiz”. Nos debe de aparecer la aplicación instalada. Podemos acceder al “Dash Home” presionando en el teclado la tecla “Windows” si está disponible.

Un cambio que hice de inmediato fue quitarle los colores a los íconos de la barra o “Unity Launcher”. Para esto, buscamos las propiedades de Unity Plugin y cambiamos las transparencias necesarias en la pestaña “Experimental”:

Podemos probar con los demás efectos siempre teniendo en cuenta que si activamos ciertos efectos, podemos desactivar otros importantes. Puedes seguir mis otras notas sobre Ubuntu a través de este enlace.

Crear un nuevo set de Recovery DVD’s para laptop HP DV7

Si tienes un laptop HP de la serie DV6 y quieres hacer un set de Recovery DVD’s pero ya los habías hecho algúna vez, el programa de Recovery (Cyberlink) te mostrará una advertencia de que solo puedes crear estos discos (o flash drive recovery) solo una vez y que estos ya fueron creados.

Pero, siguiendo los pasos abajo mostrados, puede crearlos nuevamente si tu laptop es HP (en mi caso particular, DV6-3052nr):

  1. Descarga e instala el explorador de archivos FreeCommander.
  2. Una vez instalado, abre la aplicación. Verás que la ventana está dividida en dos. Para lo que vamos a hacer, es indiferentes si utilizas el lado izquierdo o el lado derecho. Lo que interesa es que la herramienta nos permitirá ver los archivos ocultos de la partición de Recovery.
  3. Busca la partición de respaldo en FreeCommander (en mi caso, D:\) y busca el archivo hpdrcu.prc que está en la carpeta raíz. Tienes dos opciones, o puedes cambiarle el nombre a algo como “hpdrcu_prc.bak” o eliminarlo completamente.
  4. Luego, busca el siguiente directorio: C:\Program Data\Hewlett Packard\Recovery\ y al igual que el caso anterior, busca el archivo con el mismo nombre hpdrcu.prc. En mi caso, lo eliminé pero también se le puede cambiar el nombre para mantener una copia (que no es necesaria).
  5. Reinicia el laptop.
  6. Listo, ya podrás abrir el Recovery Manager y crear una nueva copia de los DVD de respaldo.

Trabajar con “Checkboxes” y Custom Post Type en WordPress

Con Custom Post Type podemos realizar infinidad de tipos de Posts y recientemente, mientras trabajaba en una aplicación de reportes, tuve que añadir algunos checkboxes donde el cliente pudiera definir algúnas variables que no se podían manejar con input type="select" por ejemplo.

Sin embargo, hay que aplicar un pequeño truco con los checkboxes ya que se debe “rescatar” la variable del $_POST y guardar el valor en otra variable.

Generalmente, si trabajamos con input type="text", textarea o input type="select" podemos guardar las variables de la siguiente manera:

add_action('save_post', 'save_details');
function save_details() {
global $post;
$my_var_1 = "my_var_name";
update_post_meta($post->ID, $my_var_1, $_POST[ $my_var_1 ]);
}

Donde my_var_name es el nombre de la variable enviada por un input y $_POST[ $my_var_1 ] rescata el valor de esa variable.

Ahora, si trabajamos con checkboxes, antes de la función update_post_meta debemos hacer comprobar si el checkbox fué marcado y luego rescatamos la variable. Por ejemplo:

add_action('save_post', 'save_details');
function save_details() {
global $post;
$my_chckbx_name = "option_a";
$my_option_a = 0;
// Pregunto si $my_var_name existe
if( isset( $_POST[ $my_var_name ] ) ) {
// Si existe, le asigno el valor a $my_chckbx
$my_chckbx = $_POST[ $my_var_name ];
// Pregunto si $my_chckbx tiene el valor enviado por el checkbox marcado
if ( $my_chckbx == "ON" ) {
// Si el checkbox fué marcado, le asigno el valor de 1 a la variable $my_option_a y la guardo luego
$my_option_a = 1;
} else { $my_option_a = 0; }
}
update_post_meta($post->ID, $my_chckbx_name, $_POST[ $my_option_a ]);
}

El código para generar el checkbox sería:

<?php function my_checkbox() {
global = $post;
$my_post_metas = get_post_custom( $post->ID );
$my_option = "my_option_a";
$my_checkbox = $my_post_metas[ $the_option ][ 0 ];
$my_vars = array( 0 =&gt; array( $my_option, $my_checkbox, "option a" ) );
// Ahora coloco el checkbox en HTML
<input
type="checkbox"
name="<?php echo $my_vars[ 0 ][ 0 ]; ?>"
value="ON"
<?php if( $my_vars[ 0 ][ 1 ] == 1 ) {
echo 'checked="checked"';
} else { // Do Nothing
} ?> />
<?php } ?>