Posted by moshe weitzman on August 31, 2008 at 9:49am
We had a terrific session and subsequent meeting at Drupalcon. We discussed a number of wishes for node access and here are the action items that resulted.
* Migrate all operations to hook_nodeapi('access') and deprecate hook_access(): KEN.
* Add a drupal_alter() after hook_node_access_records(): MOSHE
* Add a drupal_alter() after hook_node_grants(): UNASSIGNED. POSTPONED UNTIL DB_REWRITE_SQL IS GONE
* Administer nodes perm => 'bypass node access' KEN
* Node perms move to a new node_perms module which implements nodeapi('access') LARRY GARFIELD
Other items that need doing
Remove db_rewrite_sql() in favor of anode_access
tag on the queries. Modules alter the query as needed.pager query integration into db_select()
Bonus
- Mike Wacker gave us
flexible node access even for unpublished nodes
Comments
Q
When implementing #1, do we follow chx's suggestion and write that hook as hook_nodeapi_access() or simply add the new $op and worry about converting $op to _action() later (in another patch)?
--
http://ken.therickards.com/
--
http://ken.therickards.com/
Separate
I would favor a separate hook, since that's the way we want to move anyway. webchick is probably the best person to ask here, though.
Already split
http://drupal.org/node/224333#remove_op
Separate hook it is.
Bypass Node Access patch
http://drupal.org/node/305566
Ready for review.
--
http://ken.therickards.com/
--
http://ken.therickards.com/
Committed
And it got in!
http://drupal.org/node/305566#comment-1054907
patch submitted: Add drupal_alter after hook_node_access_records
see http://drupal.org/node/309007. ready for review.
db_rewrite_sql() is dead
Replace db_rewrite_sql() with hook_query_alter(). is fixed.
According to the original post, that would make
"Add a drupal_alter() after hook_node_grants(): UNASSIGNED. POSTPONED UNTIL DB_REWRITE_SQL IS GONE" fixable.
Yes, the plumbing is now in
Yes, the plumbing is now in for deleting db_rewrite_sql() but it is still there and very much in use. We need to make progress with pager queries in particular (i.e. the Extenders patch) and then we can remove db_rewrite_sql() while converting queries to db_select(). This task is far from over. Good progress though.
oh, sorry
I had just read through the issue and saw the "fixed" tag at the end and thought that was it. I wasn't aware of those processes that still have to take place.
edit: btw, is there an issue to follow this?
edit2: found the issue on the Extender support you mentioned: http://drupal.org/node/299267
I don't know what else is involved with this matter.
Nice progress folks. Only 2
Nice progress folks. Only 2 more items left. Lets try to get them in before D7 is hits code freeze (coming up fast - Sep 1).
Bonus - Enable Node Grants
Bonus - Enable Node Grants for Unpublished Nodes was committed. Another annoyance slayed.
hook_access() to hook_node_access()
The final patch needed for this task set has been posted here: http://drupal.org/node/537862
If this goes in, we'll have
If this goes in, we'll have to do a BoF in Paris where we sit back and drink champagne and nostalgize about the old days. I'm so proud of this group!
Oui oui!
Although it has to go in first. :-)
Mon Dieu. Crell's patch was
Mon Dieu. Crell's patch was committed and we have finished all our action items from Szeged. Truly outstanding work, team.
No word yet on how we'll celebrate. Any ideas?
Sure
We should go to the fancy ice cream place in Paris, buy 8 ice creams.
Everyone gets to try three flavors, as assigned by the user with the 'administer ice cream' permission, which defaults to Moshe.
If Dries or webchick shows up, they can try all 8.
--
http://ken.therickards.com/
--
http://ken.therickards.com/
I love it. And then we do 8
I love it. And then we do 8 croissants, and then 8 french toast ... :)