Skip to content

Draft: Add conference metadata + orgs - #934

Open
saerdnaer wants to merge 2 commits into
mainfrom
feat/conference-meta+orgs
Open

Draft: Add conference metadata + orgs#934
saerdnaer wants to merge 2 commits into
mainfrom
feat/conference-meta+orgs

Conversation

@saerdnaer

Copy link
Copy Markdown
Member

No description provided.

@saerdnaer
saerdnaer requested a review from manno June 20, 2026 20:34
@saerdnaer saerdnaer changed the title Add conference metadata + orgs Draft: Add conference metadata + orgs Jun 20, 2026
@saerdnaer
saerdnaer force-pushed the feat/conference-meta+orgs branch 2 times, most recently from 84f106f to 03a11e2 Compare June 21, 2026 13:46
@saerdnaer
saerdnaer force-pushed the feat/conference-meta+orgs branch from 03a11e2 to ffe9bdd Compare July 7, 2026 08:28
object.get_recording_url
end

def size(unit:)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I don't quite understand: Why does this need to be a custom function anyway? Why not always return bytes?

@saerdnaer saerdnaer Sep 2, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not a necessary feature – just a 'nice to have'-one.

@@ -0,0 +1,18 @@
module Types
class SlugType < GraphQL::Types::String
description "A URL slug (no forward slashes)"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per RFC1738 (page 18) HTTP URLs are defined as such:

httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

Therefore this would be a "URL Path Segment" or hsegment, which is defined with the following BNF:

hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

uchar          = unreserved | escape

unreserved     = alpha | digit | safe | extra
escape         = "%" hex hex

alpha          = lowalpha | hialpha
digit          = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
                 "8" | "9"
safe           = "$" | "-" | "_" | "." | "+"
extra          = "!" | "*" | "'" | "(" | ")" | ","
hex            = digit | "A" | "B" | "C" | "D" | "E" | "F" |
                 "a" | "b" | "c" | "d" | "e" | "f"

lowalpha       = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
                 "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
                 "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
                 "y" | "z"
hialpha        = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
                 "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
                 "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"

Comment thread app/graphql/schema.graphql Outdated
"""
An ISO 639-2 (alpha-3) language code (e.g. 'eng', 'deu')
"""
enum LanguageAlpha3 {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As language codes are changing and non-standard language codes get standardized, it'd make sense to avoid defining the enum in our schema.

This list is already missing semi-standard language codes such as Plattdüütsch (nds) or Klingon (tlh). It's just a matter of time until someone submits a talk in a minority language

Comment thread app/graphql/schema.graphql Outdated
Comment thread app/graphql/schema.graphql Outdated
Comment thread app/graphql/schema.graphql Outdated
Comment thread README.md Outdated
@saerdnaer
saerdnaer force-pushed the feat/conference-meta+orgs branch 2 times, most recently from 2297116 to db0b674 Compare September 2, 2026 20:01
@saerdnaer
saerdnaer temporarily deployed to staging September 2, 2026 20:03 Inactive
Add conference_type (select from TYPES constant), starts_at/ends_at
(datetime, matching schedule2 date-time format), and languages (PG string
array, collection configurable via Settings.languages in settings.yml).

Wire organizers (Organisation HABTM) into conference admin form, show,
and permitted params.

Assisted-by: Claude Sonnet 4.6 <https://claude.ai>
New Organisation entity (table: organisations) with name, url,
description, inception_date, wikidata_id. Joined to Conference via
conferences_organizers (exposed as conference.organizers).

Assisted-by: Claude Sonnet 4.6 <https://claude.ai>
@saerdnaer
saerdnaer force-pushed the feat/conference-meta+orgs branch from db0b674 to e249f99 Compare September 7, 2026 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants