New OpenNTF Project: Decepticon
Category domino
A couple weeks ago when I was dropping vague hints, I mentioned that Nathan and I were playing with ways to expand Domino's standard URL commands. Well, that experiment has become an OpenNTF project called Decepticon... for two reasons:
1. It's a transformer. My earlier tease showed only the DXL output option... the real power in this tool is that inclusion of an optional URL parameter ("&Stylesheet=") instructs it to do a server-side XSL transform of the DXL prior to rendering it to the browser (or other remote client).
2. It's deceptive (but fortunately not evil). Not only does it "trick" Domino into supporting non-existent URL commands (ReadDocument, ReadFormDesign, ReadAgentDesign, etc.) for any document or design element in any database on a server, but does so in a way that allows you to completely tailor the output format.
Nathan posted a detailed description of why and how we decided to do this, but one thing I'd like to add is that the flexibility of this is theoretically limitless: no matter what output format you want for your data or design information, all you need is an XSLT stylesheet that transforms the DXL as desired. In fact, we're planning on hosting a repository where you can upload and download stylesheets (take a penny / leave a penny) that produce various output formats. For example, want to render entire documents as JSON? Create a stylesheet that transforms DXL to JSON. Ian Sherwood (of DXLPeek fame) even suggested transforming the DXL to SWF format... allowing dynamic Flash rendering of Domino content. A fun intermediate step would be to ouput XML that drives existing SWF content... next time somebody tells you Domino can't easily produce pretty reports, you can show them something like this. That'll shut 'em up for a while.
A couple weeks ago when I was dropping vague hints, I mentioned that Nathan and I were playing with ways to expand Domino's standard URL commands. Well, that experiment has become an OpenNTF project called Decepticon... for two reasons:1. It's a transformer. My earlier tease showed only the DXL output option... the real power in this tool is that inclusion of an optional URL parameter ("&Stylesheet=") instructs it to do a server-side XSL transform of the DXL prior to rendering it to the browser (or other remote client).
2. It's deceptive (but fortunately not evil). Not only does it "trick" Domino into supporting non-existent URL commands (ReadDocument, ReadFormDesign, ReadAgentDesign, etc.) for any document or design element in any database on a server, but does so in a way that allows you to completely tailor the output format.
Nathan posted a detailed description of why and how we decided to do this, but one thing I'd like to add is that the flexibility of this is theoretically limitless: no matter what output format you want for your data or design information, all you need is an XSLT stylesheet that transforms the DXL as desired. In fact, we're planning on hosting a repository where you can upload and download stylesheets (take a penny / leave a penny) that produce various output formats. For example, want to render entire documents as JSON? Create a stylesheet that transforms DXL to JSON. Ian Sherwood (of DXLPeek fame) even suggested transforming the DXL to SWF format... allowing dynamic Flash rendering of Domino content. A fun intermediate step would be to ouput XML that drives existing SWF content... next time somebody tells you Domino can't easily produce pretty reports, you can show them something like this. That'll shut 'em up for a while.







