Dear developers and administrators,
the following information may save you some time as it took me a while to figure it out:
Today I noticed some strange issues regarding XML handling in ILIAS with (v5.2.6 2017-07-13, PHP 5.6.31-4+ubuntu16.04.1+deb.sury.org+4). Initially, I discovered a problem in one of my plugins which deals with XML that uses simplexml_load_file() with a local(!) file.
The error message I got from it was:
simplexml_load_file(): I/O warning : failed to load external entity "[MY_FILE]"
I checked everything twice, the 'cwd', the include path, PHP ini settings ...
Surprisingly (for me), I was able to read the contents of the XML file one line before I called simplexml_load_file(). Passing the XML string to simplexml_load_string() worked fine.
The error occured randomly (I initially thought), so I really had no idea what could cause that. Then our administrators reported issues when copying/cloning courses via SOAP in customer installations. I exported and imported the course in question as XML into my local installation (which worked fine) and tried to copy the course to reproduce the reported issue afterwards. It worked perfectly with PHP 7.0, but failed with PHP 5.6. The error log contained the same I/O warning mentioned above.
When I added ...
libxml_disable_entity_loader(false);
... in my plugin before using simplexml_load_file() and before the ILIAS SOAP server is instantiated in ./webservice/soap/server.php, the issue seems to be fixed for both cases.
libxml_disable_entity_loader() is not thread safe, so this is the root of all evil (including but not limited to pineapple on pizza).
If ...
libxml_disable_entity_loader(true);
... is called in another script (or another PHP application) and not resetted to false, the problematic state persists globally. There are even some calls of with a boolean true in ILIAS (PHPExcel, SVG Sanitizer), which is dangerous in case an error occured and the state could not be properly resetted to a boolean false.
Best regards,
Michael
Dear developers, dear service providers,
With this mail I’ll send you a call for bids that has been set up by the technical board of the ILIAS society. You find all necessary information in the attached document. In case of questions, please do not hesitate to contact me or the technical board.
Kind regards,
Matthias Kunkel
* * * * *
Matthias Kunkel
ILIAS Product Manager
General Manager ILIAS open source e-Learning e.V.
Office:
Ebertplatz 14-16 • D-50668 Koeln
www.ilias.de <http://www.ilias.de/>
verein(a)ilias.de <mailto:verein@ilias.de>
* * * * *
Dear Developers
As you know we are currently collecting information about who maintains which classes and directories in ILIAS. A lot of developers and maintainers have already provided their information about the components they maintain. There are only few directories left without any information:
Services/CopyWizard
Services/DidacticTemplate
Services/Environment
Services/Exceptions
Services/Http
Services/JSON
Services/LDAP
Services/License
Services/LinkChecker
Services/Logging
Services/Math
Services/Membership
Services/PDFGeneration
Services/PrivacySecurity
Services/QTI
Services/Randomization
Services/Transformation
Services/Tree
Services/Xml
If you are the maintainer of one of those directories, we would be very happy if you could provide the infos as a commit.
There is a How-To in the forum thread: https://www.ilias.de/docu/goto_docu_frm_5386_4359.html. Please post your questions there.
Best regards
Fabian
--
Fabian Schmid
Member of the Executive Board
Head of Software Development
studer + raimann ag
IT- and Learning-Solutions
Farbweg 9
3400 Burgdorf
main +41 31 972 52 22
support +41 31 972 52 30
direct +41 31 972 52 27
fs(a)studer-raimann.ch
studer-raimann.ch
--
Wanna know more? Contact us directly or find information online:
Corporate Website studer-raimann.ch | Product Website ilias.ch
Facebook <https://www.facebook.com/studer.raimann> | XING
<https://www.xing.com/companies/studer+raimannag> | LinkedIn
<https://www.linkedin.com/company/studer-raimann-ag>
Hello,
'MyStaff' is a new component introduced with 5.3, see https://www.ilias.de/docu/goto.php?target=wiki_1357_My_Staff <https://www.ilias.de/docu/goto.php?target=wiki_1357_My_Staff>. First maintainer of this component is Fabian Schmid, studer + raimann ag, Burgdorf (CH). Interest in second maintainership has been declared by Klees, Richard [rklees], CaT Concept and Training, Köln, (D).
My question to all developers: Is there anybody else interested in becoming second maintainer for this component? If so, please notify me until July 10, 2017, and give a short description about the reasons for your interest and your competencies in developing core components for ILIAS.
Thank you very much and best regards,
Matthias Kunkel
* * * * *
Matthias Kunkel
ILIAS Product Manager
General Manager ILIAS open source e-Learning e.V.
Office:
Ebertplatz 14-16 • D-50668 Koeln
www.ilias.de <http://www.ilias.de/>
verein(a)ilias.de <mailto:verein@ilias.de>
* * * * *