Hi folks,
Yes, I'm bringing this issue again, please don't throw things at me !

Basically, I would want to open a discussion on these subjects so as to
define a clean solution to this problem, if at least possible.

I think I'm gonna give some use cases that should, in my very humble
opinion, be fulfilled by Django :

- CurrentUser:
In a multi-user content management system (cms), the client sometimes
(well, for every project I've been working on, this has been a client
will, but it might be french-client-specific) want to keep track of the
author, or poster of a document.
The current django state on the subject is to create a ForeignKey on
meta.Users, and have the author to select himself in the list.
This has two drawbacks :
1/ the user has to do something that should be dealt with by the system
(since he is already authentified)
2/ this system allows one to specify another user than him (either on
purpose or by mistake)
One could enforce this by writing custom views, but then you can't use
provide your users with the admin interface
Related tickets : 1132 [1] and 1164 [2]

- Owner user and / or group permission :
This is a somewhat related issue. For a multi-user cms, the client
wants
to be able to define some more granulated permission. For example "only
owner can edit this very document" (now that I think about it, I can't
find any other example not already covered by Django's permission
system, but it's quite late there).

I'm sure solutions have already been provided for both problems
(tickets
1132 and 1164 both provides solutions for the CurrentUser issue), but
as
of now, these solutions have been (in my own opinion rightly) deemed
too
hackish to get committed. This thread is aimed at finding a clean
implementation of those two concepts.
Obviously, the solution _will_ introduce some coupling between the data
layer and the request layer (well, who knows ?). The point is mainly to
make it as light as possible.

I know, I didn't provide any answer right now. But let's brainstorm on
the subject and something might pop and seem simply the right way !

Regards,

[1] http://code.djangoproject.com/ticket/1132
[2] http://code.djangoproject.com/ticket/1164

-- 
Brice Carpentier aka Br|ce

Reply via email to