Hi Geral, depois de muito tempo e muitas mudanças na vida estou de volta escrevendo um novo post sobre alguma coisa que eu já deveria ter feito a muito tempo ehehe: uma galeria de imagens decente. Estive pesquisando algumas coisas sobre estrutura de navegação e formas de deixar o codigo As3 mais fácil de trabalhar, fiz bastante mudanças nas minhas classes e uma das primeira que tem esse mesmo conceito é a FullGallery: uma galeria de imagens estilo lightbox feita em Actionscript 3 que permite arquivos carregados externamente ou o próprio arquivo enviarem uma lista de imagens e chamar uma determinada foto usando a estrutura.

Primeira coisa que devemos fazer é baixar o pacote de classes novesfora via Google Code. Coloque a pasta novesfora junto do seu projeto ou na sua pasta de classes, a segunda opção é sempre a melhor. O resultado final será esse: http://blog.des84.com/projects/FullGallery/

Segundo passo é criar um arquivo FLA e setar o seu document class, no exemplo irei usar o nome da classe de ‘DocumentClass()’, ai precisamos definir primeiro o alinhamento da aplicação, se irá ser alinhado ao centro – default do Flash – ou se irá alinhar toda a aplicação à esquerda, vamos colocar alinhado à esquerda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package
{
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageQuality;
	import flash.display.StageScaleMode;
 
	public class DocumentClass extends MovieClip
	{		
		public function DocumentClass():void
		{
			// Configurando e setando stage infos
 
			stage.align = StageAlign.TOP_LEFT;
			stage.quality = StageQuality.BEST;
			stage.scaleMode = StageScaleMode.NO_SCALE;
		}
	}
}

Depois disso precisamos usar a classe StageLocation do pacote novesfora para falar para a aplicação, inclusive para a FullGallery – que usa essa classe na sua construção – quem é o Stage, a largura e também a altura do palco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package
{
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageQuality;
	import flash.display.StageScaleMode;
 
	import novesfora.utils.StageLocation;
 
	public class DocumentClass extends MovieClip
	{
		public var Box									:MovieClip; // Movieclip no palco
 
		public function DocumentClass():void
		{
			// Configurando e setando stage infos
 
			stage.align = StageAlign.TOP_LEFT;
			stage.quality = StageQuality.BEST;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			StageLocation.setStage = stage;
			StageLocation.setStageWidthFix = 900;
			StageLocation.setStageHeightFix = 500;
		}
	}
}

Agora é criar o objeto FullGallery e adicionar os, necessários, botões de fechar a galeria, anterior, próxima imagem e o movieclip de carregamento. Todos esses movieclips devem ser setados como string, essa que deve ser o mesmo nome da classe desses movieclips na biblioteca.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package
{
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageQuality;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	import novesfora.photos.FullGallery;
	import novesfora.utils.StageLocation;
 
	public class DocumentClass extends MovieClip
	{
		public var Box									:MovieClip;
 
		private var $Gallery							:FullGallery;
		private var $NewImages							:Array;
 
		public function DocumentClass():void
		{
			// Configurando e setando stage infos
 
			stage.align = StageAlign.TOP_LEFT;
			stage.quality = StageQuality.BEST;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			StageLocation.setStage = stage;
			StageLocation.setStageWidthFix = 900;
			StageLocation.setStageHeightFix = 500;
 
			// Criando a lista de imagens a serem mostradas
 
			$NewImages = new Array("imagens/001g.jpg","imagens/002g.jpg","imagens/003g.jpg");
 
			// Criando o objeto da Galeria e configurando
 
			$Gallery = new FullGallery("LEFT"); // Alinhamento LEFT, default = CENTER
			$Gallery.addImages = $NewImages; // Adicionando imagens a serem mostradas
			$Gallery.addClose = "Closer"; // Adicionando botao para fechar - necessario
			$Gallery.addLoader = "loaderImage"; // Adicionando loader das imagens
			$Gallery.addNext = "nextImage"; // Botao de proxima imagem
			$Gallery.addPrev = "prevImage"; // Botao de anterior
			addChild($Gallery);
		}
	}
}

