Español:Páginas

Introducción
Las páginas en Gaia estan representadas "fisicamente" por archivos flash de plantilla que son creados durante el proceso de ensamblado (Scaffolding) y/o los archivos Flash que usted crea por si mismo. Ellas estan representadas en los nodos de página del site.xml.

En su núcleo, las páginas son simplemente MovieClipAssets (véase Assets) que han logrado la transición y la funcionalidad entre sus assets, parents y children.



Trancisiones de Página
Las Páginas en Gaia estan configuradas en trancisión entrante y saliente (transition in y transition out). Las trancisiones tambien pueden estar basadas en la linea de tiempo (timeline).

Hay cuatro metodos requeridos para las Páginas en Gaia, y ellos deben seguir el entorno basado en las convenciones de nombres de la linea de tiempo.


 * transitionIn;
 * transitionOut;
 * transitionInComplete;
 * transitionOutComplete;

Las Paginas reciben estos eventos de Gaia y todas los archivos de Páginas deben tener todos estos metodos definidos. Usted debe llamar los metodos "complete" al final de sus trancisiones para que Gaia sepa que la página ha finalizado sus trancisiones entrantes y salientes (transitionIn y transitionOut). Gaia automaticamente deja estos meodos definidos para usted.

Si su trancisión es basada en la linea de tiempo, usted puede llamar estos metodos en la ruta base de su linea de tiempo (root timeline) de la pagina. Si estas son basadas en código, usted solo necesita ubicar la linea de tiempo de su página, o la document class asociada con esa linea de tiempo (AS2/AS3).

Por ejemplo, si utiliza algo como TweenLite para sus transiciones, se puede configurar los metodos de Gaia como el parámetro onComplete del objecto que usted pasa a TweenLite. El codigo Actionscript ensamblado por Gaia para las transiciones de la Plantilla usa el siguiente código.

AS3 override public function transitionOut:void {     TweenLite.to(this, .3, {alpha:0, onComplete:transitionOutComplete}); }

AS2 public function transitionOut:Void {     TweenLite.to(this, .3, {_alpha:0, onComplete:Delegate.create(this, transitionOutComplete)}); }

En general, es recomendado que usted no invalide completamente los metodos y en su lugar solo los llame. Usted puede invalidar completamente los metodos en AS3 sin problema, pero hay un error en Flash usando AS2 si usted invalida completamente los metodos cuando esta usando plantillas de estilo de trancisión basadas en la linea de tiempo.

Leave here until translated timeline transition style templates.



Propiedades de las Páginas
Estas son 3 propiedades que son configuradas en la ruta base de la linea de tiempo de sus swfs: assets, page y copy.

Nota: Estas 3 propiedades no estan disponibles hasta que la transitionIn es llamada.

assets
assets:Object Si una pagina tiene assets en el site.xml, estos son grabados en este objeto por su id(abreviatura de identificación). Mas información acerca de como accesar assets puede ser encontrada en la sección de Assets de la documentación.

page
page:PageAsset Una referencia a la clase PageAsset de la página esta disponible en esta propiedad. Esta le da a usted acceso directo a las propiedades que Gaia usa para definir su página, como los parents de la page, children, ramificaciones ó otras propiedades.

AS2 and AS3

var myBranch:String = page.branch; var myParentSrc:String = page.getParent.src;

Mas acerca de las propiedades de la Public Page pueden ser encontradas en la sección Sitio XML (Site XML) de la documentación.

copy
copy:Object Si la página tiene activo Optimización SEO en el site.xml y una página XHTML ha sido generada para esta página, el valor del tag p quedará disponible en el copy Object. Lea la documentación SEO para mas información. var TXT_Header:TextField; TXT_Header.text = copy.someValue; trace(copy.anotherValue);

onDeeplink
Hay un metodo opcional de página para la funcionalidad deeplink que funciona con SWFAddress.

onDeeplink(event:GaiaSWFAddressEvent)

Cuando ocurre un evento deeplink desde SWFAddress, el deeplink será pasado al swf de su página por medio de este metodo. El evento tiene la propiedad deeplink. Gaia maneja esto por usted, por lo tanto no tiene sentido que usted agregue o remueva paginas como listeners del evento deeplink manualmente. Mas información acerca de los eventos deeplink puede ser encontrada en la sección Eventos y Hijacking de la documentación.

El GaiaSWFAddressEvent (EventoGaiaSWFAddress) tiene dos propiedades, deeplink y branch. La propiedad deeplink es el valor valido mas alla del branch, y la propiedad branch es el branch valido del que hace parte el valor deeplink.

You override this method in your page class like this:

