The XMod Manager system is far more than just a method for accessing data in other tables. Come inside and get cozy, because I'm going to share with you all the goodies that Managers bring to XMod.
For the most part, people have been excited about the XMod Manager System on the forums because it gives them access to remote data; 5.0 will ship will an example of integrating into the User Defined Table (UDT) tables. However, the phrase “XMod Manager” is much more than a marketing term to say, “XMod does remote data now, cool.”
As many of you know, the power of XMod comes from its set of features. It allows for custom forms and templates, filtering (by URL, by form values), sorting, searching, paging, approval management, editing, deleting, copying, and a ton of other features. And that doesn’t even list all of the UI features that it enables, such as tab strips, validators, custom controls, scrolling, etc. The list goes on and on. Well what if you could harness the power of these features to work with your data without having to write a module for yourself from the ground up? Or what if you didn’t want to allow for approvals, or copying, or paging? Or what if your forms need more data than what is available on the existing Manage Form page? Enter the Manager System.
The XMod Manager system communicates to XMod through a series of what are called “Hints.” When XMod goes to enable one of its features, it asks the current manager, “Do you support this feature?” If the manager says “No” then XMod disables the feature. Also, when XMod gets to the Manage Form page, it says “hey Manager, do you have any controls you want me to load?” And if the manager says “Yes,” then XMod will dynamically load the control into the Manage Form page.
The Manager system has been broken down into three main types of managers:
- Display Managers are responsible for fetching data, searching, sorting, etc.
- Data Managers are responsible for interacting with the database to create, edit, update, delete, approve, etc XMod records.
- Control Managers are responsible for dynamically loading controls on behalf of XMod.
So why go through all this trouble? Why not just a data access system? Let’s consider a few possible data sources:
- RSS Feed – Certainly there’s no Data Manager necessary for this one! You can’t write back to an RSS feed; you can only subscribe to it. The data is also not stored in a database, so the Display Manager couldn’t just be random database access system. And what about the Control Manager? You might want to create a control on that Manage Form that allows you to put in the RSS stream information, such as URL and credentials (if required).
- Web Services – If your data flows to and from a web service, again a database-driven system wouldn’t cut it. You would likely need a custom manager similar to the RSS feed manager, but the Control Manager would likely create a control for a URL and the names of the web service methods (and parameters) to call to get and set data.
- ADSI – Without going into too much detail here (because the ADSI is a complicated beast!) someone could create a manager that allowed for user manipulation on a Windows server. You could create/edit/delete users and even modify their exchange server settings if you wanted to!
The possibilities are endless. And the best news is, it’s completely dynamic. You can start creating managers now! You don’t have to wait for a new release of XMod to incorporate your new manager into its preset list of managers. When you create a new manager, you can install it through XMod’s web interface and start using it immediately.
So what are you waiting for!? Get out there and code your first manager!
For a walk-through of building a simple manager, see your XMod 5.0 install zip. There’s a 50+ page document in there for your reading pleasure.
-eli