On 26.05.2009, at 14:28, Sam Kuper wrote:

> 2009/5/26 Sieker Adi Jörg <a...@sieker.info>
> In my humble opinion. As soon as you mention users, the admin is the
> wrong tool.
> contrib.admin is for admin's and not for users.
>
> Another take on it is:
> - Anyone that creates an account on your site, doesn't get to ses the
> admin
> - Anyone that you create an account for, might be a user to get to see
> the admin.
>
> Hi Adi,
>
> Thanks for your take on this, and for the demarcation criterion  
> you've provided. This is helpful for my understanding of perceptions  
> of the admin's purpose.
>
> What are the reasons why you have chosen to draw the line where you  
> have?

First and foremost the admin is designed and advertised as an internal  
tool for trusted administrators (I'm consciously not using user here),  
that's what it's there for and that's where focus will be put. I don't  
think a lot of thought goes in the direction "but how do we handle  
this is the logged in user is a normal user".

Second what happens when you update and the admin suddenly supplies  
functionality that you don't want your users to have?
Also the admin needs a specific set of js, css and images. I could  
override all that, but why override all that stuff if I don't need it.

One of the things that the admin doesn't care about at all is data  
ownership. As soon as you have edit permissions for a model you can  
edit all records of that model. Also to actually get access to the  
admin views, the user needs be flagged as a superuser (I as far as I  
remember).

Almost all of the above points (ownership, js, css etc.) can be  
accomplished by overriding certain method in your admin classes.
But doing that doesn't feel right for me.

If I'm developing a website like, picking up your example, facebook. I  
want total control over the functionality. The admin doesn't give me  
that. A third party decides on the functionality and if I'm lucky I  
can disable it if I don't want it.


> You see, given that so much great CRUD functionality comes for free  
> with the admin, it strikes me as not being very DRY to manually  
> create a whole other set of forms/views/etc for users unless you  
> really need to provide the users with a very different look and feel  
> to that offered to the site's administrators.
>
> Does anyone else share my feelings?

There are the generic views [1] which make simple CRUD stuff a breeze  
and it's all under your control.

The admin is designed as a complete application not as a reusable app,  
although it's trying to be perceived as such a lots of the times (I  
hope I'm not leaning out the window too far with this statement as I'm  
in no way involved in the development of the admin).

Also DRY, is "don't repeat yourself", not "don't repeat others". :)

> Is there a third way? E.g. subclassing the admin's functionality for  
> front end users?

Nope, not that I know of.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to