AS3 override public function onDeeplink(event:GaiaSWFAddressEvent):void {   // handle the event.deeplink }

AS2 public function onDeeplink(event:GaiaSWFAddressEvent):Void {   // handle the event.deeplink }

If you have clips or classes inside your pages that need to respond to this event, you can simply have them listen to the page for the GaiaSWFAddressEvent.DEEPLINK event. You'll need to call super.onDeeplink(event) in your override if you want this functionality. Otherwise, you don't need to call the super method if you don't want to.



Información Técnica
Dentro de Gaia, las Páginas son instancias de la clase PageAsset, que a su vez son heredadas desde MovieClipAsset. Una Página swf es cargada dentro un MovieClip generado dinamicamente y una referencia de ese MovieClip es pasada a su instancia PageAsset. Una referencia a la clase PageAsset y su propiedad "assets" es configurada en la document class de ese MovieClip. La document clas de ese MovieClip es generada durante el ensamblaje (Scaffolding) y extiende AbstractPage, que a su vez extiende AbstractBase.

Las tres propiedades, assets, page y copy, asi como el evento listener onDeeplink son encontradas en las clases AbstractPage y AbstractBase de las páginas de donde se heredan. Ambas de estas clases estan en el paquete com.gaiaframework.templates.

Páginas AS3
Las páginas AS3 usan una document class, y no requieren el código anterior. Si usted esta usando plantillas basadas en la linea de tiempo, es similar a lo anterior a excepción del único metodo en el primer frame el cual es stop;. Si usted esta usando plantillas Actionscript, no hay código en la linea de tiempo. El ensamblado (scaffolding) deja una sola linea en el constructor de la clase de la página.

new Scaffold(this);

Páginas AS2
Si usted esta usando plantillas basadas en la linea de tiempo, en la linea de tiempo de cada pagina ensamblada (scaffolded) usted podrá ver una capa llamada AS (Actionscript), una capa LABELS (Etiquetas), y una capa de contenido (content). Usted podra ver 2 etiquetas (labels) de frames, "in" y "out".

Si usted esta usando plantillas Actionscript, solo hay un frame.

En el primer frame de la capa AS, usted podrá ver el siguiente código:

import Package.Page; Page.initDocumentClass(this); stop; scaffold;

El Package y Page seran nombrados despues del class package y el id de la página. Dentro de la clase de la página, el método initDocumentClass(this) simula la funcionalidad de la Document Class de AS3.

Solo cuando ya usted este listo a trabajar, usted puede borrar la linea de "scaffold;" y remover la funcion de scaffold de la clase de la página.

Clases de las Páginas
Las clases de página en AS2 y AS3 extienden la AbstractPage la cual extiene a su vez la AbstractBase e implementa las interfases IPage y IBase, respetivamente.

AbstractPage contiene los assets y las propiedades de la página, asi como la funcion onDeeplink.

AbstractBase contiene los cuatro metodos requeridos de transición. Usted puede optar por invalidar los metodos transitionIn y transitionOut, los cuales por defecto tienen metodos gotoAndPlay, o usted puede optar tambien por recibir los eventos que envian.

Los metodos transitionInComplete y transitionOutComplete no deben ser modificados, y si usted los sobreescribe por objetivos propios, asegurese que llama el metodo super clase en AbstractBase.



Quitando el Ensamblado de las Páginas


Solo cuando ha ensamblado (scaffolded) su sitio, remover el ensamblaje es simple

En AS3, elimine esta linea en los constructores de las clases de las Páginas: new Scaffold(this);

En AS2, elimine esta linea en el primer frame de los archivos plantilla de las Páginas: scaffold;

Tambien, puede eliminar el metodo scaffold en las clases de las Páginas AS2.

Solo cuando usted removio completamente esa linea de codigo de todas sus paginas, usted puede tambien remover el scaffold.swf dentro de la carpeta deploy, y la clase Scaffold.as del paquete adentro de donde se ensamblaron sus páginas. Esto no es obligatorio, pero cuando usted remueve el codigo de scaffold de sus páginas, estos archivos ya no son usados, entonces deberia borrarlos.

Usted puede tambien remover loa llamados super.transitionIn y super.transitionOut en AS2 y AS3, si lo desea.

El archivo preload.fla tiene un clip en la libreria llamado PreloaderScaffold. Este es asignado a la clase PreloaderScaffold.as en el paquete donde usted ensambló (scaffolded) sus páginas. Si lo desea, usted puede borrar este clip de la libreria y su clase asociada cuando usted ha escrito su propio precargador (preloader). Muchas personas usan el PreloaderScaffold como punto de arranque, asi que puede hacer eso tambien.

*** Asegurese de publicar de nuevo los archivos de su Página luego de remover el codigo de Ensamblado (Scaffolding Code) ***