DNN Blogs

Written for the Community, by the Community

2sxc 11.07 is LTS!

Written By iJungleboy
2020-11-11

 
 

2sxc 11 finally has it's first LTS - Long-Term-Support - version. 

 

Highlights Since the Previous LTS (2sxc 10.25)

 

Since 10.25 we pushed a few hundred commits and enhanced so much it's impossible to cover everything. But in case you've only been following the LTS versions, here's what you need to know:

1. Completely Rewrote all JavaScript incl. Edit and Admin-UI

We completely rebuilt the entire front-end, starting from the $2sxc, the Toolbar system and the entire edit and admin UIs with TypeScript and Angular 10 (previously JavaScript and AngularJS 1.x). This was 3 full years of work (yes, that's the equivalent of paying 3 years wages). The result is much faster and more importantly it's future-proof again: any new feature we create now doesn't have to be programmed twice. This was crucial for us and a huge investment - we really, really believe in 2sxc!

On the way we also updated all our third-party components like TinyMCE, jsPlumb, Webpack and more and merged most of our JS-repos in Github to make contributions easier. 

A big thanks to Ante and Petar from Sistemi in Croatia, as they did most of this work!

2. Data-Handling and Data-Sources

 

This is more invisible stuff but again crucial to being amazing: the data-handling had so many enhancements which nobody noticed - and that's a good thing.

For example, we secretly introduced batch-data-loading from the DB, so 2sxc can now easily work with more than 100'000 entities - making it a great choice for many applications way beyond content-management. And we completely reworked the entire caching layer so that changes to an entity only partial-updates that entity and it's relationships in the cache - again for great performance benefits. 

For one we introduced json-based content-types, which let us put load json-files and 2sxc will treat them as if they are content-types in the DB. This allowed us to introduce changes much more quickly, and also opened the way to import-export of single content-types, items and Queries and implement simple custom-input-fields. 

On the way we also introduced new DataSources like the StreamPick, AttributeRename and more. 

Another amazing feature is the Query-Params and the Run-Query DataSource. This lets you use queries as if they were functions or building blocks for more complex things. For example, you can use a query-inside-another-query for code-reuse. 

3. Toolbar Enhancements

Creating custom toolbars used to be very tricky - it required intricate knowledge of the internals and people usually just copy-pasted some code-snippet and hoped it would work. But now we introduced a much simpler model where you just specify something like "+new&contentType=BlogPost" to add another button. And we fully documented it 😎. 

 

4. Custom Fields

Custom input fields have been introduced and we've created various examples to get you started. This allows you to create simple WebComponents for editing special things like color pickers or custom WYSIWYGs. 

5. In-Page List Editing

If an item has a sub-list - like tags on a blog or images in a swiper - then you can now use simple + / up / down buttons in the in-page toolbar to change that list. Pretty awesome!

6. Used-In-Stats

In the admin backend you can now see where views are being used - what page etc. This is great for cleaning up and figuring out if you can delete a view, or where you need to test your changes. 

7. Extensive Documentation

2sxc is probably the best documented module on DNN. Head over to docs.2sxc.org and discover the API - but remember, that's for the pros. Stick to the getting-started / learn sections or the Dnn-Tutorials if you're new to this. 

8. The best for last: Import/Export views and content-types

In the last version 11.7 we added features like drag-drop importing of apps, views and content-types. This is really, really helpful when you're building something and want to import parts of something else. Read this post to discover more

Enjoy!

We're all really excited to get the LTS out. Get it from github now!

With love from Switzerland and Croatia,
Daniel and Petar


 
 

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

 

Total: 1 Comment(s)
The last few months have added so much great stuff... Thanks for a fantastic release and making it LTS!!
Wednesday, November 11, 2020 ·

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved