Skip to main content
Home  ›  Blog

2sxc 11.10 - SPA, REST, Git, Performance and Oqtane

2sxc 11.10 has much for Single-Page-Applications using REST, Git-Development, Performance and Oqtane-preparations. 

Highlight #1: Guide to using REST

2sxc has had REST APIs for SPA and Headless scenarios for many years, but people had a hard time getting started because of the way permissions and HTTP headers work in DNN. We now created a built in guide to use it, showing real code snippets and permission notes - all in the admin UI.

Check out all these goodies - and there is so much more:

Highlight #2: Restore App to Previous State using Git

When developing in a team, it's often useful to reset an App to the state it was in previously. We've now added a system to re-import the app.xml and just reset the clock. 

More Highlights

  1. Lot's of import/export enhancements - performance for thousands of delete / imports #2210
  2. Performance improvements using ImmutableArrays and more with +10 to +30% in many scenarios #2206 and #2215
  3. Preparing Cross-Platform (Hybrid) information objects to replace Dnn.Portal etc. #2224
  4. Change that the default wysiwyg is now in the dialog again (not in an extra window) #2219
  5. A lot of work preparing for Oqtane 🚀

Clean-Ups and Refactoring

We did a lot of internal API clean-up and refactoring to better port 2sxc to Oqtane

  1. A lot of work around dependency injection (DI) #2234 #2230 #2231 #2232 #2245
  2. Internal APIs enhanced / reworked #2239 #2236 #2233 #2220


  1. Query objects couldn't purge cache #2217
  2. JS sometimes loaded old cached files #2216
  3. ValueSort accidentally filtered values if the attribute name was spelled wrong #2207
  4. Removing / changing the DNN primary language had side-effects #2243
  5. Using Dnn or CreateInstance(...) in a .cs file which was itself initialized with CreateInstance failed #2226 #2225
  6. Imports didn't always merge existing data correctly #2214
  7. Ensure that Entity.Attributes is always case insensitive #2235

Breaking Changes and Warnings

We modified a lot of the internal API to better use DI as it's intended. Because of that, internal APIs were moved around a bit and more than 10'000 lines of code were touched. This shouldn't affect anybody but it may cause issues with custom DataSources that were using very deep, internal APIs.

Get it now!

From Github releases.

Love from Switzerland,

Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in Switzerland and Liechtenstein, an 20-head web specialist with over 800 DNN projects since 1999. He is also chief architect of 2sxc (see github), an open source module for creating attractive content and DNN Apps.

Read more posts by Daniel Mettler