Damoin Web Services

Blog de Social Media y Desarrollo Web

Funcion para enviar correos desde asp con una cuenta de Gmail.

function enviargmail(origen,destino,asunto,texto)

Const cdoSendUsingMethod = _
“http://schemas.microsoft.com/cdo/configuration/sendusing”
Const cdoSendUsingPort = 2
Const cdoSMTPServer = _
“http://schemas.microsoft.com/cdo/configuration/smtpserver”
Const cdoSMTPServerPort = _
“http://schemas.microsoft.com/cdo/configuration/smtpserverport”
Const cdoSMTPConnectionTimeout = _
“http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout”
Const cdoSMTPAuthenticate = _
“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”
Const cdoBasic = 1
Const cdoSendUserName = _
“http://schemas.microsoft.com/cdo/configuration/sendusername”
Const cdoSendPassword = _
“http://schemas.microsoft.com/cdo/configuration/sendpassword”

Const cdoSMTPUseSSL = _
“http://schemas.microsoft.com/cdo/configuration/smtpusessl”

Dim objConfig ‘ As CDO.Configuration
Dim objMessage ‘ As CDO.Message
Dim Fields ‘ As ADODB.Fields

‘ Get a handle on the config object and it’s fields
Set objConfig = Server.CreateObject(“CDO.Configuration”)
Set Fields = objConfig.Fields

 

‘ Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = “smtp.gmail.com”
.Item(cdoSMTPServerPort) = 465
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = “direccion@gmail.com”
.Item(cdoSendPassword) = “password”
.Item(cdoSMTPUseSSL) = true

.Update
End With

Set objMessage = Server.CreateObject(“CDO.Message”)

Set objMessage.Configuration = objConfig

With objMessage

.To = destino
.From = origen
.Subject = asunto
.HTMLBody = texto
.Send
End With

If Err=0 Then

Else
Response.Write “<html><body><h1>The following error occured when sending</h1>Error (” & Err & “) :” & Err.Description & “</body></html>”
End If

Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing

End function

En Damoin somos especialistas en ASP, si necesitas programación web escríbenos a contacto@damoin.es

El valor del “Tech Partner” para los emprendedores

Cuando hablamos de emprendedores en el ámbito tecnológico  la primera imagen que tenemos en mente son grandes figuras como Steve Jobs (Apple), Bill Gates (Microsoft), Mark Zuckerberg (Facebook) o Sergey Brin y Larry Page ( Google) , personas que tuvieron una idea y montaron su empresa empezando desde abajo e innovando ellos mismos los productos que luego les convirtieron en lo que son hoy en dia. Pero no todos los emprendedores poseen la formación técnica para llevar a cabo sus ideas, y es ahi donde entran en juego los “Tech Partner”.

Un “Tech Partner” no es solo una consultora que realiza un proyecto según las especificaciones del cliente, un “Tech Partner” debe, a la vez, impulsar y mejorar la idea de negocio inicial del emprendedor, aportando sus conocimientos técnicos y experiencias con sus propios clientes (lo que se llama el know-how), ya que, a distintas situaciones que un emprendedor se puede encontrar, el “Tech Partner”  ya habrá pasado por ellas y podrá solucionarlas de manera rápida.

Es por esto que un emprendedor debe preocuparse además de por la idea de negocio, de conseguir un “Tech Partner” que pueda aportarle este valor añadido a su proyecto y se involucre en conseguir éxito del mismo. Existe mucha información sobre conseguir financiación para proyectos, “business angels”, subvenciones, como hacer un buen plan de negocio, etc, pero una vez que tienes la financiación ¿que?.

Una consultora tradicional realizara el proyecto y el mantenimiento del mismo según las especificaciones del cliente, ni mas, ni menos, y este comportamiento es normal en proyectos para empresas ya consolidadas. Pero un emprendedor no necesita eso, necesita un compañero de viaje que le ayude a solventar las dificultades y le inspire para sacarle el mayor partido a la idea inicial. No decimos que no haya planes de desarrollo y se cobre por el trabajo realizado, pero hay distintas formas de hacerlo, la tradicional y el “Tech Partner”.

Para el ”Tech Partner” tambien es mas interesante este modo de trabajo, ya que seguir un proyecto sin poder aportar tus propias ideas al mismo es muy frustante para el que lo realiza, cuantos programadores brillantes han sucumbido ante proyectos demasiado “cerrados”. Sin embargo un emprendedor debe estar dispuesto a considerar cambios y añadir funcionalidades si provienen de personas y entornos con experiencia en negocios tecnológicos y un gran bagaje técnico.

Ese trabajo en equipo entre idea y ejecución es la mejor semilla para conseguir el éxito desde una nueva idea y hay que darle el valor que necesita.

¿Crees que existe esta diferencia entre una consultora y un “Tech Partner”? Deja tu opinión en los comentarios.

 

 

Como crear una nube de tags en PHP

En este artículo explicaremos como crear una nube de tags en PHP usando la clase wordcloud.class.php (vía Del Harvey en Lots of code ), las palabras clave las sacaremos de un texto de la web que podamos leer en PHP, por ejemplo al crear un listado desde una base de datos.

En primer lugar debemos descargarnos el archivo zip con las clases y css para poder usarlos en nuestros scripts, podeis hacerlo pulsando en el siguiente enlace: tag_cloud.zip

Una vez descargado debemos descomprimirlo y subirlo  nuestro servidor web, la ruta es importante para luego hacer los includes correspondientes en nuestro código.