Até esse momento o que fizemos foi configurar a galeria, falar quem são os botões que serão usados, o alinhamento do palco e adicionamos a galeria no projeto, não chamamos em nenhum momento uma fotografia, ou seja, se compilar o projeto nesse estágio verá que nada acontecerá. Agora irá depender mais de você que da galeria, você irá receber os thumbnails via XML, AMFPHP ou qualquer outra forma que quiser, montar sua grid e esse thumbnail quando for clicado irá executar uma função da FullGallery dizendo qual é a imagem, dentro do Array de imagens já enviado, que precisa ser aberta. Funciona da seguinte forma, ver as funções ShowFirstImage(), ShowSecondImage() e ShowThirdImage():

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package
{
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageQuality;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	import novesfora.photos.FullGallery;
	import novesfora.utils.StageLocation;
 
	public class DocumentClass extends MovieClip
	{
		public var Box									:MovieClip;
 
		private var $Gallery							:FullGallery;
		private var $NewImages							:Array;
 
		public function DocumentClass():void
		{
			// Configurando e setando stage infos
 
			stage.align = StageAlign.TOP_LEFT;
			stage.quality = StageQuality.BEST;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			StageLocation.setStage = stage;
			StageLocation.setStageWidthFix = 900;
			StageLocation.setStageHeightFix = 500;
 
			// Criando a lista de imagens a serem mostradas
 
			$NewImages = new Array("imagens/001g.jpg","imagens/002g.jpg","imagens/003g.jpg");
 
			// Criando o objeto da Galeria e configurando
 
			$Gallery = new FullGallery("LEFT"); // Alinhamento LEFT, default = CENTER
			$Gallery.addImages = $NewImages; // Adicionando imagens a serem mostradas
			$Gallery.addClose = "Closer"; // Adicionando botao para fechar - necessario
			$Gallery.addLoader = "loaderImage"; // Adicionando loader das imagens
			$Gallery.addNext = "nextImage"; // Botao de proxima imagem
			$Gallery.addPrev = "prevImage"; // Botao de anterior
			addChild($Gallery);
 
			// Mouse Events - Fazendo o *** menu funcionar
 
			( Box.Box01 as MovieClip ).buttonMode = true;
			( Box.Box02 as MovieClip ).buttonMode = true;
			( Box.Box03 as MovieClip ).buttonMode = true;
 
			( Box.Box01 as MovieClip ).addEventListener(MouseEvent.CLICK, ShowFirstImage);
			( Box.Box02 as MovieClip ).addEventListener(MouseEvent.CLICK, ShowSecondImage);
			( Box.Box03 as MovieClip ).addEventListener(MouseEvent.CLICK, ShowThirdImage);
 
			stage.addEventListener(Event.RESIZE, ResizeBox);
			stage.dispatchEvent(new Event(Event.RESIZE));
		}
 
		private function ShowFirstImage(e:MouseEvent):void
		{
			$Gallery.initGallery(); // Valor default = 0. Primeira imagem do Array
		}
 
		private function ShowSecondImage(e:MouseEvent):void
		{
			$Gallery.initGallery(1); // Chama por 1, segunda imagem do Array
		}
 
		private function ShowThirdImage(e:MouseEvent):void
		{
			$Gallery.initGallery(2); // Chama por 2, terceira imagem do Array
		}
 
		private function ResizeBox(e:Event):void
		{
			Box.x = ( stage.stageWidth - Box.width ) / 2;
			Box.y = ( stage.stageHeight - Box.height ) / 2;
		}
	}
}

Usando o $Gallery.initGallery(); iremos chamar a class FullGallery e inicializar a galeria enviando o ID da imagem que corresponde ao numero da posição do Array de imagens, bem simples. Como já foi dito, o resultado final será esse: http://blog.des84.com/projects/FullGallery/. Se preferir pode baixar os arquivos diretamente pelo link abaixo, o projeto requer o uso das classes Tweenlite e do pacote novesfora via Google Code.

Download: FullGallery Source Code (208)

Flash CS5 on FOTB

September 23rd, 2009

A great preview about new version of Flash CS5 with integration with Flash Builder, reading custom classes and so much more. Play the video bellow and have fun.

Adobe Flash CS5 Viper presented on FOTB 2009! – www.CS5.org from Adobe CS5 on Vimeo.

Depois de tanto ouvir acabei voltando a escrever no blog em português, mas isso acredito que é o que menos importa até mesmo porque estamos ali meio a meio com os americanos em quantidade de acessos no blog mas com muito mais tempo online para os brasileiros, então ponto pra gente.

Bem vou falar hoje de uma classe personalizada que criei para carregamento de imagem. Quando digo que não irá utilizar a classe Loader(), eu tenho alguns argumentos para isso:
- ao usar a classe loader você precisa colocar o conteúdo dela dentro de um sprite ou movieclip para poder manipular.
- ao deletar o loader precisa remover todos os listeners criados para o carregamento
- precisamos criar listeners adicionais para recuperar no inicio do carregamento o tamanho da imagem
- cache – i hate you – quem nunca teve problemas com atualizar o conteúdo e mesmo depois de horas continuar aparecendo a mesma imagem que o cliente implorou para trocar e você ja trocou, mas vai explicar pra ele o que é cache.

Com a classe personalizada, que estende à movieclip, temos uma facilidade muito maior de manuseio porque depois de criado o objeto podemos tratá-lo como um movieclip comum. Para tanto vamos usar eventos personalizados para sabermos quando estiver carregando, carregado, erro ao carregar e dimensões da imagem no inicio do carregamento. Abaixo vou deixar um exemplo mostrando o funcionamento, tudo que é feito nesse exemplo pode ser feito usando a classe nativa Loader() mas de uma forma muito mais fácil.

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Então, para começarmos precisamos da classe de carregamento, dos eventos e da unica dependência que é a classe do Anttikupila, JPGSizeExtractor, essa que retira da imagem no carregamento a sua largura e altura – antes do complete. Para fazer download das classes você poder usar o seu programa de SVN e baixar o repositório: http://asdatalibs.googlecode.com/svn/trunk/ ou se preferir acesse o browser de códigos do Google Code clicando aqui.

