?
avatar OzzieBob
OzzieBob
18 Feb 2016

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.

Steps to reproduce the issue

Edit an Article or template.
Save and exit
Try to edit the same article or template

Expected result

Should be able to edit the article / template without having to log out / log back in.

Actual result

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

System information (as much as possible)

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.

Additional comments

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).screen shot 2016-02-17 at 22 13 12
screen shot 2016-02-17 at 22 13 14

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar OzzieBob OzzieBob - open - 18 Feb 2016
avatar renekorss
renekorss - comment - 18 Feb 2016

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.

avatar OzzieBob
OzzieBob - comment - 18 Feb 2016

Thanks for the response. I have tried the Extensions > Manage > Database > Fix option but it has unfortunately not resolved the issue


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9145.

avatar Mapk26
Mapk26 - comment - 1 Mar 2016

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.

avatar andrepereiradasilva
andrepereiradasilva - comment - 1 Mar 2016

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

avatar OzzieBob
OzzieBob - comment - 3 Mar 2016

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


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9145.

avatar woluweb
woluweb - comment - 13 Apr 2016

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...


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9145.

avatar renekorss
renekorss - comment - 13 Apr 2016

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.

avatar andrepereiradasilva
andrepereiradasilva - comment - 27 Apr 2016

Cannot replicate this on latest staging.
@brianteeman can you check also?

avatar OzzieBob
OzzieBob - comment - 27 Apr 2016

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.

avatar woluweb
woluweb - comment - 28 Apr 2016

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.

avatar MATsxm
MATsxm - comment - 28 Apr 2016

Abale to reproduce this morning with 3.5.2-dev
270f3f215b2fdc0186c4a76f0e75d90a

avatar andrepereiradasilva
andrepereiradasilva - comment - 28 Apr 2016

@MATsxm steps to reproduce?

avatar MATsxm
MATsxm - comment - 28 Apr 2016

@andrepereiradasilva TBH it was not even 7am and before :coffee: #1 and wasn't quite awake to do all necessary tests :wink:
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

avatar MATsxm
MATsxm - comment - 28 Apr 2016

Note that I revenrted to get back to the :uk: settings without seeing the ERROR message

avatar andrepereiradasilva
andrepereiradasilva - comment - 28 Apr 2016

yeah, the thing is, a clear way to reproduce it is needed to understand what is happening.

avatar Fedik
Fedik - comment - 28 Apr 2016

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 :smile:

//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;
}
avatar woluweb
woluweb - comment - 28 Apr 2016

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 :

  • I face it since the beginning of Joomla 3.x (I remember it from a training of my very first J!3.0 website)
  • I experience it only on Chrome (but of course it is also the browser I use the most)
  • it is a bit of a random issue, but I think it occurs in particular
    • when I open several tabs in my browser (like when I open 5 articles on 5 tabs using CTRL+click)
    • clearly, if you don't wait for a new tab to have started loading the page, then you get quickly this error
    • but even if you only have one tab in your browser, you can also have the issue
    • and once you get this error message for an article (or other page), the only workaround is to tick the item and click on the Edit button. Just retrying opening the item by clicking on his Title just gives the same error again
avatar andrepereiradasilva
andrepereiradasilva - comment - 28 Apr 2016

@Fedik the modules part, guess it's something to do with @dgt41 commit (77b3d64). @dgt41 can you please check?
There is already an issue for that one #9615

avatar Fedik
Fedik - comment - 28 Apr 2016

@andrepereiradasilva there about frondend editing (that I never use), I am have it in backend.
but thanks for these links

avatar andrepereiradasilva
andrepereiradasilva - comment - 28 Apr 2016

oh. ok. so many different problems here.

avatar lukasz-pawlowski
lukasz-pawlowski - comment - 10 Jun 2016

I have similar experience.

  • PHP 5.6
  • installed Joomla 3.4.8
  • updated to 3.5.1 Problem occurs only on chromium engine (50.0.2650.0 also on 51.0.2700.0), not in firefox

EDIT:
Updating is not a problem. Same happens on clean install 3.5.1. Also problem occurs on clean 3.4.8 for me.

avatar lukasz-pawlowski
lukasz-pawlowski - comment - 10 Jun 2016

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.

avatar Fedik
Fedik - comment - 10 Jun 2016

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.

avatar ggppdk
ggppdk - comment - 14 Jun 2016

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,

  • so that we don't get a n-th issue opening here again

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

avatar brianteeman
brianteeman - comment - 4 Aug 2016

I am closing this as we have a PR for testing #10753 and to keep the conversation in one place - thanks

avatar brianteeman brianteeman - change - 4 Aug 2016
Status New Closed
Closed_Date 0000-00-00 00:00:00 2016-08-04 10:08:41
Closed_By brianteeman
avatar brianteeman brianteeman - close - 4 Aug 2016
avatar PhilETaylor
PhilETaylor - comment - 8 Jan 2017

See PR #13516 which ultimately resolves this with ease.

avatar idgserpro
idgserpro - comment - 10 Jan 2022

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.

avatar cyrezdev
cyrezdev - comment - 16 Jul 2024

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.

You can even simplify it: administrator/index.php?option=com_content&task=article.edit&id={id} ;-)

Add a Comment

Login with GitHub to post a comment