Organization level - OpenSlides/OpenSlides GitHub Wiki

Main structure

  • OS3 instance = meeting
  • OS3 configs are now fields of meetings and called settings
  • Each OS3 model except users are meeting-specific: E.g. does a motion now have a meeting_id.
  • There is one organization (currently only one default organization is supported)
  • An organization has many committees
  • A committee has many meetings
  • Recources are organization wide "mediafiles".

Motion forwarding structure

This is a directed graph-like structure between committees. Motions of meetings of a committee can be forwarded to other committees. The committee-committee relation is given by committee/forward_to_committee_ids (reverse relation: committee/receive_forwardings_from_committee_ids). This relation can be managed by users with an organization management level of can_manage_organization or higher.

To forward a motion, the user who is forwarding the motion can choose all meetings from the forward-committees where he is associated with and has the right to create a motion.

Resources

There is the need to have custom logos and fonts not only in each meeting. Resources are some kind of lightweight mediafiles. They can be uploaded by users with a role including can_manage_organization and assigned to tokens. These are currently available tokens:

  • web_header

The tokens must be unique. A resource is not protected, so a resource can be downloaded without any permissions.

Next to mediafiles, the actual filedata is saved in the media service. When doing an upload there, one can say if it is a resource or a mediafile. When accessing a resource in the mediaservice, the media service must ask the backend if the resource exists, but no other permissions checks have to be done. So there are two URLs to download files: one for mediafiles and the second one for resources.

⚠️ **GitHub.com Fallback** ⚠️