profile="http://gmpg.org/xfn/11"> Adobe Hispano un día después y Creación de aplicaciones web interactivas con ColdFusion 9 — AUGE - Adobe User Group Ecuador beta 0.1

AUGE - Adobe User Group Ecuador beta 0.1

Adobe User Group Ecuador

AUGE - Adobe User Group Ecuador  beta 0.1

Adobe Hispano un día después y Creación de aplicaciones web interactivas con ColdFusion 9

September 17, 2010 · 3 Comments

Después de una semana estupenda donde en el Adobe Hispano durante 4 días y en 20 sesiones se habló español, no queda la menor duda de que fue un evento extraordinario, que se dio gracias a Marlon Ceballos del grupos de usuarios de Colombia Adobe Xpert, que fue el gestor de todo este magno evento, mis más sinceras felicitaciones.

El Adobe Hispano es un evento que va creciendo y que es cada día más importante, donde según las estadísticas hubieras más de 5500 asistentes entre todas las charlas. ¡Wow!

Para aquellos que no pudieron asistir o se perdieron una charla por asistir a otra, pronto estarán disponibles las grabaciones. En lo personal de una pequeña introducción mostrando el uso de varias etiquetas en ColdFusion, a los  que asistieron espero les haya gustado y les haya servido para entender lo poderoso y sencillo que es a la vez ColdFusion.

El primer código que escribí fue el archivo de configuración de aplicaciones llamado Application.cfc

component 
{ 
    this.name ="AdobeHispano_Dia4";    
     
    /* defino el datasource global para mi aplicación */ 
    this.datasource = "ows"; 
    
    /* habilito hibernate para esta aplicacion */ 
    this.ormenabled = true; 
        
    /* creo una estructura para los datos de configuracion de ORM */ 
    this.ormsettings = {}; 
    /* enciendo el manejo de eventos */ 
    this.ormsettings.eventhandling = true; 
    /** 
    * @output true 
    */ 
    
    public boolean function onRequestStart( targetPage ) 
    { 
        /* Hago esto para asegurarme de que ORM este listo para la demo */ 
        ORMReload(); 
        return true; 
    } 
}

Luego seguí creando el típico "Hola mundo":

<cfoutput>
Hola mundo hoy #lsdateformat(now(),"dd/mmmm/yyyy")# a las #dateformat(now(),"hh:mm")#
</cfoutput>

Después mostre lo sencillo que era crear images usando matemáticas y funciones de ColdFusion:

<cfset miImagen=ImageNew("",400,400) >

<cfset ImageSetDrawingColor(miImagen,"red")>

<cfset ImageSetAntialiasing(miImagen)>

<cfset ImageTranslateDrawingAxis(miImagen,200,200)>

<cfset i=15>

<cfloop condition="i LESS THAN OR EQUAL TO 360">
    <cfset ImageRotateDrawingAxis(miImagen,i,10,20)>
    
    <cfset i+=15>
    
    <cfset ImageDrawRect(miImagen,0,0,50,75)>
</cfloop>

<cfimage source="#miImagen#" action="writetobrowser">

Mencione lo fácil que es crear PDFs usando cfdocument.

<cfdocument format="pdf" srcfile="http://html5gallery.com/">
    
</cfdocument>

Escribí el código para crear una presentación dinamica:

<cfquery name="listarPeliculas" datasource="ows">
    select *
    from films f, filmsratings r
    where f.ratingid=r.ratingid
</cfquery>

<cfpresentation title="Estudios Orange">
    <cfpresentationslide title="Bienvenido a Estudios Orange">
    <h1>Bienvenido a nuestro Estudio</h1>
    
    <p>
    Aqu&iacute; nuestra cartelera
    </p>
    </cfpresentationslide>
    
    <cfloop query="listarPeliculas">
        <cfpresentationslide title="#movietitle#">
            <cfoutput>
                <h2>#movietitle#</h2>
                <p>
                <b>Presupuesto</b>#dollarFormat(amountbudgeted)#<br />
                <b>Trama:</b>#pitchText#
                </p>
                
            </cfoutput>
        </cfpresentationslide>
    </cfloop>
    
</cfpresentation>

Y finalmente use ORM para crear una interacción con base de datos, para listar registros, eliminarlos y  editarlos.

