Articles

Archive for the 'dpdk' Category

Article on DrupalProxy featured in webdesignermagazine.nl

We recently published part 1 of a 2 piece tutorial on integrating drupal 6 and flash in the march edition (nr 34) of the Dutch leading web design magazine webdesigner.nl.

The second article will feature in the may edition and is an advanced tutorial on how to use drupal services with the DrupalProxy. Handling authentication and security, views, the cck, custom modules and some more.

The tutorial is supported by a demo site where you can download the full source code and other info.

check out our facebook page for more info and we’ll keep you posted on the next article.

dpdk opensource package now available for download in zip format

We have now posted a link to a zip file containing the latest iteration (currently 505) of our opensource package. You can find the link in the source code page.

There is no more need to check out the source code via subversion (svn), although you can still do that. The svn version might be a more recent one if we add new features so be sure to check out the revision number of the zip file download against the revision number of the svn repository.

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 UPGRADE our nl.dpdk.services.gephyr package, which is a drupal as3 service which acts as a bridge between drupal and flash. It has all the functionality of the drupal services built in, including the ability to connect to existing core services and any custom service implemented, out of the box. There is no need to extend it or customize it. 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, inluding our now obsolete DrupalService, so be sure to check it out from svn and start using it today.

It has a well thought out and consistent api, very tight and tested code, is easy to use, and features the ability to use the security mechanisms that are used for the drupal services backend module.

We feel that this is the implementation that ends it all and provides no more need for any other package for communicating from as3 to a drupal backend via amf and the services module. If you do however need to alter or add code, you can either subclass the class and implement some of the protected hook methods we have put there just for that purpose, OR, you can write an adapter for it. As stated before, that should not be necessary.

The architecture of the nl.dpdk.services.gephyr.DrupalProxy class is based upon using our drupal code extensively in commercial projects and from user feedback from the drupal community. It is based on the proxy design pattern as a remote proxy to the drupal services module.
Continue reading ‘DrupalProxy as a bridge between flash as3 and drupal via amf’

Reconfiguring the Loader with custom load tasks

In a previous post about the loader package, we explained how it can be used to bulk load different files into your application. That post also mentioned the possibility of adding custom mappings and load tasks to the loader for any use cases that are not supported by the default implementation. This post will explore these features in more detail.
Continue reading ‘Reconfiguring the Loader with custom load tasks’

a configurable, pluggable, thread safe prioritized bulk loader with object management

To solve the problem of loading assets in flash for once and for all, we’ve decided to release our nl.dpdk.loader Package containg our Loader class.

We’re very proud to release this package since it solves all problems with bulk asset loading and object/data mangement, at the same time making it extensible by other users to write their own loading schemes if necessary. On top of that, it is prioritized so you can rearrange loading priorities (so you can decide which files will always be loaded first in an application, or even change that at runtime), you can instantiate multiple Loader objects and they are automatically managed behind the scenes making sure that the loaded files are queued up and managed centrally behind the scenes. Data that is associated with the file you want to load is managed for you and keeps it’s association with the file to be loaded, so that when it has been loaded you will have easy access to the associated data. Each module in your application can instantiate it’s own Loader object but because of priorities that can be managed, each module can make sure that it behaves as a good citizen and set their own priority, so that important files can be set with a high priority and will be loaded before lower priority files, without each module knowing other stuff is being loaded at all.

It features file progress statistics about how many files have loaded, the bytes, how many files to load etc.
You can load different types of files (xml, bitmap data, swf, binary data, sound, text etc) and if they are not available by default (eg: zip files) you can easily write your own task to do that and plug it in the system and it will work with all the functionality already made available through the loader.

There are lots of details to cover and to explore which we will do in this article, and if you want more details, take a look at the source code to find out about the full power of the Loader.

Continue reading ‘a configurable, pluggable, thread safe prioritized bulk loader with object management’

Sorting and custom sorting

In an earlier post we introduced the Collections package, which includes several ways of keeping track of objects in your application. The Collections package includes a number of very powerful features, such as search using the specification pattern and many ways of sorting your data. The latter will be elaborated upon in this article.
Continue reading ‘Sorting and custom sorting’

Wait for user input in your sequence

We’ve been using the task based sequence for a while now and are very pleased with it. One thing we missed, was the possibility to listen to an event.

Besides the ConditionalTask (which waits for an other Task to be completed), we’ve now added the EventListenerTask. This task waits until an object has dispatched an event before continuing the sequence.

Here is a code example

//create a new sequence that will hold tasks
var sequence: Sequence = new Sequence();
//wait until the user clicked on the 'myButton' instance
sequence.add(new EventListenerTask( myButton, MouseEvent.MOUSE_DOWN );
//call a callback method in the present scope
sequence.add(new CallbackTask(onDone));
//start the sequence
sequence.execute();

With this new Task it’s very easy to (for example) pause the Sequence until the user pressed a button or pressed a key… or until some other object dispatched an event.

multiuser as3 framework for flash media server and red5

Multiuser programming is a hard thing to do. Not only does it involve a different way of approaching a problem, it also means you have to learn to program the server and communicate with it and all of it’s connected clients.
The flash media server and it’s opensource variant red5 give us two perfect platforms to do complex multiuser interaction. While they differ in the way you write server code, they are the same when it comes to writing client side code for flash/flex.

Because there are no client side abstractions to multiuser programming out there, we wrote our own and share it with you here. In our nl.dpdk.services.fms package you can find a number of classes that abstract the gory details of interacting with either the flash media server or red5, making it easier to code, easier to maintain, easier to understand cleaner and less error prone. It still allows you to use advanced features and hack away at a low level, but makes it a breeze to setup a complex environment in a short time. The classes we present in our package focus only on data exchange and not on doing streams.

Since multiuser programming is extremely cool, gives you loads of possibilities to do fun stuff and does not need to be hard, we’ll try to get you up and running with fms in this post.
Continue reading ‘multiuser as3 framework for flash media server and red5′

On using sequences and tasks with the DrupalService

UPDATE: the DrupalService has been updated by the DrupalProxy, a much more powerful implementation. The 17th of november will see the release of a new Task for the DrupalProxy (DrupalInvokeTask) that will replace other Tasks for Drupal.

An example of how you can use custom tasks in sequences is demonstrated by the use of some Tasks in the DrupalService. This post will demonstrate how two very easy to create Task subclasses give you a general solution to handling a specific dataflow from Drupal. We will show you how you can abstract the repetitive flow of connecting to a drupal backend and getting a specific set of nodes from a certain view.
Continue reading ‘On using sequences and tasks with the DrupalService’

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’