You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(5) |
Sep
(39) |
Oct
(18) |
Nov
(16) |
Dec
(14) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(15) |
Feb
(90) |
Mar
(41) |
Apr
(129) |
May
(69) |
Jun
(112) |
Jul
(153) |
Aug
(82) |
Sep
(95) |
Oct
(111) |
Nov
(39) |
Dec
(50) |
| 2009 |
Jan
(11) |
Feb
(63) |
Mar
(51) |
Apr
(45) |
May
(68) |
Jun
(84) |
Jul
(114) |
Aug
(149) |
Sep
(259) |
Oct
(179) |
Nov
(132) |
Dec
(87) |
| 2010 |
Jan
(59) |
Feb
(88) |
Mar
(145) |
Apr
(130) |
May
(24) |
Jun
(36) |
Jul
(143) |
Aug
(94) |
Sep
(125) |
Oct
(142) |
Nov
(100) |
Dec
(103) |
| 2011 |
Jan
(76) |
Feb
(105) |
Mar
(145) |
Apr
(112) |
May
(74) |
Jun
(157) |
Jul
(95) |
Aug
(191) |
Sep
(75) |
Oct
(91) |
Nov
(100) |
Dec
(102) |
| 2012 |
Jan
(100) |
Feb
(126) |
Mar
(97) |
Apr
(74) |
May
(161) |
Jun
(135) |
Jul
(161) |
Aug
(132) |
Sep
(266) |
Oct
(212) |
Nov
(114) |
Dec
(87) |
| 2013 |
Jan
(101) |
Feb
(254) |
Mar
(236) |
Apr
(244) |
May
(144) |
Jun
(156) |
Jul
(203) |
Aug
(242) |
Sep
(118) |
Oct
(206) |
Nov
(140) |
Dec
(108) |
| 2014 |
Jan
(141) |
Feb
(88) |
Mar
(167) |
Apr
(61) |
May
(109) |
Jun
(105) |
Jul
(218) |
Aug
(125) |
Sep
(152) |
Oct
(217) |
Nov
(129) |
Dec
(63) |
| 2015 |
Jan
(121) |
Feb
(78) |
Mar
(156) |
Apr
(92) |
May
(91) |
Jun
(118) |
Jul
(114) |
Aug
(236) |
Sep
(75) |
Oct
(112) |
Nov
(106) |
Dec
(74) |
| 2016 |
Jan
(121) |
Feb
(165) |
Mar
(127) |
Apr
(145) |
May
(142) |
Jun
(113) |
Jul
(66) |
Aug
(61) |
Sep
(46) |
Oct
(120) |
Nov
(59) |
Dec
(49) |
| 2017 |
Jan
(67) |
Feb
(55) |
Mar
(79) |
Apr
(28) |
May
(49) |
Jun
(50) |
Jul
(119) |
Aug
(72) |
Sep
(40) |
Oct
(45) |
Nov
(66) |
Dec
(60) |
| 2018 |
Jan
(63) |
Feb
(52) |
Mar
(48) |
Apr
(52) |
May
(60) |
Jun
(41) |
Jul
(78) |
Aug
(63) |
Sep
(46) |
Oct
(48) |
Nov
(17) |
Dec
(21) |
| 2019 |
Jan
(74) |
Feb
(78) |
Mar
(46) |
Apr
(42) |
May
(49) |
Jun
(15) |
Jul
(50) |
Aug
(16) |
Sep
(49) |
Oct
(63) |
Nov
(14) |
Dec
(11) |
| 2020 |
Jan
(36) |
Feb
(31) |
Mar
(36) |
Apr
(9) |
May
(92) |
Jun
(42) |
Jul
(29) |
Aug
(29) |
Sep
(66) |
Oct
(13) |
Nov
(29) |
Dec
(14) |
| 2021 |
Jan
(8) |
Feb
(34) |
Mar
(30) |
Apr
(14) |
May
(17) |
Jun
(28) |
Jul
(23) |
Aug
(25) |
Sep
(28) |
Oct
(32) |
Nov
(50) |
Dec
(19) |
| 2022 |
Jan
(25) |
Feb
(54) |
Mar
(44) |
Apr
(19) |
May
(11) |
Jun
(9) |
Jul
(17) |
Aug
(27) |
Sep
(33) |
Oct
(24) |
Nov
(37) |
Dec
(17) |
| 2023 |
Jan
(15) |
Feb
(21) |
Mar
(40) |
Apr
(16) |
May
(20) |
Jun
(117) |
Jul
(59) |
Aug
(18) |
Sep
(28) |
Oct
(13) |
Nov
(54) |
Dec
(20) |
| 2024 |
Jan
(24) |
Feb
(39) |
Mar
(26) |
Apr
(26) |
May
(33) |
Jun
(39) |
Jul
(16) |
Aug
(31) |
Sep
(5) |
Oct
(9) |
Nov
(31) |
Dec
(2) |
| 2025 |
Jan
(19) |
Feb
(30) |
Mar
(28) |
Apr
(38) |
May
(28) |
Jun
(22) |
Jul
(17) |
Aug
(9) |
Sep
(23) |
Oct
(11) |
Nov
(13) |
Dec
(10) |
| 2026 |
Jan
(25) |
Feb
(27) |
Mar
(21) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Demian K. <dem...@vi...> - 2026-04-27 13:18:09
|
Hello, everyone! VuFind® 11.0.3 has been released today. This patch release fixes another batch of minor bugs, most visibly an issue that prevented search results from being visibly numbered in certain configurations. You can download the new release here: https://vufind.org/vufind/downloads.html As always, please let me know if you have any questions, concerns or problems! - Demian |
|
From: Hugo A. A. <ha...@or...> - 2026-04-08 06:47:14
|
Morning
Issue fixed
// Before (returned an array → caused a crash)
return $this->getFieldArray('955');
// After (returns a string → correct)
$nums = $this->getFieldArray('955');
return empty($nums) ? false : $nums[0];
Hugo Agud - Orex Digital
www.orex.es<http://www.orex.es/>
Linkedin<https://www.linkedin.com/company/orex-digital/>
Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/>
Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/
No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua.
Aviso de confidencialidad
Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía.
En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios.
La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento.
Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI.
Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación.
Datos identificativos:
Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179
________________________________
De: Demian Katz <dem...@vi...>
Enviado: martes, 7 de abril de 2026 17:55
Para: Hugo Agud Andreu <ha...@or...>; Demian Katz via Vufind-tech <vuf...@li...>
Asunto: Re: [EXTERNAL] [VuFind-Tech] VuFind error in CoverLoader with multivalued ISSN field in Solr vufind 10.1
Do you have a custom record driver? The default record driver calls getCleanIssn to pass a single ISSN to the cover loader. The loader is not designed to expect multiple ISSN values. My first guess is that a record driver bug or customization is causing the problem here.
I'm at an airport right now working from my phone, so I can't dig in deeper today, but I hope this is some help. If you need more support, let me know and I'll look more closely later this week when I've reached my destination and have a little free time.
- Demian
Sent from my Verizon, Samsung Galaxy smartphone
Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Hugo Agud Andreu <ha...@or...>
Sent: Tuesday, April 7, 2026 8:08:44 AM
To: Demian Katz via Vufind-tech <vuf...@li...>
Subject: [EXTERNAL] [VuFind-Tech] VuFind error in CoverLoader with multivalued ISSN field in Solr vufind 10.1
We are currently investigating an issue in a VuFind installation (Solr backend) that results in a 500 error when applying certain facet filters, specifically on the genre_facet field.
Description of the issue:
When performing a search with a filter such as:
filter[]=genre_facet:"Eduki digital didaktikoak"
VuFind returns a 500 error. Other genre_facet filters appear to work correctly.
Analysis so far:
* The Solr query is executed correctly and returns results (HTTP 200).
* The genre_facet field is properly indexed and contains valid values.
* The issue is not related to encoding or query syntax.
* The error only appears for specific subsets of records.
Error observed in logs:
TypeError: strlen(): Argument #1 ($string) must be of type string, array given
Relevant stack trace:
VuFind\Cover\Loader->getIdentifiers()
/usr/local/vufind/module/VuFind/src/VuFind/Cover/Loader.php
Problematic code:
if ($this->issn && strlen($this->issn) == 8)
Additional findings:
In our Solr schema, the ISSN field is defined as multivalued:
This means that some records may contain multiple ISSN values, for example:
"issn": ["12345678","87654321"]
However, VuFind’s CoverLoader appears to assume that issn is a scalar string, not an array. When an array is passed to strlen(), it triggers the fatal error.
This would explain why:
*
Only certain facet filters trigger the issue (t
*
Current hypothesis:
There is a mismatch between Solr schema (multivalued identifiers) and VuFind’s expectations in CoverLoader, which does not handle arrays safely in this context.?
Questions:
* Has anyone encountered similar issues with multivalued identifier fields (e.g. ISSN) in VuFind?
* Is the expected approach to normalize these fields to a single value at indexing time, or should VuFind handle multivalued identifiers gracefully?
* Would this be considered a bug in VuFind, or a configuration/data modeling issue?
Any suggestions on how to best address this (either in indexing or in VuFind configuration/code) would be very helpful.
Best regards,
Hugo Agud - Orex Digital
www.orex.es<http://www.orex.es/>
Linkedin<https://www.linkedin.com/company/orex-digital/>
Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/>
Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/
No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua.
Aviso de confidencialidad
Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía.
En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios.
La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento.
Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI.
Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación.
Datos identificativos:
Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179
|
|
From: Demian K. <dem...@vi...> - 2026-04-07 16:29:27
|
Do you have a custom record driver? The default record driver calls getCleanIssn to pass a single ISSN to the cover loader. The loader is not designed to expect multiple ISSN values. My first guess is that a record driver bug or customization is causing the problem here. I'm at an airport right now working from my phone, so I can't dig in deeper today, but I hope this is some help. If you need more support, let me know and I'll look more closely later this week when I've reached my destination and have a little free time. - Demian Sent from my Verizon, Samsung Galaxy smartphone Get Outlook for Android<https://aka.ms/AAb9ysg> ________________________________ From: Hugo Agud Andreu <ha...@or...> Sent: Tuesday, April 7, 2026 8:08:44 AM To: Demian Katz via Vufind-tech <vuf...@li...> Subject: [EXTERNAL] [VuFind-Tech] VuFind error in CoverLoader with multivalued ISSN field in Solr vufind 10.1 We are currently investigating an issue in a VuFind installation (Solr backend) that results in a 500 error when applying certain facet filters, specifically on the genre_facet field. Description of the issue: When performing a search with a filter such as: filter[]=genre_facet:"Eduki digital didaktikoak" VuFind returns a 500 error. Other genre_facet filters appear to work correctly. Analysis so far: * The Solr query is executed correctly and returns results (HTTP 200). * The genre_facet field is properly indexed and contains valid values. * The issue is not related to encoding or query syntax. * The error only appears for specific subsets of records. Error observed in logs: TypeError: strlen(): Argument #1 ($string) must be of type string, array given Relevant stack trace: VuFind\Cover\Loader->getIdentifiers() /usr/local/vufind/module/VuFind/src/VuFind/Cover/Loader.php Problematic code: if ($this->issn && strlen($this->issn) == 8) Additional findings: In our Solr schema, the ISSN field is defined as multivalued: This means that some records may contain multiple ISSN values, for example: "issn": ["12345678","87654321"] However, VuFind’s CoverLoader appears to assume that issn is a scalar string, not an array. When an array is passed to strlen(), it triggers the fatal error. This would explain why: * Only certain facet filters trigger the issue (t * Current hypothesis: There is a mismatch between Solr schema (multivalued identifiers) and VuFind’s expectations in CoverLoader, which does not handle arrays safely in this context.? Questions: * Has anyone encountered similar issues with multivalued identifier fields (e.g. ISSN) in VuFind? * Is the expected approach to normalize these fields to a single value at indexing time, or should VuFind handle multivalued identifiers gracefully? * Would this be considered a bug in VuFind, or a configuration/data modeling issue? Any suggestions on how to best address this (either in indexing or in VuFind configuration/code) would be very helpful. Best regards, Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Hugo A. A. <ha...@or...> - 2026-04-07 14:42:44
|
We are currently investigating an issue in a VuFind installation (Solr backend) that results in a 500 error when applying certain facet filters, specifically on the genre_facet field. Description of the issue: When performing a search with a filter such as: filter[]=genre_facet:"Eduki digital didaktikoak" VuFind returns a 500 error. Other genre_facet filters appear to work correctly. Analysis so far: * The Solr query is executed correctly and returns results (HTTP 200). * The genre_facet field is properly indexed and contains valid values. * The issue is not related to encoding or query syntax. * The error only appears for specific subsets of records. Error observed in logs: TypeError: strlen(): Argument #1 ($string) must be of type string, array given Relevant stack trace: VuFind\Cover\Loader->getIdentifiers() /usr/local/vufind/module/VuFind/src/VuFind/Cover/Loader.php Problematic code: if ($this->issn && strlen($this->issn) == 8) Additional findings: In our Solr schema, the ISSN field is defined as multivalued: This means that some records may contain multiple ISSN values, for example: "issn": ["12345678","87654321"] However, VuFind’s CoverLoader appears to assume that issn is a scalar string, not an array. When an array is passed to strlen(), it triggers the fatal error. This would explain why: * Only certain facet filters trigger the issue (t * Current hypothesis: There is a mismatch between Solr schema (multivalued identifiers) and VuFind’s expectations in CoverLoader, which does not handle arrays safely in this context.? Questions: * Has anyone encountered similar issues with multivalued identifier fields (e.g. ISSN) in VuFind? * Is the expected approach to normalize these fields to a single value at indexing time, or should VuFind handle multivalued identifiers gracefully? * Would this be considered a bug in VuFind, or a configuration/data modeling issue? Any suggestions on how to best address this (either in indexing or in VuFind configuration/code) would be very helpful. Best regards, Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-31 14:16:49
|
Here are the minutes from today's Community Call: https://vufind.org/wiki/community_call:minutes20260331 The next call will be Tuesday, May 5, 2026 at 9am Eastern Daylight Time (13:00 GMT). - Demian |
|
From: Demian K. <dem...@vi...> - 2026-03-31 13:57:40
|
Hello, everyone - Between Villanova's Easter break and a conference next week, I will be out of the office starting tomorrow, returning on Monday, April 13. I plan to monitor emails while away, but I will not be as active as normal. Please forgive me if responses and reviews take longer than normal; as always, if others can help with community support while I am away, I will be grateful for your assistance. Thanks, and see you in mid-April! - Demian |
|
From: Demian K. <dem...@vi...> - 2026-03-24 17:24:17
|
Hello, everyone! The March, 2026 VuFind® newsletter is now available: https://vufind.org/wiki/community:newsletter:2026-03 Additionally, the next Community Call will be held on Tuesday, March 31, 2026 at 9am Eastern Daylight Time (13:00 GMT). Note that the Eastern time zone has changed from Standard to Daylight, which may cause a time shift if you are in a different zone, and that this meeting is being held a week earlier than regularly scheduled due to conflicts – if you want to participate, please be sure that your calendar is accurate! Here is the full agenda: 1. Development Planning * Newsletter Highlights * Follow-Up to Past Discussions i. Solr 9.10 Upgrade ii. Laminas MVC End of Life iii. Improving Abstract Factories iv. Dark Mode PR v. Deprecating ILS-Driven New Items vi. phpdoc_summary code fixer rule vii. Extension Module Skeleton / Best Practices * Release 11.0.2 * 11.1.0 / 12.0.0 Pull Request Highlights i. Solr JSON Facet API ii. GVI Support 1. Accessibility SIG 2. Open Q&A / Other Topics? All are welcome to join the free online call, or to suggest additional agenda items. You can find information on joining here: https://vufind.org/wiki/community_call See you next week! - Demian |
|
From: Demian K. <dem...@vi...> - 2026-03-23 14:32:42
|
VuFind® 11.0.2 was released today, fixing a few more minor bugs discovered since the release of 11.0.1. You can download it here: https://vufind.org/vufind/downloads.html As always, please let me know if you have any questions, concerns or problems! - Demian |
|
From: Demian K. <dem...@vi...> - 2026-03-19 13:53:13
|
Thanks for noticing this, Josef. I agree that it looks like an oversight. I have opened a PR to correct it here: https://github.com/vufind-org/vufind/pull/5152 - Demian From: Josef Svoboda via Vufind-tech <vuf...@li...> Sent: Thursday, March 19, 2026 7:27 AM To: vufind-tech <vuf...@li...> Subject: [EXTERNAL] [VuFind-Tech] fieldType vs fieldtype in Solr authority schema Hello, I noticed inconsistent use of fieldType/fieldtype in https://github.com/vufind-org/vufind/blob/dev-12.0/solr/vufind/authority/conf/schema.xml Probably it is just an oversight? A similar issue was discussed in 2010 (subject "fieldType vs fieldtype - why, and does it matter?"): https://sourceforge.net/p/vufind/mailman/vufind-tech/thread/1FED81DBDFE66846937A8940BC4C23155FC22EEE6A%40XVS3-CLUSTER.yu.yale.edu/#msg24864044 Thanks, Josef |
|
From: Josef S. <jos...@uc...> - 2026-03-19 11:44:14
|
Hello, I noticed inconsistent use of fieldType/fieldtype in https://github.com/vufind-org/vufind/blob/dev-12.0/solr/vufind/authority/conf/schema.xml Probably it is just an oversight? A similar issue was discussed in 2010 (subject "fieldType vs fieldtype - why, and does it matter?"): https://sourceforge.net/p/vufind/mailman/vufind-tech/thread/1FED81DBDFE66846937A8940BC4C23155FC22EEE6A%40XVS3-CLUSTER.yu.yale.edu/#msg24864044 Thanks, Josef |
|
From: Alex B. <ale...@ca...> - 2026-03-16 05:19:07
|
Hi Demian, Many thanks for your reply and helpful tips! I had not tried those ideas so I'll give them a go later this week and let you know how I get on. Many thanks again, Alex On 13/03/2026 11:10 pm, Demian Katz wrote: > > Alex, > > This is the first time I’ve heard of this problem. > > I’m not sure that I’ve ever tested migrating from 10.1 to 11.0 – when > developing this, I repeatedly tested “bleeding edge 10.x to 11” and > “10.0.0 to 11” but I didn’t try every step in between. I can’t think > of any reason why 10.1 would be specifically problematic, but it might > be interesting to test that specific case and see what happens. > Unfortunately, since I’m at a conference this week and am accumulating > a large backlog of work as a result, that’s not something I’ll be able > to do right away. But if we don’t find a solution by next week, it’s > something I’d be interested to try. > > In the meantime, a few thoughts and questions: > > 1. Does your playbook capture the output of the migration process? If > the database migration is failing, I would expect it to report > some kind of error to the console. This might contain a useful clue. > 2. Have you tried running the command manually in a test environment > to see what happens? > 3. Have you tried running the command in --sql-only mode, redirecting > the output to a file, and then importing that file with the mysql > command as a subsequent step? This should not be necessary, of > course, but it might give you different clues or fail in a > different way. If it “just works” I will be surprised and would > not consider that a solution (we’d still need to figure out why > the direct method is failing), but it might serve as a temporary > workaround. > > I hope this is some help – let me know if you learn anything > interesting from applying these suggestions, or if you need me to take > more action from my end when I get back next week. > > - Demian > > *From:*Alex Buckley via Vufind-tech <vuf...@li...> > *Sent:* Thursday, March 12, 2026 8:52 PM > *To:* vuf...@li... > *Cc:* roo...@ca... > *Subject:* [EXTERNAL] [VuFind-Tech] Query about the > 008-add-log-table.sql migration > > Hi VuFind community, > > We are using an Ansible playbook to automate the whole upgrade process > from VuFind 10.1 to 11.0.1 > > We are utilising the very helpful upgrade config, and database, > command-line based utilities ( > https://vufind.org/wiki/administration:command_line_utilities#upgrade_category > ). But we have noticed a strange behaviour with the database > command-line utility: > > --- > > Our playbook runs: > > /php /usr/local/vufind/public/index.php upgrade/database --rootUser={{ > db_user }} --rootPass={{ db_password }}/ > > That successfully applies all the migration files up to > 11.0/008-add-log-table.sql. Then the migrations table stores two > entries for the 11.0/008-add-log-table.sql file with the statuses of > 'start' and 'writing chunk 0'. > > /+----+----------------------------+-----------------+----------------+---------------------+ > | id | name | status | target_version | > date | > +----+----------------------------+-----------------+----------------+---------------------+ > | 48 | 11.0/008-add-log-table.sql | start | 11.0.1 | > 2026-03-13 09:54:59 | > | 49 | 11.0/008-add-log-table.sql | writing chunk 0 | 11.0.1 | > 2026-03-13 09:54:59 |/ > > Checking the database, we can see the log_table has actually been > created. > > However, because the migrations table never changes > that 008-add-log-table.sql migration to a status='success', when we > run the playbook again it either errors (as it attempts to re-run > 008-add-log-table.sql when the table already exists), or it skips the > later 11.0 migration files entirely and jumps to apply the > 11.0.1/001-fix-auditevent-data.sql file. > > *Question*: Has anyone else encountered this problem of > the 008-add-log-table.sql migration not updating to have a > migrations.status='success'? > > We're thinking, even though we are upgrading from 10.x to 11.x - > rather than from the "bleeding edge" dev branch, it would be safest to > run the /php /usr/local/vufind/public/index.php upgrade/database/ > script manually with the /--interactive/ flag, to ensure all > migrations are applied in the right order. > > Many thanks in advance for any advice, > > Alex > -- *Alex Buckley (he/him)* Developer, Implementation Lead | Rōpū kohinga *Catalyst.Net Limited - Expert Open Source Solutions* *Catalyst.Net Limited - a Catalyst IT group company* www.catalyst.net.nz <http://www.catalyst.net.nz> Follow Catalyst Koha on Twitter <https://twitter.com/catalystkoha> | Subscribe to the Catalyst Koha newsletter <https://zcu.nz/SDVV> Catalyst Logo CONFIDENTIALITY NOTICE: This email is intended for the named recipients only. It may contain privileged, confidential or copyright information. If you are not the named recipient, any use, reliance upon, disclosure or copying of this email or its attachments is unauthorised. If you have received this email in error, please reply via email or call +64 4 499 2267. |
|
From: Demian K. <dem...@vi...> - 2026-03-13 12:16:37
|
Alex, This is the first time I've heard of this problem. I'm not sure that I've ever tested migrating from 10.1 to 11.0 - when developing this, I repeatedly tested "bleeding edge 10.x to 11" and "10.0.0 to 11" but I didn't try every step in between. I can't think of any reason why 10.1 would be specifically problematic, but it might be interesting to test that specific case and see what happens. Unfortunately, since I'm at a conference this week and am accumulating a large backlog of work as a result, that's not something I'll be able to do right away. But if we don't find a solution by next week, it's something I'd be interested to try. In the meantime, a few thoughts and questions: 1. Does your playbook capture the output of the migration process? If the database migration is failing, I would expect it to report some kind of error to the console. This might contain a useful clue. 2. Have you tried running the command manually in a test environment to see what happens? 3. Have you tried running the command in --sql-only mode, redirecting the output to a file, and then importing that file with the mysql command as a subsequent step? This should not be necessary, of course, but it might give you different clues or fail in a different way. If it "just works" I will be surprised and would not consider that a solution (we'd still need to figure out why the direct method is failing), but it might serve as a temporary workaround. I hope this is some help - let me know if you learn anything interesting from applying these suggestions, or if you need me to take more action from my end when I get back next week. - Demian From: Alex Buckley via Vufind-tech <vuf...@li...> Sent: Thursday, March 12, 2026 8:52 PM To: vuf...@li... Cc: roo...@ca... Subject: [EXTERNAL] [VuFind-Tech] Query about the 008-add-log-table.sql migration Hi VuFind community, We are using an Ansible playbook to automate the whole upgrade process from VuFind 10.1 to 11.0.1 We are utilising the very helpful upgrade config, and database, command-line based utilities ( https://vufind.org/wiki/administration:command_line_utilities#upgrade_category ). But we have noticed a strange behaviour with the database command-line utility: --- Our playbook runs: php /usr/local/vufind/public/index.php upgrade/database --rootUser={{ db_user }} --rootPass={{ db_password }} That successfully applies all the migration files up to 11.0/008-add-log-table.sql. Then the migrations table stores two entries for the 11.0/008-add-log-table.sql file with the statuses of 'start' and 'writing chunk 0'. +----+----------------------------+-----------------+----------------+---------------------+ | id | name | status | target_version | date | +----+----------------------------+-----------------+----------------+---------------------+ | 48 | 11.0/008-add-log-table.sql | start | 11.0.1 | 2026-03-13 09:54:59 | | 49 | 11.0/008-add-log-table.sql | writing chunk 0 | 11.0.1 | 2026-03-13 09:54:59 | Checking the database, we can see the log_table has actually been created. However, because the migrations table never changes that 008-add-log-table.sql migration to a status='success', when we run the playbook again it either errors (as it attempts to re-run 008-add-log-table.sql when the table already exists), or it skips the later 11.0 migration files entirely and jumps to apply the 11.0.1/001-fix-auditevent-data.sql file. Question: Has anyone else encountered this problem of the 008-add-log-table.sql migration not updating to have a migrations.status='success'? We're thinking, even though we are upgrading from 10.x to 11.x - rather than from the "bleeding edge" dev branch, it would be safest to run the php /usr/local/vufind/public/index.php upgrade/database script manually with the --interactive flag, to ensure all migrations are applied in the right order. Many thanks in advance for any advice, Alex |
|
From: Demian K. <dem...@vi...> - 2026-03-13 11:50:51
|
Hugo, In theory, it would be possible to create a permission handler to do this work, but it would only work correctly under certain specific conditions. For example: if you are using ILS-based authentication, so that users MUST connect to Koha in order to access the system, you could store their group memberships in a session container at login time, and then create a permission handler that uses the session container to check permissions. However, that strategy only works if login is guaranteed, and you can’t use it to block login, because the user would have to get through the login process in order to obtain the data from Koha before the permission could be checked. That’s why I think performing the check as part of the Koha login process seems like the most reliable and self-contained approach. - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Hugo A. A. <ha...@or...> - 2026-03-13 11:04:23
|
Sorry.. Yes the issue to block to access just to my account area I will modify ILS to check first categorycode before continue patronlogin ;) Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...> Enviado: viernes, 13 de marzo de 2026 11:39 Para: Hugo Agud Andreu <ha...@or...>; Demian Katz via Vufind-tech <vuf...@li...> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Maybe I misunderstood your original request, but I thought you were asking that the user be blocked from logging into VuFind entirely, not just accessing the “My Account” area. My point is that in order to block a user from logging in based on their ILS identity, they first have to be allowed to log in to look up their ILS identity. This is the paradox I was trying to describe below. 😊 - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:28 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini No, this is the first time I have encountered this issue, and I am not able to understand why this requirement has been raised. The borrower category in Koha is mainly used to define circulation permissions, and it is managed entirely on the Koha side. If a user should not have circulation rights, it is enough to configure the category so that no circulation permissions are granted. For this reason, I do not fully understand why the concern is about the user being able to access “My Account”, since this access is not directly related to circulation privileges. Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:17 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini One other thought: If you think this might be of general use, maybe it would make sense to set up a “blockLoginForCategoryCodes” setting in KohaRest.ini and make this configurable. Then it could be contributed upstream as a core feature and would not need to be locally maintained in future. If that seems like a good idea, I’d be happy to discuss further in a pull request – but I leave it up to you what strategy is best for your needs. - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...<mailto:dem...@vi...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-13 10:58:43
|
Let me know if you run into trouble. Also note that it may be worth caching category codes in the database after login, since we run patronlogin frequently in the code, and if that adds extra API calls, it could slow everything down. - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:49 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Sorry.. Yes the issue to block to access just to my account area I will modify ILS to check first categorycode before continue patronlogin ;) Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:39 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Maybe I misunderstood your original request, but I thought you were asking that the user be blocked from logging into VuFind entirely, not just accessing the “My Account” area. My point is that in order to block a user from logging in based on their ILS identity, they first have to be allowed to log in to look up their ILS identity. This is the paradox I was trying to describe below. 😊 - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Friday, March 13, 2026 6:28 AM To: Demian Katz <dem...@vi...<mailto:dem...@vi...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini No, this is the first time I have encountered this issue, and I am not able to understand why this requirement has been raised. The borrower category in Koha is mainly used to define circulation permissions, and it is managed entirely on the Koha side. If a user should not have circulation rights, it is enough to configure the category so that no circulation permissions are granted. For this reason, I do not fully understand why the concern is about the user being able to access “My Account”, since this access is not directly related to circulation privileges. Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:17 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini One other thought: If you think this might be of general use, maybe it would make sense to set up a “blockLoginForCategoryCodes” setting in KohaRest.ini and make this configurable. Then it could be contributed upstream as a core feature and would not need to be locally maintained in future. If that seems like a good idea, I’d be happy to discuss further in a pull request – but I leave it up to you what strategy is best for your needs. - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...<mailto:dem...@vi...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-13 10:54:55
|
Hugo, Maybe I misunderstood your original request, but I thought you were asking that the user be blocked from logging into VuFind entirely, not just accessing the “My Account” area. My point is that in order to block a user from logging in based on their ILS identity, they first have to be allowed to log in to look up their ILS identity. This is the paradox I was trying to describe below. 😊 - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:28 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini No, this is the first time I have encountered this issue, and I am not able to understand why this requirement has been raised. The borrower category in Koha is mainly used to define circulation permissions, and it is managed entirely on the Koha side. If a user should not have circulation rights, it is enough to configure the category so that no circulation permissions are granted. For this reason, I do not fully understand why the concern is about the user being able to access “My Account”, since this access is not directly related to circulation privileges. Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:17 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini One other thought: If you think this might be of general use, maybe it would make sense to set up a “blockLoginForCategoryCodes” setting in KohaRest.ini and make this configurable. Then it could be contributed upstream as a core feature and would not need to be locally maintained in future. If that seems like a good idea, I’d be happy to discuss further in a pull request – but I leave it up to you what strategy is best for your needs. - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...<mailto:dem...@vi...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-13 10:50:39
|
One other thought: If you think this might be of general use, maybe it would make sense to set up a “blockLoginForCategoryCodes” setting in KohaRest.ini and make this configurable. Then it could be contributed upstream as a core feature and would not need to be locally maintained in future. If that seems like a good idea, I’d be happy to discuss further in a pull request – but I leave it up to you what strategy is best for your needs. - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Hugo A. A. <ha...@or...> - 2026-03-13 10:27:58
|
No, this is the first time I have encountered this issue, and I am not able to understand why this requirement has been raised. The borrower category in Koha is mainly used to define circulation permissions, and it is managed entirely on the Koha side. If a user should not have circulation rights, it is enough to configure the category so that no circulation permissions are granted. For this reason, I do not fully understand why the concern is about the user being able to access “My Account”, since this access is not directly related to circulation privileges. Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...> Enviado: viernes, 13 de marzo de 2026 11:17 Para: Hugo Agud Andreu <ha...@or...>; Demian Katz via Vufind-tech <vuf...@li...> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini One other thought: If you think this might be of general use, maybe it would make sense to set up a “blockLoginForCategoryCodes” setting in KohaRest.ini and make this configurable. Then it could be contributed upstream as a core feature and would not need to be locally maintained in future. If that seems like a good idea, I’d be happy to discuss further in a pull request – but I leave it up to you what strategy is best for your needs. - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Friday, March 13, 2026 6:05 AM To: Demian Katz <dem...@vi...>; Demian Katz via Vufind-tech <vuf...@li...> Subject: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...<mailto:dem...@vi...>> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>>; Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...<mailto:ha...@or...>> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...<mailto:vuf...@li...>> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Hugo A. A. <ha...@or...> - 2026-03-13 10:21:33
|
Hi Demain, Thanks for your reply! Yes, I am using the KohaILS driver (KohaRest). I will modify KohaRest.php to prevent login when the user's categorycode is 'x'. I was checking whether it would be possible to handle this through permissions.ini, but I suspect it is not possible to restrict login there based on values from the user record. In any case, I now have a clear idea of how to implement this by modifying the ILS driver. Thanks again! Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 ________________________________ De: Demian Katz <dem...@vi...> Enviado: viernes, 13 de marzo de 2026 11:01 Para: Hugo Agud Andreu <ha...@or...>; Demian Katz via Vufind-tech <vuf...@li...> Asunto: RE: [EXTERNAL] [VuFind-Tech] permissions.ini Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-13 10:01:55
|
Hugo, Are you using the ILS as the login method, or are you using some other login method? If I understand your use case, you are asking to prevent login to the entire VuFind® system based on a status in the Koha system. If you are using the ILS login method, the easiest solution may be to customize your ILS driver’s patronLogin() method to make the check and block users who should not log in. If you are using any other login method, this is actually a challenging problem to solve – VuFind® is designed to only connect to the ILS when absolutely necessary, so the normal login process does not check the ILS – that is a separate process that occurs when ILS data is requested. So solving this when using a non-ILS authentication method would require either changing the login flow to force an ILS login on every cycle, or else customizing the authentication handler to include a Koha-specific check. (The custom auth handler is probably the least intrusive approach). This also, of course, has a potential to slow down login performance and/or increase load on your Koha instance. Is that any help? - Demian From: Hugo Agud Andreu <ha...@or...> Sent: Thursday, March 12, 2026 3:20 PM To: Demian Katz via Vufind-tech <vuf...@li...> Subject: [EXTERNAL] [VuFind-Tech] permissions.ini Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Alex B. <ale...@ca...> - 2026-03-13 01:10:23
|
Hi VuFind community, We are using an Ansible playbook to automate the whole upgrade process from VuFind 10.1 to 11.0.1 We are utilising the very helpful upgrade config, and database, command-line based utilities ( https://vufind.org/wiki/administration:command_line_utilities#upgrade_category ). But we have noticed a strange behaviour with the database command-line utility: --- Our playbook runs: /php /usr/local/vufind/public/index.php upgrade/database --rootUser={{ db_user }} --rootPass={{ db_password }}/ That successfully applies all the migration files up to 11.0/008-add-log-table.sql. Then the migrations table stores two entries for the 11.0/008-add-log-table.sql file with the statuses of 'start' and 'writing chunk 0'. /+----+----------------------------+-----------------+----------------+---------------------+ | id | name | status | target_version | date | +----+----------------------------+-----------------+----------------+---------------------+ | 48 | 11.0/008-add-log-table.sql | start | 11.0.1 | 2026-03-13 09:54:59 | | 49 | 11.0/008-add-log-table.sql | writing chunk 0 | 11.0.1 | 2026-03-13 09:54:59 |/ Checking the database, we can see the log_table has actually been created. However, because the migrations table never changes that 008-add-log-table.sql migration to a status='success', when we run the playbook again it either errors (as it attempts to re-run 008-add-log-table.sql when the table already exists), or it skips the later 11.0 migration files entirely and jumps to apply the 11.0.1/001-fix-auditevent-data.sql file. *Question*: Has anyone else encountered this problem of the 008-add-log-table.sql migration not updating to have a migrations.status='success'? We're thinking, even though we are upgrading from 10.x to 11.x - rather than from the "bleeding edge" dev branch, it would be safest to run the /php /usr/local/vufind/public/index.php upgrade/database/ script manually with the /--interactive/ flag, to ensure all migrations are applied in the right order. Many thanks in advance for any advice, Alex |
|
From: Hugo A. A. <ha...@or...> - 2026-03-12 20:52:54
|
Good morning I have one vufind 10.2.1 installation and I wish to restrict login in to certain categorycode from Koha, I can work on KohaRest.php but I can also work on permissions.ini user [] I wish to ask for some tip, using permissions.ini functionality can edit KohaREst adding for example 'college' => $data['categorycode'], And I wish to forbid login to category NO_ALLOW The permissions.ini should like this? [login.permission] ; Example configuration (grants the "sample.permission" permission to users ; who are from myCollege or who is a studentmajor (.*studentmajor.*): user[] = "college ALLOW_1" ;user[] = "college ALLOW_2" ; user[] = "major .*studentmajor.*" I can also configure KOhaRest to give false to 'x' categorycode Whats the best approach? Hugo Agud - Orex Digital www.orex.es<http://www.orex.es/> Linkedin<https://www.linkedin.com/company/orex-digital/> Innovando para ayudar a las bibliotecas a alcanzar el siguiente nivel<https://orex.es/productos/orex-analytics/> Rosa Leveroni 10 Oficina 2 - 08960 Sant Just Desvern - Tel: 932 435 179 ha...@or...<mailto:ha...@or...> · http://www.orex.es/ No imprima este mensaje a no ser que sea necesario. Una tonelada de papel implica la tala de 15 árboles y el consumo de 250.000 litros de agua. Aviso de confidencialidad Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de Orex Digital, S.L. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. En cumplimiento de lo establecido en el Reglamento General de Protección de Datos (RGPD) (UE) 2016/679 y a la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos de Carácter Personal y Garantía de los Derechos Digitales (LOPD-GDD), le informamos que tratamos sus datos personales con la finalidad de responder a su solicitud de información, realizar la gestión administrativa derivada de nuestra relación comercial o contractual, así como enviarle comunicaciones comerciales sobre nuestros productos y servicios. La legitimación será en base a un interés legítimo, por ejecución de un contrato y/o por consentimiento, en algunos casos. Los datos proporcionados se conservarán mientras se mantenga la relación contractual o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal o sea necesario para la ejecución de un contrato. No se tomarán decisiones automatizadas que puedan causar un efecto jurídico significativo, salvo que se haya recabado previamente el consentimiento. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: in...@or...<mailto:in...@or...>, adjuntando copia de su DNI. Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente (AEPD, en España) para obtener información adicional o presentar una reclamación. Datos identificativos: Orex Digital, S.L.U., B64500945, Rosa Leveroni 10, Oficina 2 - 08960 - Sant Just Desvern - BARCELONA, 932 435 179 |
|
From: Demian K. <dem...@vi...> - 2026-03-10 14:49:41
|
Hello, everyone - I just wanted to let you know that I'll be attending a conference for the rest of the week, so I won't be around as much as usual. If others can help with PR reviews and support requests while I am away, I would be grateful. In any case, I do still plan to check emails periodically, but I may not be able to offer detailed replies or feedback until I return to the office next week. Thanks for your understanding and assistance! - Demian |
|
From: Demian K. <dem...@vi...> - 2026-03-03 15:02:24
|
Here are the minutes from today’s VuFind® Community Call: https://vufind.org/wiki/community_call:minutes20260303 The next call will be Tuesday, March 31, 2026 at 9am Eastern Daylight Time (13:00 GMT). - Demian |