Skip to main content
Home  ›  Blog

Releasing 2sxc 9.30 - Technical Details

2sxc 9.30 now has some long-awaited features like draft-write permissions and more, making it a great choice for public forms and other use cases.

2018-04-2sxc9-30-May-the-4th-be-with-youImportant: This is the technical post, most people will be more interested in the May the 4th be with you post describing all the new things you can do with these technical features. 

Click here to read about all that


The Highlights

  1. New permission model allows you to use 2sxc forms for public forms
  2. New permission model so you can assign permissions to a single user #1501 or to user groups #1485
  3. New permissions "draft" which let users only create draft-data (so you can review it before it's published) #1486 -
  4. Adam also respects these permissions, so non-editers can also upload files (logos, images etc.) with new data #1487
  5. The Entity-Picker also respects these permissions, so non-editers can pick data like authors, tags, etc. from existing lists #1520
  6. New Razor-API to enable this
  7. New JavaScript API to enable this

Total 30+ Improvements

Here are some more details + smaller things that make life easier:

  1. New: @Edit.Enable(...) lets Razor views ensure that edit-js / context is available for non-editors, to then allow buttons like "new" for anonymous users #1522 see also wiki
  2. New: @Edit.WrapContext(...) lets Razor views provide context information so that editing is possible for non-editors and more #1479 - this is for scenarios, where you want a different context inside a module; very advanced scenarios, don't worry if you don't get this one.
  3. New: Permission Sets 
  4. New: @Permissions.UserMay... API
  5. New: File-picker (ADAM) can be configured to provide the url, instead of file:## syntax if desired #1497 (important for anonymous users, who can't resolve file-numbers)
  6. New: $ #... which also returns  a promise, so you can show a message when an action completed #1521
  7. New: $2sxc.context(...)
  8. New: configure permissions at app level #1525
  9. New: better performance on list-caching #1543
  10. New: ADAM checks allowed files list when uploading #1539
  11. New: ADAM allowed files can also have a regex #1541
  12. New: resolving a "file:34" will now respect permissions, so for reduced permissions it will only resolve files within that item #1535
  13. New: Fingerprinting system #1532 - see also this blog
  14. New: .Permissions property on internal objects #1534
  15. New: ability to not create the fallback toolbar #1518
  16. New: Feature management system #1527 see also this blog post
  17. Internal: new GetBestValue<T> overload on IEntity #1537
  18. Internal: GetBestValue<T> on Metadata #1538
  19. Security Hardening: Create blacklist of never-allowed-file-extensions in ADAM #1533
  20. Security Hardening: change some WebAPI internals #1531
  21. Change: the .Metadata will now hide the permissions metadata #1540
  22. Minor: Don't include log-info in context-json #1523
  23. Minor: Update Tiny-MCE to version 4.6 #1526
  24. Bug: draft-items could sometimes not be published from Toolbar #1544
  25. Bug: Issue with adding apps #1515
  26. Bug: External WebAPI calls failed in DNN 9.2 #1478
  27. Bug: Modified didn't give correct date on Entity #1495
  28. Bug: Couldn't access App Settings/Resources when accessing an app through Manage-All-Apps #1451
  29. Bug: Module Actions-Menu not working #1516
  30. Bug: Adam fix upload-numbering #1496

Download now...

...from the github repo

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