Today, and exactly 1 year after creating my account on this forum (I just received the Anniversary Badge), a new major version of Circles will be released. Let’s review it !
Semantic
We are renaming 2 types of circles. The ‘Private circle’ is now named ‘Closed circle’, and ‘Hidden circle’ is now called ‘Secret Circle’.
Their official description also changed. Let me remind you the different types of circles that are available right now:
-
A Personal Circle is a list of users known only to the owner.
This is the right option if you want to do recurrent sharing with the same list of local users. -
A Public Circle is an open group visible to anyone willing to join.
Anyone can see the circle, can join the circle and access the items shared to the circle. -
Joining a Closed Circle requires an invitation or a confirmation by a moderator.
Anyone can find the circle and request an invitation; but only members will see who’s in it and get access to shared items. -
A Secret Circle is an hidden group that can only be seen by its members or by people knowing the exact name of the circle.
Non-members won’t be able to find your secret circle using the search bar.
Security and Code design
Until now, circles were identified by a numerical ID, which is incremented on circle creation. Meaning a security issue for secret circles if your users were searching for a circle by its ID using the API (through the JavaScript console or curl requests). Now, circles are identified by a unique 14 chars width string.
Circles 0.12.0 also add a security feature in the files sharing process. When a user leaves a circle all his files shared with the circle are not available to its members anymore.
Please note that despite files not being available to the other members of the circle, the sharing interface is still displaying the files as shared to the circle (This will be fixed in NC 13).
Once the user comes back into the circle, his shared files will be available again to the members.
100% Query Builder. I decided to get rid of all Database Entity/Mapper files and only use the QueryBuilder lib. This makes all database request a lot more readable, even for not-database-oriented-developers.
Features
- The core of Nextcloud provide a functionality that allow cloud administrators to create and manage groups.
Circles 0.12.0 add integration with those groups.
Moderator of a circle can mass-invite the members of a group by searching the name of the group in the Add Member field.
Even bigger feature, administrators of a circle can link groups to a circle and assign a level to the linked groups. Members of the linked groups will be members of the circle with the level assigned to the groups.
In case of a user having multiple levels from multiple linked groups, or from being also a direct member of the circle, his higher level will be used during his interaction with the circle.
-
The owner of a circle can can now edit its name and add a description. This can be done from the settings page of the circle (the wheel icon at the top right of the interface)
-
The activities regarding circles and their members can now be send by mail. You can select this using the right checkbox in the Personal Settings Interface.
Bugfixes:
- in some setup, icons from the circle administration interface were not available.
- If the Circles app was deleted but not disabled could result with Nextcloud having some strange behaviour.
- Some glitches in the User Interface.
tl;dr
- Security: SQL incremented ID is not used anymore; Every request on a Circle will require a 14 chars version of its Unique ID. (API v0.10.0).
- Security: When leaving a circle, shared files are not accessible by said circle anymore.
- Bug: Fix icons.
- Bug: Fix strange behaviour when the app is deleted from disk, but not disabled in the cloud.
- Code design: Getting rid of Mapper/Entity and using pure QueryBuilder.
- Feature: Edit Name and Description of a circle.
- Feature: Activities are now sent by email.
- Feature: Mass invite group members to a circle.
- Feature: Link groups to circle and assign level to linked group.
- UI: fixing some glitches.
- Global: Private circle are now named Closed circle.
- Global: Hidden circle are now named Secret circle.