<cfcomponent persistent="true" table="asistentes">

    <cfproperty name="asistenteid" fieldType="id" generator="increment">
    <cfproperty name="nombres" ormtype="string">
    <cfproperty name="apellidos" ormtype="string"> 

</cfcomponent>

<cfif structKeyExists(url, "delete")>

    <cfset asistentePorEliminar = entityLoadByPk("asistente", url.delete)>

    <cfset entityDelete(asistentePorEliminar)>

    <cfset ORMFlushAll()>

</cfif>



<cfset asistentes = entityLoad("asistente", {},  "apellidos asc, nombres asc")>



<h2>Asistentes al Adobe Hispano</h2>



<table border="1">

    <cfloop index="d" array="#asistentes#">

    <cfoutput>

    <tr>

       <td><a href="editar.cfm?id=#d.getAsistenteID()#">#d.getApellidos()#, #d.getNombres()#</a></td>

       <td><a href="listarAsistentes.cfm?delete=#d.getAsistenteID()#">Eliminar</a></td>

    </tr>

    </cfoutput>

    </cfloop>

</table>



<a href="editar.cfm">Agrega un nuevo asistente</a>

<cfset errors = []>

<cfparam name="url.id" default="0">
<cfif url.id neq 0>
    <cfset asistente = entityLoadByPk("asistente", url.id)>
    <cfparam name="form.nombres" default="#asistente.getNombres()#">
    <cfparam name="form.apellidos" default="#asistente.getApellidos()#">
<cfelse>
    <cfset asistente = entityNew("asistente")>
    <cfparam name="form.Nombres" default="">
    <cfparam name="form.Apellidos" default="">
</cfif>

<cfif structKeyExists(form, "submit")>
    <cfif not len(trim(form.nombres))>
        <cfset arrayAppend(errors, "Falta el nombre.")>
    </cfif>
    <cfif not len(trim(form.apellidos))>
        <cfset arrayAppend(errors, "Falta el apellido.")>
    </cfif>

    <cfif not arrayLen(errors)>
        <cfset asistente.setNombres(trim(form.nombres))>
        <cfset asistente.setApellidos(trim(form.apellidos))>
        <cfset entitySave(asistente)>
        <cflocation url="listarAsistentes.cfm" addToken="false">
    </cfif>

</cfif>

<h2>editar asistente</h2>

<cfif arrayLen(errors)>
    <p>
    <b>Corrige estos errores:<br/>
    <ul>
    <cfloop index="e" array="#errors#">
    <cfoutput>
    <li>#e#</li>
    </cfoutput>
    </cfloop>
    </ul>
    </b>
    </p>
</cfif>

<cfoutput>
<form action="editar.cfm?id=#url.id#" method="post">
Nombres: <input type="text" name="nombres" value="#form.nombres#"><br/>
Apellidos: <input type="text" name="apellidos" value="#form.apellidos#"><br/>
<input type="submit" name="submit" value="Guardar">
</form>
</cfoutput>

Y eso fue todo, para finalizar aquí les dejo la ppt que mostré, la cual la pueden ver directamente gracias a cfpresentation, y también se la pueden descargar. Si tienen alguna inquietud, o duda acerca del código no duden en dejar su comentario y con gusto responderé todas sus preguntas.

Aquí pueden ver la presentación a pantalla completa.

Bookmark and Share

Tags: ColdFusion · Eventos

3 responses so far ↓

  • 1 Jhon Doe // May 1, 2013 at 6:49 PM

    Wow! te quedé genial... Solo una preguntilla ¿Que versi{on de coldfusión utilizaste? Yo soy nuevo en este lenguaje, generalmete programo en PHP...

    De antemano gracias y un saludo!
  • 2 Michael Borbor // May 1, 2013 at 6:54 PM

    Hola

    Pues usamos CF9 actualmente, aun no migramos este sitio a CF10. Que bueno que estes experimentando con CF.

    Éxitos!
  • 3 Jhon Doe // May 1, 2013 at 6:56 PM

    Por cierto... no me suscribí al hilo de comentarios jejjeej, espero me conteste la pregunta de la versión de CF que utilizaste... es que he leído que el ORM viene en la versión de CF9... Saludos!

Leave a Comment

Leave this field empty: