chamilo / chamilo-lms

Chamilo is a learning management system focused on ease of use and accessibility
https://chamilo.org
GNU General Public License v3.0
798 stars 480 forks source link

Miembros de grupos no pueden ver Documentos #4829

Closed da-rodriguez closed 1 year ago

da-rodriguez commented 1 year ago

Recientemente actualicé a 1.11.20 y me reportan que los cursos donde hay grupos definidos se encuentran con el problema de no poder ver los documentos compartidos por el docente.

Vista del Docente Documentos-Docente

Vista del Alumno Documentos - Alumno

El servidor es un Debian 11, corriendo Apache 2.4.56 y PHP (FPM) 7.4

En los logs encontré

Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'SoapServer' not found in /var/www/aulavirtual/main/webservices/additional_webservices.php:158\nStack trace:\n#0 {main}\n thrown in /var/www/aulavirtual/main/webservices/additional_webservices.php on line 158' [Thu Jul 27 02:07:11.479245 2023] [proxy_fcgi:error] [pid 28299:tid 140575848244992] [client 192.42.116.197:14594] AH01071: Got error 'Primary script unknown' [Thu Jul 27 03:56:34.936358 2023] [proxy_fcgi:error] [pid 28300:tid 140576670340864] [client 194.169.175.93:65192] AH01071: Got error 'Primary script unknown', referer: www.google.com [Thu Jul 27 04:02:59.411542 2023] [proxy_fcgi:error] [pid 28300:tid 140576670340864] [client 5.135.175.135:40694] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'SoapServer' not found in /var/www/aulavirtual/main/webservices/additional_webservices.php:158\nStack trace:\n#0 {main}\n thrown in /var/www/aulavirtual/main/webservices/additional_webservices.php on line 158' [Thu Jul 27 07:35:01.551312 2023] [proxy_fcgi:error] [pid 28300:tid 140575076509440] [client 46.101.130.251:52076] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'SoapServer' not found in /var/www/aulavirtual/main/webservices/additional_webservices.php:158\nStack trace:\n#0 {main}\n thrown in /var/www/aulavirtual/main/webservices/additional_webservices.php on line 158' [Thu Jul 27 07:35:06.162663 2023] [proxy_fcgi:error] [pid 28299:tid 140576267683584] [client 139.162.44.111:53445] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'SoapServer' not found in /var/www/aulavirtual/main/webservices/additional_webservices.php:158\nStack trace:\n#0 {main}\n thrown in /var/www/aulavirtual/main/webservices/additional_webservices.php on line 158' [Thu Jul 27 09:12:19.101106 2023] [proxy_fcgi:error] [pid 28299:tid 140576645162752] [client 5.62.58.161:1231] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'SoapServer' not found in /var/www/aulavirtual/main/webservices/additional_webservices.php:158\nStack trace:\n#0 {main}\n thrown in /var/www/aulavirtual/main/webservices/additional_webservices.php on line 158' [Thu Jul 27 11:48:36.511052 2023] [proxy_fcgi:error] [pid 28300:tid 140576284468992] [client 194.169.175.93:58053] AH01071: Got error 'Primary script unknown', referer: www.google.com [Thu Jul 27 14:21:45.285970 2023] [proxy_fcgi:error] [pid 28300:tid 140576242505472] [client 190.7.7.203:38400] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2229): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/

ywarnier commented 1 year ago

Hola @da-rodriguez

Solo nos interesan estas líneas del log :

PHP Fatal error:  Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:
#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()
#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()
#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()
#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()
#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()
#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()
#6 /var/www/aulavirtual/main/document/document.php(2229): SortableTable->display()
#7 {main}\n  thrown in /var/www/aulavirtual/main/inc/lib/docum...'

Y parece que efectivamente, el segundo argumento de DocumentManager::getButtonEdit() estaba en formato de string en ciertos casos, lo cual causaba error.

Hemos añadido un checkeo sobre esta variable para evitar el error y ahora se ve bien.

Como es un cambio pequeño (7 líneas), te pido si puedes probarla rápidamente y darme feedback para poder cerrar este issue. El enlace con la corrección debería aparecer justo por encima de este mensaje.

da-rodriguez commented 1 year ago

