Changes between Version 4 and Version 5 of UserHasABadMotivator


Ignore:
Timestamp:
Sep 14, 2011, 12:57:22 AM (13 years ago)
Author:
RyanArchdeacon
Comment:

Here's the beginning of my initial brain dump from our meeting. More to come....

Legend:

Unmodified
Added
Removed
Modified
  • UserHasABadMotivator

    v4 v5  
    66''auth.User: Ehh, not really feelin' it.  Hey, could you provide a username and password?  You're totally blocking my .save() method.''[[BR]]
    77''Developer: Uncle Adrian, this model has a bad motivator{{{!}}}''[[BR]]
     8
     9
     10== Introduction ==
     11
     12This document seeks to identify resolutions and design propositions that will correct quite the foul attitude we've all experienced when trying to deal with `django.contrib.auth.User`. Unfortunately `auth.User` thinks it can just make all sorts of decisions for you and expects you to be happy with your hackish attempt to integrate it into your codebase. I bet you were stoked when you first learned that you had to have an "is_staff" field on your entire project's User model. You thought, "Well, thanks `auth.User`, but I don't really think this field is necessary for my totally awesome, real-time, Redis 'roided, GeoDjango packed, Pink Pony web app." See, little did you know that was `auth.User` just giving you the middle finger. But do not fear! We're looking out for you. Ya see, there's a better way....
     13
     14== Philosophy and Some Good Motivation ==
     15
     16We think `auth.User` should have a much different perspective when it comes to your Django app. First and foremost, it is worthwhile to view your application from the perspective of an `auth.User` since after all, its all about your users, right?
     17
     18Points to make here:
     19* A user has an identity, personality
     20* Identity is not personality
     21* Personality is an emergent property of experience
     22* Identity is immutable, personality is fluid
     23* Authentication is the process of verifying identity
     24* Credentials are a means by which identity is verified
     25* Credentials are tools utilized in the process of authentication
     26* Credentials vary
     27* Trust is an asymmetrical relationship between interacting entities
     28* Trust is fluid
     29* Authorization is the process of granting permission
     30* Authorization is affected by trust
     31
     32
     33== The User's Interface ==
     34
     35Points to make here:
     36* The content of your interaction with other agents/entities affects your interface, shapes your personality
     37* Since your interface is influenced by your personality, your interface is also fluid, changing
     38* When you want to know something about someone else you have a relationship with ''you ask them''!
Back to Top