In order to trim down DNN Platform, we plan to remove 51 Degrees. This component contains a large database file and downloads a new one during start up. Per our knowledge, this component doesn't have a lot of usefulness anymore in the platform.
We will replace 51 Degrees with what's provided by Microsoft, which has slightly less capabilities.
This needs to be done for new installs only.
Changes should available in:
Verify that 51 degree folder is not available in app_data folder after install the Platform , Basic, Engage , Content, Engage
Verify that 51 degree is not available in fresh install of the Platform , Basic, Engage , Content, Engage
Verify that 51 degree is available after upgrade of the Platform , Basic, Engage , Content, Engage
It seems that part of the reasoning for removing 51Degrees is the size of the data file. Did anyone contact 51Degrees first before spending DNN Corp engineering time on this update? I happen to know James at 51Degrees personally, and it's super simple for them to simply send a smaller file size, instead of spending valuable engineering time on removing capabilities. Using the Microsoft implementation is a huge step backward and highly inaccurate. Even Microsoft recommends using a third party vendor for this, because they only update device data at .NET releases (sometimes) and the data is grossly lacking in detail.
Their data and capabilities can be incredible for anyone that has any need to target mobile capabilities with any degree of accuracy. This blog post only scratches the surface on this point.
I hope that this update can be reconsidered.
I agree with Will - and IMHO you should contact the contributor before removing community contributions
I'm one of the engineers from 51Degrees. If someone can get in touch with us at firstname.lastname@example.org I can arrange to get a smaller data file over to you. We can also work on establishing the ideal size and frequency of the updates while providing an update path for those who may want the larger version.
Incidentally, most other .NET based CMS pull the 51Degrees Lite Data Nuget package as a dependency:
I did have a brief glance at the changes in the development branch on GitHub. The proposed implementation looks like a mix of old regular expressions and string parsing rather the using Microsoft's simple solution as described by Will above. These regular expressions will require a lot of maintenance going forward. We actually have 15 people our end who curate this stuff. An example of this would be the lack of consideration towards the increasing amount of mobile traffic that is coming through app web views like Facebook and LinkedIn.
The change doesn't make use of the interfaces and classed provided by Microsoft which would eliminate much of the provider in DNN. Please see HttpBrowserCapabilitiesBase as a result:
Refactoring the Client Capabilities Provider could be a way of reducing a large amount of the code.
Recently we've made a lot of changes to improve our algorithms primarily with the aim to support very high volume deployments used by sectors such as Adtech where they process millions of request per second. Our announcement can be seen here:
We have published results of our solution running over 1 million requests per second on a Raspberry Pi alone. This will be rolled into the next version of .NET with full Core 2 support in early 2018. Many .NET based CMS use this including SDL, Sitecore, Epi, Umbraco and Kentico. I'd be happy to discuss the 51Degrees road-map further.
We've also been reviewing DNN ourselves and have seen some community changes to make configuring content a lot easier for Web Administrators. We use these techniques on our own DNN site where the layout can be overridden with a mega menu which would only display on devices where a mouse / hover pointer is available. Let me know if you would like to discuss, it would be nice to progress this as a community contribution.
Look forward to hearing from you.