New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stupidly slow saving with 1100 usergroups #19804
Comments
|
I'm guessing it is more because you have a category with 100,000+ articles in it and when you save a new article every single one of those articles has to get its "ordering" field incremented by 1 so the new article will display first. |
|
Not’s not articles we only have 5. Same with the Global configuration, stupidly slow.
…On 2 Mar 2018, 14:30 +0000, GCLW ***@***.***>, wrote:
I'm guessing it is more because you have a category with 100,000+ articles in it and when you save a new article every single one of those articles has to get its "ordering" field incremented by 1 so the new article will display first.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
hhmm so it must be something else I tested global config using 1020 groups, after global config form is saved at that point (but also when i first open global config form) i see very slow page load time (browser trying to execute JS and render HTML) is the above the issue for you ? |
|
To create about 1000 usergroups with some nesting try adding a new task inside groups controller then open URL: public function creategroups()
{
$db = JFactory::getDbo();
$vals = array();
$n = 1000;
for ($i = 0; $i < 10; $i++)
{
$parent_id = !$i ? 1 : 1000 + $i - 1;
$query = 'INSERT INTO #__usergroups '
. ' (id, title, parent_id)'
. ' VALUES (' . (1000 + $i) . ', ' . $db->q('Test group ' . uniqid()) . ', ' . $parent_id . ')';
$db->setQuery($query)->execute();
}
for ($i = 0; $i < $n; $i++)
{
//$vals[] = '(0, ' . $db->q('Test group ' . uniqid()) . ', ' . (1000 + (int) ($i % 10)) . ')';
$vals[] = '(0, ' . $db->q('Test group ' . uniqid()) . ', 1009)';
}
$query = 'INSERT INTO #__usergroups '
. ' (id, title, parent_id)'
. ' VALUES ' . implode($vals, ',');
$db->setQuery($query)->execute();
$table = JTable::getInstance('Usergroup', 'JTable', array());
$table->rebuild();
JFactory::getApplication()->enqueueMessage('Added 10 + ' . $n . ' usergroups', 'notice');
} |
As @ggppdk noted It is disabled, at least should be. |
|
I’ll run some test, but when I remove usergroup display in the form it’s fast again.. they do have a load of access levels too.
…On 3 Mar 2018, 17:13 +0000, Fedir Zinchuk ***@***.***>, wrote:
> Can we disable validating usergroups via JS?
As @ggppdk noted It is disabled, at least should be.
There can be 100 other script which tried to do something with inputs in the form.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
@tonypartridge please add more detail:
|
|
I have made test on Article form (with 1000 user groups), and validation took only ~40ms, however whole submit ~400ms, but still not 3-4 minutes: But the initial rendering take a loooot, mainly because choosen.js. Anyway. |
|
Try it with access levels of 1000 one to every group too?
…On 4 Mar 2018, 11:20 +0000, Fedir Zinchuk ***@***.***>, wrote:
I have made test on Article form (with 1000 user groups), and validation took only ~40ms, however whole submit ~400ms, but still not 3-4 minutes:
But the initial rendering take a loooot, mainly because choosen.js.
And global configuration become inaccessible due slow rendering.
Anyway.
Only good solution is to detach the rule field from the main form, make editing in the modal or in another window. Otherwise this issue will stay forever 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
nope, I missed this part sorry 😉 Anyway there only one good solution, I already wrote. |
|
@Fedik let's do that in J4, also making this modal means one less tab which is also another win (simplification)! 👍 |
|
Great idea for J4 massive performance boost for large ACL sites.
…On 4 Mar 2018, 14:18 +0000, Dimitri Grammatikogianni ***@***.***>, wrote:
@Fedik let's do that in J4, also making this modal means one less tab which is also another win (simplification)! 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
is this a duplicate of #30101 ? |
|
ooks like they are the same although this one is the oldest |

So a client has a site which has 1,100 usergroups. This is used for course management they restrict access to courses based on user groups and they have 3-6 users groups per client of theirs.
this means when saving a page it takes around 3-4minutes to finish processing in the browser whilst it does it's user group checks from what I can gather, Javascript is not my forte. This makes managing the site very hard and tiresome.
Can we disable validating usergroups via JS? Maybe as a global config option? Since we can handle this serverside and surely we already do as a fall back should anyone has JS disabled as an example.
The text was updated successfully, but these errors were encountered: