My name is Stefan Cullmann, and I am the new team lead for the XML module. I am pleased to announce that the XML module is awaking from its eternal slumber.
XML is everywhere, it is the lingua franca in the Web2.0 world. Nearly every modern system is using XML. XML facilitates sharing of data across these systems. A lot of possible data sources are waiting for their reuse. This data needs to be visualized. XSLT is a declarative language which describes a template rules collection to transform the data into a new representation.
The DotnetNuke XML module is based on XML and XSL. XML module helps to connect DotNetNuke to the world. It is one of the 10 original modules which have been released as part of the IBuySpy portal. During the last years it has not passed much evolution though the world has not stopped turning.
The functionality of the current implementation is basic and has place for a lot of improvements.
- Every call of the module will result in a new pull of source and stylesheet.
- If the XML source or the stylesheet do not change, the result of the transformation will be every time the same.
- Unsuccessfully pulls will result in raised errors.
This behavior is a waste of resources and can be optimized using intelligent caching strategies.
At this time only XML as local file or as the result of an http request can be used. Even worse, the URL is static. There is no way to add dynamic query parameters. Data access and transformation is done without any knowledge of the actual DotNetNuke context like localization settings or current user. We need to add this to the query strings, second we need to add these information using XSL parameters to the XSLT processor.
A lot of potential XML data sources are missing:
- Generic Web Services (as the httpget protocol is usually disabled),
- Special purpose WebServices, for example Sharepoint lists
- Data bases (think of SQL XML or produced via Dataset)
XML module is not well integrated inside DotNetNuke. It supports neither
- ISearchable nor
The transformation result is directly returned as part of the page. I could imagine more use cases, for example the module could generate files (CVS, XML, HTM, WordML…) as output or could be offered as web service.
Each limitation is a chance for improvement and extension. A lot of work is waiting for us. I will encourage everybody to share your thoughts with me. Post your comments to this forum thread or feel free to email me at firstname.lastname@example.org.
Anyone interested in helping out should email me at email@example.com. Any information you could provide about yourself would be very helpful. Specifically, noting things like your experience, how much time you can contribute to the project, and what you would like to do to help would be useful.