The call sheet is not a table
Backlot is an open-source film production scheduling app. It has five tables and none of them is the call sheet. On a film set, the call sheet is the document that tells you where to be and when. Every production has one. It is the single most-copied, most-emailed, most out-of-date artefact in the business. So when we built Backlot, an open-source film production scheduler, the obvious move was a…
Backlot is an open-source film production scheduling application that defies convention by not featuring a call sheet table. Instead, it employs a unique approach to generating call sheets on a per-user basis. The core data model consists of five tables: Production, Person, Scene, ShootLocation, and Assignment. Each assignment links a person to a production, assigns a role with call time and location, specifies a day rate, and designates an owner username.
Crucially, the owner username is simply the email address of the person who wrote and owns the assignment.
When someone is offered a role, the system automatically assigns the owner username to match the person's email. The crew-facing call sheet is generated by fetching all assignments and sorting them by call time, then grouping them by state. The server handles access control through policy rules, denying read access to certain entities without a valid username. Each assignment can be in one of four states: offered, confirmed, declined, or wrapped, and only the person assigned to it can view or modify the state.
Backlot's design eliminates the need for a dedicated call sheet document, as the requested subset of information is dynamically generated and filtered based on the user's role. The system publishes a public slate of productions, but the actual call sheet is generated on-demand and only accessible to authorized users. By treating the call sheet as a filter rather than a separate table, Backlot simplifies access control and reduces the amount of code required to manage crew assignments.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.