Agora que temos todas as classes então vamos ao código. Dentro do nosso document class vamos criar a variável e um listener para o botão que temos no palco do Flash, botão esse que será responsável por chamar a imagem que queremos carregar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
	import novesfora.loader.LoadFile;
 
	public class DocumentClass extends MovieClip
	{
		public var downImage:MovieClip;
		public var conteudo:MovieClip;
 
		private var lf:LoadFile;
		private var imageURL:String = "http://blog.des84.com/imageSamples/thinkGeek_largeSize.jpg";
 
		public function DocumentClass():void
		{			
			downImage.buttonMode = true;
			downImage.addEventListener(MouseEvent.CLICK, downloadImage);
		}
	}
}

Até esse ponto o que fizemos foi, criamos uma variável chamada lf do tipo LoadFile, que é a nossa classe personalizada e fizemos com que o movieclip ‘downImage’ fosse tratado agora como um botão, e quando for clicado irá executar a função chamada ‘downloadImage’. Vamos à essa função então:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
	import novesfora.events.Events;
	import novesfora.loader.LoadFile;
 
	public class DocumentClass extends MovieClip
	{
		public var downImage:MovieClip;
		public var conteudo:MovieClip;
 
		private var lf:LoadFile;
		private var imageURL:String = "http://blog.des84.com/imageSamples/thinkGeek_largeSize.jpg";
 
		public function DocumentClass():void
		{			
			downImage.buttonMode = true;
			downImage.addEventListener(MouseEvent.CLICK, downloadImage);
		}
 
		private function downloadImage(e:MouseEvent):void
		{
			lf = new LoadFile(imageURL,true);
			lf.addEventListener(Events.COMPLETE, 	showFull);
			lf.addEventListener(Events.IOError, 	showError);
			lf.addEventListener(Events.PROGRESS, 	showProgress);
			lf.addEventListener(Events.START, 		showStart);
		}
	}
}

Aqui temos que o lf foi criado como um novo LoadFile, a sintaxe dessa classe recebe no seu document class dois valores como podemos ver, o primeiro do tipo String vai ser o endereço da imagem a ser carregada, que seria colocada dentro do URLRequest() caso estivéssemos utilizando a forma convencional de carregar um arquivo. O segundo valor do tipo Boolean define se o conteúdo carregado irá ou não receber o smooth para o bitmap, funcionalidade muito interessante quando tratamos de imagens que irão ser esticadas como quando utilizamos imagens para o background do site, por default esse valor é false para economizar processamento.

Abaixo então temos os eventos personalizados, Events(), para isso precisamos importar a classe de eventos como mostra 06 do código. Então temos, na sequência, um evento para o final do carregamento do arquivo, para erro ao carregar, progressão ou loading e para o inicio do carregamento, esse último para recebermos as dimensões do arquivo. Na frente de cada evento o nome da função que cada um irá executar. Então finalizando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
	import novesfora.events.Events;
	import novesfora.loader.LoadFile;
 
	public class DocumentClass extends MovieClip
	{
		public var downImage:MovieClip;
		public var conteudo:MovieClip;
 
		private var lf:LoadFile;
		private var imageURL:String = "http://blog.des84.com/imageSamples/thinkGeek_largeSize.jpg";
 
		public function DocumentClass():void
		{			
			downImage.buttonMode = true;
			downImage.addEventListener(MouseEvent.CLICK, downloadImage);
		}
 
		private function downloadImage(e:MouseEvent):void
		{
			lf = new LoadFile(imageURL,true);
			lf.addEventListener(Events.COMPLETE, 	showFull);
			lf.addEventListener(Events.IOError, 	showError);
			lf.addEventListener(Events.PROGRESS, 	showProgress);
			lf.addEventListener(Events.START, 		showStart);
		}
 
		private function showFull(e:Events):void
		{
			conteudo.addChild(lf);
		}
 
		private function showError(e:Events):void
		{
			trace("Error on load Image");
		}
 
		private function showProgress(e:Events):void
		{
			trace("Total em KB é" + e.obj.TotalBytes + " kb" + " e o percentual carregado é: " + e.obj.PercentLoaded + " %");
		}
 
		private function showStart(e:Events):void
		{
			trace("Largura: " + e.obj.width + " / Altura: " + e.obj.height);
		}
	}
}

No final então temos as funções executadas em cada momento:
A função showFull() irá adicionar o objeto lf do tipo LoadFile, que é a nossa imagem declarada pela variável imageURL, assim nesse momento, irá aparecer a imagem carregada.
A função showError() irá ser executada no momento que o arquivo chamado não for encontrado, ou não existe ou com o endereço da imagem declarado errado.
A terceira função é a showProgress(), essa será executada o tempo todo enquanto o arquivo estiver sendo carregado, nela podemos receber através de um objeto o percentual carregado, total em kb do arquivo requisitado e total carregado. Se observarmos essa função no código acima podemos ver que ao retornar ao evento progress podemos chamar os valores acima citados, como o percentual carregado, da seguinte forma: e.obj.PercentLoaded, sendo que ‘e’ é o Events, obj é nosso Objeto de valores e PercentLoaded é o valor em % carregado.
A última função é executada no inicio do carregamento do arquivo, showStart() e irá retornar a largura e altura da imagem assim como foi feito no Progress, so que o valor agora do objeto é width para largura e height para altura da imagem.

