[horde] Transition to Composer

Ralf Lang lang at b1-systems.de
Tue Feb 19 18:44:44 UTC 2019


Am 13.02.19 um 14:14 schrieb Ralf Lang:
> Hi,
> Am 07.02.19 um 21:41 schrieb Twilek:
>> Hi Ralf,
>> thanks for the detailed information. I hope that you succeed bringing
>> Horde over to composer. If you have a reasonably working system I
>> would gladly help testing things. My horde installation should be
>> quite standard, althought it is very old (has been transfered from
>> Horde 3 via Horde 4), so  I cannot guarantee 110% that I did not do
>> some manual fiddling at some point in the past.
>> Regards
>> Henning
> Little status update:
> - The composer.json writer is fairly complete. It takes a configurable
> map of pear names to composer names for non-horde channels, (horde is
> automatically handled), handles pecl/ext correctly, automatically
> includes the composer horde plugin. Still missing is marking bin/* for
> export to the composer bin dir.
> - The composer horde plugin installs apps in a separate hierarchy. It
> does not yet link/copy js files to a common dir. It does not yet
> configure horde.local.php or registry.local.php
> - I have built a test composer environment involving horde, content and
> nag. They don't run. https://github.com/maintaina-com/horde-deployment
> you will need a github api key as it spams requests. NOT rready for
> consumption
> - Currently I am trying to fix Horde_Autoloader_Default and
> horde/lib/core.php to work correctly with the composer filesystem layout
> and autoloader. There is quite some unconditional require_once.

We are getting somewhere.

It now runs horde+nag+content from composer deployment - All I need to
do is provide a conf.php
Some workaround code is generated in config files,  can be eliminated
once some issues are solved.

The composer plugin generates the required tweaks in horde.local.php,
registry.local.php, registry.d/*
Horde lives on the same level as apps below webroot (example.com/horde,
example.com/nag, example.com/content)
js from horde base and libs is served from a js dir below webroot.

Known issues:

- sql migrations for libraries.
- phpunit tests
- Only install, no cleanup/rollback

How to test:

git clone https://github.com/maintaina-com/horde-deployment
cd horde-deployment
composer install
cp horde/horde/config/conf.php.dist horde/horde/config/conf.php

Webroot would be the first /horde dir level with /js, /horde, /nag, ...
Head for /horde in the browser to auto-login as admin. Create a propert
horde/config/conf.php, nag/config/conf.php etc from config dialog. Use a
pre-existing db schema.

Feedback welcome.

Ralf Lang
Linux Consultant / Developer
Tel.: +49-170-6381563
Mail: lang at b1-systems.de
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

More information about the horde mailing list