Abrimos nuestra página PHP e incluimos la orden para leer la clase que nos generara la nube de tags:

require (“includes/wordcloud.class.php”);

a continuacion debemos estudiar nuestro codigo y ver de donde sacaremos todas las palabras clave que queremos usar para crear la nube de tags, en nuestro caso lo que hacemos es guardar en una variable string todo el texto que luego queremos usar para crear la nube.

Para rellenar el string lo hacemos en el bucle while del cual estamos leyendo los textos que mostramos en la web, luego crearemos un array con las palabras del string usando la orden explode:

<?

$cadena=”";

while($row=mysql_fetch_assoc($result)){

$cadena=$cadena.’ ‘.$row[texto];  //en esta linea vamos rellenando el string

?>

//mostramos texto html

<?

}

$array_texto= explode(” “, $cadena);

//creamos el array con la orden explode

 

una vez creado el array ya podemos usar la clase para crear la nube de tags, para ello primero invocamos para crear el objeto $cloud

$cloud = new wordCloud();

con el metodo addWord vamos añadiendo todas las palabras del array recorriendolo usando un bucle for

for($i=0;$i<count($array_texto);$i++){

$cloud->addWord($array_texto[$i]);

}

con el metodo removeWord, quitamos las palabras clave que no nos interesen para la nube de tags (preposiciones,

$cloud->removeWord(‘por’);

$cloud->removeWord(‘de’);

$cloud->removeWord(‘antes’);

$cloud->removeWord(‘asi’);

Ahora definimos como se va a generar la nube de tags, si queremos ordenar por tamaño de palabra de forma descendente:

$cloud->orderBy(‘size’, ‘desc’);

para que la nube de tags no se haga infinita le ponemos un limite de 20 palabras:

$cloud->setLimit(20);

Ya solo nos falta mostrarla con la orden showCloud()

echo $cloud->showCloud();

?>

En nuestro caso usamos nuestro propio css, pero podemos usar los que vienen junto a la clase php.

Un punto importante a tener en cuenta es que debemos crear un array para poder añadir las palabras a la clase que generara la nube de tags.

 

Deja un comentario con tu opinion sobre el post y si te ha servido para tus desarrollos.

 

 

 

Validacion de usuario en un web service con C#

Enhorabuena, si estas en este blog es que tienes que programar un web service con validación de usuario.

En primer lugar te recomendamos que si, tu aplicación, requiere control de login porque usa datos privados, utilices tambien un certificado SSL a través de https, ya que todo el tráfico entre el web service y tu aplicación estara cifrado, sobre todo, el propio envío de login.

Ahora vamos al tema en cuestión, para hacer mas seguro el consumo del web service utilizaremos el concepto de token al validar usuarioy password. Un token no es mas que un string generado de forma automatica al validar el usuario y la password y que tiene un periodo de caducidad para evitar dejar abiertos los métodos de datos del web service, este token lo enviamos en todos los metodos de datos para validar que la sesión no haya caducado o dejado abierta sin querer.

 En nuestro caso, generaremos el token desde una base de datos SQL Server usando una tabla con dos campos: token y fecha_registro. El campo token debe ser del tipo uniqueidentifier y el de fecha_registro smalldatetime. El valor predeterminado para el campo token sera newid(), lo que nos generara un string unico y con el campo de fecha controlaremos la caducidad segun el tiempo que queramos , por ejemplo con un procedimiento almacenado, que elimine el token caducado cada 30 minutos.

Para generar el token creamos un metodo llamado conectar(), que recibirá un usuario y una password.
Si el usuarioy la password son correctas  llamamos a un procedimiento SQL que genera un nuevo registro en la tabla de tokens , este string lo devolveremos al metodo . Si el usuario no es correcto podemos devolver un código para saber porque falla.

[WebMethod(Description = "Valida conexion.")]
    public string conectar(string usuario, string password)
    {
        string token;
        token = “”;
        if (usuario == “User” && password == “00009999″)
        {
            string sql;

            sql = “EXEC GENERA_TOKEN ‘” + usuario + “‘”;

            SqlDataReader rsX;
            rsX = datos.AbreConsulta(sql);
            while (rsX.Read())
            {
                if (rsX["token"].ToString()!=”")
                {
                    token = rsX["token"].ToString();

                }
                else
                {
                    token = “”;
                }

            }
            rsX.Close();

            return token;
        }
        else
        {
            return token;
        }
    }

Siempre es conveniente tener otro metodo para desconectar, que borre el token usado en la sesion:

[WebMethod(Description = "Desconecta.")]
    public string desconectar(string token)
    {
        string sql;

        sql = “EXEC DESCONECTA_TOKEN ‘” + token + “‘”;

        datos.EjecutaSQL(sql);
    
        return “OK”;
    }

Nuevos proyectos en Damoin.es

Ya tenemos otros dos nuevos clientes en nuestro portfolio de proyectos

Servilista.com del que somos socios tecnológicos.

  • Programación web en ASP, CSS , Jquery
  • Diseño Gráfico, Aplicacion sobre SQL Server, posicionamiento SEO, twitter, Facebook, etc.
  • Blog WordPress

y Procesosconstructivos.com a los cuales estamos desarrollando una nueva web y blog.

  • Programación web en PHP, CSS
  • Diseño Gráfico, posicionamiento SEO, elementos multimedia.
  • Blog WordPress

Si quieres seguir nuestros proyectos: http://damoin.es/clientes.php