Error 500 en GoDaddy instalando WordPress

Tengo un servidor compartido en GoDaddy, el Servidor es Windows, así que tengo IIS y PHP en el mismo, hace unos días trate de subir la ultima versión de WordPress a uno de los dominios e instalarlo de la forma fácil.

Cual va siendo mi sorpresa al ver que me mandaba Error 500 al intentar correr el instalador o al tratar de realizar cualquier operación, simplemente no funcionaba y mandaba algo como la siguiente imagen.

GoDaddyError

En muchos lugares en la web recomendaban cambiar el .htaccess o cambiar de hosting de Windows a Linux, lo siento ninguna de las dos opciones era viable para mi, ya que requiero el hosting con Windows (por el .NET Framework) y además la instalación limpia de WordPress no tiene ningún archivo .htaccess, así que necesitaba otra solución.

Para mi sorpresa la solución era más sencilla de lo que pensaba, solamente requería renombrar el archivo wp-config-sample.php a wp-config.php, editar los valores que tiene dentro para la conexión a la Base de Datos y listo.

WP_Rename

Ojalá a alguien le sirva tanto como a mi.

Notificador de Gmail para Windows 7

Gmail Notifier Plus es un programa pequeño exlusivo para Windows 7 que desarrollo el usuario daty2k1 del el foro Neowin, el cual su principal funcionalidad es avisarte cuando tienes un nuevo email en tu cuenta de Gmail.

Gmail Notifier Plus

Este pequeño programa aparte de notificarte cuando tienes un email, te permite mostrarte en un listado todos los títulos de los emails que tienes pendientes, abrir el mensaje que selecciones y un acceso rapido a crear un nuevo email.

El programa te mostrará solo los correos que tengas en tu inbox, si tienes alguno en una etiqueta especial (como es mi caso) no te lo mostrará si no pasa por el inbox.

Debo resaltar que usualmente tenía abierta una pestaña de mi navegador con Gmail siempre abierto, pero después de conocer esta pequeña aplicación, eso ha cambiado totalmente, me permite no estar revisando esa ventana a cada rato, y no distraerme.

Link al Post en el foro de Neowin

Cambiar el navegador por default en Visual Studio 2008

Ahora que estoy probando Windows 7, instale Firefox antes que Visual Studio 2008, por lo cual ahora el VS2008 usa a Firefox como navegador por default, pero esto implica algunos clicks de más a la hora de desarrollar.

Yo soy totalmente usuario de Firefox, se me hace un excelente navegador y muy superior a Internet Explorer, pero en mi trabajo es necesario que pruebe en Internet Explorer una y otra vez, además de que es muy comodo que cuando pruebo simplemente depuro y abre Internet Explorer, cuando cierro el navegador detiene la depuración y puedo continuar editando.

Para solucionar esto solo hay que abrir cualquier archivo *.aspx (con la extención) no importa cual, ir al Menu File (Archivo) y darle click en Browse With…

Menu Visual Studio 2008 Browse With...

Se abrira una ventana como la de la imagen siguiente, ahora solo selecciona Internet Explorer o el navegador que prefieras y dale click en Set as Default.

Ventana Browse With de Visual Studio 2008

Crea un Popup no intrusivo

Repite mentalmente: No es bueno usar Popups. En los sitios web algunas veces es necesario usar un Popup, existen algunas formas de hacerlo, como esta:

<a href="popup.html" onClick="window.open('popup.html', 'windowname1', 'width=200, height=77'); return false;">Popup</a>

La cual si lo vemos bien no es del todo mala, ya que el navegador entiende que tiene que ir a Popup.html (aunque JavaScript este desactivado), pero usa el evento onClick y tiene embebido el JavaScript en el mismo enlace, algo no muy óptimo si lo queremos usar en varios lugares nuestro popup, además de que no es del todo accesible.

Este detalle se soluciona de una manera rápida y sencilla, dejando el link como lo que es, solo un enlace a una pagina y dejándole a JavaScript la carga de abrir el Popup, además de poder tener varias configuraciones tanto de tamaño, mostrar barras, etc.

Primero necesitamos crear un enlace, para esto se hace uno como cualquier otro, solo con la característica de que lleva una clase de CSS llamada popup:

