drupal 7 amfserver presentation: integrating flash and drupal
integrating D7 + flash
    with amfserver
drupal 7 amfserver presentation: integrating flash and drupal
about

•   Me: Rolf Vreijdenberger

    •   founder / managing partner dpdk

    •   www.dpdk.nl

    •   we’re a dutch online media agency

    •   using a lot of Drupal
    •   rolf@vreijdenberger.nl
drupal 7 amfserver presentation: integrating flash and drupal
introducing the amfserver
drupal 7 amfserver presentation: integrating flash and drupal
what is the amfserver?

  •   a D7 module,working with services 7.x-3.x providing
      an AMF server based on the Zend library
what is the amfserver?

  •   a D7 module,working with services 7.x-3.x providing
      an AMF server based on the Zend library
        •    allows integration with actionscript based clients

  •   optionally integrated with the dpdk actionscript library
      www.dpdk.nl/opensource
drupal 7 amfserver presentation: integrating flash and drupal
drupal.org/project/amfserver
drupal 7 amfserver presentation: integrating flash and drupal
why flash and drupal?

•   not all the web is html(5)
why flash and drupal?

•   not all the web is html(5)

•   deliver and administer content from drupal
why flash and drupal?

•   not all the web is html(5)

•   deliver and administer content from drupal

•   display content in flash client
why flash and drupal?

•   not all the web is html(5)

•   deliver and administer content from drupal

•   display content in flash client

•   flash, flex and air can be used (all actionscript clients)

    •   (full screen) flash/flex sites with drupal backend

    •   flash elements in a html + flash hybrid site

    •   standalone AIR applications
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
how can you use D7 as a
cms for flash?
•   know how to write your actionscript code
how can you use D7 as a
cms for flash?
•   know how to write your actionscript code

•   know how to use D7 and install modules
how can you use D7 as a
cms for flash?
•   know how to write your actionscript code

•   know how to use D7 and install modules

•   use the right components to integrate the two:
    amfserver + actionscript libraries
how can you use D7 as a
cms for flash?
•   know how to write your actionscript code

•   know how to use D7 and install modules

•   use the right components to integrate the two:
    amfserver + actionscript libraries

•   get the data from Drupal to flash client
how can you use D7 as a
cms for flash?
•   know how to write your actionscript code

•   know how to use D7 and install modules

•   use the right components to integrate the two:
    amfserver + actionscript libraries

•   get the data from Drupal to flash client

•   get the data from flash client to Drupal
drupal 7 amfserver presentation: integrating flash and drupal
can I pick it up easily?
can I pick it up easily?


•   YES!
can I pick it up easily?


•   YES!

    •   D7, services, amfserver, Zend framework, dpdk
        package and a little actionscript code
can I pick it up easily?


•   YES!

    •   D7, services, amfserver, Zend framework, dpdk
        package and a little actionscript code

    •   some configuration and some debugging tools
drupal 7 amfserver presentation: integrating flash and drupal
how do we communicate?

•   D7 services 3.x module: services ROCK!
how do we communicate?

•   D7 services 3.x module: services ROCK!
    •   drupal.org/project/services
how do we communicate?

•   D7 services 3.x module: services ROCK!
    •   drupal.org/project/services

    •   A standardized solution of integrating external
        applications with Drupal core and extensions
how do we communicate?

•   D7 services 3.x module: services ROCK!
    •   drupal.org/project/services

    •   A standardized solution of integrating external
        applications with Drupal core and extensions

    •   services API: allow modules to create services for
        clients
how do we communicate?

•   D7 services 3.x module: services ROCK!
    •   drupal.org/project/services

    •   A standardized solution of integrating external
        applications with Drupal core and extensions

    •   services API: allow modules to create services for
        clients

    •   server API: allow modules to create servers
how do we communicate?

•   D7 services 3.x module: services ROCK!
    •   drupal.org/project/services

    •   A standardized solution of integrating external
        applications with Drupal core and extensions

    •   services API: allow modules to create services for
        clients

    •   server API: allow modules to create servers
          •   REST, XML-RPC, AMF
drupal 7 amfserver presentation: integrating flash and drupal
how do we communicate?

•   create and configure (multiple) endpoints
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached

•   set permissions for resources
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached

•   set permissions for resources

•   expose custom or core resources per endpoint
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached

•   set permissions for resources

•   expose custom or core resources per endpoint

    •   core resources are included in services
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached

•   set permissions for resources

•   expose custom or core resources per endpoint

    •   core resources are included in services

    •   custom resources can be made by your modules
how do we communicate?

•   create and configure (multiple) endpoints

    •   an url/gateway that exposes resources (“node.retrieve”)

    •   an endpoint has a specific server attached

•   set permissions for resources

•   expose custom or core resources per endpoint

    •   core resources are included in services

    •   custom resources can be made by your modules

•   create a client that can connect
drupal 7 amfserver presentation: integrating flash and drupal
services modules
drupal 7 amfserver presentation: integrating flash and drupal
active server endpoints
drupal 7 amfserver presentation: integrating flash and drupal
create endpoint
drupal 7 amfserver presentation: integrating flash and drupal
enable resources
drupal 7 amfserver presentation: integrating flash and drupal
security and permissions

•   normal Drupal session authentication
security and permissions

•   normal Drupal session authentication

•   security and permissions as you would use them
    normally
security and permissions

•   normal Drupal session authentication

•   security and permissions as you would use them
    normally

•   permissions for anonymous user
security and permissions

•   normal Drupal session authentication

•   security and permissions as you would use them
    normally

•   permissions for anonymous user

•   permissions via roles for logged in user
security and permissions

•   normal Drupal session authentication

•   security and permissions as you would use them
    normally

•   permissions for anonymous user

•   permissions via roles for logged in user

•   no authorization (yet)
drupal 7 amfserver presentation: integrating flash and drupal
assign permissions
drupal 7 amfserver presentation: integrating flash and drupal
sending and receiving data


