Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CarteBlanche Permissions CodeMentor Office Hours Webinar

CarteBlanche Permissions CodeMentor Office Hours Webinar

Django is one of the most popular Python frameworks and prototyping fast is one of the most important validation steps in creating a new web product. So pairing those two facets, technologist Eric Neuman created Carte-Blanche, an open-source tool for making things FAST.

Eric Neuman is the co-founder of DecisionDesk, and the creator of OneMonth's Python Course.

Eric Neuman

April 10, 2015
Tweet

More Decks by Eric Neuman

Other Decks in Technology

Transcript

  1. Who The Heck Is This Guy • Technical Founder at

    DecisionDesk • One Month Python Teacher • Wrote Code For NASA • Virtual Reality / AI Researcher • Doesn’t Even See The Code Anymore….
  2. Ghosts Of Technical Debt Past • DecisionDesk Had 5 Permissions

    Levels ◦ Student ◦ Reviewer ◦ Admin ◦ Staff ◦ Superuser • Tons of Cruft ◦ Model Layer ◦ View Layer ◦ Template Layer
  3. Traditional Model • Built In Django Permissions ◦ Model Based

    • Django Guardian ◦ Group Based ◦ Lacks a Single Source Of Truth ◦ Requires Extra Code
  4. Real World Problems • Many Levels Of Permissions • Repeated

    Code Is Fragile ◦ Updates Mean Touching Lots Of Critical Logic • Ever Changing Permissions ◦ Subject To Whims Of ▪ Customers ▪ Owners ▪ Managers • Engineering Conceptual Drift
  5. Philosophies / Goals • Single Source Of Truth • Map

    Tightly To Thought ◦ Customer ◦ Owner ◦ Coder • Updates Propagate For Easy Changes • DRY
  6. Philosophies / Goals • Smallest Views Possible ◦ View Per

    Action • Extend MVC • As Close To Plain English As Possible
  7. Features • Top Level Verb Object • Dynamically Generated Menus

    • Dynamic Access To Views • Plain English Denial Messages • Support For Model-less Actions • Potential For Non-Django Adapters