<a href="http://www.google.com" class="popup" >Link</a>

Esta clase sera buscada por el JavaScript (podemos usar Alt, ID, etc… a mi me gusto class) en todo el documento, cuando la encuentre usara una funcion interna para abrir el Popup con las configuraciones que nosotros le digamos.

El JavaScript:

var popupConfig = new Array;

//Ejemplo de uso:
// popupLinkConfig["nombreClase"] = new Array ( "target", "width=100, height=100, scrollbars=yes, resizable=yes, status=yes, toolbar=yes, location=yes,menubar=yes");

popupConfig["popup"] = new Array("", "width=640,height=480,scrollbar=yes,menubar=yes");
popupConfig["popupbig"] = new Array("", "width=800,height=650,resizable=yes");

window.onload = initPage;

function initPage() {
    initPopupLinks();
}

function initPopupLinks() {
    if (!document.getElementsByTagName) return true;
    var pageLinks = document.getElementsByTagName("a");
    for (var i = 0; i < pageLinks.length; i++) {
        if (((pageLinks[i].className != null) &&
         (pageLinks[i].className != "")) ||
        ((pageLinks[i].parentNode.className != null) &&
         (pageLinks[i].parentNode.className != ""))) {
            var linkClass = " " + pageLinks[i].className + " ";
            if ((linkClass == "  ") && (pageLinks[i].parentNode.className != "")) {
                linkClass = " " + pageLinks[i].parentNode.className + " ";
            }
            for (var theKey in popupConfig) {
                if (linkClass.indexOf(" " + theKey + " ") > -1) {
                    if ((pageLinks[i].target == "") || (pageLinks[i].target == null)) {
                        pageLinks[i].target = (popupConfig[theKey][0] != "") ? popupConfig[theKey][0] : theKey;
                    }
                    pageLinks[i].settings = popupConfig[theKey][1];
                    pageLinks[i].onclick = popUp;
                }
            }
        }
    }
    return true;
}
function popUp() {
    newWin = window.open(this.href, this.target, this.settings);
    newWin.focus();
    return false;
}

Este código JavaScript lo tienes que guardar en un archivo js y nombrarlo como se te de la gana, solamente requieres mandarlo llamar desde tu html para que pueda usarse.

Ahora si te fijaste bien al inicio de código vienen unas lineas de configuración, las cuales son totalmente editables y te permiten tener tantas variantes de popups como tu decidas.

popupLinkConfig["nombreClase"] = new Array ( "target", "width=100, height=100, scrollbars=yes, resizable=yes, status=yes, toolbar=yes, location=yes,menubar=yes");

solo es necesario modificar “nombreClase” y “target” (normalmente yo lo uso en blanco) para que puedas tener una nueva configuración de popup, edita el width y el height para modificar el ancho y alto, y las demás opciones son ya para que juegues con ellas.

Espero que este sencillo tip te sirva para mejorar la accesibilidad y la programación de tus sitios web.

Trabajar con multiples Bases de Datos en SQL Server

Si por casualidad algún día requieres obtener información de otra base de datos que no sea sobre la que estas trabajando esto te puede ser de utilidad.

Este es mi caso: Estamos desarrollando un sistema además de implementar otro que se compro, por lo mismo tenemos 2 bases de datos, una para el sistema que estamos desarrollando de cero y otra para el sistema que compramos, para algunos módulos tengo la necesidad de obtener datos que están relacionados en una base de datos y mezclarlos con las de la otra BD.

Para resolver esto solo tenemos que agregar BaseDeDatos.dbo.Tabla a la consulta SQL que estemos realizando, por ejemplo:.

SELECT a.UserID, c.SalesRepGroupName, c.ClassCode
FROM VHC_Assignations a
	INNER JOIN SNRX.dbo.CustomerSalesRep c ON c.Counter = a.UserId

Esta consulta obtiene el ID, el Nobre y el ClassCode de la relación entre las tablas VHC_Assignations y CustomerSalesRep, en donde VHC_Assignations se encuentra en la Base de Datos que actualmente estoy usando y CustomerSalesRep se encuentra en otra Base de Datos llamada SNRX.

Un tip que no esta de más y te puede sacar de algún apuro.