•   client communicates with the D7 backend via
    amfserver
sending and receiving data


•   client communicates with the D7 backend via
    amfserver


•   data transfer via the AMF protocol (action message
    format)
drupal 7 amfserver presentation: integrating flash and drupal
amf endpoint
drupal 7 amfserver presentation: integrating flash and drupal
about AMF

 •   what does the AMF protocol offer?
about AMF

 •   what does the AMF protocol offer?

     •   binary format (efficient data transfer)
about AMF

 •   what does the AMF protocol offer?

     •   binary format (efficient data transfer)

     •   delivered over http protocol (port 80)
about AMF

 •   what does the AMF protocol offer?

     •   binary format (efficient data transfer)

     •   delivered over http protocol (port 80)

     •   native datatypes on actionscript side
about AMF

 •   what does the AMF protocol offer?

     •   binary format (efficient data transfer)

     •   delivered over http protocol (port 80)

     •   native datatypes on actionscript side

     •   fast automated serializing/deserializing via (php) server
         libraries
about AMF

 •   what does the AMF protocol offer?

     •   binary format (efficient data transfer)

     •   delivered over http protocol (port 80)

     •   native datatypes on actionscript side

     •   fast automated serializing/deserializing via (php) server
         libraries

     •   fast automated serializing/deserializing via flash player
         native code
drupal 7 amfserver presentation: integrating flash and drupal
getting to content!

•   This is where it happens on the D7 side!
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node

    •   views: getting groups of content
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node

    •   views: getting groups of content

    •   core resources: node, users, taxonomy, system
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node

    •   views: getting groups of content

    •   core resources: node, users, taxonomy, system

    •   custom resources: your own modules implementing
        hook_services_resources()
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node

    •   views: getting groups of content

    •   core resources: node, users, taxonomy, system

    •   custom resources: your own modules implementing
        hook_services_resources()

        •   use functionality of existing modules (eg: ubercart)
getting to content!

•   This is where it happens on the D7 side!

    •   fields: adding data/fields to your node

    •   views: getting groups of content

    •   core resources: node, users, taxonomy, system

    •   custom resources: your own modules implementing
        hook_services_resources()

        •   use functionality of existing modules (eg: ubercart)

•   connect with actionscript client
drupal 7 amfserver presentation: integrating flash and drupal
hook_services_resources()
drupal 7 amfserver presentation: integrating flash and drupal
writing actionscript code

•   dpdk opensource actionscript 3 library
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash

    •   unittested
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash

    •   unittested

    •   get it at www.dpdk.nl/opensource
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash

    •   unittested

    •   get it at www.dpdk.nl/opensource

        •   DrupalProxy class: actionscript proxy to the amfserver
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash

    •   unittested

    •   get it at www.dpdk.nl/opensource

        •   DrupalProxy class: actionscript proxy to the amfserver

        •   DrupalData class: represents data from the amfserver
writing actionscript code

•   dpdk opensource actionscript 3 library

    •   de facto standard for integrating D6 + D7 with flash

    •   unittested

    •   get it at www.dpdk.nl/opensource

        •   DrupalProxy class: actionscript proxy to the amfserver

        •   DrupalData class: represents data from the amfserver

        •   abstracts away low level details
drupal 7 amfserver presentation: integrating flash and drupal
simple actionscript!
drupal 7 amfserver presentation: integrating flash and drupal
as3? what happened?

•   create and configure an instance of DrupalProxy
as3? what happened?

•   create and configure an instance of DrupalProxy

•   add callback handlers for each resource invoked
as3? what happened?

•   create and configure an instance of DrupalProxy

•   add callback handlers for each resource invoked

•   handle the result in the callbacks
as3? what happened?

•   create and configure an instance of DrupalProxy

•   add callback handlers for each resource invoked

•   handle the result in the callbacks
     •   either loop over and use the drupal data structure you
         get back as a result
as3? what happened?

•   create and configure an instance of DrupalProxy

•   add callback handlers for each resource invoked

•   handle the result in the callbacks
     •   either loop over and use the drupal data structure you
         get back as a result

     •   or display error (eg: “Access denied for user
         anonymous” )you get back from the error handler
as3? what happened?

•   create and configure an instance of DrupalProxy

•   add callback handlers for each resource invoked

•   handle the result in the callbacks
     •   either loop over and use the drupal data structure you
         get back as a result

     •   or display error (eg: “Access denied for user
         anonymous” )you get back from the error handler

•   optionally use dpdk sequencing framework for the
    asynchronous(!) calls.
drupal 7 amfserver presentation: integrating flash and drupal
configure DrupalProxy
drupal 7 amfserver presentation: integrating flash and drupal
handling data
drupal 7 amfserver presentation: integrating flash and drupal
optional: sequencing
drupal 7 amfserver presentation: integrating flash and drupal
That’s all the code?
 

•   for integrating Drupal and Flash, it is!

•   now, you have to write the specifics for your stuff
             •   use more capalibities of DrupalProxy class

             •   configure your flash movie: flashvars, config file, initialize
                 call etc.

             •   write the business logic of your flash application
drupal 7 amfserver presentation: integrating flash and drupal
debugging and testing
debugging and testing


 •   how do we know what the data looks like?
debugging and testing


 •   how do we know what the data looks like?

 •   how do we test our services?
drupal 7 amfserver presentation: integrating flash and drupal
debugging and testing
debugging and testing

 •   use a http traffic analyzer: Charles
debugging and testing

 •   use a http traffic analyzer: Charles

     •   shows request and response AMF data and headers
debugging and testing

 •   use a http traffic analyzer: Charles

     •   shows request and response AMF data and headers

     •   different views and filters available
debugging and testing

 •   use a http traffic analyzer: Charles

     •   shows request and response AMF data and headers

     •   different views and filters available

     •   shows metadata (size, time etc)
debugging and testing

 •   use a http traffic analyzer: Charles

     •   shows request and response AMF data and headers

     •   different views and filters available

     •   shows metadata (size, time etc)

     •   also very convenient for fields data
