The current status for related entities:
- When creating a user, properties and groups are automatically created.
- When creating a group, it's initial users are not automatically created, but silently ignored.
- When setting the groups of a user, groups are automatically created.
- When adding a user to a group, the group is not automatically created.
- When setting the users of a group, uses that don't exist are silently ignored
- When adding a sub-group to a group, it is an error if either group does not exist.
- When setting the sub-groups of a group, it is an error if any of the named sub-groups does not exist.
I am open to suggestions. I think this should be handled in a consistent way. The current status is definitely something that grew historically, we can change it.
Note: We could even think of adding an autocreate parameter to let the client decide if groups should be created (I wouldn't allow this for users, though?)
- Add an "autocreate" parameter to some or all requests. (if only some: What to do with the others?)
- Automatically create groups, but never automatically create users.
- Setting multiple sub-groups would also create groups - like properties. But setting a single sub-group (a different request) that doesn't exist would be an error
- User:Mati: I vote for this (possibly add an autocreate parameter for groups).
- Auto-create everything.
- Auto-create nothing.