Articles

Archive for the 'actionscript3' Category

introducing the amfserver, a zend based drupal 7 module

After the release of Drupal 7 last januari there has been a lot of work done on integrating Drupal 7 with flash, flex and air.

We released the amfserver module about a month ago which is a drupal 7 module which allows you to integrate all your actionscript clients via the amf protocol to drupal.

The DrupalProxy classes from our opensource actionscript 3 library have also been upgraded and they now work with both Drupal 6 (amfphp module) and Drupal 7 (amfserver module) even though the underlying implementation has changed.

For you as a programmer, nothing will change and you can use the DrupalProxy as you would have done in D6.

We’ve added some pretty exciting features, like the zend framework as the underlying amf engine. Classmapping is implemented and configurable. It also works for standalone flash clients; you can login and keep your session via low level amfheaders if cookies are not enabled.

It makes use of the services 3.0 module and has much more configuration options than previous amf based integrations.
There’s a lot of information on the amfserver page on drupal.org, so check it out! There is info on how to use it, how to install it and demo code is included in the module itself.

Another step forward for integrating our favorite content management system with actionscript based clients.

cheers!

Soundex algorithm for indexing strings by sound in Utils package

We’ve just released a Soundex class which enables you to get an output string from an input string that represents how the input string sounds. This enables you to find string and words that sound alike.
As an example “Ralph” and “Rolf” and “Rolph” have the same soundex output. This class might be very handy when doing a phonetic lookup on a search string, when you don’t know the exact spelling of a word or when you’re interested in getting results ‘near’ your search query.

You can find more information on the soundex algorithm here on wikipedia
The usage is very simple:

//outputs the soundex string "r4l0"
var output: String = Soundex.create("rolf");

There’s lots of other useful little tools in the utils package, so be sure to check them out

running tasks in order with a task based sequence manager

The job of running a certain sequence of logic where the next task is dependent on the completion of the previous one is a recurring thing in software development. An example of this is an asynchronous queue of which we wrote in an earlier post right here. Sequence management is something that is invented time and time again by lots of developers but there is hardly any good complete sequencing solution out there. We have fixed this by releasing our nl.dpdk.commands.tasks package which features an incredibly powerful solution for managing sequences of virtually anything in actionscript.
Do you want to make your life simpler? Then read on…
Continue reading ‘running tasks in order with a task based sequence manager’

DrupalService as a bridge between flash and drupal

THIS POST IS OBSOLETE, the DrupalService has been replaced by the much more powerful DrupalProxy. You can read about it here: DrupalProxy as a bridge between flash as3 and drupal via amf.

Drupal is a multiple award winning opensource content management system. With the drupal services module, it’s possible to consume data from drupal in flash. Drupal is a very powerful tool to provide data to flash movies and with the community investing much time in drupal services, now is a great time to be using drupal to power your flash websites. Services will be part of the drupal 7 core release.

We decided to release our nl.dpdk.services.gephyr package, which is a drupal as3 service which acts as a bridge between drupal and flash and features all the power of our as3 flash remoting package. It has the core functionality of the drupal services built in and is very easy to extend and to adjust to your needs. Furthermore, it makes use of all drupals’ security mechanisms via key and session based authentication.
It has more features and packs more power than any other opensource actionscript 3 based drupal package out there at the moment, so be sure to check it out.
Continue reading ‘DrupalService as a bridge between flash and drupal’

Asynchronous queue demo with a LinkedList

This post will show you the principle of an asynchronous queue, demonstrating it with the LinkedList structure in our package, used as a Queue by making it’s datatype nl.dpdk.collections.core.IQueue.

An Asynchrounous Queue is a queue that is processed with asynchrounous operations. Instead of processing a Queue in synchronous fashion, where you would remove all items from the queue in a loop, the items are removed only when the previous operation has finished (succesfully or not). The time when this is handled is not known in advance, and is event driven rather than procedurally driven.

Most browser cannot handle more than a couple of simultaneous http requests from flash, and just trying to load them all at once (in a loop) is error prone. A queue is a lifesaver in a case like this.
Continue reading ‘Asynchronous queue demo with a LinkedList’

Using a flashvars / flash parameters registry: configure your flash files externally

Providing data to your flash movie can be done through javascript, through loading data from xml, UrlVariables (post and get) or flash remoting with the actionscript message format (amf), or by passing FlashVars to your movie at embed time in your html page. We are using a software design pattern known as a Registry to be able to have easy access to our externally provided parameters known as FlashVars throughout our application.

Continue reading ‘Using a flashvars / flash parameters registry: configure your flash files externally’

folding, mapping and applying commands on datastructures and collections

Hi, we have a great update on the collections package featuring methods that allow us to map the list, fold it and to apply commands on every item in the list. This sort of extremely powerful functionality can be compared in intention to using specifications on collections on which we wrote an earlier post here. Some more updates include some bugfixes in the unittests and a stack overflow problem occuring only on macs. But this article will focus on highlighting the high level methods we just added. Want to have a huge boost in productivity and clarity of code??? Read on!
Continue reading ‘folding, mapping and applying commands on datastructures and collections’