One of the goal in Intersoft's product platform is to simplify the deployment process required in Intersoft's controls. Our approach is by developing a new infrastructure that handles the storage and retrieval system of these client resources so that physical files can be totally eliminated. This new infrastructure is called SmartWebResources.
About Localization Files
WebUI .NET Enterprise includes numerous language files in Xml Format for localization purpose. In previous version, the language files must be located inside IIS directory to be accessible from client.
In version 5.0, language files are included in WebGrid SmartWebResources Assembly. This means the physical language files in IIS directory are no longer required.
If the language file is set to be retrieved from SmartWebResources, you cannot modify or customize the texts (strings) as the files are now embedded inside assembly. If you want to use modified version of language file, then you can switch the language retrieval back to classic physical files retrieval mode. For more information, see How-to: Disable SmartWebResources for Localization's language files.
New SmartWebResources Framework
At Intersoft Solutions, we constantly conduct extensive research and development to deliver new innovations that help developers become more productive by reducing the efforts and overwhelming complexity in both development and deployment stage.
The brand-new SmartWebResources Framework is one of the exciting technology that we had to offer in 2007 R1 platform. The key objective of SmartWebResources is to eliminate the external physical resources (such as scripts, images, etc) which required by web components to function properly.
Problems introduced in traditional web components approach
Most web components require client resources such as scripts, images, stylesheets and other client files to gear up some advanced and powerful features. Normally these client resources are delivered through physical client files. In ASP.NET, these files may be located in aspnet_client folder or other common folder which needs to be mapped properly into IIS virtual path in order to function properly.
There are several issues with this traditional approach which causing inefficiency, such as:
- Special IIS virtual directory is required to store the client resources. In several webhosting that does not support manual virtual directory setup, this can be a significant deployment problem.
- Special attention and more efforts are required during deployment.
- Versioning problems. This could cause overwhelming complexity while maintaining the versions of the client resources for specific components.
- Complexity in maintaining control-specific's resources folder. For instance, some scripts are located in folder X, images in folder Y, and other scripts in folder Z.
The solution to the several issues mentioned above can be achieved by eliminating the requirements to use physical client resources. Thanks to the new SmartWebResources Framework, the physical client resources can be completely eliminated.
How does SmartWebResources work
Each product has their own resources such as scripts and images. For instance, previously these resources are stored in /CommonLibrary/Shared for core framework resources, WebGrid's resources are stored in /CommonLibrary/WebGrid/v4_0_6200.
Features and benefits introduced by SmartWebResources
Here are lists of all features and benefits in SmartWebResources:
- Better throughput: IIS6 Kernel-level Caching
- More secure: Does not use query string
- Faster performance: Does not use Reflection. The SmartWebResources does not use WebResourceAttribute mechanism, so avoiding the needs to use Reflection.
- Smaller output: Simpler path formatting and does not use long-encrypted string. For instance, the built-in ASP.NET 2.0's Web Resource commonly produced a web resource url such as /WebResource.axd?d=X3DBWN0WSNooBvJskjFXaHbLs_89EdATLyWdaCXXWBuO_EqnAFr_Di1ag4ubAsDdMu4h_k0tff_bX4YhT_csWQ2&t=632939437740000000. In SmartWebResources, the output url format is as simple as /ISRes.axd?C/WebCombo.js/4072001
- Hassle-free Deployment: No more external client resources are required during deployment. Only one assembly is required to be copied into your app's bin folder.
- Reduced Complexity: SmartWebResources includes automatic web resources configuration. When in auto mode, the client resources will be retrieved from Web Resources assembly whenever possible. Otherwise, it will automatically fallback the retrieval from traditional external resources which stored in IIS virtual directory (also known as CommonLibrary)
- Easy to Configure: Easily configure the settings from application level. You can also customize the settings for individual control's instances for more precise control.
- Flexibility: You can easily switch between SmartWebResources or external resources mode through EnableWebResources setting.
- Seamless integration with VS 2005: The handlers and resources configuration can seamlessly added to your web application configuration.
- FileSystem Project Support: For better design-time experience in FileSystem web project, the image resources are now properly displayed in the Visual Studio 2005 designer. Thanks to SmartWebResources Framework that provides automatic url conversion mechanism in design-time.