This issue hits when trying to re-edit an article/template. First time you're allowed in, if you try to then re-edit the same article/template you get the error. I have been able to re-create the issue consistently in Firefox and Chrome.
Edit an Article or template.
Save and exit
Try to edit the same article or template
Should be able to edit the article / template without having to log out / log back in.
Error "You are not permitted to use that link to directly access that page #x" in a pink dialogue at the top of the console
You have to then log out of the administrator module, log back in to be able to re-edit the article/template
Joomla 3.4.8 (also present in 3.4.5)
PHP 56 (also present in 55)
Apache 2.2.23
With regards to Browsers I am currently using: Chrome Version 48.0.2564.109 m and Firefox 44.0.2 however the issue has been present in prior browser versions.
This one has been a problem for some time now, but I held off reporting it as my hosts told me it was a known problem. However, having searched the Tracker today I could find no record of it so wanted to ensure it is being investigated (because it is very frustrating).
Thanks for the response. I have tried the Extensions > Manage > Database > Fix option but it has unfortunately not resolved the issue
I have the same issue on all my joomla installations. Joomla 3.4.8.
A workaround is to flag the checkbox and click the edit button.
i can't reproduce this in 3.5.0 beta3.
Can you check if this still exists in beta3?
https://www.joomla.org/announcements/release-news/5646-joomla-3-5-beta-3-released.html
Thanks andrepereiradasilva. I have put my back out at the moment, so as soon as I am back on my feet will give it a try in the Beta release. Meantime I will try the work-around proposed by Mapk26
Hi,
I frequently face this issue... but actually only in Google Chrome. So I don't know what the rootcause is, but this is probably the reason why not everyone could replicate.
And indeed, as noted by Mapk26, my workaround is to check the checkbox of the article and click on the Edit button.
As an experienced administrator, you get to know this workaround, but many users would get stuck...
I recently faced same issue on 3.4.8. Updated to 3.5.1, couple of days ago and haven't had same error message again. If it appears again, I'll investigate further.
Cannot replicate this on latest staging.
@brianteeman can you check also?
Still running 3.4.8 but this issue seems to have stabilized somewhat (at least for articles and modules which were the biggest problem). Still occasionally get it with Templates, but that is less of an issue. Will be updating to 3.5.1 soon, so hopefully that will finish it off.
I still have to test on Staging, but I promise : I have worked a lot in backend of 3.5.1 these last days, and I still get the issue regularly.
But a stated above, I think the issue only arises in Google Chrome.
@andrepereiradasilva TBH it was not even 7am and before #1 and wasn't quite awake to do all necessary tests
Wanted to test a patch then changing my user lg settings in the backend and then I remembered having seen this issue.
Next time I will be more mindful
Note that I revenrted to get back to the settings without seeing the ERROR
message
yeah, the thing is, a clear way to reproduce it is needed to understand what is happening.
I have similar on modules/users, but it happens quite randomly, that very annoying. I guess it something with session expire and Chrome.
In the Modules I have fixed it by comment out next part in the controller
//Check for edit form.
if ($layout == 'edit' && !$this->checkEditId('com_modules.edit.module', $id))
{
// Somehow the person just went to the form - we don't allow that.
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(JRoute::_('index.php?option=com_modules&view=modules', false));
return false;
}
From my experience, there is clearly a random dimension in that error message. It is not that you can follow precise step to reproduce.
My experience is :
@andrepereiradasilva there about frondend editing (that I never use), I am have it in backend.
but thanks for these links
oh. ok. so many different problems here.
I have similar experience.
EDIT:
Updating is not a problem. Same happens on clean install 3.5.1. Also problem occurs on clean 3.4.8 for me.
More information.
On item that was once opened URL looks like this:
administrator/index.php?option=com_content&view=articles
On item that was not opened before link looks correctly:
administrator/index.php?option=com_content&view=article&layout=edit&id=59
On first case variablest look like this (administrator\components\com_content\controller.php, function display):
$view: string(8) "articles"
$id: NULL
$layout: string(8) "articles"
$this->checkEditId('com_content.edit.article', $id): bool(true)
On second case:
$view: string(7) "article"
$id: int(59)
$layout: string(4) "edit"
$this->checkEditId('com_content.edit.article', $id): bool(true)
There's no proper ID in first case.
I also noted, that link on article list page is correct. It gets lost somewhere in process and redirects me without "&layout=edit&id=59".
NOW: What I noticed. Installing Cache Killer extension on Chrome solves the issue. If someone can please verify it, that would mean that Chromium cache engine is somehow failing. It would also explain different natures of people having problem with this issue.
I think it is a bit more complex than just Chromium cache.
When first checkEditId()
fail (I believe it something with Session, that is first bug/feature) then Joomla redirect you back.
When you tries to open the same item again (article/module/plugin etc) then Chrome return you back, because Chrome have cached that redirect (that is second bug/feature). And you need to logout or clear the browser cache.
This issue is duplicate and it has been discussed and explained extensively here:
#8757
and in other issues opened in this tracker
but i guess it is best to leave this issue open,
Edit process is 2 steps
1 . Call edit task to check Edit-ACL and check if record is checked-out already
if check is successful, then the record-id is added into user-state into the "editable" array
2 . Redirect to the edit view / layout of the record,
which checks the user-state that the record-id is in the array of the editable record-ids
Now please read the explanation of what is happening
If you get it randomly and rarely it is because of "race conditions",
2 edit requests by the same user, start about the same time (each starting before the other has completed), whichever of the 2 threads updates session data last will discarded the check of other thread, resulting in the other edit request to fail
if you get this repeatedly, for a specific record that you edited and closed once,
then it is because some browsers or all browsers, deciding to cache the 1st request that calls the edit TASK, thus browser does not really open the edit task URL from the server and instead it tries to access the view directly
in order to fix the repeated issue, you need to check the web server configuration, and make sure that it does not send any "default" HTTP headers to the browsers that will force or may/might allow browser caching of the 1st request
About making the process "fault tolerant", i have made a PR here:
#10753
there are other alternatives to my PR,
but i believe my PR is the one requiring less work, and should be B/C too
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-08-04 10:08:41 |
Closed_By | ⇒ | brianteeman |
I had this problem in an article even being a super user, needed this workaround:
index.php?option=com_myschool&view=student&layout=edit&id=1
and clicking on this and then pressing cancel gives you the error then the following
is the quick and easy solution, replace the layout edit with task=subcontrollername.edit
and leave rest the same, e.g.
index.php?option=com_myschool&view=student&task=student.edit&id=1
or this also works
index.php?option=com_myschool&task=student.edit&id=1
In my case, administrator/index.php?option=com_content&view=article&layout=edit&id=461
became administrator/index.php?option=com_content&view=article&layout=edit&id=461&task=article.edit
and it worked.
In my case,
administrator/index.php?option=com_content&view=article&layout=edit&id=461
becameadministrator/index.php?option=com_content&view=article&layout=edit&id=461&task=article.edit
and it worked.
You can even simplify it: administrator/index.php?option=com_content&task=article.edit&id={id}
;-)
I can not replicate this issue on 3.4.8 nor 3.5.0-beta. But I have seen this issue earlier on client sites. Fixing database helped for me.
Extensions > Manage > Database > Fix
.