July 2020

Brick by brick 🧱

As we get closer and closer to starting SNaaS, instead of hot new features stabilization and simplification came to the fore. We are working hard on making the core of the admin surface super fast, super effective and easy-to-use. Followings are the updates we've made in the last 4 weeks:


  • The browseType feature has undergone significant refactoring. From the three browse type only explore remained, which means that most of the features can have a common user interface making the work with contents easy-to-learn as you can see the same tree + grid or tree + action ui and with these updates we get a bit closer to a maintainable and a less error prone admin-ui. #703

  • Token expiration based browser tab freezing issues are fixed. #701

  • Some of the Document Viewer toolbar buttons are now hidden to make it clutter free. Only two zoom options remained and the two of the rotation options are also hidden now. It does not mean that this features are gone from the docviewer component as well, if you use viewer as a standalone component you can customize the toolbar yourself. #702

  • We've refactored the admin-ui drawer items and the underlying logic as well. The built-in drawer items and 'pages' (search, content, users and groups, setup, localization, content types and trash) became fix and cannot be removed or overwritten in personal settings. All of these built-in menu items got a 'protected' root, which means they have a root what you cannot go above being in a scope of a particular menu. The possibility of adding custom drawer items remained but changed as you can see in the following snippet:

   "default": {
      "drawer": {
         "items": [
               "itemType": "CustomContent",
               "settings": {
                  "icon": "User",
                  "title": "Profiles",
                  "appPath": "profiles",
                  "root": "/Root/Profiles",
                  "columns": ["Name", "ModificationDate"]

itemType could only be "CustomContent" which shows that the menu is a custom one and can be added as an additional drawer item next to the built-in ones. The most important property change is that you have to add an appPath and a root to a drawer items settings (the built-in ones and their 'protected' root works the same way). appPath is actually the name of the menu and will be displayed in the url as the top item of the scope after the browseType name (e.g. https://admin.sensenet.com/custom/explorer/system-users). With root you set the top root parent item of your custom menu, this will be your drawer item's 'protected' root.

columns setting is fully usable now used for custom drawer items' grid customization.

Personal settings is now a bit hidden for common users. It is removed from the user menu dropdown but can be reached with using the url https://admin.sensenet.com/personal-settings. #707


  • Connected to the permission API documentation and updates we ran into a couple of bugs and missing stuff in the core layer as well. The following fixes were made in the core package:
    • setPermissionInheritance method is removed and possibility of break the inheritance is moved to the method setPermissions as an optional param of the PermissionRequestBody.
    • In permission query methods the param names were not the ones that should be used in the actual OData requests so they are changed: kind -> indentityKind; level -> permissionLevel; member -> memberPath #721


  • As we move forward with the new documentation we improve the current client libraries with missing APIs or fixes. This time the sn-redux package got a bigger update. Permission related actions are added (HasPermission, GetPermissions, SetPermissions and for the permission queries), for further information and examples see the API docs. #721


  • As it is mentioned above the docviewer toolbar on the admin surface is now a bit simplified. This does not mean that you have to use it this way if you are using viewer as a standalone component. Related to the admin-ui changes minor improvement was also made on the docviewer toolbar widgets as well making rotation widgets configurable. You can now set how many rotation buttons you want to see by setting the widgets mode to clockwise, anticlockwise or all. #702


  • The above mentioned protected root logic is added to the pickers as well. So now the root of a picker is the same as the root of menu what you're currently working. #707

Example apps

  • We've changed the Identity Server that is connected to the demo repository (dev.demo.sensenet.com) to new one that is for demo purposes and because of this we also had to change this hardcoded urls in the example apps. If you're using some of the example apps some way, take care of this changes too because the demo users can be logged in only through this demo IS (its url is is.demo.sensenet.com).

You can find the release here