Hola, agregué las líneas, pero se da una visualización cruzada. Es decir, con dos grupos creados, los usuarios de uno pueden ver los documentos del otro grupo pero no los del propio. Y viceversa.

[Wed Aug 02 09:49:08.169694 2023] [proxy_fcgi:error] [pid 15210:tid 140645515638528] [client 10.10.20.1:54434] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2242): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/ [Wed Aug 02 09:49:11.626152 2023] [proxy_fcgi:error] [pid 15210:tid 140646077687552] [client 10.10.20.1:54434] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2242): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/

ywarnier commented 1 year ago

El error es el mismo que antes... La hora del log corresponde a después de haber hecho el cambio, o antes? (como aparece ahí, parece que el cambio no tuvo efecto)

ywarnier commented 1 year ago

Acabo de probar y no tengo el problema de los documentos cruzados. Los documentos subidos al espacio de documentos del grupo 2 por el profesor son visibles dentro del grupo 2 únicamente (y reciprocamente). Si alguien del grupo 1 quiere ver los documentos del grupo 2 (si es que está autorizado en los settings de grupos) entonces entra al grupo 2, va a documentos y ve los documentos dejados ahí por el profesor.

da-rodriguez commented 1 year ago

En el curso donde me reportaron el problema de los grupos pasa lo que mencioné del acceso cruzado

En otro, donde hay solo un grupo definido para este año, el alumno sigue sin poder ver contenido.

Los logs del mensaje anterior son posteriores a la incorporación de las líneas. Y estos a continuación son de este momento.

[Thu Aug 03 11:15:58.576940 2023] [proxy_fcgi:error] [pid 32110:tid 140644727117568] [client 45.4.253.235:35174] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2242): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/ [Thu Aug 03 11:16:25.978047 2023] [proxy_fcgi:error] [pid 32110:tid 140646086080256] [client 45.4.253.235:33960] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2242): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/ [Thu Aug 03 11:16:46.560942 2023] [proxy_fcgi:error] [pid 32110:tid 140646077687552] [client 45.4.253.235:59200] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to DocumentManager::getButtonEdit() must be of the type array, string given, called in /var/www/aulavirtual/main/inc/lib/document.lib.php on line 5725 and defined in /var/www/aulavirtual/main/inc/lib/document.lib.php:7273\nStack trace:\n#0 /var/www/aulavirtual/main/inc/lib/document.lib.php(5725): DocumentManager::getButtonEdit()\n#1 /var/www/aulavirtual/main/document/document.php(2193): DocumentManager::build_edit_icons()\n#2 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(1108): {closure}()\n#3 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(742): SortableTable->filter_data()\n#4 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(392): SortableTable->get_table_html()\n#5 /var/www/aulavirtual/main/inc/lib/sortable_table.class.php(355): SortableTable->return_table()\n#6 /var/www/aulavirtual/main/document/document.php(2242): SortableTable->display()\n#7 {main}\n thrown in /var/www/aulavirtual/main/inc/lib/docum...', referer: https://aulavirtual.epet1.edu.ar/

El mié, 2 ago 2023 a la(s) 17:57, Yannick Warnier @.***) escribió:

Acabo de probar y no tengo el problema de los documentos cruzados. Los documentos subidos al espacio de documentos del grupo 2 por el profesor son visibles dentro del grupo 2 únicamente (y reciprocamente). Si alguien del grupo 1 quiere ver los documentos del grupo 2 (si es que está autorizado en los settings de grupos) entonces entra al grupo 2, va a documentos y ve los documentos dejados ahí por el profesor.

— Reply to this email directly, view it on GitHub https://github.com/chamilo/chamilo-lms/issues/4829#issuecomment-1662955464, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNIMWXXNRLGW5NZWHFT5D3XTK5LZANCNFSM6AAAAAA26KWOII . You are receiving this because you were mentioned.Message ID: @.***>

--


Daniel A. Rodriguez Departamento de Tecnología para la Gestión Escuela Provincial de Educación Técnica N° 1 Posadas - Misiones - Argentina www.epet1.edu.ar

da-rodriguez commented 1 year ago

Para cerrar este tópico debo mencionar que actualicé a 1.11.22 y el problema desapareció.

Gracias @ywarnier por la rápida solución y felicitaciones a todo el equipo por el gran trabajo que realizan.