Global, Site and App Settings which merge for use in Images, Web-Resources and turnOn which changes everything. For Dnn and Oqtane.
We will create special blogs for each of the new important topics, but here just the summary / highlights for 12.04
1. Global and Site Settings which Merge with the App
- Settings can now be configured at 4 levels
- We have both System Settings containing things that are standardized, and you can create Custom Settings which can be anything you want
- The new DynamicStack merges all these settings so that Razor will automatically get the most relevant
- ...so if a Site setting overrides a Global setting, then Razor will see that value
- The admin UIs let you analyze what values apply and where they come from
In code, you can get Settings like this: @Settings.GoogleMaps.ApiKey
Read more about
2. Image Links based on Settings
The settings have configuration bundles which rule how images should be displayed - what size, quality etc. Razor Templates can just use these settings to auto-generate image links like this:
It also allows you to add factors - so if you have a 2 column layout you would write:
@Link.Image(someImage, Settings.Images.Content, factor: 0.5)
Since you can configure settings at global, site or app level, this lets you standardize things any way you want.
3. Settings Based Web-Resource Management
A common problem is that various themes and apps load different versions of Bootstrap, jQuery, Fancybox or whatever. This slows the page and causes hard to fix collisions. The new Settings have a system to manage these. It also lets you determine if a Web-Resource should be enabled or disabled. Razor-code then does this:
GetService<IPageService>().Activate("turnOn", "jQuery", "fancybox4", "FontAwesome5");
Internally everything is then automatically handled, ensuring proper load-order, proper dependency handling (so if a resource needs other resources, these will also be loaded), single-loading etc.
If your skin already loads some of these resources, you can simply change a setting to disable some resources.
4. Global and Site-Level Resources
Just like the settings we alse created a Resources stack with the same functionality. So your code can now do things like:
And in the background the best matching resource will magically be picked from the View, App, Site, Global or Preset.
turnOn solves all of these problems, and is now included by default. Read more in the turnOn docs and turnOn blog.
6. New Input Types
Long awaited improvements are new input types:
- empty-message - ideal for when you need to show a complex message with links and more using a formula
We also improved the dropdowns of string and number to have a simple notation. Check it out 💪
7. Insanely Improved Content-Templates
We completely reworked and simplified the Content Templates using the latest and greatest best practices. More than two weeks of work were invested and this merits an own blog. But you should really try it!
8. VS Code Online Editor Integration
Our built in code editor can now use Visual Studio Code (VS Code) in the browser based editor called Monaco. This is still preview, so you'll need to go into debug mode to try this.
We're crazy about performance, and 2sxc 12.04 is the fastest 2sxc ever! Lots of love was invested for this.
2sxc 12 runs on DNN and Oqtane, and we're continuously improving it to best work with Oqtane. Unfortunately Oqtane 2.2 introduced breaking changes, but now we're back up to speed and everything works again, better than ever.
11. Edit UI Love and Performance
Petar has been working hard on the Edit UI to improve the performance in all browsers. You'll be surprised as to how fast the dialogs switch around - like never before.
12. Way more Under the Hood
Way more was done, including major refactoring of code to drop some history. Both the UI and the backend has gotten serious love and it's a real joy to see how everything is getting better, cleaner and faster in each new release.
That's just the release blog 😉. We'll write more about the features in the upcomming days.
Love from Switzerland and Croatia
iJungleboy, Petar, Tonci