Skip to content
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

Merged
merged 1 commit into from
Aug 12, 2013
Merged

Resolves issues where files from vendor are not being committed to repo #14

merged 1 commit into from
Aug 12, 2013

Conversation

misilot
Copy link
Contributor

@misilot misilot commented Aug 9, 2013

demiankatz added a commit that referenced this pull request Aug 12, 2013
Resolves issues where files from vendor are not being committed to repo
@demiankatz demiankatz merged commit 9ea1d7f into vufind-org:master Aug 12, 2013
@misilot misilot deleted the resolve-composer-vendor-issues branch August 12, 2013 21:32
@miku
Copy link
Contributor

miku commented Nov 18, 2014

Just a general question on this. In the linked composer docs above the question

Should I commit the dependencies in my vendor directory?

is answered:

The general recommendation is no.

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.

@demiankatz
Copy link
Member

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.

@miku
Copy link
Contributor

miku commented Nov 18, 2014

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:

We may be able to address part 1 of the problem by including very specific version numbers in our composer.json

This sounds good to me. Specific versions should help avoid library version mismatch kind of errors.

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 imagine, if a person is acquainted with git, maybe composer would not be too hard.

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.

EreMaijala added a commit to EreMaijala/vufind that referenced this pull request Jun 17, 2015
demiankatz pushed a commit to skellamp/vufind that referenced this pull request Jun 29, 2023
dltj added a commit to dltj/vufind that referenced this pull request Oct 7, 2024
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()
```
demiankatz pushed a commit to dltj/vufind that referenced this pull request Oct 8, 2024
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()
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants