Closed (fixed)
Project:
View Unpublished
Version:
7.x-1.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
30 Aug 2012 at 00:48 UTC
Updated:
29 Apr 2014 at 18:13 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
laken commentedWe confirm that when this module is enabled, it overrides core's 'view own unpublished content' permission. I changed status to bug because it seems to me that this breaks core in that respect.
Attached patch checks that core permission and sets up grants to replicate it.
Comment #2
laken commentedComment #3
lotyrin commentedEncountered this. Updating status now that there's a patch.
Hopefully I'll have a chance to review soon.
Comment #4
Anonymous (not verified) commentedJust tried this patch. Works like a charm. Thanks!
Comment #5
jherencia commentedIt works for me too.
Comment #6
rv0 commented#1
Works fine for me too! Thank you very much
Comment #7
Valera Tumash commentedIt works for me as well. Just module disable/enable was needed.
Comment #8
DRippstein commentedPatch worked like a charm. Hope to see this committed soon.
Comment #9
daniel.nitsche commentedWorks for me, however I have to rebuild permissions anytime a new node is added, otherwise the same problem applies. Anyone else having this problem?
Comment #10
DRippstein commentedOdd. And no, I haven't experienced that myself.
Comment #11
SophieG commentedIs this patch has been committed yet ?
Comment #12
tanmayk+1 for RTBC
Comment #13
Jason Dean commentedWorked great for me. As mentioned in #7, I had to disable and enable the module again, then rebuild permissions.
Comment #14
les limPatch in #1 looks good. Elevating this to Critical, as it renders part of a core permission unusable. ("Critical" is borderline, but it's definitely at least "Major".)
Comment #15
quotesbro commented#1 works good.
Comment #16
jgullstr commented#1 Confirmed.
Comment #17
bkosbornePeople are mentioning that they needed to rebuild node access permissions to get this working. We should probably include an update hook in this patch to trigger a user to rebuild permissions.
Comment #18
bkosborneComment #19
bkosborneWeird spacing...
Comment #20
tierso commented(wrong thread, ignore)
Comment #22
entendu commentedLooks good. Thank you.
Comment #23
treksler commentedany reason the install file update hook couldn't simply call node_access_rebuild(); instead of node_access_needs_rebuild(TRUE);
it is super annoying UX to have code, which is capable of detecting that something needs to be done, bug the user to actually do it.
Comment #24
bkosborneBecause that operation could potentially take a really look time if there are thousands or tens of thousands of nodes on a site. I think in such a case, a maintainer of a site like that would rather rebuild the node access permissions when they want (even if that may be right after they update the module).
Comment #25
treksler commentedSo, you are saying that the default behaviour is catering to an edge case...
Besides, I can't imagine anyone actually wanting two steps for this process, even if it takes a long time. I also can't imagine a maintainer wanting to leave the site in an inconsistent state for even a second. i.e. in a state where the system knows content access needs to be rebuilt, but has not been rebuilt (ie. a broken state)
I guess my major issue is that the current behaviour makes Drupal look incompetent. There is no indication to the user that the system is trying to do them a favour by not running what it knows needs to be run.
At the very least, it should run immediately for sites with less than a 1000 nodes (or some such threshold) Maybe there should be a setting for the threshold (default to 10,000), so that the handful of maintainers who do need to split the process can choose to do so without making it a pain in the butt for the rest of us. The message displayed to the user should also say WHY access was not rebuilt automatically, so the user with a huge site can choose whether they want that behaviour.
The more I think about it, the more I think node_access_needs_rebuild() should just be removed from Drupal altogether. There are other better options. Run it in batches via cron for example.
Comment #26
bkosborneHaving it run automatically for < 1000 nodes or so seems logical to me. Looks like node_access_build() has a batch parameter as well, so perhaps that could be used regardless. A new issue should be opened for this since this issue is already closed.