Deliver superior customer experiences with an AI-driven platform for creating and deploying cognitive chatbots
Deliver Awesome UI with the most complete toolboxes for .NET, Web and Mobile development
Automate UI, load and performance testing for web, desktop and mobile
A complete cloud platform for an app or your entire digital business
Detect and predict anomalies by automating machine learning to achieve higher asset uptime and maximized yield
Automate decision processes with a no-code business rules engine
Optimize data integration with high-performance connectivity
Connect to any cloud or on-premises data source using a standard interface
Build engaging multi-channel web and digital experiences with intuitive web content management
Personalize and optimize the customer experience across digital touchpoints
Build, protect and deploy apps across any platform and mobile device
The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
Sitefinity comes with tons of slick widgets that users love so much about the system. Business users can use them right away and developers don’t need to write code unless they want to introduce some fancy customization. Sitefinity has always been about that – to provide all the user groups with the right tools and to make them productive, while keeping the joy element in every single task user do.
The framework is very flexible. There are so many layers of abstraction with the sheer idea to add different dimensions for customization. In other words, Sitefinity provides the infrastructure for developers to extend the features of the system, while keeping consistent common elements trough the UI.
For instance, all widgets can have the so called designers to provide the users with advanced friendly UI. If we drill down on a more technical level (and that is the purpose here) each designer is a custom interface to expose the public properties of the custom controls that developers register as Sitefinity widgets. So that is just a custom control to create user interface to manage the functionality of the actual custom control that becomes a Sitefinity widget. In other words – instead of letting users use prehistoric text boxes, we (as designers and developers) may implement any custom interface to get the job done. Does it sound too complicated, I hope not…
We have tons of awesome resources on how to create widget designers and what is the logic behind them. So, this is not going to be a tutorial on how to create a widget with designer. Instead, I will primarily focus on the important lessons I have learned and some key moments during the development of the Kangaroo widget (link will be updated soon with installation instructions). So before you continue reading, please take a look at it and see whether you want to see how you can build widget designers with similar functionality.
Are you still here? Good!
Based on the user case with the designers in Sitefinity, we can achieve any user interface. For that widget, I have used standard ASP.NET controls, as well as some AJAX powered advanced controls like RadFileExplorer. I have also used client side components like Kendo UI TreeView to visualize the two lists of resources. Briefly, the only limitation is our imagination and with the the currently employed technology for the Sitefinity widget designers, we can achieve virtually anything we dare to imagine.
The events are really essential piece of the picture. Without handling client-side events, there is no way to have a responsive UI to deliver best user experience and productivity at the same time. With the designer, we have the power to define an interface, which can save so much time for our users and they will love it, trust me!
Key point here:
this._doubleClickItemDelegate = Function.createDelegate(this, this._doubleClickItemHandler);
What’s next – if you think you can use some of these approaches, I would love to learn more about it and discuss different options. I haven’t provided much samples, as I believe, when you download the source code, you will find answers to most of the questions you might have. I will await your feed back .
View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.