Flex FileUpload Component

What we’ve got here is a FileUpload component for Flex which utilizes the new FileReference.load method available since Flash Player 10 to support uploading of large files.
As a lot of providers choose a very small size for their PHP ini settings of upload_max_filesize and post_max_size, uploading files bigger than 2mb is often not supported. This can be very annoying if you like to upload mp3 or video files, which easily can exceed the maximum accepted file size. In this case you normally have to go with an FTP client.

Uploading large files

If supported by the client’s Flash Player this upload component utilizes the new FileReference.load method to load the file into the ram of the client computer at first. Once loaded the file data can be read via the data property of the FileReference object. It is now possible to extract chunks of the loaded file data and upload those chunks to the server separately. This way the upload-data won’t exceed the maximum accepted post data of the server as the chunks used are a lot smaller. On the server side, a php script is joining the chunks together to the original file.

Resuming Uploads

Prior to uploading the uploader also calculates an adler32 checksum of the file data. This checksum is used to check if a partially uploaded file already exists on the server and an upload operation can be resumed.

read on further »

posted by nik on February 23, 2009

red5 Remote SharedObject experience & tips

red5 project hom

The following post is a copy of a post i originally contributed to the red5 mailing list.

Hello Red5 Community,

i am kind of new to red5 and spend the last days tyring to figure out how to use shared objects with red5.
In the following lines i like to summarise my experiences. This should serve as a hint for others who come accross the same questions and problems that i did.
Please feel free to correct or supplement the following lines where neccessary.
When discussing SharedObjects in the following, i refer to Remote Shared Objects and not Local Shared Objects of course. I also focus on non-persistent ones.
read on further »

posted by nik on April 11, 2008

DragController component

The DragController component is as flash component that can be used to drag and drop items between several flash ui components, e.g. List, DataGrid, Tree.
With the DragController it is possible to set “drag and drop”-references between two components, which define if dragging and dropping from one component to another is possible and what type of items are allowed to be dragged.

It is based on the superb script of Alessandro Crugnola from sephiroth.it and adds some modifications and improvements, as well as an extensive help provided within the mxp flash extension file.

Have a look at the demo, the help files and/or download the component here.

Links to the DragController Component on sephiroth.it:

posted by nik on May 17, 2006

CXS Specification 1.2 (Compact XML Serialization)

CXS stands for Compact XML Serialization.

CXS is an XML application for data serialization developed by zehnet which offers the possibility of transferring complex data structures between programming environments.

The process of creating an XML representation of application data is called serialization.
The process of instantiating data from an XML representation is called unserialization.
CXS adapts PHP’s serialization structure to XML and extends this structure with some data types known from WDDX.

CXS is aimed to offer a representation of data structures which is compact (i.e. few bytes, little overhead) and effectively to parse in different programming environments.
The idea for CXS was to build up a serialization scheme for Flash (client) – PHP (server) communication, which can be handled easily in both environments and keeps traffic as low as possible.

CXS is offered under GNU Lesser General Public License and can be used freely. read on further »

posted by nik on March 07, 2005