MenuSpaces & records

Record

group.opensocial.profile

Name, description, avatar, join policy.

The group's profile. Written by the group authority into the meta space.

Record key
"self"
Lives in
meta

Fields

displayNamestringrequired
≤ 64 graphemes
descriptionstring
≤ 300 graphemes
avatarblob
image/png, image/jpeg≤ 1000 kB
bannerblob
image/png, image/jpeg≤ 1000 kB
urlstring · uri

The group's own site, if it keeps one. A third-party app that shows the group can link back to it.

joinPolicystringrequired

How new members get in: anyone may join, requests are reviewed, or invite only.

createdAtstring · datetimerequired

Definitions

#open token

Anyone may join by calling requestJoin; admitted immediately.

#request token

requestJoin creates a pending request that a member with the admit action reviews.

#invite token

Only holders of an outstanding invite may join.

Schema

Lexicon JSON
{
  "lexicon": 1,
  "id": "group.opensocial.profile",
  "defs": {
    "main": {
      "type": "record",
      "key": "literal:self",
      "description": "The group's profile. Written by the group authority into the meta space.",
      "record": {
        "type": "object",
        "required": [
          "displayName",
          "joinPolicy",
          "createdAt"
        ],
        "properties": {
          "displayName": {
            "type": "string",
            "maxGraphemes": 64,
            "maxLength": 640
          },
          "description": {
            "type": "string",
            "maxGraphemes": 300,
            "maxLength": 3000
          },
          "avatar": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1000000
          },
          "banner": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1000000
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The group's own site, if it keeps one. A third-party app that shows the group can link back to it."
          },
          "joinPolicy": {
            "type": "string",
            "knownValues": [
              "group.opensocial.profile#open",
              "group.opensocial.profile#request",
              "group.opensocial.profile#invite"
            ],
            "description": "How new members get in: anyone may join, requests are reviewed, or invite only."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      }
    },
    "open": {
      "type": "token",
      "description": "Anyone may join by calling requestJoin; admitted immediately."
    },
    "request": {
      "type": "token",
      "description": "requestJoin creates a pending request that a member with the admit action reviews."
    },
    "invite": {
      "type": "token",
      "description": "Only holders of an outstanding invite may join."
    }
  }
}

← All spaces and records