CLOUDMORROW

Resources / User handbook

The web app

On a phone, in a browser and on a computer: Today, the tabs, Me, and the home screen.

The web app

The install page is for machines. A phone gets the other thing on it: Sign in, which opens https://<your server>/app. Sign in with the same username and password as cm login, and the token stays in the browser for as long as the server's token_ttl_hours says (thirty days by default), so it is one sign-in, not one per visit. The same page is the whole of the app in a browser on a computer, and of the desktop app.

It opens on Today: the time, the weather, a line worth a second thought, and what the calendar has for the day, so the front page is a glance rather than a tab. The clock is the phone's own. The quote is the day's — the same one for everybody on the server, a different one tomorrow, from a list in server/today.py that is there to be added to. The weather is Open-Meteo's, which needs no key, for the place an administrator names under Administration, Server (Copenhagen, or 55.68,12.57 when a name is ambiguous); with none named the card says so instead of guessing. The events are the calendar's — any installed Quill with a calendar screen, asked through the record API for what overlaps today — in its own rows, and the section is gone when there is none or it is switched off.

Me — who you are signed in as, your switches, and the way out — is in the top-right corner of every tab rather than a tab of its own, which is where a phone keeps it. What a screen makes — a note, a task, an event, a file — is the button beside its title.

Every installed Quill is a tab along the bottom — Notes, Tasks, Files, Calendar, Channels, Secrets on a fresh server — drawn by the kit the way a phone draws things: a list, then the thing you picked. Notes, say, is three screens, Folders, the notes in one, and the note, with the pen beside the title for a new one; Tasks is a board whose cards are dragged between lanes; Files is folders and tiles. Each Quill's own guide is on its page in the catalog. Every row opens the record's sheet: every field, editable, with delete. Every row, card and tile also has a menu — a right-click on a computer, a finger held on it on a phone — with Open and whatever the Quills can do to that record, the same buttons its sheet has; in Files the menu is the file's own (see Fileshares).

The last tab is Data: every kind of data on the server your circles give you, by domain, and the records in each — the same records the Quills draw, to look at rather than change, each on the sheet every record has, with its history, what links to it and, for a snapshot, its digest and the attestations on it (ATTESTATIONS.md). It is there for everybody without any Quill, and shows nothing a Quill would not, so it stands apart from them: under Your cloud in the rail on a computer and in the terminal app's sidebar, where it is a card with the datamodels down the left; on the command line it is cm data list, cm data list <datamodel> and cm data show <datamodel> <id>.

On iOS, share-sheet → Add to Home Screen makes it an app of its own: an icon, no browser chrome, and it opens where you left it. Anything that can reach the API can use it; there is nothing to configure on the server.

Everything about you is under Me, and a few things are only there: the push switch (Push notifications), Add a device, Your Quills (Quills of your own), and, for an administrator, Administration.

The same app on a computer

Past 900 points wide — and 600 tall, because a phone held sideways is still a phone — the tabs stand up into a rail down the left, with your cloud's name at the head of it, in the dots the wordmark is drawn in, and the name of the screen in the bar instead. The bar's buttons come in to meet the column they act on rather than sitting out at the window's edge, every row and tile says when the pointer is over it, and the sheet that slides up from under a thumb is a dialog in the middle. The rail stays put in an editor and in a thread, which on a phone drop the tab bar to give the keyboard the room. It has the sections the terminal app's sidebar has: Today, then Most used — the Quills you open most on this device, up to five, most first, so the ones you live in are a click away — then the Quills on the shelves of their catalog categories — Personal, Home, Business, Developer, in the catalog's order — then Your cloud with Data under it, and for an administrator Administration at the foot, with Users, Circles, Roles, Quills and Server under it. The phone's bar runs the tabs together without the headings.

The keys are the ones already on the screen: Esc is the back button (or the field you are in), / is the search box, n is the pen beside the title (which opens the sheet that makes a new one: there is no line on the page to type a new one into), j and k — and the arrows, once the list has the keyboard — walk the rows, and Enter opens the one you are on.

None of it changes the phone: desktop.css is one media query, and the few rules outside it hide the parts that are only ever for the rail. tests/test_desktop_web.py is that promise, kept by a test rather than by hand.

Administration, in the browser

The server's own panel is here too, so a new account does not mean walking to the desk. On a computer it is the Administration section of the rail, a page per side, as the terminal app's sidebar has it; on a phone, whose bar has no room for a section, it is a row at the bottom of Me, with the sides under a switch above the page. Only an administrator is shown either — a row nobody else can use is a row nobody else should see. Typing #/admin as anybody else lands you back on Me with a word about it, which is a courtesy rather than the guard: every call under it is admin-only at the server, and the screen would be empty without that.

Six sides, each at its own address (#/admin/users, #/admin/circles, #/admin/roles, #/admin/quills, #/admin/server, #/admin/backups). Circles is described under circles, Roles under roles, approvals and flows, Backups under backups, and Server is the server's own settings — its Name, on every screen and the home-screen icon, and Weather for, the place Today's weather is for — then what this server runs, and Update server. When a newer release is out, a box above the button says so, with its version and Release notes: every release from the one this server runs to the latest, newest first, each with the note on its tag and what went into it. The server looks at its git remote for them when the side is opened, at most once a quarter of an hour, and the button is asleep until the look finds one: on the latest release there is nothing to update to. Nothing an administrator sets is in a config file; the file is for the person who installed the server. The two sides with the most in them:

  • Users. Every account, with its type and, where it is worth pointing at, its role on a chip — an ordinary User has no chip, because that is the ordinary case, and an account that cannot sign in says so first and in red. Tapping one opens it: name, a new password (blank leaves it alone), role, type, and whether the password is still answered. The pencil beside the title makes a new one. Your own account is missing its Delete button, because the server refuses that anyway and a button that always fails is worse than no button.
  • Quills. Three tabs. Server Quills is every Quill installed here, each with a chip — on, off, or for one with code of its own, running, restarting or stopped — and a tick box: tick some and Update selected, or Update all, and each is installed again from the catalog for the same people, with a line per Quill saying how it went. User Quills is what the server allows people to add for themselves, what they have asked for, and whose is whose. Catalog is every Quill there is to add, shelved by category, with what is already here marked and an update chip on one the catalog has a newer release of. Choosing a Quill opens its sheet — on a computer beside the list, on a phone as a screen — with everything it adds, and for an installed one its switch (On for everybody, with who last turned it), Update when there is a newer release, Reinstall, Remove, and what its code is doing.

One thing the terminal app does not have yet: May sign in. The API has always taken it and the terminal app's table has always shown it, with no way to change it; the web form has the switch. Turning it off keeps the account and its files and turns away the password.

From docs/MANUAL.md in the Cloudmorrow repository. Something wrong? A pull request there fixes it here.