PreviousNext…

The state of DXL

Screenshot of DXL overview in Domino Designer helpMac Guidera recently posted about the state of DXL today, DXL - What is it good for? Mac’s post gives a good summary of where we’re at, and his hopes for the future with people like Dick Annicchiarico at the helm. I would encourage you to head over to Mac’s site and chip in with your thoughts and observations.

What I find interesting is that his post harkens back to some DXL-related buzz that took place almost two years ago. Yikes! Until Mac brought this up, I simply hadn’t realised how long ago we’d been talking about all this. The discussion as shifted focus slightly though: to my mind there are two main “movements” that have brought DXL to the fore once again:

  1. DXL from things like ?ReadViewEntries in web applications now that we’re all doing the Ajax thing
  2. DXL as a possible mechanism for skinning Notes applications

The latter point has come up during the recent Nifty Fifty discussions, specifically from Charles Robinson who is looking to put together a DXL-based “UI skinner”. That would be pretty cool. I started out with something like that a while back, but as with many of my bits of code, I didn’t see it through : Simple DXL processing.

Previously…

Comments

  1. While DXL certainly generated a lot of buzz once it was released it has lived a quiet life since. I guess it stems from the fact that developers viewed it as the magic bullet to solve all problems but once they took a look at it they realized that you needed to master additonal technologies such as XPath and XSLT to fully exploit DXL. It appears that the richtext format isn't much easier to handle just because it has been converted into text format… :-)

    That being said I think that DXL has been a welcome additional to the Notes/Domino API's since a tool like LotusScript.doc would never have been possible without DXL so I at least am happy about for it.Mikkel Heisterberg#
  2. It is indeed a welcome addition. I suspect you're right with regards the general take-up of DXL in the typical Notes / Domino developer's toolbox: things like XSLT really aren't all that easy!

    It's probably also worth noting that DXL isn't yet "complete", in that you can't fully express a database and its content as DXL (outlines spring to mind, but there are other things).Ben Poole#
  3. I'm a big fan of DXL:

    http://www.timtripcony.com/blog.nsf/BlogByCategory?OpenView&RestrictToCategory=XIDED

    But nearly all of what I've seen it used for is read-only, such as the ReadViewEntries… and the less common ReadDesign URL command that displays DXL information about the layout of the view, allowing you to know how many columns, for example, to expect before you parse the actual view content.

    With all the chaos of moving (and changing jobs) twice in one year, I haven't spent as much time on XIDED as I'd intended, but another idea I recently had was for a search-and-replace tool for design and data, similar to TeamStudio's Configurator.

    The biggest factor that I see so far preventing its widespread adoption (because there really is so much it allows us to do) is that it's huge. The Domino DTD, that is. So not only must one become familiar with additional tools / techniques, one must also become familiar with the contents of the DTD in order to know what can be exported and imported, and how. A perfect example of where this gets messy is the representation of rich text… try exporting any document with rich text that contains more than one paragraph definition and you'll see what I mean.Tim Tripcony#
  4. I've had minimal opportunity to exploit DXL up to now, but I have also thought there is potential, among other things, for using it to create a more powerful alternative to Teamstudio Configurator. For example, Configurator is great for finding text within formulas, lotusscript, etc, but it cannot alter checkbox settings like hide whens or change field properties like computed for display to computed. For the latter task, I successfully used DXL to export a form, do a simple text replace on ~100 fields to make them computed, and reimported the altered DXL. It was a bit kludgey, but still spared me from a ton of tedious effort. Something that could put a pretty face on that operation would be a huge boon to developers.

    I was aided in my field altering endeavors by some code written by Ferdy Christant (http://www.ferdychristant.com/blog/articles/DOMV-674NCF), which is definitely worth a look if you're in the DXL business.

    Also, I recently noted another set of "Teamstudio-like" development tools called "NotesHound" which might (haven't tried them yet), be using DXL in some manner. You'll find them here: http://www.noteshound.com/notes_hound_tools.htm

    I also definitely see DXL playing a part in the whole "standard architecture/skinnable UI" thing.Kevin Pettitt#
  5. I use DXL quite a bit in apps I've built over the last few years - but I have used it in a scenario you didn't mention. I often use DXL to provide users the ability to create dynamic db design without needing to a) know how to program or b) loading designer. A good example of this is my Survey app (NOTESurvey Central) that I spoke about recently, and provide for download on my blog:
    http://www.lotusgeek.com/sapphireoak/lotusgeekblog.nsf/d6plinks/ROLR-6LUS98

    I also used it in Notes access for SAP solutions:
    http://www.lotus.com/notesforsap

    There are a couple of hurdles left to scale before we can really exploit DXL.

    The first is that it MUST be able to "round trip" a design element at 100% fidelity. It is REALLY close - probably over 95% - but it still isn't 100%. When it gets to 100% when round-tripping an element, then we can begin to do things like skins, automated design changes, etc.

    The second is that the LotusScript interface to DXL/XML MUST be maintained on-par with the Java interface. At the present time the DXL side is pretty much there, but the XML interface is woefully behind. We must keep in mind that roughly 85% of the Domino Developers out there are LotusScript developers who know very little, if any, Java.

    So, is DXL important? You bet. Will it continue to be? More and more so. Does it have a way to go before it is where we want. Yes, yes it does.

    --RockRock#
  6. Hope you don't mind me adding this:

    http://www.ferdychristant.com/blog/articles/DOMV-674NCF

    I took a deep dive into DXL 2 years back. I found it to be a very unreliable feature. It crashed Notes clients in some versions, choked on externally compiled Lotusscript and didn't even see it own unmodified exported DXL as valid input for an import.

    I hope things have changed, but I'm not trusting it again until proven reliable. Just my two cents.Ferdy#
  7. Oops, so sorry, I missed the link to my article already being posted. Feel free to delete the link on my previous post. Ferdy#
  8. @Rock - thanks for the insight on the round-trip fidelity issue…I had assumed that this was already at 100% but had never pushed the functionality hard enough to find otherwise. This explains why DXL seems to be Notes' neglected stepchild despite its vast potential.

    For my purposes, which were simply to make a change in a collection of fields from CFD to Computed, it did work OK. After importing the altered DXL back into Designer (as a new form), I just cut out the needed section of that form and pasted it into the original form, and haven't discovered any problems with the altered fields, so far.Kevin Pettitt#
  9. Modifying db design on the fly is something I’ve messed-with, but I purposely left it out of my list above. Why? A lot of organisations don’t allow anything above Editor access to databases, mine included. And of course, that’s the cool thing about DXL in Domino: it obeys the Notes security model!

    Thanks for chipping in everyone, keep ’em coming (and Ferdy, I hear you—I get weird errors on the code I wrote in 2004, but it still works OK-ish).Ben Poole#
  10. When I last looked it wasn't complete. Design elements like outlines were not exported. Also memory leeks when exporting lots of it.

    Chiz

    Spug

    Spug#
  11. Outlines are about to be a part of DXL - in 7.0.2, I believe.

    Oh, and Ben - you can "legally" allow the modification of design elements to a system for people with less than designer access by simply basing the changes on config docs that the user fills out, and then have a scheduled agent that is signed by an ID with designer rights that performs the work. Used this in many customer sites, works great - and also allows you to have tighter code control to make sure to avoid some of the pitfalls in DXL.

    --RockRock#
  12. Rocky, you are right. Outlines, Shared Columns, File Resources, and Style Sheet resources are coming in release 7.0.2.

    It would seem that the completeness of DXL is a major issue amoungst developers today.
    I had thought that URL commands would dominate the discussion and wishlists.

    --MacMac Guidera#
  13. Kewl! Thanks guys. Now, how’s about them there pesky “leeks”? :-D

    Rock — good point!Ben Poole#
  14. What leeks are you refering to in the exporter?

    Sumeet.Sumeet#
  15. Note to self: figure out how to use RSS and trackbacks. I came across this because I'll be working on my DXL UI Skinner this weekend and wanted to give you credit for your sample code. :) I had no idea you had posted this, and with such a great consolidation of resources, too!Charles Robinson#

Comments on this post are now closed.

About

I’m a developer / general IT wrangler, specialising in (often mobile-friendly) web apps using things like node.js, Java, C#, PHP, HTML5, etc.

Best described as a simpleton, but kindly. Read more…