Presenting Intersoft Presenter™
As I promised we’re going to release CTP for our upcoming products in 2009 by the end of this week. And here I’m proudly present the Intersoft Presenter™ for Silverlight. (You can sign up to download the CTP from here and here the getting started link to start exploring our CTP release.
And while waiting the download process, I invite you to read the next section about the concept behind the Intersoft Presenter™ for Silverlight itself.
Intersoft Presenter™ for Silverlight fundamental concept is about delivering data in so many ways or views or I like to a say a “Presenter”. Understanding the possibilities that a data can be visualized in so much way we decide to come up with a concept that can accommodate that idea in a form of Presenter Manager.
Data Presenter Manager is the main control of Intersoft Solutions Presenter™ for Silverlight that built based on several solid concepts as follows:
- Centralized Data Distribution Concept
This concept allows the Data Presenter Manager to provide the centralized data to any “Presenter” that attached to it - Everything is Synchronized Concept
Because everything is centralized, all sorting, filtering, item selection process will be synchronized throughout the entire Presenter” - Extensibility through IDataPresenter concept
As you can see from the figures above the Presenter Manager will distribute the data to an interface called IDataPresenter, which means any components or user controls that implements that interface will be taken care by the Presenter Manager when the components are included in it.
To show you how this concept can be great, we also offers five built in views which are GridPresenter, IconPresenter, ListPresenter, HierarchicalPresenter, and CoverFlowPresenter which can be also used individually without the Presenter Manager. (For this CTP we don’t have Hierarchical Presenter and CoverFlow Presenter yet)
Here is how the data distribution concept is executed:
- When the Presenter Manager is loaded, it will retrieved the data from specified data source control (if any) or from a collection that specified by the developers. And this data (master) will be saved in memory.
- Then it will notify the Selected Presenter / View that there new updates from Presenter Manager (which basically just the data) through IDataPresenter interface’s method called RefreshDataPresenter then it’s up to the Presenter to process the data.
- Whenever the user perform a sort / multi sort or a filtering process, the Presenter Manager will manipulate the master data (for collection scenario) or request the manipulated data from the data source control and then notify the Selected Presenter again.
Note that the Presenter Manager only notify the current selected presenter about new data changes, and only notify the other presenter when it is selected so in here we introduce load on demand concept. For further extensibility you can also include a presenter that are not connected to the Presenter Manager distributed data concept, of course by doing this you won’t get any synchronization from the Presenter Manager so it’s totally independent.
Grid Presenter with custom row template.
Custom control view that implements IDataPresenter, consuming centralized data distribution from Data Presenter Manager.
In this sample I modify the item template for Grid Presenter to come out with a different new style of presenting the data, and I also use the charting for Silverlight Toolkit and create the user control that implements the IDataPresenter and then hook it to the Presenter Manager and what do I get is a nice integrated Presenting Tools for your LOB Application.
Other thing that I like to mention in this post is that we valued performance before other nice additional features. So in this early development we focus more on how to make it fast and stable even when its loads thousands of data.
From this picture you can see that even though we load 5000 records, its only takes about 60.396 kb in memory space, and if you try it by yourself in the CTP samples you can experience that the scrolling, column sizing, column moving, filtering, sorting or etc is very nice.
There are so many things that I want to show you about the Intersoft Solutions Presenter™ for Silverlight, not just the features but also how to do things that might be the solutions that you’re looking for. So keep checking back on this blog.
Regards
Andry



Hi Andry,
Excellent stuff, way to go!
I love the changing views functionality you’ve got going around in that control.
Keep it up,
– Justin Angel
Microsoft Silverlight Toolkit Program Manager
Justin-Josef Angel
January 30, 2009 at 9:11 pm
excellent tool!
Keep it up man!
MCA
January 31, 2009 at 10:23 am
[...] a comment » In the post when I introduce Intersoft Presenter™ for the first time, i mentioned that we realized that there [...]
Extending Intersoft Presenter™ through IDataPresenter « ansoesil’s blog
February 5, 2009 at 3:19 am
[...] There are lots of things in this CTP, so I’m going to give you some pointers about the new features / concept that available in this CTP. If you haven’t seen the February 2009 CTP release, i suggest you read my introduction along with others info in this blog starting from here. [...]
Presenting Intersoft March 2009 CTP « ansoesil’s blog
March 5, 2009 at 9:08 pm