Opened 6 years ago

Closed 5 years ago

#1055 closed defect (fixed)

Re-ordering of main menu options does not work

Reported by: Dieter Van Uytvanck Owned by: André Moreira
Priority: major Milestone:
Component: Website Version:
Keywords: Cc: Dieter Van Uytvanck, leon@clarin.eu

Description

https://www.clarin.eu/admin/structure/menu/manage/main-menu

-> changing the order of some items manually (eg children of Resource Families) does work but upon save such changes is not stored

I also have issues with the drag-and-drop re-order in firefox: the yellow bar around the selected item does not show up. This still works in safari.

Change History (18)

comment:1 Changed 6 years ago by DefaultCC Plugin

Cc: Dieter Van Uytvanck added

comment:2 Changed 6 years ago by mail@hendrikschmeer.de

Owner: changed from André Moreira to mail@hendrikschmeer.de
Status: newassigned

comment:3 Changed 6 years ago by Dieter Van Uytvanck

Cc: leon@clarin.eu added

Leon (role: General) also reports that adding items to the primary menu does not work: one can click on Save but the new item does not appear. No error message.

comment:4 Changed 6 years ago by mail@hendrikschmeer.de

Error message in the apache log: the number of max_input_vars (1000) had been exeeded.
Solution: edit the php.ini and increase the number up to 2000.

comment:5 Changed 6 years ago by André Moreira

In which context/situation does this message appear? (I am missing the relation with this ticket)

comment:6 Changed 6 years ago by mail@hendrikschmeer.de

I got that message when I submitted the menu item overview form with a changed order of items.
Adding new items is working for me after the php.ini update as well.

comment:7 Changed 6 years ago by André Moreira

OK.

A temporary solution has been deployed in all instances. This solution is not persistent and won't survive any restart of the docker daemon since `php.ini` is only part of the container internal files.

Good solution will be: in a much needed overhaul of the server image and compose projects, make this variable (and other generic php.ini ones) part of the image configuration.

Bad solution: overlay that file with one from the host using a docker host mount.

comment:8 Changed 6 years ago by Dieter Van Uytvanck

Let's aim for the good solution. And let's try to reserve some time for this after the annual conference (week 41).

comment:9 Changed 6 years ago by mail@hendrikschmeer.de

Resolution: fixed
Status: assignedclosed

comment:10 Changed 6 years ago by Dieter Van Uytvanck

Resolution: fixed
Status: closedreopened
Last edited 6 years ago by Dieter Van Uytvanck (previous) (diff)

comment:11 Changed 6 years ago by André Moreira

Monkey patched again.

For future reference:

vi /etc/php5/php.ini

Change

;max_input_vars = 1000

to

max_input_vars = 2000
httpd -k graceful


Let's leave this open until the permanent solution is implemented

Last edited 6 years ago by André Moreira (previous) (diff)

comment:12 Changed 6 years ago by André Moreira

Owner: changed from mail@hendrikschmeer.de to André Moreira
Status: reopenedassigned

comment:13 Changed 5 years ago by Dieter Van Uytvanck

I'm experiencing the same issue again. Can we check the logs and increase the max_input_vars?

comment:14 Changed 5 years ago by André Moreira

Re patched. This happened due to the container restart yesterday. Since 

/etc/php5/php.ini

is not persisted in the current container, this patch must be applied at every restart. I will see if I can easily do this automatically in the control script code.

comment:15 Changed 5 years ago by André Moreira

To avoid this problem in the future I added the following line to the start action of the 'control.sh' script:

sh -ace "docker-compose ${PROJECT} ${YAML_FILES} exec -u root primary_website sed -i '/; max_input_vars =/a max_input_vars = 2000' /etc/php5/php.ini"

This modifies the file after the container has been started (tested on dev-www.clarin.eu). So as long as control.sh is used to start/stop the site, it should be safe.

The command above adds: "max_input_vars = 2000" on the line after "; max_input_vars =" of the php.ini file

comment:16 Changed 5 years ago by Dieter Van Uytvanck

And the problem returned: Linda just reported she cannot reorder menu options.

comment:17 Changed 5 years ago by mail@hendrikschmeer.de

@André, can you confirm that the php.ini hack is still being applied?

comment:18 Changed 5 years ago by André Moreira

Resolution: fixed
Status: assignedclosed

This was a mistake of mine: when creating the new Docker Drupal setup I forgot about this issue, so the PHP image did not contain max_input_vars = 2000.

I have now included it and released a new image which is already deployed in production. This should fix it for good (as long as we use this PHP image) but please verify that the last reported problem is now fixed.

Note: See TracTickets for help on using tickets.