debugging and testing

 •   use a http traffic analyzer: Charles

     •   shows request and response AMF data and headers

     •   different views and filters available

     •   shows metadata (size, time etc)

     •   also very convenient for fields data
     •   www.charlesproxy.com
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
debugging and testing

•   use the devel module on the drupal side
debugging and testing

•   use the devel module on the drupal side

    •   http://drupal.org/project/devel
debugging and testing

•   use the devel module on the drupal side

    •   http://drupal.org/project/devel

    •   very useful developer tool
debugging and testing

•   use the devel module on the drupal side

    •   http://drupal.org/project/devel

    •   very useful developer tool

    •   view the data structures with krumo output
debugging and testing

•   use the devel module on the drupal side

    •   http://drupal.org/project/devel

    •   very useful developer tool

    •   view the data structures with krumo output

    •   also very convenient for fields data
drupal 7 amfserver presentation: integrating flash and drupal
devel, used in a node
drupal 7 amfserver presentation: integrating flash and drupal
krumo output
drupal 7 amfserver presentation: integrating flash and drupal
debugging and testing

•   service browser
debugging and testing

•   service browser

    •   see and use the resources from within your browser
debugging and testing

•   service browser

    •   see and use the resources from within your browser

    •   A ‘need to have’ for testing and debugging the services
        without interaction between client and server
debugging and testing

•   service browser

    •   see and use the resources from within your browser

    •   A ‘need to have’ for testing and debugging the services
        without interaction between client and server

    •   send and retrieve data via D7 services itself
debugging and testing

•   service browser

    •   see and use the resources from within your browser

    •   A ‘need to have’ for testing and debugging the services
        without interaction between client and server

    •   send and retrieve data via D7 services itself

    •   method signature inspection
debugging and testing

•   service browser

    •   see and use the resources from within your browser

    •   A ‘need to have’ for testing and debugging the services
        without interaction between client and server

    •   send and retrieve data via D7 services itself

    •   method signature inspection

    •   not yet available in D7 services
drupal 7 amfserver presentation: integrating flash and drupal
debugging and testing



•   write tests using the Drupal Testing framework
drupal 7 amfserver presentation: integrating flash and drupal
test run



•   write tests using the Drupal Testing framework
drupal 7 amfserver presentation: integrating flash and drupal
difference D6 and D7


•   D6: amfphp library and services 2.x

•   D7: Zend Framework with AMF library and services 3.x
drupal 7 amfserver presentation: integrating flash and drupal
difference D6 and D7

•   D6: session authentication part of method signature
    (yuk!)

•   D7: session authentication via normal session
    authentication mechanism, and

    •   for cookie disabled clients via low level amf headers:
        flash player, air application, authoring environments,
        cookie disabled browsers
drupal 7 amfserver presentation: integrating flash and drupal
difference D6 and D7

•   D7:
difference D6 and D7

•   D7:

    •   classmapping: sending typed custom objects over the
        wire
difference D6 and D7

•   D7:

    •   classmapping: sending typed custom objects over the
        wire

    •   full integration with high level api of dpdk library
difference D6 and D7

•   D7:

    •   classmapping: sending typed custom objects over the
        wire

    •   full integration with high level api of dpdk library

    •   well commented demo actionscript code in module
difference D6 and D7

•   D7:

    •   classmapping: sending typed custom objects over the
        wire

    •   full integration with high level api of dpdk library

    •   well commented demo actionscript code in module

    •   testsuite
difference D6 and D7

•   D7:

    •   classmapping: sending typed custom objects over the
        wire

    •   full integration with high level api of dpdk library

    •   well commented demo actionscript code in module

    •   testsuite

    •   easy to get started, documentation in the installed
        module page and help
drupal 7 amfserver presentation: integrating flash and drupal
difference D6 and D7

•   but...
difference D6 and D7

•   but...

    •   some core services available in D6 are not yet in D7
difference D6 and D7

•   but...

    •   some core services available in D6 are not yet in D7

    •   standardized key authentication only in D6
difference D6 and D7

•   but...

    •   some core services available in D6 are not yet in D7

    •   standardized key authentication only in D6

    •   views (soon), menu
drupal 7 amfserver presentation: integrating flash and drupal
upgrading
D6 to D7

•   http://drupal.org/node/570162
upgrading
D6 to D7

•   http://drupal.org/node/570162

    •   essentially, things are different...
upgrading
D6 to D7

•   http://drupal.org/node/570162

    •   essentially, things are different...

    •   no style issues in flash
upgrading
D6 to D7

•   http://drupal.org/node/570162

    •   essentially, things are different...

    •   no style issues in flash

    •   actionscript handling is the same
upgrading
D6 to D7

•   http://drupal.org/node/570162

    •   essentially, things are different...

    •   no style issues in flash

    •   actionscript handling is the same

    •   different datastructures (node etc are changed)
upgrading
D6 to D7

•   http://drupal.org/node/570162

    •   essentially, things are different...

    •   no style issues in flash

    •   actionscript handling is the same

    •   different datastructures (node etc are changed)

    •   different services implementation (definitions)
drupal 7 amfserver presentation: integrating flash and drupal
why upgrade?


 •   benefits from D7
why upgrade?


 •   benefits from D7

 •   upgrade will be as painful now as later on
why upgrade?


 •   benefits from D7

 •   upgrade will be as painful now as later on

 •   client interaction with system
•   dpdk.nl

•   drupal.org/project/amfserver

•   zend.com

•   charlesproxy.com

•   me: rolf@vreijdenberger.nl
That’s it. thank you!

•   dpdk.nl

•   drupal.org/project/amfserver

•   zend.com

•   charlesproxy.com

•   me: rolf@vreijdenberger.nl

More Related Content

