As the DNN Community continues to take over responsibility for the management of the DNN Platform we continue to chip away at the assets and features that were not fully under the control of the community. One of these key elements, that is often overlooked, is the Update Service. I have developed and contributed to the DNN Community a replacement to the Update Service, completely re-written in .NET Core with a focus on security & data privacy. Support from the .NET Foundation will allow us to host the service. Starting with DNN 9.4.0 this service will become the new standard going forward, however, we are looking to get users testing with the update service on older versions of DNN, and would appreciate ANY metrics that can be gathered from these older installations.
What Does the Update Service Do?
Many might be unaware of exactly what the DNN Update Service does, so I thought it would be great to be fully transparent and describe the features/functions included.
Extension Package Updates
This is the most commonly visible portion of the Update Service system. When viewing the “Extensions” functionality within the DNN Platform the grid contains an “Upgrade?” column. The display of the upgrade version is provided by the upgrade service.
This information is managed for ALL extensions, regardless of the vendor based on installations. If a new version of an extension is discovered the upgrade is communicated to the greater community.
Extension Package Upgrade Links
Related to the above feature, if an upgrade is available and displayed on the Extensions page, users are able to click on the upgrade version number. The initial intention for this was to link to the vendors website. The current behavior of the existing update service is to render a blank page. The new update service will take users to a page outlining that an upgrade is available, but that they need to contact the vendor.
Future enhancements are being planned for the Update Service that will allow us to redirect to the module vendor, or other location to obtain the needed information.
Security Bulletin Listing
Within the PersonaBar a listing of Security Bulletins is displayed.
The information for this page comes from the Update Service. This functionality for installations prior to DNN Platform version 9.4.0 will continue to come from the existing service that is managed by DNN Corp/ESW as the service URL is not configurable in DNN.
What & When Is Information Collected
The DNN Community strives to be transparent with all of the information that we collect as part of operating this service. The following outlines all information that is retained by the new Update Service, we do not have visibility into the existing Update Service, therefore, their information storage may be different than this new Community Driven service.
Extension & Framework Update Information
The Update Service is contacted any time that an installation has been configured with the “Check for Software Updates” option enabled. If this option is disabled, no information is transmitted to the service.
When checking for updates the following information will be provided to the Update Service
- Host GUID - The unique GUID value for the DNN Platform Installation (Example: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE)
- DNN Platform Version - The current installation version (Example: 090400)
- Portal Count - The total number of portals in the installation (Example: 24)
- Windows, SQL, and .NET Framework Versions - Currently running information (Example, 17/17/45)
- Instance Count By Extension - How many times an individual extension is used (Example: 24)
- Extension Name - The unique name of each extension installed (Example: DNN_HTML)
- Extension Version - The current version of each extension (Example 090400)
The Update Service retains all of this information, however, it should be noted that this service does NOT, in any situation retain the URL, Host Email, or other identifying information on your installation.
Security Bulletin Download
Currently, in prior to 9.4.0, an installation will communicate to the update service at ANY time regardless of the “Check for Updates” or other configuration when viewing the “Security Bulletins” tab on the “Security” feature in the Persona Bar. When making this request the current installed DNN Platform version is included.
This process might change with the DNN 9.4.0 release, however, the exact change isn’t known at this time.
Why Collect This Information
The Update Service is a critical tool for analysis as we continue to move the platform forward technologically we will have greater ability to assess the community size, versions used, and overall health of the community.
Armed with this information we can make smarter decisions on technology changes, usage patterns, and testing processes.
Privacy of Information
All information stored as part of the DNN Upgrade Service is stored in a manner that is anonymous and cannot be traced back to a specific installation. However, we still take the privacy of the collected information seriously. All collected information will be used for the sole purpose of providing update notifications to DNN Platform Information and aggregated reporting on technology adoption within the DNN Platform installation base.
Getting Involved - Use the New Service
The new service is hosted, live, and ready to be used. It will work with historical versions of DNN, however, it requires a small web.config change to actually be used. We are encouraging any/all that are willing to update their existing installations, regardless of DNN/Evoq version, to use this new service so that the DNN Community can get access to the data. We do NOT have ready access to the historical information from the existing DNN Corp provided service.
To use the new service update the UpdateServiceUrl appSetting within your web.config to match the following:
<add key="UpdateServiceUrl" value="https://dnnplatform.io" />
Once this has been completed the update service will use this new location for service. Be sure to also have the “Check for Updates” option enabled. If you have any issues/feedback feel free to share here.
At this time direct access to the stored information is severely limited, as the community continues to collect the information I have a desire to share relevant usage information with the greater community in aggregate. I also believe that we can extend the existing functionality to help improve upgrade experiences. So there will be continued change to this service to improve our community.