Skip to content

Conversation

@ralflang
Copy link
Member

@ralflang ralflang commented May 31, 2025

Improve registry snippet handling and provide options "force" and "webroot"

force option

composer horde:reconfigure --force

Deletes files normally untouched (if they exist)

  • web/$app
  • web/js/$app
  • var/config/horde/registry.d/01-location-horde.php
  • All locations of horde.local.php in var/config and vendor/
  • conf.php, backends.local.php, prefs.local.php, routes.local.php, hooks.php in vendor dir
    The files will be recreated from scratch or re-linked according to your selected mode

webroot option

composer horde:reconfigure --webroot https://groupware.example.com --force

Set the default url below which js, themes, static, horde and all apps are exposed. Defaults to / so that /horde/services/portal is your horde portal url. If you override at least one application url in 03-override-webroots.php you should set this to a fully qualified http or https URL (i.e. https://groupware.example.com)

Custom webroot template 03-override-webroots.php

If absent, a file var/config/horde/registry.d/03-override-webroots.php will be written with commented-out suggestions for individual subdomains per app. This simplifies putting your calendar and webmail apps into https://calendar.example.com and https://webmail.example.com rather than https://groupware.example.com/kronolith and https://groupware.example.com/imp

Empty routes file if missing

Some versions of the middleware router fail if an app has no routes file. We put an empty routes file into the expected location. Do not edit this file. If you need custom middleware routes, put them into var/config/$app/routes.local.php and run composer horde:reconfigure

Changelog

  • feat: Filter more files which should not be linked to webdir
  • feat: Add proxy mode to ApplicationLinker
  • feat: Support commandline option for linker type. Use symlink by default
  • feat: Support proxy mode in JsTreeLinker, Registry Snippets and Fileroots
  • Apply CS Fixer
  • feat: automatically include autoload-extra.php if present
  • Make basedir a private property
  • fix: Issue 2.7.0 breaks layout, likely missing CSS files. #11 symlink mode breaks or delivers bad CSS
  • fix: Issue 2.7.0 breaks layout, likely missing CSS files. #11 Don't use full composer name for themes fs location in registr
  • fix: Proxy mode no longer fails on older composer versions < 2.7 due to missing named property on filesystem helper
  • fix: Add $APP_TEMPLATE constants to local files to support constant-based template paths forced to vendor dir
  • fix: Explicitly set registry template dir to vendor dir for all apps.
  • feat: Force mode
  • Implicit mode for options class in 'proxy' but implicit cli value is still 'symlink'
  • fix: getVarConfigDir
  • tree->getWebDir tree->getWebReadableRootDir
  • feat: Make webroot configurable and provide clues how to do separate webroots per app
  • feat: Place empty routes file if none exist

@ralflang ralflang merged commit dbe45d3 into FRAMEWORK_6_0 May 31, 2025
1 check passed
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.

2 participants