..:: MSDN Tree XML Gen Example (with source code) ::.. |
MSDN TREE SERVER EXTENSION
This "MsdnTreeXmlGen" is an example of a Server Extension written for my "Essential WWW Server" that shows how a complex interface can be rendered in HTML on screen still keeping the same look-n-feel of desktop user interfaces.
INTRODUCTION
I ripped off from the MSDN Site the source code of their well-known xml tree (in the form of style sheets, xsl and behaviour files) and then assembled this example to show how you can browse the contents of the local computer folders and drivers from an HTML interface. This is accomplished using the Server Extension mechanism provided by my own web server, the "Essential WWW Server".
INSTALLATION
Download and install first the "Essential WWW Server" from this same site. Then download the zip archive at the bottom of this page, unpack in a local folder, locate the wwwroot directory in the sources folder and then replace the standard wwwroot folder of the server with this one.
HOW IT WORKS
The core of this example is the "MsdnTreeXmlGen.dyn" file, that is actually an Extension Module for my WWW Server. The source codes of this file can be found in the same archive that is provided for download at the bottom of this page.
Installing the extension and trying to explore on my machine the url: "http://localhost:48001/default/MsdnTreeXmlGen.dyn" yields in Internet Explorer the following xml result:
<Tree TreeId="console" NodeXmlSrc="/default/MsdnTreeXmlGen.dyn">
<TreeNode NodeId="mycomputer" Title="VPNOTEBOOK"
NodeXmlSrc="/default/MsdnTreeXmlGen.dyn?MyComputer"
Href="/default/MsdnTreeXmlGen.dyn?RightFrameStart"
NodeImgSrc="/default/gif/MyComputer.gif" />
</Tree>
This xml data is required client-side by the java script source of the MSDN tree implementation to show and render the top node of the tree, in the page frame at the left. All the children nodes starting from this one are retrieved from the server in the same xml format. For example the URL that returns the contents of the C:\ drive is "http://localhost:48001/default/MsdnTreeXmlGen.dyn?BrowseQwA6AFwA" (the folder path information is appended to the url after being 64-bit encoded). The result is something like this:
<TreeNode NodeId="QwA6AFwA" Title="C:\"
ParentXmlSrc="/default/MsdnTreeXmlGen.dyn?LocalDrives"
NodeXmlSrc="/default/MsdnTreeXmlGen.dyn?BrowseQwA6AFwA">
<TreeNode NodeId="QwA6AFwAXwBfAHQAZQBzAHQAbABhAGIAXwBfAFwA"
Title="__testlab__" NodeImgSrc="/default/gif/Directory.gif"
Href="/default/MsdnTreeXmlGen.dyn?FilePageQwA6AFwAXwBfAHQAZQBzAHQAbABhAGIAXwBfAFwA"
NodeXmlSrc="/default/MsdnTreeXmlGen.dyn?BrowseQwA6AFwAXwBfAHQAZQBzAHQAbABhAGIAXwBfAFwA" />
... ... ...
... ... ...
Something that can be considered particularly interesting is the source code that returns the small or large icons for system or application files on your hard drives. For example the URL "http://localhost:48001/default/MsdnTreeXmlGen.dyn?IconQwA6AFwATABvAGcALgB0AHgAdAA=" returns a BMP image that represents the file icon for the file "C:\Log.txt" on my hard disk. You can find this procedure (its name is "Return_Icon" in the DllMain.cpp file) that actually does this job downloading the source code of this example below.
DOWNLOAD
Download the source code and files of this example here (358KB).
|
|
|
|
|
|
|
|
Photos |
Various images from italian conferences and events (keep the mouse
on a thumbnail for a short description):
|
|
|
|
|
|
|
|
|
Site
login |
NOTE: Actually the login feature is used only for
administrative and content management purposes.
|
|
|
|
|
|
|
Everything here (code, binaries, text, graphics, design, html) is © 2010 Vito
Plantamura and VPC Technologies SRL (VATID: IT06203700965).
If you download something (compilable or not) from the site, you should read
the license policy file.
If you want to contact me via email, write at this
address. |
|
|