\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\part{Known issues for the lastest alpha version}
Installation on debian bookworm:

composer create-project horde/bundle\newline
composer require require horde/mnemo horde/nag:\^5 horde/imp:\^7 horde/gollem horde/kronolith:\^5 horde/turba horde/ldap horde/activesync horde/passwd horde/jonah horde/ingo

composer.json:\newline
 \{\newline
    "name": "horde/bundle",\newline
    "description": "A base project for a horde installation",\newline
    "type": "project",\newline
    "require": \{\newline
        "composer-plugin-api": "\^2.0",\newline
        "horde/horde-installer-plugin": "\^2.5.1 || dev-FRAMEWORK\_6\_0 || dev-master",\newline
        "horde/horde": "\^6 || dev-FRAMEWORK\_6\_0",\newline
        "horde/routes": "\^3 || dev-FRAMEWORK\_6\_0",\newline
        "horde/hordectl": "\^1 || dev-FRAMEWORK\_6\_0 || dev-master",\newline
        "pear/console\_color2": "\^0.1.2",\newline
        "pear/console\_table": "\^1.3",\newline
        "horde/mnemo": "\^5.0@alpha",\newline
        "horde/gollem": "dev-FRAMEWORK\_6\_0",\newline
        "horde/nag": "\^5.0@alpha",\newline
        "horde/imp": "\^7.0@alpha",\newline
        "horde/kronolith": "\^5.0@alpha",\newline
        "horde/ldap": "\^3.0@alpha",\newline
        "horde/passwd": "\^6.0@alpha",\newline
        "horde/turba": "\^5.0@alpha"\newline
    \},\newline
    "require-dev": \{\newline
        "horde/test": "\^3 || dev-FRAMEWORK\_6\_0 || dev-master"\newline
    \},\newline
    "license": "GPL-3.0-only",\newline
    "authors": [\newline
        \{\newline
            "name": "Ralf Lang",\newline
            "email": "ralf.lang@ralf-lang.de"\newline
        \}\newline
    ],\newline
    "minimum-stability": "dev",\newline
    "prefer-stable": true,\newline
    "extra": \{\newline
        "installer-types": [\newline
            "horde-library",\newline
            "horde-application"\newline
        ]\newline
    \},\newline
    "config": \{\newline
        "allow-plugins": \{\newline
            "horde/horde-installer-plugin": true\newline
        \}\newline
    \}\newline
\}

PHP: 8.2.13\newline
apache: 2.4.57

\section{horde}
\subsection{autoload.php): Failed to open stream}
Fixed with: https://github.com/horde/base/commit/81a8a11a23a15b3383a8049e1f428a5dbf52f904\footnote{https://github.com/horde/base/commit/81a8a11a23a15b3383a8049e1f428a5dbf52f904}\newline
\textbf{Issue description:}

\begin{verbatim}

Got error 'PHP message: PHP Warning:  require_once(/var/www/html/horde/vendor/vendor/autoload.php): Failed to open stream: No such file or directory in /var/www/html/horde/vendor/horde/horde/rampage.php on line 2 PHP message: PHP Fatal error:  Uncaught Error: Failed opening required '/var/www/html/horde/vendor/vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/horde/vendor/horde/horde/rampage.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/horde/vendor/horde/horde/rampage.php on line 2'
\end{verbatim}

\textbf{Proposed solution from Michael <michael at johalla.de>}

I changed the path to autoload.php in vendor/horde/horde/rampage.php from\newline
\begin{verbatim}

require_once dirname(__FILE__, 3) . '/vendor/autoload.php';
\end{verbatim}

\newline
to\newline
\begin{verbatim}

require_once dirname(__FILE__, 4) . '/vendor/autoload.php';
\end{verbatim}

\subsection{can't edit/change events since 'start\_year' doesn't go back far enough: }
\textbf{Proposed solution from Brent <impuser at bitrealm.com>}

