The Gepsio codebase is currently undergoing a pretty significant, but exciting, transformation. It is migrating from its current design as a .NET 3.5 assembly to a multi-platform assembly which will support the following platforms:
- .NET 4.5
- .NET for Windows Store (also known as “Windows RT”, or simply “WinRT”)
- Windows Phone 8
This transformation, made possible through Microsoft’s Portable Class Library technology, will allow developers to use Gepsio to build XBRL-enabled applications for the Windows desktop, Windows Store and Windows Phone 8 through the use of a single Gepsio assembly.
To test this technology and ensure that the new Gepsio code base is performing as expected on the various platforms, a reference Windows Store application called the XBRL Document Explorer is being built. This application uses the Portable Class Library implementation of the Gepsio runtime to provide XBRL services to a Windows Store application. The reference application will allow users to open an XBRL document either stored locally or out on the Internet and will allow users to browse through the various aspects of the XBRL data in an easy-to-read format:
Tapping on the “Open Local” button brings up the Windows Store’s OpenFilePicker and allows the user to select a locally stored XBRL document that Gepsio can open and validate:
Once the user selects an XBRL document, the XBRL Document Explorer uses Gepsio’s XbrlDocument.Load() method to open the selected document:
Oops. That looks like an error to me.
As it turns out, the “sandboxed” security model of WinRT means that applications can’t just open any file on the system and read it as it pleases. This means that Gepsio will need some other way to work with XBRL documents if it is to support Windows Store applications. It’s good to know this now, and this is why reference applications are built – to ensure that everything works as intended.
Never fear. There is a resolution to this issue, and the next post will discuss a simple addition to Gepsio’s support for opening locally stored XBRL documents that will support Windows Store applications while retaining its existing support for .NET desktop applications.