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:
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!
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.
We're all really excited to get the LTS out. Get it from github now!
With love from Switzerland and Croatia,
Daniel and Petar