[development] Drupal 6, Services 3, a RESTful API

Blake Senftner bsenftner at earthlink.net
Tue Jan 11 16:44:21 UTC 2011

Hi all,

I'm seeking information to help me design a RESTful API using D6 & Services 3.0.

I ask you, members of this list, because my attempts to find this information is not bearing results. My searches find infinite descriptions of REST with comparisons against XML-RPC, SOAP & water, and Ren & Stimpy, plus I'm finding lots of code examples in every language under the sun... but nothing as of yet that is a walk through of creating a resource that is exposed via a REST interface that is anything more than a single, flat resource. (It's like only being able to find "hello world" when looking for a code example.)

What I am seeking is a community of developers discussing REST architectures, so I can figure out the correct mapping of my functions and features into a REST resource. Being that I am working with Services 3.0, I don't need to care a lot about the code implementation details - just the architecture of how my functionality maps into a RESTful interface. 

I have a hierarchical object I'd like to expose via REST: a "project object" that is a hierarchical container for 5 different types of digital assets, each asset has a collection of attributes, and a single project can have any number of these assets, with taxonomy tagging used to define asset groups. 

(Within the originating D6 WebApp: each Project, each of the 5 different asset types, and the final "compiled object" tracking data (discussed next) are all Drupal Nodes, totaling 7 content types. The hierarchical nature of a Project, as in only projects have the ability to create the assets that a project manages, is enforced by code in my custom modules.)

I also have a "compiler object" that also needs to be exposed via REST; this object is able to "consume" project assets and produce a new project asset. This "compiler object" is a real physical machine that consumes digital data from a project and produces physical objects, which are then tracked by the originating project. 

So, I am seeking information and guidance for creating a RESTful interface to a complex, hierarchical data resource, and a significantly less complex physical object.

I'm somewhat confused by a RESTful interface to a physical object, because within a CRUD pattern, one can't "Create" the object (but one can turn it on), one can't "Delete" it (but one can turn it off)... 

Does anyone know of any online groups where discussions along these lines are talking place, or have already and the discussions are archived? 

bsenftner at earthlink.net

More information about the development mailing list