2026-06-12 19:32:53 +01:00
2026-06-12 19:32:53 +01:00
2026-05-28 02:17:16 +00:00

myriad

flask app for plural systems to publicly share member lists. the software is in basically a usable state right now, just be sure to keep regular backups. documentation is fairly limited but we're working on that. drop an email to myriad [at] cubes [dot] link if you wanna contact us about this project :)

NOTICE

i am still actively developing myriad, there are plenty of things that aren't properly implemented and features im still working on so... if you decide to use it please do so at your own care - i.e. keep your own backups manually by simply copy and pasting the database and upload folders.

more info

logged in users are presumed to all be admins with distinction only between being logged in and not

in the blog view, member privacy outweighs individual post privacy. if a private member makes a public post, it will not show up in the public feed. however, if that member switches to public, their public posts will all become publicly viewable (but private posts will remain private).

the blinkies and stamps stuff is literally just because i want an easy way to upload them when i find them. and im the dev so i get to decide mwa ha ha

make sure blinkies are actually blinkie-sized, and stamps are likewise stamp-sized. too much variation in size will make the layout weird. there's not validation because its designed just to make uploading the images not require ftp + manual code as i had been doing before.

Config

this is how your config should look at the latest update

REGISTRATION = False # Make sure is disabled in production
STATIC_FOLDER = 'myriad/static'
ICON_UPLOAD_FOLDER = 'myriad/static/icons' # where member icons will be stored
BLINKIES_UPLOAD_FOLDER = 'myriad/static/blinkies' # where blinkies will be stored
STAMPS_UPLOAD_FOLDER = 'myriad/static/stamps' # where stamps will be stored
MISC_UPLOAD_FOLDER = 'myriad/static/misc' # where misc image uploads will be stored
THEMES_FOLDER = 'myriad/static/themes' # all the theme css files are here
TMP_FOLDER = 'myriad/static/tmp' # required for exports
SYSTEM_NAME = 'Myriad' # will be shown in the title bar
PAGES_NAME = 'Read More...' # will be shown in the nav bar if using custom pages
HOMEPAGE = """
<marquee>Welcome to the demo of Myriad!</marquee>
"""
SECRET_KEY = "dev" # CHANGE THIS - see wiki for details

most likely if you get an error after updating, you need to make sure your config has all the fields as sampled above. we may have added something that you now need.

Commands

(Re-)Initialize the database. if a database already exists, this erases the entire thing!!! Use with caution

flask --app myriad init-db

Create an admin account. Functionally the same as the web Registration without the security issue of enable registration in the web browser. if not provided, will prompt for username and password.

flask --app myriad register-admin
flask --app myriad register-admin --username EXAMPLE_USER --password EXAMPLE_PASSWORD

A note on data export/import

there are currently various ways to export and import data for use within myriad. individual member exports and imports deal only with the fields (though icons, stamps, and blinkies can be exported to a zip folder). they're designed to be used with an active database for whatever purpose the user requires.

the other option is to export the entire system to json or zip file. importing an entire system is best used on a completely empty database, as it deals with inserting id fields. if the database is not completely empty, there may be some weird importing errors. a full system import is useful for when an update is released that requires the database to be re-initialised, you can quickly restore information and images you had before.

please don't rely entirely on our software, be sure to keep backups of your own data.

Development set up (Windows)

Dev instructions are here

Deployment

Deployment instructions are here

Usage

  • The software here is free to use, and there's no requirement to link back
  • Edit the styles and functionality to suit your needs. I'm sure some of you out there are far better with CSS than us

Preview

Check out the sample instance (it is bare bones at the moment but gives a general idea of how things look)

Description
flask app for plural systems to publicly share member lists
Readme 1 MiB
Languages
Python 49.5%
HTML 39.2%
CSS 11.3%