PDF
CIS13: Big Data Platform Vendor’s Perspective: Insights from the Bleeding Edge
PDF
Web Clients for Ruby and What they should be in the future
PDF
Code for Startup MVP (Ruby on Rails) Session 1
PPTX
Structor - Automated Building of Virtual Hadoop Clusters
PPTX
Servletarchitecture,lifecycle,get,post
KEY
How Flipkart scales PHP
PDF
Top ten-list
PPTX
Scaling with swagger
CIS13: Big Data Platform Vendor’s Perspective: Insights from the Bleeding Edge
Web Clients for Ruby and What they should be in the future
Code for Startup MVP (Ruby on Rails) Session 1
Structor - Automated Building of Virtual Hadoop Clusters
Servletarchitecture,lifecycle,get,post
How Flipkart scales PHP
Top ten-list
Scaling with swagger

What's hot (20)

PDF
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
PDF
Plugging the Holes: Security and Compatability in Hadoop
PDF
Writing microservices in Java -- Chicago-2015-11-10
PPTX
Picnic Software - Developing a flexible and scalable application
PPTX
Simplified Cluster Operation & Troubleshooting
PDF
Aws Lambda for Java Architects - Illinois VJug -2016-05-03
PPTX
Moving Gigantic Files Into and Out of the Alfresco Repository
PDF
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
PDF
Walkthrough Neo4j 1.9 & 2.0
KEY
spray: REST on Akka (Scala Days)
PDF
Padrino - the Godfather of Sinatra
KEY
SOA on Rails
PDF
Speed up your Symfony2 application and build awesome features with Redis
PPTX
Apache Ambari: Simplified Hadoop Cluster Operation & Troubleshooting
PDF
Security Goodness with Ruby on Rails
PDF
Microservices for architects los angeles-2016-07-16
PDF
Achieving Infrastructure Portability with Chef
KEY
RESTful Api practices Rails 3
PPTX
Jose portillo dev con presentation 1138
PDF
Modern websites in 2020 and Joomla
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Plugging the Holes: Security and Compatability in Hadoop
Writing microservices in Java -- Chicago-2015-11-10
Picnic Software - Developing a flexible and scalable application
Simplified Cluster Operation & Troubleshooting
Aws Lambda for Java Architects - Illinois VJug -2016-05-03
Moving Gigantic Files Into and Out of the Alfresco Repository
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
Walkthrough Neo4j 1.9 & 2.0
spray: REST on Akka (Scala Days)
Padrino - the Godfather of Sinatra
SOA on Rails
Speed up your Symfony2 application and build awesome features with Redis
Apache Ambari: Simplified Hadoop Cluster Operation & Troubleshooting
Security Goodness with Ruby on Rails
Microservices for architects los angeles-2016-07-16
Achieving Infrastructure Portability with Chef
RESTful Api practices Rails 3
Jose portillo dev con presentation 1138
Modern websites in 2020 and Joomla
Ad

Similar to drupal 7 amfserver presentation: integrating flash and drupal (20)

PPTX
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
PPTX
Big Data Warehousing Meetup: Securing the Hadoop Ecosystem by Cloudera
PDF
Building APIs in an easy way using API Platform
PDF
Headless cms architecture
PDF
Microservices and the Art of Taming the Dependency Hell Monster
PDF
Serverless: A love hate relationship
PDF
Building Hadoop Data Applications with Kite
PPTX
hardenning Operating System Server Berbasis Linux
PPTX
Introduction to Monsoon PHP framework
PDF
Chef for openstack
PDF
Intro to CakePHP
PDF
Oracle hadoop let them talk together !
PDF
Middleware in Golang: InVision's Rye
PPTX
Securing the Hadoop Ecosystem
PPTX
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
PPTX
Chef for Openstack
PDF
Introduction to Infrastructure as Code & Automation / Introduction to Chef
PPTX
SOLID Programming with Portable Class Libraries
PDF
.NET Cloud-Native Bootcamp
PDF
Web Services PHP Tutorial
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Big Data Warehousing Meetup: Securing the Hadoop Ecosystem by Cloudera
Building APIs in an easy way using API Platform
Headless cms architecture
Microservices and the Art of Taming the Dependency Hell Monster
Serverless: A love hate relationship
Building Hadoop Data Applications with Kite
hardenning Operating System Server Berbasis Linux
Introduction to Monsoon PHP framework
Chef for openstack
Intro to CakePHP
Oracle hadoop let them talk together !
Middleware in Golang: InVision's Rye
Securing the Hadoop Ecosystem
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Chef for Openstack
Introduction to Infrastructure as Code & Automation / Introduction to Chef
SOLID Programming with Portable Class Libraries
.NET Cloud-Native Bootcamp
Web Services PHP Tutorial
Ad

Recently uploaded (20)

PDF
CCUS-as-the-Missing-Link-to-Net-Zero_AksCurious.pdf
PDF
Intravenous drug administration application for pediatric patients via augmen...
PDF
Introduction to c language from lecture slides
PDF
Human Computer Interaction Miterm Lesson
PDF
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
PDF
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PDF
Secure Java Applications against Quantum Threats
PDF
Peak of Data & AI Encore: Scalable Design & Infrastructure
PDF
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
PDF
eBook Outline_ AI in Cybersecurity – The Future of Digital Defense.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
PPTX
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
PPTX
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
PPTX
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
PDF
Slides World Game (s) Great Redesign Eco Economic Epochs.pdf
PDF
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
PPTX
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
PDF
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
CCUS-as-the-Missing-Link-to-Net-Zero_AksCurious.pdf
Intravenous drug administration application for pediatric patients via augmen...
Introduction to c language from lecture slides
Human Computer Interaction Miterm Lesson
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
Domain-specific knowledge and context in large language models: challenges, c...
Secure Java Applications against Quantum Threats
Peak of Data & AI Encore: Scalable Design & Infrastructure
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
eBook Outline_ AI in Cybersecurity – The Future of Digital Defense.pdf
Presentation - Principles of Instructional Design.pptx
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
Slides World Game (s) Great Redesign Eco Economic Epochs.pdf
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...

drupal 7 amfserver presentation: integrating flash and drupal

  • 2. integrating D7 + flash with amfserver
  • 4. about • Me: Rolf Vreijdenberger • founder / managing partner dpdk • www.dpdk.nl • we’re a dutch online media agency • using a lot of Drupal • [email protected]
  • 8. what is the amfserver? • a D7 module,working with services 7.x-3.x providing an AMF server based on the Zend library
  • 9. what is the amfserver? • a D7 module,working with services 7.x-3.x providing an AMF server based on the Zend library • allows integration with actionscript based clients • optionally integrated with the dpdk actionscript library www.dpdk.nl/opensource
  • 13. why flash and drupal? • not all the web is html(5)
  • 14. why flash and drupal? • not all the web is html(5) • deliver and administer content from drupal
  • 15. why flash and drupal? • not all the web is html(5) • deliver and administer content from drupal • display content in flash client
  • 16. why flash and drupal? • not all the web is html(5) • deliver and administer content from drupal • display content in flash client • flash, flex and air can be used (all actionscript clients) • (full screen) flash/flex sites with drupal backend • flash elements in a html + flash hybrid site • standalone AIR applications
  • 23. how can you use D7 as a cms for flash? • know how to write your actionscript code
  • 24. how can you use D7 as a cms for flash? • know how to write your actionscript code • know how to use D7 and install modules
  • 25. how can you use D7 as a cms for flash? • know how to write your actionscript code • know how to use D7 and install modules • use the right components to integrate the two: amfserver + actionscript libraries
  • 26. how can you use D7 as a cms for flash? • know how to write your actionscript code • know how to use D7 and install modules • use the right components to integrate the two: amfserver + actionscript libraries • get the data from Drupal to flash client
  • 27. how can you use D7 as a cms for flash? • know how to write your actionscript code • know how to use D7 and install modules • use the right components to integrate the two: amfserver + actionscript libraries • get the data from Drupal to flash client • get the data from flash client to Drupal
  • 29. can I pick it up easily?
  • 30. can I pick it up easily? • YES!
  • 31. can I pick it up easily? • YES! • D7, services, amfserver, Zend framework, dpdk package and a little actionscript code
  • 32. can I pick it up easily? • YES! • D7, services, amfserver, Zend framework, dpdk package and a little actionscript code • some configuration and some debugging tools
  • 34. how do we communicate? • D7 services 3.x module: services ROCK!
  • 35. how do we communicate? • D7 services 3.x module: services ROCK! • drupal.org/project/services
  • 36. how do we communicate? • D7 services 3.x module: services ROCK! • drupal.org/project/services • A standardized solution of integrating external applications with Drupal core and extensions
  • 37. how do we communicate? • D7 services 3.x module: services ROCK! • drupal.org/project/services • A standardized solution of integrating external applications with Drupal core and extensions • services API: allow modules to create services for clients
  • 38. how do we communicate? • D7 services 3.x module: services ROCK! • drupal.org/project/services • A standardized solution of integrating external applications with Drupal core and extensions • services API: allow modules to create services for clients • server API: allow modules to create servers
  • 39. how do we communicate? • D7 services 3.x module: services ROCK! • drupal.org/project/services • A standardized solution of integrating external applications with Drupal core and extensions • services API: allow modules to create services for clients • server API: allow modules to create servers • REST, XML-RPC, AMF
  • 41. how do we communicate? • create and configure (multiple) endpoints
  • 42. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”)
  • 43. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached
  • 44. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached • set permissions for resources
  • 45. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached • set permissions for resources • expose custom or core resources per endpoint
  • 46. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached • set permissions for resources • expose custom or core resources per endpoint • core resources are included in services
  • 47. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached • set permissions for resources • expose custom or core resources per endpoint • core resources are included in services • custom resources can be made by your modules
  • 48. how do we communicate? • create and configure (multiple) endpoints • an url/gateway that exposes resources (“node.retrieve”) • an endpoint has a specific server attached • set permissions for resources • expose custom or core resources per endpoint • core resources are included in services • custom resources can be made by your modules • create a client that can connect
  • 58. security and permissions • normal Drupal session authentication
  • 59. security and permissions • normal Drupal session authentication • security and permissions as you would use them normally
  • 60. security and permissions • normal Drupal session authentication • security and permissions as you would use them normally • permissions for anonymous user
  • 61. security and permissions • normal Drupal session authentication • security and permissions as you would use them normally • permissions for anonymous user • permissions via roles for logged in user
  • 62. security and permissions • normal Drupal session authentication • security and permissions as you would use them normally • permissions for anonymous user • permissions via roles for logged in user • no authorization (yet)
  • 66. sending and receiving data • client communicates with the D7 backend via amfserver
  • 67. sending and receiving data • client communicates with the D7 backend via amfserver • data transfer via the AMF protocol (action message format)
  • 71. about AMF • what does the AMF protocol offer?
  • 72. about AMF • what does the AMF protocol offer? • binary format (efficient data transfer)
  • 73. about AMF • what does the AMF protocol offer? • binary format (efficient data transfer) • delivered over http protocol (port 80)
  • 74. about AMF • what does the AMF protocol offer? • binary format (efficient data transfer) • delivered over http protocol (port 80) • native datatypes on actionscript side
  • 75. about AMF • what does the AMF protocol offer? • binary format (efficient data transfer) • delivered over http protocol (port 80) • native datatypes on actionscript side • fast automated serializing/deserializing via (php) server libraries
  • 76. about AMF • what does the AMF protocol offer? • binary format (efficient data transfer) • delivered over http protocol (port 80) • native datatypes on actionscript side • fast automated serializing/deserializing via (php) server libraries • fast automated serializing/deserializing via flash player native code
  • 78. getting to content! • This is where it happens on the D7 side!
  • 79. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node
  • 80. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node • views: getting groups of content
  • 81. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node • views: getting groups of content • core resources: node, users, taxonomy, system
  • 82. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node • views: getting groups of content • core resources: node, users, taxonomy, system • custom resources: your own modules implementing hook_services_resources()
  • 83. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node • views: getting groups of content • core resources: node, users, taxonomy, system • custom resources: your own modules implementing hook_services_resources() • use functionality of existing modules (eg: ubercart)
  • 84. getting to content! • This is where it happens on the D7 side! • fields: adding data/fields to your node • views: getting groups of content • core resources: node, users, taxonomy, system • custom resources: your own modules implementing hook_services_resources() • use functionality of existing modules (eg: ubercart) • connect with actionscript client
  • 88. writing actionscript code • dpdk opensource actionscript 3 library
  • 89. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash
  • 90. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash • unittested
  • 91. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash • unittested • get it at www.dpdk.nl/opensource
  • 92. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash • unittested • get it at www.dpdk.nl/opensource • DrupalProxy class: actionscript proxy to the amfserver
  • 93. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash • unittested • get it at www.dpdk.nl/opensource • DrupalProxy class: actionscript proxy to the amfserver • DrupalData class: represents data from the amfserver
  • 94. writing actionscript code • dpdk opensource actionscript 3 library • de facto standard for integrating D6 + D7 with flash • unittested • get it at www.dpdk.nl/opensource • DrupalProxy class: actionscript proxy to the amfserver • DrupalData class: represents data from the amfserver • abstracts away low level details
  • 98. as3? what happened? • create and configure an instance of DrupalProxy
  • 99. as3? what happened? • create and configure an instance of DrupalProxy • add callback handlers for each resource invoked
  • 100. as3? what happened? • create and configure an instance of DrupalProxy • add callback handlers for each resource invoked • handle the result in the callbacks
  • 101. as3? what happened? • create and configure an instance of DrupalProxy • add callback handlers for each resource invoked • handle the result in the callbacks • either loop over and use the drupal data structure you get back as a result
  • 102. as3? what happened? • create and configure an instance of DrupalProxy • add callback handlers for each resource invoked • handle the result in the callbacks • either loop over and use the drupal data structure you get back as a result • or display error (eg: “Access denied for user anonymous” )you get back from the error handler
  • 103. as3? what happened? • create and configure an instance of DrupalProxy • add callback handlers for each resource invoked • handle the result in the callbacks • either loop over and use the drupal data structure you get back as a result • or display error (eg: “Access denied for user anonymous” )you get back from the error handler • optionally use dpdk sequencing framework for the asynchronous(!) calls.
  • 111. That’s all the code? • for integrating Drupal and Flash, it is! • now, you have to write the specifics for your stuff • use more capalibities of DrupalProxy class • configure your flash movie: flashvars, config file, initialize call etc. • write the business logic of your flash application
  • 114. debugging and testing • how do we know what the data looks like?
  • 115. debugging and testing • how do we know what the data looks like? • how do we test our services?
  • 118. debugging and testing • use a http traffic analyzer: Charles
  • 119. debugging and testing • use a http traffic analyzer: Charles • shows request and response AMF data and headers
  • 120. debugging and testing • use a http traffic analyzer: Charles • shows request and response AMF data and headers • different views and filters available
  • 121. debugging and testing • use a http traffic analyzer: Charles • shows request and response AMF data and headers • different views and filters available • shows metadata (size, time etc)
  • 122. debugging and testing • use a http traffic analyzer: Charles • shows request and response AMF data and headers • different views and filters available • shows metadata (size, time etc) • also very convenient for fields data
  • 123. debugging and testing • use a http traffic analyzer: Charles • shows request and response AMF data and headers • different views and filters available • shows metadata (size, time etc) • also very convenient for fields data • www.charlesproxy.com
  • 128. debugging and testing • use the devel module on the drupal side
  • 129. debugging and testing • use the devel module on the drupal side • http://drupal.org/project/devel
  • 130. debugging and testing • use the devel module on the drupal side • http://drupal.org/project/devel • very useful developer tool
  • 131. debugging and testing • use the devel module on the drupal side • http://drupal.org/project/devel • very useful developer tool • view the data structures with krumo output
  • 132. debugging and testing • use the devel module on the drupal side • http://drupal.org/project/devel • very useful developer tool • view the data structures with krumo output • also very convenient for fields data
  • 134. devel, used in a node
  • 138. debugging and testing • service browser
  • 139. debugging and testing • service browser • see and use the resources from within your browser
  • 140. debugging and testing • service browser • see and use the resources from within your browser • A ‘need to have’ for testing and debugging the services without interaction between client and server
  • 141. debugging and testing • service browser • see and use the resources from within your browser • A ‘need to have’ for testing and debugging the services without interaction between client and server • send and retrieve data via D7 services itself
  • 142. debugging and testing • service browser • see and use the resources from within your browser • A ‘need to have’ for testing and debugging the services without interaction between client and server • send and retrieve data via D7 services itself • method signature inspection
  • 143. debugging and testing • service browser • see and use the resources from within your browser • A ‘need to have’ for testing and debugging the services without interaction between client and server • send and retrieve data via D7 services itself • method signature inspection • not yet available in D7 services
  • 145. debugging and testing • write tests using the Drupal Testing framework
  • 147. test run • write tests using the Drupal Testing framework
  • 149. difference D6 and D7 • D6: amfphp library and services 2.x • D7: Zend Framework with AMF library and services 3.x
  • 151. difference D6 and D7 • D6: session authentication part of method signature (yuk!) • D7: session authentication via normal session authentication mechanism, and • for cookie disabled clients via low level amf headers: flash player, air application, authoring environments, cookie disabled browsers
  • 153. difference D6 and D7 • D7:
  • 154. difference D6 and D7 • D7: • classmapping: sending typed custom objects over the wire
  • 155. difference D6 and D7 • D7: • classmapping: sending typed custom objects over the wire • full integration with high level api of dpdk library
  • 156. difference D6 and D7 • D7: • classmapping: sending typed custom objects over the wire • full integration with high level api of dpdk library • well commented demo actionscript code in module
  • 157. difference D6 and D7 • D7: • classmapping: sending typed custom objects over the wire • full integration with high level api of dpdk library • well commented demo actionscript code in module • testsuite
  • 158. difference D6 and D7 • D7: • classmapping: sending typed custom objects over the wire • full integration with high level api of dpdk library • well commented demo actionscript code in module • testsuite • easy to get started, documentation in the installed module page and help
  • 160. difference D6 and D7 • but...
  • 161. difference D6 and D7 • but... • some core services available in D6 are not yet in D7
  • 162. difference D6 and D7 • but... • some core services available in D6 are not yet in D7 • standardized key authentication only in D6
  • 163. difference D6 and D7 • but... • some core services available in D6 are not yet in D7 • standardized key authentication only in D6 • views (soon), menu
  • 165. upgrading D6 to D7 • http://drupal.org/node/570162
  • 166. upgrading D6 to D7 • http://drupal.org/node/570162 • essentially, things are different...
  • 167. upgrading D6 to D7 • http://drupal.org/node/570162 • essentially, things are different... • no style issues in flash
  • 168. upgrading D6 to D7 • http://drupal.org/node/570162 • essentially, things are different... • no style issues in flash • actionscript handling is the same
  • 169. upgrading D6 to D7 • http://drupal.org/node/570162 • essentially, things are different... • no style issues in flash • actionscript handling is the same • different datastructures (node etc are changed)
  • 170. upgrading D6 to D7 • http://drupal.org/node/570162 • essentially, things are different... • no style issues in flash • actionscript handling is the same • different datastructures (node etc are changed) • different services implementation (definitions)
  • 172. why upgrade? • benefits from D7
  • 173. why upgrade? • benefits from D7 • upgrade will be as painful now as later on
  • 174. why upgrade? • benefits from D7 • upgrade will be as painful now as later on • client interaction with system
  • 175. dpdk.nl • drupal.org/project/amfserver • zend.com • charlesproxy.com • me: [email protected]
  • 176. That’s it. thank you! • dpdk.nl • drupal.org/project/amfserver • zend.com • charlesproxy.com • me: [email protected]

