-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolves issues where files from vendor are not being committed to repo #14
Resolves issues where files from vendor are not being committed to repo #14
Conversation
Resolves issues where files from vendor are not being committed to repo
Just a general question on this. In the linked composer docs above the question
is answered:
As smoebody pointed out, it would be somewhat nicer, if dependencies would not be in the repo at all. I tried to search for an explanation, why the dependencies must be in the repo, but had no luck so far. |
There are two main reasons that the vendor dependencies are committed in the repo right now: 1.) In VuFind 1.x, dependencies were not bundled. This frequently led to problems because third-party sites would go offline, bugs would be introduced in new versions of libraries, etc. By committing dependencies, we ensure that a particular VuFind release has known working versions immediately available, and third-party outages cannot prevent a user from installing the software. 2.) Many VuFind users are not experienced developers but rather librarians with a bit of system administration experience. I have tried to make the barrier to running the software as low as possible. Right now, you can do a git checkout and immediately have working software. Introducing composer into the mix creates new stumbling blocks and increases the traffic to the support mailing lists. This being said, I understand that there are disadvantages to this approach, and those disadvantages grow greater as we include more and more dependencies. It may be necessary to change our strategy soon, and I am open to that possibility. We may be able to address part 1 of the problem by including very specific version numbers in our composer.json (something that was not possible in VuFind 1.x, since we used PEAR instead of Composer). We may be able to address part 2 of the problem by bundling dependencies in the distribution versions of VuFind and recommending that novice users always install from package instead of using Git. I encourage you to start a thread on vufind-tech if you'd like to discuss this further with a larger section of the community. |
Thanks for taking the time to answer, I think I understand the reasoning behind this now. Also, I do like your suggested ways out of this situation:
This sounds good to me. Specific versions should help avoid library version mismatch kind of errors.
I imagine, if a person is acquainted with Anyway, I'll keep your suggestions in mind, will familiarize myself a bit more with VuFind2 and will post to the ML in the near future. |
[ALLI-3219] Search tabs.
This corrects a problem with new VuFind users being created from a Shibboleth login. Without this change, we see this exception and stack trace: ``` 2024-10-07T14:04:23-04:00 ERR (3): VuFind\Auth\Manager: Laminas\Db\RowGateway\Exception\InvalidArgumentException: Not a valid column in this row: cat_password in /usr/local/vufind-pmalibrary/vendor/laminas/laminas-db/src/RowGateway/AbstractRowGateway.php:294 Stack trace: #0 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Db/Row/User.php(964): Laminas\Db\RowGateway\AbstractRowGateway->__get() vufind-org#1 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php(224): VuFind\Db\Row\User->getRawCatPassword() vufind-org#2 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/Shibboleth.php(240): VuFind\Auth\ILSAuthenticator->getCatPasswordForUser() vufind-org#3 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/Manager.php(743): VuFind\Auth\Shibboleth->authenticate() vufind-org#4 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Controller/MyResearchController.php(217): VuFind\Auth\Manager->login() vufind-org#5 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): VuFind\Controller\MyResearchController->homeAction() vufind-org#6 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Controller/Feature/CatchIlsExceptionsTrait.php(76): Laminas\Mvc\Controller\AbstractActionController->onDispatch() vufind-org#7 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): VuFind\Controller\MyResearchController->onDispatch() vufind-org#8 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\EventManager\EventManager->triggerListeners() vufind-org#9 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\EventManager\EventManager->triggerEventUntil() vufind-org#10 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\Mvc\Controller\AbstractController->dispatch() vufind-org#11 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\DispatchListener->onDispatch() vufind-org#12 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\EventManager\EventManager->triggerListeners() vufind-org#13 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\EventManager\EventManager->triggerEventUntil() vufind-org#14 /usr/local/vufind-pmalibrary/public/index.php(71): Laminas\Mvc\Application->run() ```
This corrects a problem with new VuFind users being created from a Shibboleth login. Without this change, we see this exception and stack trace: ``` 2024-10-07T14:04:23-04:00 ERR (3): VuFind\Auth\Manager: Laminas\Db\RowGateway\Exception\InvalidArgumentException: Not a valid column in this row: cat_password in /usr/local/vufind-pmalibrary/vendor/laminas/laminas-db/src/RowGateway/AbstractRowGateway.php:294 Stack trace: #0 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Db/Row/User.php(964): Laminas\Db\RowGateway\AbstractRowGateway->__get() vufind-org#1 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php(224): VuFind\Db\Row\User->getRawCatPassword() vufind-org#2 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/Shibboleth.php(240): VuFind\Auth\ILSAuthenticator->getCatPasswordForUser() vufind-org#3 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Auth/Manager.php(743): VuFind\Auth\Shibboleth->authenticate() vufind-org#4 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Controller/MyResearchController.php(217): VuFind\Auth\Manager->login() vufind-org#5 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): VuFind\Controller\MyResearchController->homeAction() vufind-org#6 /usr/local/vufind-pmalibrary/module/VuFind/src/VuFind/Controller/Feature/CatchIlsExceptionsTrait.php(76): Laminas\Mvc\Controller\AbstractActionController->onDispatch() vufind-org#7 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): VuFind\Controller\MyResearchController->onDispatch() vufind-org#8 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\EventManager\EventManager->triggerListeners() vufind-org#9 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\EventManager\EventManager->triggerEventUntil() vufind-org#10 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\Mvc\Controller\AbstractController->dispatch() vufind-org#11 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\DispatchListener->onDispatch() vufind-org#12 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\EventManager\EventManager->triggerListeners() vufind-org#13 /usr/local/vufind-pmalibrary/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\EventManager\EventManager->triggerEventUntil() vufind-org#14 /usr/local/vufind-pmalibrary/public/index.php(71): Laminas\Mvc\Application->run() ```
Solution from: http://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md
Option #4