Valeu pelo tempo lendo o post e um grande abraço. Você pode fazer o download do exemplo acima no link abaixo.
Download: Carregando imagens em AS3 sem Loader() (157)

Flash Camp Brasil

September 15th, 2009

Galera interativa, é isso mesmo que vocês leram no titulo do post. Quem dá sempre uma olhada no blog do Lee Brimelow viram que haverá ainda nesse ano em países próximos ao Brasil como Chile, Argentina, Peru entre outros o Flash Latin Tour onde ficamos de fora por questões aparentemente técnicas. Mas o bom de tudo isso que em 2010, especificamente em Janeiro, bem no comecinho do ano, vamos ter o Flash Camp Brasil, evento que irá reunir boa parte da galera que programa em Flash, designers e todos que tem o interesse de aprender mais com os caras que estão ai pelo mundo fazendo a coisa girar e aparecer sempre coisas novas.

Então vamos ao Camp galera e sorte a todos ai.

Site: Flash Camp Brasil

Yes, GreenSock Tweening Platform v11. Beta, really but awesome. The first, and the best, thing to me is Timeline (Lite/Max) that can do really good animation sequence.

On the heels of releasing the huge v10 update that introduced the plugin architecture, I’ve been hard at work on an even bigger release that delivers quite a few exiting improvements to the GreenSock Tweening Platform. Version 11 represents some significant changes to the guts of the code, so before officially releasing it, I wanted to post it in “Beta” form to give everyone a chance to not only test the code but also share their thoughts and suggestions. I’m also thrilled to announce that Grant Skinner (author of gTween) will be collaborating with me on upcoming versions (see separate announcement).

You can now create one TimeLineMax or TimeLineLite and run one or more animations, TweenLite or Max too, and you will use one only import. Great, you can read more about and see the sample on GreenSock WebSite or direct using link bellow:

Link: GreenSock Tweening Platform v11 Beta

From Flashden: “As more and more developers turn to ActionScript 3, more and more AS3 frameworks appear to be popping up to assist the Flash community. Frameworks are basically reliable libraries of code that you can use to rapidly deploy a project while also streamlining common tasks. Think of them as a way to help develop and glue together the different components of a software project.”

Here you will see 15 AS3 Frameworks to inpire you and your next projects, making more rapidly and more efficient the job. Read it.

Link: 15 awesome actionscript 3 frameworks to inspire your next project

Code and Visual has 5 free Rainbow Live licences to give away to the 5 best Rainbow Live tutorial entries. For a limited time you can trial a fully functional installation of Rainbow Live on any server you choose by using the Domain Key “tutorialcompetition”. This Domain Key will remain valid for the duration of the competition.
Rainbow Live fills the niche between complete Flash CMS solution and XML Editor. Rainbow was built specifically to enable Flash developers to continue building XML based Flash files the way they usually do, while providing important CMS functionality out of the box – with no changes needed.
Competition Details
The competition is open to anybody that wishes to write a tutorial about Rainbow, be it a webmaster or blog author, or even someone that submits a word document. The best tutorial bearing the title from each of the following 5 categories will each receive a free Rainbow Live Domain Key for the domain of their choice – worth $99.
* Rainbow Live Flash CMS – Installation Tutorial
* Rainbow Live Flash CMS – Using Templates
* How to Use Rainbow Live as a Flash CMS
* Rainbow Live Flash CMS – Using Custom Server Side Scripts (php)
* Rainbow Live Flash CMS – Using Custom Server Side Scripts (.Net)
The winning entries will be placed on codeandvisual.com with full credit and links back to the original author’s site. All other entries will be linked to from the codeandvisual.com tutorials page.
What Entries Will be Judged On
* Simple and clear communication style
* Explaination of concepts and details
* Well written and entertaining style
* Good layout and presentation
* Use of images
How To Enter
Any tutorial that sends a ping back to “http://www.codeandvisual.com/rainbow” will be automatically entered. If you don’t own a blog, or can’t ping back, simply send your completed entry to competition [at] codeandvisual.com
Competition Deadline
The Competition will close 11:59 July 31st 2009, GMT
Some of the key benefits of Rainbow Live:
* Works with your current XML file
* Admin and User log-ins
* customisable node locking/hiding for client
* Easier for clients to use than a raw XML file
* Edit XML files live online
* Upload Images and files
* Automatically create thumbnails
* Define child templates to define your own node type
* No backend scripting necessary
* Customizable scripts
* Doesn’t dictate structure of your data/website
* Easily design the CMS to your own needs
To learn more about Rainbow Live and download an installation package, visit: http://www.codeandvisual.com/rainbow-live

Code and Visual has 5 free Rainbow Live licences to give away to the 5 best Rainbow Live tutorial entries. For a limited time you can trial a fully functional installation of Rainbow Live on any server you choose by using the Domain Key tutorialcompetition. This Domain Key will remain valid for the duration of the competition.

Rainbow Live fills the niche between complete Flash CMS solution and XML Editor. Rainbow was built specifically to enable Flash developers to continue building XML based Flash files the way they usually do, while providing important CMS functionality out of the box with no changes needed.

Competition Details

The competition is open to anybody that wishes to write a tutorial about Rainbow, be it a webmaster or blog author, or even someone that submits a word document. The best tutorial bearing the title from each of the following 5 categories will each receive a free Rainbow Live Domain Key for the domain of their choice worth $99.

* Rainbow Live Flash CMS Installation Tutorial
* Rainbow Live Flash CMS Using Templates
* How to Use Rainbow Live as a Flash CMS
* Rainbow Live Flash CMS Using Custom Server Side Scripts (php)
* Rainbow Live Flash CMS Using Custom Server Side Scripts (.Net)

The winning entries will be placed on codeandvisual.com with full credit and links back to the original author site. All other entries will be linked to from the codeandvisual.com tutorials page.

What Entries Will be Judged On

* Simple and clear communication style
* Explaination of concepts and details
* Well written and entertaining style
* Good layout and presentation
* Use of images

How To Enter

Any tutorial that sends a ping back to http://www.codeandvisual.com/rainbow will be automatically entered. If you don’t own a blog, or can’t ping back, simply send your completed entry to competition [at] codeandvisual.com

Competition Deadline

The Competition will close 11:59 July 31st 2009, GMT

Some of the key benefits of Rainbow Live:

* Works with your current XML file
* Admin and User log-ins
* customisable node locking/hiding for client
* Easier for clients to use than a raw XML file
* Edit XML files live online
* Upload Images and files
* Automatically create thumbnails
* Define child templates to define your own node type
* No backend scripting necessary
* Customizable scripts
* Doesn’t dictate structure of your data/website
* Easily design the CMS to your own needs

To learn more about Rainbow Live and download an installation package.
visit: http://www.codeandvisual.com/rainbow-live

Rainbow Live XML Editor makes editing easy and full online with a simple Flash interface, multiple users and so much more. With Rainbow Live you can edit your @attributes, CDATA, upload your imagens and create thumbnails easely from your computer to server in seconds. Today you have two choices, Rainbow XML Editor and Live version, the most complete for only 99$ USD:

Rainbow XML Editor

• Edit XML files on your hard drive
• Runs in browser
• Move, delete, duplicate and rename nodes
• Add and remove multiple attributes using a
simple dialog box
• Avoid writing poorly formed XML
• Save meta data into .rbw files
• Requires Flash player 10

Rainbow Live XML Editor + CSM

• All the functionality of Rainbow
• Edit XML files live online
• Upload Images and files
• Automatically create thumbnails
• Admin and User log-ins
• Lock and hide elements from user
• Define child templates
• No backend scripting necessary
• Customisable scripts

Rainbow Live puts the power back into the hands of Flash developers. There’s no more need to rely on a backend developer to build and maintain a database. Rainbow Live saves time and money as the process of setting up XML structures is familiar to many Flash developers and is made even more intuitive with Rainbow Live’s node-based approach.

Installing and Configuring your Rainbow Live XML Editor + CMS

First step is create a folder with the name as you wish. Now you can upload all files inside this folder. You will receive one SWF file, 3 PHP files for alternative FTP and a read-me.txt.

rainbow_upload

Well, you can create your custom INDEX file to your ‘Rainbow.swf’ file. Now you can access Rainbow.swf or your custom INDEX file. When you load the page will require Login and Password, the DEFAULT is:

Username: admin
Password: password

When you load the main page will see at first time the Project window, here you will create XML, import your own local file and edit this file so simple. But after uploaded and logged you must go to second step, add your registration code and configure your FTP access.

Go to Preferences tab, will show you Settings items. The first item is Registration. Click on arrow and set ‘domainkey’ your registration code, you can get your own on Rainbow Site.

rainbow_key

After that you can change FTP access, it will able you to edit online your XML file. To edit it you may go to Preferences > FTP and change the ‘ftphost’ to your domain ftp, ‘ftpmode’ continue normal, ‘ftpusername’ is your FTP username and last ‘ftppassword’ is your FTP password, close this window and click on SITE option, you may change your ‘rainbowfolder’ example: “httpdocs/rainbowFolder/”, after that close the SITE window and click in SAVE (top-right window).

rainbow_xmlEditor

Rainbow Live XML Editor can create or edit only one XML file, one XML for one project. When you create one file, by Default, it is located on folder DATA/ inside folder that you install Live Rainbow but you have a choice to edit it and change the location of the file.

Editing XML file

It’s so simple, you can create nodes using “+” Plus button or add @attributes and images using right arrow, when you click will appear one window with all options, you can change add one attribute or CDATA text.

Using @attributes you can set one parameter like image and upload direct from your Rainbow Live to your server and add the address to your XML file, this moment you can select option to create thumbnail and add too into XML, great for portfolio and photogalleries. See the upload image bellow:

rainbow_images

You can get more information on Rainbow Website or comment here.
Thanks a lot and cya.

SVN with large files

July 9th, 2009

Hi guys, when we work with Flash for web sites or AIR applications is so easy use SVN to save and compare documents online or in your own local network, but when your job include large files – something near 3GB – like HD videos, After Effects video format and others, you will have some difficulties to commit these files.

You can easy increase the file size acceptable in your SVN Server, like Visual SVN, you must add the following line:

1
http-library=serf

