fyi.opensocial.putSite

Replace the group's site. Requires group.configure. Its files are uploaded first, with uploadSiteFile. Fields are inlined rather than referencing fyi.opensocial.site, because a record def cannot be used as an input object.

Details · procedure
Kindprocedure
Authorityopensocial.fyi
Indexed

Procedure

procedure · POST

Input

application/json

channels

requiredarray
  • maxLength: 50
itemsref

draft

boolean

Into the caller's draft of the site rather than the live site: it's published with the rest of the draft.

files

requiredarray
  • maxLength: 500
itemsref

group

requiredstring · did

The group DID. Every method is served by the group's host and authorized against that group's roles.

Keep the tabs the site has now about one thing each (those with about), in the channels still there: for a site published from a folder of files, which doesn't have them.

Lexicon documents of the group's own, for the kinds of record its pages make up that nothing on the network defines. Each is named under the group's handle, reversed (kitchen-sink.opensocial.fyi defines fyi.opensocial.kitchen-sink.task). The host keeps them, checks records of those kinds against them, and lets one change only in ways every record already written still fits. Ones left out are kept as they were.

  • maxLength: 100
itemsunknown

menu

array

The public site's menu, in order, by its pages' paths: a page not listed comes after, in the order its tab is.

  • maxLength: 50
itemsstring
  • maxLength: 200

updates

string

How long a new version of a template its tabs are made from waits before it comes in by itself: fyi.opensocial.site's updates. Left out, it stays as it is.

  • maxLength: 16
  • knownValues: now | day | week | ask

Output

application/json

cid

requiredstring · cid

uri

requiredstring · at-uri

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Upload one of the files a group's site is made of: a page, a stylesheet, a script, an image or a font. For the site, by whoever holds group.configure; for a channel for chosen people, by any member, to name in a channel they save with putPeopleChannel. Binary input like com.atproto.repo.uploadBlob; the group is a parameter because the blob has to land in that group's repo for its records to reference it.

  • A group's site, in its members space: channels of tabs, shown one at a time, each a whole HTML document drawn in a sandboxed frame. Authored by the group DID; written through putSite by whoever holds group.configure. Anyone else is handed only its public part, by the host. A group without one is shown the starter.

  • A member's draft of the group's site, keyed by the member's DID: what an AI app connected as them changed, kept apart from the live site (fyi.opensocial.site) until they publish it. Shaped as the site is.

  • The caller's draft of the group's site, if they have one, and whether the site's last publish can be undone. Only for whoever may change the site.