Your Development & Design Resource
Domino Blog Template Update - Revised Architecture v0.01a
05/19/2008 12:07 AM by Chris Toohey
After many conversations with people like Nathan, Declan, and my soon-to-be-mentioned co-author on this project (which will be open source and available to the community - it's all about the show!) - I realized that I was taking the wrong approach with thinking that Web Services could do what I needed it to do. What I need to do, for the content management system that I have in mind, is facilitate the ATOM Publishing Protocol (or APP) via REST - that's full support of the POST, GET, PUT, and DELETE methods.
This of course, we know that the Domino HTTP Server won't allow - and now I know that this includes no matter what you say in the Internet Site Document.
I tested this by creating a simple HTML file, consisting of 4 Form objects - each with the POST, GET, PUT, and DELETE methods respectively - that used an Agent Design Element as their posting agent. The Agent Design Element, called "rest_test" for my examples, would simply run a session and return the submission method and some other information via plain text Printing.
The result - well, POST worked fine. GET worked fine. PUT and DELETE were translated to GET method calls. Now, the translation wouldn't bother me so much... but it's seamless. Too seamless. I don't know that the original request was via PUT/DELETE. If you consider what this means...
PUT and DELETE are methods that are designed to modify their target object - update and removal respectively. Such requests are returned as GET - which is designed to fetch an object. Sure, data can be passed along to that object (to Domino developers, think ?EditDocument, ?OpenAgent, QueryString parameters, et al). But that ain't gonna work for what I'm looking to do.
So, after many discussions with my co-author, I think we've got a plan. It's a solid plan. It's a righteous plan. And it's something that will invariably allow extended functionality far beyond the scope of "yet another Domino Blogging template". We're going to a full-on, true REST-compliant content management engine.
More details to follow...