to C:\Documents and Settings\\Application Data\Subversion\servers in section [global] and now you will be able to upload large files to your server. It’ greet use SVN in your network, nobody cant delete your files without have contact with your physics fles, Thanks again.

New Adobe Browserlab

June 3rd, 2009

A new way to test your web project using cross browser and operating system is Browserlab by Adobe.  Now you can put your project URL and see full page using a lot browsers with Windows, Mac OS, Linux and others.

If you alread have the Adobe ID you may go to Adobe Browserlab – link bellow – make login and use this new feature by Adobe, its fine to do. Try you too.

Link: Adobe Browserlab

Dtw Airport Map Pajamajeans The Truth Project Funny Commercials T2i Share Price Doritos Crash The Super Bowl Pajamas 2010 Super Bowl Commercials Doritos Bob Tebow Ministries Etrade Baby Golf Commercial Reggie Bush Super Bowl 2010 Ameritrade Baby Commercial Denny's Grand Slam Giveaway Dockers Freepants Yvette Prieto Photos Pictures Brett Favre Mvp T1i D90 Tim Tebow Pictures Super Xlii Canon Eos 60d Super Bowl Commercial Contest Kim Kardashian Reggie Bush 2009 David Letterman Mccain Super Bowl Halftime 2010 Ctic Stock Price Denny S Free Grand Slam 2010 New Orleans Saints Nfl Schedule Boeing Cell Therapeutics Inc Ctic Superbowl 2010 Halftime Show Airbus Indianapolis News Obituaries Usa Today Top Superbowl Commercials Best Superbowl Ads Uss Indianapolis Chris Reis Saints Genworth Financial Inc Gnw Sears Famous Super Bowl Commercials Betty White Movies Dockers Luggage Super Bowl Shirts 2010 Saint Anne De La Parade Audi Green Police Commercial Indianapolis Colts Newspaper Doritos Commercial Super Bowl 2010 Love Ray J Reunion Preview Pittsburgh Super Bowl Betty White Commercial Super Bowl Wide Receiver Hank Baskett E Trade Reviews Super Bowl Twitter David Letterman Tickets Mina Brees Wiki Audi Commercial 2008 Indianapolis News Papers Times Picayune New Orleans Obituaries Denny's Commercial Tiger Woods Girlfriend 2010 Super Bowl Commercials List Worst Superbowl Ever Acura Superbowl Commercial Bill Walton David Letterman John Mccain Audi Superbowl Commercial 2010 Nyse Commercial American Airlines 747 Interior Pictures Ferrari Enzo Michael Jordan Tribute Philip Rivers Wife Usa Today Super Bowl Ads Wdsu Sports Larry Bird Biography Ray J Twitter Super Bowl Score Each Quarter Kim Kardashian Dating Reggie Bush Gnw Dte Mina Brees Photos Dockers Wallet Tim Tebow Bench Press Barney Miller Doritos Crash Super Bowl Steve Phillips Deadspin Saints Superbowl Parade Reggie Bush 2009 Anniversary Flowers Palin Crib Notes New Orleans Saints Symbol Focus On The Family Superbowl Ad Drew Brees Family Saab Superbowl Commercial Ferrari 599 Gtb Fiorano Price Ctic Stock News Kim Kardashian Biography Coca Cola Commercial Super Bowl Vermont Teddy Bears Coupon Code Reggie Bush Injury Build A Bear Yvette Prieto News Miley Cyrus Kim Kardashian Doritos Super Bowl 2009 St Patrick Day Parade New Orleans Ferrari 599 Gtb Fiorano Cost New Orleans Saints Football Cramer Ctic Tim Tebow Facebook E Trade Advertising Mitsubishi Fto Best Superbowl Commercials Of All Time Dtw Airport Tim Tebow Abstinence Pajamagram Coupon Codes Larry Bird Michael Jordan Yvette Top 5 Super Bowl Commercials 2009 Ihop Locations Betty White Commercial Superbowl Quarter Scores 2010 Update On Cocktail And Ray J Steve Phillips Stats Mina Brees Nfl Cbs Super Bowl Ads For The Love Of Ray J Vh1 Com Tim Tebow Playing Broken Leg Ray J And Cocktail News Wxyz Weather Denny's Grand Slam Special Palin Notes Waffle House Locations Super Bowl Xliv Abc News Weather Pajamagram Kevin Garnett Cub Scouts Logo Dockers Khakis Tony Romo Wife Palin Cheat Sheet Free Doritos Super Bowl Ad Denny's 4 Msnbc Weather Drew Brees House Blue Police Indianapolis Star Newspaper Sports Tim Tebow Focus On The Family Pink Police Police Music Songs Houston Chronicle Focus On The Family Larry Bird Video Seanna Mitchell Model 2010 Super Bowl Commercial Cost Kobe Bryant Michael Jordan Yvette Prieto Age Dtw Airport Jobs Boy Scout Ranks Betty White Video Betty White Super Bowl Commercial Super Bowl Indianapolis Nyse John Mccain Palin Canont1i Dockers Sunglasses Michael Jordan Greatest Basketball Player Reggie Bush Saints Superbowl Ad Commercials Seanna Mitchell Pictures Tim Tebow Add Ray J And Cocktail Not Together Reggie Bush Mother Ferrari 599 Gtb Fiorano Lego G8 Meeting St Patrick Parade Route Mark On Drew Brees Face Arizona Cardinals Super Bowl Super Bowl Commercials Spike Denny's Grand Slam Calories Dockers Big And Tall Pants Usa Today Ad Meter Super Bowl Reggie Bush Super Bowl Stats Audi R8 Superbowl Commercial Ringcentral Download Denny's Prices Brett Favre Twitter Ihop Careerbuilder Casual Friday Super Bowl Commercials By Quarter Canon 50d Hank Baskett Kendra Wilkinson Best Superbowl 2008 Ads Seanna Mitchell Freeones Denny's Clothing Steve Phillips Affair Detroit Metro Airport Jobs Long Ctic Message Board Vh1 For The Love Of Ray J Reunion Detroit Metro Airport Address E Trade Baby Commercial Kim Kardashian And Reggie Bush Puppy Bowl 2010 Wwj Weather 747 8 News Arctic Monkey Forum Reggie Bush New Orleans Saints Colts Super Bowl Boeing 787 Pictures Times Picayune Articles Brittney Brees Dockers Pants Free Pants Jeremy Shockey Super Bowl Times Picayune Sports Audi A5 Commercial Canon Downloads The Superdome New Orleans Best Superbowl Commercials 2010 Larry King Prejean Cell Therapy New Orleans Saints Twitter Valentine Roses New Orleans Saints Who Dat Denny's Locations Pajamagram Coupon Boeing 747 8 First Flight Enterprise Journal Newspaper G7 Members Chris Rose Times Picayune Top 10 Super Bowl Commercials 2010 Applebees Advanced Cell Therapeutics Yvette Prieto Bio Xlii Bowl Brett Favre Super Bowl E Trade Bank Red Lobster Locations Drew Brees Mole Removed Trading Halted Ctic Super Bowl Xliii Champions Ezonemag Yvette Prieto Love Ray J 2 Casting Michael Jordan Slam Dunk Contest Godaddy Super Bowl Commercial Tim Tebow Commercial Controversy Cbs Superbowl Commercials Love Ray J Songs Audi R8 Super Bowl Commercial Love With Ray J Palin Debate Notes Dtw Wiki Continental Hank Baskett Engaged Larry Bird Pictures Brett Favre Super Bowl Ad747 8 First Flight Super Bowl 2010 Kick Off Time Kendra Wilkinson Law Enforcement Songs Florida Quarterback Tim Tebow Kendra Wilkinson Husband Apple Superbowl Commercial Yvette Prieto Pictures Indianapolis Sports Jobs Vse Ctic Yahoo Message Board Mardi Gras Parades Magic Johnson Girlfriend Detroit Metro Airport Parking Wwl New Orleans New Orleans Saints 2009 Schedule Tim Tebow Quarterback Boy Scout Store Denny Duquette Steve Philips Ferrari 599 Gtb Fiorano Msrp Hank Baskett Onside Kick Orange Police Pajamas From Pajamagram Saints Parade Tuesday Dtw Address Canon 450d Family Research Council Lebron James Superbowl Commercial Danica Patrick Super Bowl Ad Reggie Bush Photos Huffington Post Palin Youtube David Letterman Fto Obesity Top 5 Super Bowl Commercials Green Police Cars Valentine Plants Morning Advocate Newspaper 747 8 First Flight Wjr Weather G7 Meetingdockers Free Pants Betty White Pet Commercial Yvette Prieto Gallery Corrie Bird Abe Vigoda Dead Or Alive Kim Kardashian Makeup Hank Baskett Clovis Super Bowl Championship Picayune Item Newspaper Super Bowl Commercials 2010 Tebow Larry Bird Stats Audi Superbowl Commercial 2009 Etrade Super Bowl Commercial 2009 Super Bowl Ads 2010 Yvette Prieto Videos Police Movie Songs Seanna Mitchell Myspace Reggie Bush Beckham Denny Klein Palin Hand Notes Victoria's Secret Super Bowl Ad Brett Favre Green Bay Packers Brooke Hundley Pictures Delta Skymiles Boyds Bears Haggar Pants Ray J Lil Wayne For The Love Of Ray J Episodes 2010 Nfl Superbowl Brittany Brees Bio Fto Hank Baskett Twitter Flowers Send Valentine's Indianapolis Time Zone New Orleans Saints Superdome Cotton Pajama Pants Toyota Superbowl Commercial 2006 Super Bowl Commercials Canon T2i Criss Angel For The Love Of Ray J 2009 Vermont Teddy Bears Cbs Sports Superbowl Commercials Wdiv Weather Boeing 787 First Flight Date Love Ray J Music Wwl Sports Tim Tebow Commercial Super Bowl Kim Kardashian Reggie Bush G7 Meeting October 2008 Abe Vigoda Band Kim Kardashian Reggie Bush Tape Robert Kardashian Reggie Bush Salary Audi Super Bowl Commercial 2009 Boy Scout Popcorn Tampa Bay Buccaneers Super Bowl Michael Jordan Quotes Starbucks Locations Ctic Stock Times Picayune New Orleans Saints Canon Rumors Northlight Michael Jordan Nba Rookie Of The Year Abe Vigoda Music Detroit City Airport Top Ten Super Bowl Commercials All Time New Orleans Hornets Danger For The Love Of Ray J Love Ray J Lyrics Docker Free Pants Houston Weather Wwwdockerscomfreepants Canon Printer Drivers Arctic Bulletin Boards Palin Cheats Dennys Free Birthday Canon T1i Sales Indianapolis Zip Code Dockers Dress Pants Bridgestone Super Bowl Commercial Parades New Orleans 2009 Brett Favre Quarterback Ctic Quote Dockers Coupon Codes Perkins Locations Delta Obama David Letterman Pajama Pants Pattern Dockers Jeans Java Denny's Clothing 5 Superbowls E Trade Superbowl Commercials Superbowl 2009 Time Canon D60 Cnn Weather Victoria's Secret Superbowl Sarah Palin Katie Couric Pajama Pants Hank Baskett Girlfriend David Letterman Jay Leno Dennys Free Food Tim Tebow Girlfriend Indianapolis Recorder Newspaper Vikings Super Bowl E Trade Baby Commercial Outtakes Reggie Bush Getting Married Drew Brees Nfl Michael Jordan Chicago Bulls John Mccain Is An Idiot 2010 Superbowl Odds Steelers Super Bowl Champs Ringcentral Review Cub Scouts Uniform Valentine Gifts Hank Baskett And Kendra Wilkinson For The Love Of Ray Winner Times Picayune Jobs Dockers Golf Pants History Of Boy Scouts Fto Gene For The Love Of Ray J Finale Best Worst Superbowl Ads Drew Brees Baby Gwn Tebow's Girlfriend Hank Baskett Nfl Super Bowl 3rd Quarter Score Times Picayune Newspaper Obituaries Saints Victory Parade Reggie Bush Phone Number Grandcentral Denny's Coupons Dockers Free Pants Commercial Valentine Flowers Offers Brittany Will Yvette Prieto Model Final Two Love Ray J Time Picayune Newspaper New York Giants Super Bowl Apparel Denny's Grand Slam Calories Fettucini Ray J Nfl Saints Boy Scouts Activities Kia Superbowl Commercial Superbowl Score By Quarter 2010 Sarah Palin Interview Times Picayune Contact Betty White Commercials Dtw Perkins Clarion Ledger Sports New Orleans Saints Parade Route Etrade Super Bowl 2010 Steve Phillips Seafood Wilt Chamberlain Ferrari 612 Scaglietti Canon Printers Best Superbowl 43 Commercials Jeremy Shockey New Orleans Saints Drew Brees Wife Bill Russell Congress Dockerscomfreepants Gund Bears Super Bowl Commercials 2010 Doritos Fox 2 Weather Canon 60d 747 800 Yvette Prieto Wiki Nissan Superbowl Commercial Julius Erving Audi Q7 Commercial Hillary Clinton Palin Sarah Palin Is An Idiot Bumper Sticker Cub Scouts Store Lebron James Girlfriend Canon Rebel T2i Audi Green Police Denny Scotland Times Picayune Archives T1i 500d Denny's Grand Slam Giveaway E Trade Baby Commercial Blackberry G7 Conference Kendra Wilkinson Twitter 747 8 Intercontinental Who Dat Saints Reggie Bush Videos Dockers Pants Audi R8 Cub Scouts Games Youtube Superbowl Commercials Dennys Free Breakfast Tuesday Kim Kardashian Mother Hank Baskett Colts Number Ctic Buyout Ray J Cocktail Broke Up Boy Scouts Uniform Canon Lenses Cub Scouts Cracker Barrel Locations Doritos Super Bowl Commercial Contest Super Bowl 2010 Watch Boy Scout Badges Timespicayune Super Bowl Parade For The Love Of Ray J Reunion Recap Best Superbowl 2009 Ads Seanna Mitchell Forum Audi Commercial Hank Baskett Married Canon 550d Dockerscomfree Pants Delta Tools Palin Photos Delta Faucets Jeremy Shockey Saints Santonio Holmes Super Bowl Wdsu New Orleans Denny's Coupons Drew Brees Purdue Michael Jordan Videos Freep Weather Sarah Palin Hand Notes Commercials During The Superbowl For The Love Of Ray J Gossip Bill Russell Murtha Betty White Actor King Arthur Parade Tim Tebow Abortion Wilt Chamberlain Michael Jordan Top 2009 Superbowl Commercials Nwa Tim Tebow's Brothers Pajamagram Store Houston Chronicle Classified Reggie Bush And Kim Kardashian Listen Police Songs Dtw Airport Security Ringcentral Iphone Pajamagram Coupons Discounts Happened Ray J Cocktail Michael Jordan's Girlfriend Bsa 100th Anniversary Logo Yvette Prieto Images Palin Debate Cheat Sheet Super Bowl Recipes Greatest Superbowl Ever Kim Kardashian Twitter Polamalu Super Bowl Commercial Ford Superbowl Commercial Drew Brees Mole Drew Brees Son Down Syndrome Canon 40d Mardi Gras Parades New Orleans Audi Commercial Progress Dennys Free Tuesday