Editor's Notes

  • #2: intro screen\n
  • #3: intro screen\n
  • #4: intro screen\n
  • #5: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #6: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #7: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #8: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #9: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #10: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #11: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #12: introduction, who am I, what do we do?\nwho are you? any developers, flash developers etc?\n
  • #13: yeah baby!\n
  • #14: yeah baby!\n
  • #15: yeah baby!\n
  • #16: what is it? It’s D7, services and Zend AMF, providing an AMFServer to the Drupal CMS with a kick ass actionscript library for D6 and D7 making it a blast to integrate flash and Drupal!\n
  • #17: what is it? It’s D7, services and Zend AMF, providing an AMFServer to the Drupal CMS with a kick ass actionscript library for D6 and D7 making it a blast to integrate flash and Drupal!\n
  • #18: what is it? It’s D7, services and Zend AMF, providing an AMFServer to the Drupal CMS with a kick ass actionscript library for D6 and D7 making it a blast to integrate flash and Drupal!\n
  • #19: what is it? It’s D7, services and Zend AMF, providing an AMFServer to the Drupal CMS with a kick ass actionscript library for D6 and D7 making it a blast to integrate flash and Drupal!\n
  • #20: where to find it? How did it start? A little history on amfphp to amfserver?\n
  • #21: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #22: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #23: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #24: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #25: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #26: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #27: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #28: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #29: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #30: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #31: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #32: Why? how about flash sites? animations? Cheaper labour than sugar candy in javascript and ajax? A rich body of knowledge and abilities.\nManage your content for your flash sites! Flash is alive and there is a demand, there is a difference in what some people would like it to be and the reality. Javascript and html5 isn’t there yet.\n
  • #33: \n
  • #34: \n
  • #35: \n
  • #36: \n
  • #37: \n
  • #38: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #39: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #40: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #41: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #42: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #43: some easy steps, conceptually it’s pretty simple. Know actionscript, know drupal, put the right modules in place and you’re ready to go! The hard part is abstracted away and there is an easy way to interface between the two\n
  • #44: Yes, actually, a lot easier than installing an amf thing yourself with the help of the modules (ease of installation) and packages.\n
  • #45: Yes, actually, a lot easier than installing an amf thing yourself with the help of the modules (ease of installation) and packages.\n
  • #46: Yes, actually, a lot easier than installing an amf thing yourself with the help of the modules (ease of installation) and packages.\n
  • #47: Yes, actually, a lot easier than installing an amf thing yourself with the help of the modules (ease of installation) and packages.\n
  • #48: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #49: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #50: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #51: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #52: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #53: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #54: Services!!!\nwrite servers like the amfserver, write services if they do not already exist in services core. Consume data from Drupal\n
  • #55: endpoints, permissions, resources\n
  • #56: endpoints, permissions, resources\n
  • #57: endpoints, permissions, resources\n
  • #58: endpoints, permissions, resources\n
  • #59: endpoints, permissions, resources\n
  • #60: endpoints, permissions, resources\n
  • #61: endpoints, permissions, resources\n
  • #62: endpoints, permissions, resources\n
  • #63: endpoints, permissions, resources\n
  • #64: activate the modules\n
  • #65: activate the modules\n
  • #66: activate the modules\n
  • #67: create endpoints for servers\n
  • #68: create endpoints for servers\n
  • #69: create endpoint\n
  • #70: assign resources to a specific endpoint\n
  • #71: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #72: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #73: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #74: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #75: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #76: core resources have permissions implemented.\ncustom resources can implement their own permissions, or if they are wrappers around core resources, can implement this themselves\nFMS server on soatest (admin interface via logged in user, other permissions)\n
  • #77: assign permissions to get content\n
  • #78: assign permissions to get content\n
  • #79: assign permissions to get content\n
  • #80: AMF, used to be proprietary by Adobe, reverse engineered by php guy, used in amfphp, specs were released couple of years ago.\n
  • #81: AMF, used to be proprietary by Adobe, reverse engineered by php guy, used in amfphp, specs were released couple of years ago.\n
  • #82: AMF, used to be proprietary by Adobe, reverse engineered by php guy, used in amfphp, specs were released couple of years ago.\n
  • #83: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #84: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #85: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #86: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #87: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #88: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #89: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #90: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #91: Explain AMF, fast, efficient, small datasize, resultsets, no firewall difficulties, fast serializing and deserializing, works on multiple platforms (coldfusion, java, php, asp etc)\n
  • #92: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #93: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #94: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #95: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #96: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #97: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #98: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #99: SLIDE IN ONE BY ONE!!!!\nThis is how you can structure, manage and get to your content!!\nfields API (cck in D6): expanding your nodes\nviews: getting lists of stuff\ncore resources: the usual stuff that allows you to do a lot of things\ncustom resources: expand on all the logic available\n
  • #100: it’s this easy to create a custom service. use the template and implement this in your module. Done!\n\n
  • #101: it’s this easy to create a custom service. use the template and implement this in your module. Done!\n\n
  • #102: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #103: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #104: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #105: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #106: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #107: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #108: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #109: A little history and extra information. unittested and MIT\nD6 with amfphp, D7 with amfserver. two classes that matter: DrupalProxy and DrupalData\nmulti user programming, datastructures, sequencing and flash remoting / drupal integration\n
  • #110: take the time to explain this. proxy to interface with the remote setup\nerror handlers\ntimeout handlers\nhandlers for a resource (method defined on a service) which can both succeed and fail\n‘invoke’, call, execute a resource with the arguments you’d like\n
  • #111: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #112: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #113: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #114: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #115: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #116: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #117: explain each bullet point thoroughly. The design/architecture.\nalso, asynchronous is a concept some php developers are not familiar with.\n
  • #118: with comments to explain better\n
  • #119: simple data handling\n
  • #120: sequencing tasks.\nperforming tasks in order without functionality having an idea about the queueing\n
  • #121: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #122: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #123: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #124: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #125: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #126: specifics for your own site, highscores, list management etc. \noptionally use classmapping.\n
  • #127: what datastructures do we get? we need to know this in flash to get to the data and do something with it.\nDrupal has no NodeClass or well defined node object, so we need to debug (especially so with fields api)\nAnd how do we test our services without needing flash?\n
  • #128: what datastructures do we get? we need to know this in flash to get to the data and do something with it.\nDrupal has no NodeClass or well defined node object, so we need to debug (especially so with fields api)\nAnd how do we test our services without needing flash?\n
  • #129: what datastructures do we get? we need to know this in flash to get to the data and do something with it.\nDrupal has no NodeClass or well defined node object, so we need to debug (especially so with fields api)\nAnd how do we test our services without needing flash?\n
  • #130: what datastructures do we get? we need to know this in flash to get to the data and do something with it.\nDrupal has no NodeClass or well defined node object, so we need to debug (especially so with fields api)\nAnd how do we test our services without needing flash?\n
  • #131: \n
  • #132: \n
  • #133: \n
  • #134: \n
  • #135: \n
  • #136: \n
  • #137: \n
  • #138: \n
  • #139: \n
  • #140: screenshot of charles in action\nstructure, details and tabs\n
  • #141: devel module\n
  • #142: devel module\n
  • #143: devel module\n
  • #144: devel module\n
  • #145: devel module\n
  • #146: devel module\n
  • #147: devel output can be used to view raw data.\n\n
  • #148: devel output can be used to view raw data.\n\n
  • #149: structured output\n
  • #150: service browser via services module\npossible via amfserver\n
  • #151: service browser via services module\npossible via amfserver\n
  • #152: service browser via services module\npossible via amfserver\n
  • #153: service browser via services module\npossible via amfserver\n
  • #154: service browser via services module\npossible via amfserver\n
  • #155: service browser via services module\npossible via amfserver\n
  • #156: service browser via services module\npossible via amfserver\n
  • #157: D7\n
  • #158: D7\n
  • #159: testsuites provide better and stable software\n
  • #160: testsuites provide better and stable software\n
  • #161: D6, very good module, integrates with the same DrupalProxy class. Amfphp is old\nD7: uses Zend, a better library, with more functionalities you can use in your drupal site.\n
  • #162: D6, very good module, integrates with the same DrupalProxy class. Amfphp is old\nD7: uses Zend, a better library, with more functionalities you can use in your drupal site.\n
  • #163: session authentication done right. it’s now easier to use the normal way of flash remoting (no need for a specialized client)\n
  • #164: session authentication done right. it’s now easier to use the normal way of flash remoting (no need for a specialized client)\n
  • #165: \n
  • #166: \n
  • #167: \n
  • #168: \n
  • #169: \n
  • #170: \n
  • #171: \n
  • #172: \n
  • #173: \n
  • #174: \n
  • #175: \n
  • #176: \n
  • #177: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #178: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #179: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #180: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #181: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #182: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #183: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #184: you can upgrade D6 to D7\nbut things have changed.\nThe flash side stays the same thanks to \n
  • #185: get the benefits from the new version\nthe client might be able to do more with the newer version or work better/easier with it.\n
  • #186: get the benefits from the new version\nthe client might be able to do more with the newer version or work better/easier with it.\n
  • #187: get the benefits from the new version\nthe client might be able to do more with the newer version or work better/easier with it.\n
  • #188: get the benefits from the new version\nthe client might be able to do more with the newer version or work better/easier with it.\n
  • #189: get the benefits from the new version\nthe client might be able to do more with the newer version or work better/easier with it.\n
  • #190: questions\n
  • #191: questions\n
  • #192: questions\n
  • #193: questions\n
  • #194: questions\n