<horde-dir>/vendor/horde/core/lib/Horde/Core/Ui/VarRenderer\footnote{http://example.com/index.php?page=VarRenderer}/Html.php

Hardcode start year to 1900 (hack, not sure where start\_year is being determined.

Line 529:\newline
\begin{verbatim}

-  for ($i = $var->type->getProperty('start_year'); $i <= $var->type->getProperty('end_year'); $i++) {

+   for ($i = 1900; $i <= $var->type->getProperty('end_year'); $i++) {

\end{verbatim}

\section{turba}
\subsection{Non-static method Horde\_Form::getType() cannot be called statically}
PR: https://github.com/horde/turba/pull/14\footnote{https://github.com/horde/turba/pull/14}\newline
\textbf{Issue description:}

\begin{verbatim}

A FATAL ERROR HAS OCCURRED

NON-STATIC METHOD HORDE_FORM::GETTYPE() CANNOT BE CALLED STATICALLY

in /var/www/html/horde/vendor/horde/turba/templates/browse/row.inc:75  
1. require() /var/www/html/horde/vendor/horde/turba/index.php:24 
2. Turba_View_Browse->run() /var/www/html/horde/vendor/horde/turba/browse.php:48
3. Turba_View_List->display() /var/www/html/horde/vendor/horde/turba/lib/View/Browse.php:425
4. Turba_View_List->getAlpha() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:234
5. Turba_View_List->_get() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:294 
6. include() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:442
\end{verbatim}

\textbf{Proposed solution from Brent <impuser at bitrealm.com>}\newline
I have found the fix for this. I had to "patch" the  \newline
/var/www/html/horde/vendor/horde/turba/templates/browse/row.inc   \newline
file.  Here's my patch\ldotsI am decidedly NOT a programmer, so I've no  \newline
idea if this is the right way to fix this, created a bottleneck, or if  \newline
maybe I've unleashed Zod from his mirror prison.

\begin{verbatim}

@@ -72,11 +72,11 @@
         if ($type == 'email') {
             $this->variables[$this->columns[$c - 1]] =
                 new Horde_Form_Variable('', $this->columns[$c - 1],
-                                        Horde_Form::getType('html'), false);

+                                         (new  

Horde_Form(0))->getType('html'), false);
         } else {
             $this->variables[$this->columns[$c - 1]] =
                 new Horde_Form_Variable('', $this->columns[$c - 1],
-                                        Horde_Form::getType($type, $params),

+                                         (new  

Horde_Form(0))->getType($type, $params),
                                         false);
         }
\end{verbatim}

\subsection{Fixed: This will fix the error you get if you try to add an image or edit an image for a contact in your address book}
Commit number: https://github.com/horde/Core/commit/7e1e507b7d01e36f2e96a93d222fed9a5fb16ca1\footnote{https://github.com/horde/Core/commit/7e1e507b7d01e36f2e96a93d222fed9a5fb16ca1}\newline
\textbf{Proposed solution from Brent <impuser at bitrealm.com>}

\begin{verbatim}


<horde-root>/vendor/horde/core/lib/Horde/Core/Ui/VarRenderer/Html.php

Line 209 has:
 $html .= sprintf('<input class="button" name="%s" id="%S" type="submit" value="%s" /> ',

The upper-case "S" should be lower-case:
 $html .= sprintf('<input class="button" name="%s" id="%s" type="submit" value="%s" /> ',
\end{verbatim}

\section{kronolith}
\subsection{Non-static method Date\_TimeZone::isValidID() cannot be called statically in /usr/share/php/Date/TimeZone\footnote{http://example.com/index.php?page=TimeZone}.php:4717}
\textbf{Issue description:}

\begin{verbatim}

EMERG: HORDE [kronolith] Error: Non-static method Date_TimeZone::isValidID() cannot be called statically in /usr/share/php/Date/TimeZone.php:4717
Stack trace:
#0 /usr/share/php/Date.php(55): require_once()
#1 /usr/share/php/Date/Holidays.php(39): require_once('...')
#2 /var/www/html/horde/vendor/horde/autoloader/lib/Horde/Autoloader.php(129): include('...')
#3 /var/www/html/horde/vendor/horde/autoloader/lib/Horde/Autoloader.php(66): Horde_Autoloader->_include()
#4 [internal function]: Horde_Autoloader->loadClass()
#5 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(549): class_exists()
#6 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(201): Kronolith_CalendarsManager->_getAllHolidays()
#7 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(572): Kronolith_CalendarsManager->get()
#8 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(207): Kronolith_CalendarsManager->_getDisplayHolidays()
#9 /var/www/html/horde/vendor/horde/kronolith/lib/Kronolith.php(282): Kronolith_CalendarsManager->get()
#10 /var/www/html/horde/vendor/horde/kronolith/lib/Block/Summary.php(110): Kronolith::listEvents()
#11 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block.php(278): Kronolith_Block_Summary->_content()
#12 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block.php(175): Horde_Core_Block->_call()
#13 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block/Layout/View.php(98): Horde_Core_Block->getContent()
#14 /var/www/html/horde/vendor/horde/horde/services/portal/index.php(35): Horde_Core_Block_Layout_View->toHtml()
\end{verbatim}

\textbf{Proposed solution from Michael <michael at johalla.de>}

Change configuration of Kronolith and switch off:\newline
Displaying Holidays -> \$conf[holidays][enable]

\end{document}
