CLOUDMORROW

Quills / Personal

Media

Every photo and video in your drive, as pictures: filter them and give them stars.

Star · 0 Nobody has starred it yet

What it does

  • Every photo and video in My Files › Photos and My Files › Videos, as thumbnails, subfolders included
  • Folders, behind the gear beside the title: add any other folder, in My Files or in a share, and take it away again
  • Give a photo or a video one to five stars
  • Filter by photos or videos, by stars and by folder; newest first, oldest first, by name or by stars
  • Open one to see it, save it or share it; other Quills add their buttons there (CutMorrow's Edit this video)
  • The same on the web and the phone, in the terminal (the picture beside the list) and on the command line

Add it to your cloud

In your cloud, open Quills: Administration → Quills as an administrator, Me → Your Quills as anybody else. On its Catalog tab, Media is on the Personal shelf: open it and say yes. Its id, wherever your cloud asks for a quill by name:

id media

Or on the command line, as an administrator for everyone, with --mine for yourself alone:

$ cm quill add media

Either way your cloud shows you everything below and waits for your yes.

Standard. The installer offers Media when you set up a new cloud, so you may have it already. How installing works

What it adds to your cloud

Datamodels

The kinds of data it works with. On a fresh cloud everyone can read and write what it brings the moment it is installed; the install sheet says so, and an administrator narrows it with circles. Records belong to the people who write them, not to the quill: removing it leaves every one where it is. What it adds — fields of its own, datamodels of its own — stays too, unless the administrator removing it chooses to drop them.

Uses

File file

foundational

A file or a folder in a share or in My Files: a real file on disk, reached over WebDAV and the desktop app's mounts as well.

  • Share share link to Sharerequired Indexed
  • Path path text, one linerequired Indexed
  • Folder folder text, one line Indexed
  • Name name text, one linerequired Indexed
  • Kind kind one of File, Folder Indexed
  • Size size whole number Indexed
  • Modified modified date and time Indexed
  • Type mime text, one line Indexed
  • Text text text Encrypted
  • Deleted deleted date and time Indexed
  • Deleted from deleted_from text, one line Encrypted
Introduces

Media folder media.folder

new, from Media

A folder whose photos and videos Media shows, its subfolders included.

  • Folder path text, one linerequired Encrypted
  • Share share text, one line Encrypted
Introduces

Rating media.rating

new, from Media

The stars somebody gave a photo or a video: 1 to 5.

  • File source text, one linerequired Indexed
  • Name name text, one linerequired Encrypted
  • Stars stars whole numberrequired Indexed

Indexed fields are kept plain, so your cloud can sort and filter by them. Encrypted fields are encrypted before they reach the disk.

Screens

MediaDrawn by its code, media().
FoldersDrawn by its code, folders().

Each is a tab, drawn by your cloud itself on every surface:

  • Phonethe web app, made for the phone
  • Webthe full web app, in a browser
  • Terminalthe terminal app
  • Command linecm media
  • Assistanttools for your assistant, as you

Comes with

Two media folders for each person, the first time they open Media.folders · “Photos”, “Videos”

Its own code

Action rateRate, on a file; asks for stars
Action add-folderAdd a folder; asks for path, share
Action remove-folderStop showing, on a media folder; asks for nothing
Action refreshRefresh; asks for nothing

Its Python, quill.py, runs in a sandbox on your cloud, as whoever uses it, and reaches only what it declares. Your cloud shows all of this before you say yes; code on your own machine runs only once you switch it on there.

In its own words

Every photo and video in your drive, as pictures: filter them and give them stars. A Quill for Cloudmorrow, drawn on the phone, in the web app, in the terminal and on the command line by Cloudmorrow itself.

How it works

  1. Open Media: every photo and video in My Files › Photos and My Files › Videos, and in every folder inside them, as thumbnails, newest first. A video's thumbnail is a frame of it, with ▶ Video on it.
  2. Tap the stars under one to give it 1 to 5; tap the lit one again to take them away. In the terminal, 0 to 5 on the row you are on.
  3. Filter with the menus above: photos or videos, how many stars at least, one folder; sort newest or oldest first, by name, or by stars.
  4. Open one to see it — the photo, or the video playing — with what other Quills add to a file: CutMorrow's Edit this video, say.
  5. The gear beside the title opens Folders, your settings: add any other folder, in My Files or in a share (its subfolders come with it), or stop showing one. Nothing in a folder is ever changed or deleted by Media.

What it adds to your Cloudmorrow

Datamodels uses the foundational file; introduces media.rating (the stars you gave a file, by its id) and media.folder (a folder Media shows; everybody starts with Photos and Videos)
Screens Media (a view: the gallery and its filters) and Folders (your settings, behind the gear beside the title) — on the phone, the web app, the terminal, cm media, and to your assistant
Actions Rate (on a file: 0 to 5 stars), Add a folder, Stop showing (a folder), Refresh
Code quill.py, in the sandbox, as whoever uses it; reaches nothing outside
Runtimes ffmpeg, which the install brings ([requires] runtimes): the server draws each video's thumbnail with it. Without it a video shows as a plain tile

Media needs no other Quill. CutMorrow requires it: installing CutMorrow installs Media first.

Working on it

uv sync                  # .venv with Cloudmorrow and pytest
cm quill check           # the manifest, as a server would install it
cm quill test            # tests/, against the real record store and gate
cm quill test --sandbox  # the same, with quill.py in the sandbox
cm quill dev --local     # a throwaway server here, reinstalled as you save