[horde] Content_Tagger and Content_Types

Simon Brereton simon.buongiorno at gmail.com
Tue Mar 19 09:14:22 UTC 2013


On 18 March 2013 21:50, Vilius Šumskas <vilius at lnk.lt> wrote:
>> On 13 March 2013 10:55, Simon Brereton <simon.buongiorno at gmail.com> wrote:
>>> Mike
>>>
>>> I'm going to start a new thread - I have two major issues with my git
>>> install at the moment.
>>>
>>> Kronolith doesn't have the drop-down arrow that it uses to and
>>> clicking on the link results in:
>>> The Content_Tagger class could not be found. Make sure the Content
>>> application is installed.
>
> *Which*  drop  down  arrow? Clicking *which* link? You have to be more
> specific.

Sorry - I'm not sure how much specific that can get.  Each Application
in the teal/green header bar at the top, to the right of Horde has a
drop down arrow which indicates additional menu items when you hover
over it with the mouse.  For example, for imp, there is Filters | New
Message | Search, for Kronolith, there should be New Event or
something similar, I forget now.  For Turba, there is New Contact |
Address book of ..  | Favourite Recipients | Search.

My problem is that for Kronolith, this arrow is missing and
consequently there is no menu shown either.  Given the error about
Content_Tagger, that seems logical to me.

Generally direct articles refer to the previously mentioned noun - in
this case, Kronolith.  So whilst there is no down arrow to the right
of Kronolith (as there is with the other apps), Kronolith is itself a
link (as are the other apps) and when you hover the mouse over it the
status bar says https://webmail.example.net/kronolith (it's the same
format for the other apps.  If I click instead of hover, instead of
getting the app (as I do with imp or turba) I get the error message
above but here it is in full:

A fatal error has occurred

The Content_Tagger class could not be found. Make sure the Content
application is installed.

1. Horde_Registry::appInit() /usr/share/git-horde5/kronolith/index.php:10
2. Horde_Registry->pushApp()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:257
3. Horde_Registry->_pushAppError()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1562
4. Horde_Registry::appInit() /usr/share/git-horde5/kronolith/index.php:10
5. Horde_Registry->pushApp()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:257
6. Horde_Registry->callAppMethod()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1557
7. call_user_func_array()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1152
8. Horde_Registry_Application->init()
9. Kronolith_Application->_init()
/usr/share/git-horde5/framework/Core/lib/Horde/Registry/Application.php:105



>>>  1. Horde_Core_Factory_BlockCollection->create()
>>> /usr/share/git-horde5/horde/services/portal/index.php:31
>>>  2. Horde_Core_Block_Collection->__construct()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Core/Factory/BlockCollection.php:61
>>>  3. Horde_Registry->getAppDrivers()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Core/Block/Collection.php:43
>>>  4. Horde_Registry->pushApp()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1917
>>>  5. Horde_Registry->_pushAppError()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1562
>>>  6. Horde_Core_Factory_BlockCollection->create()
>>> /usr/share/git-horde5/horde/services/portal/index.php:31
>>>  7. Horde_Core_Block_Collection->__construct()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Core/Factory/BlockCollection.php:61
>>>  8. Horde_Registry->getAppDrivers()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Core/Block/Collection.php:43
>>>  9. Horde_Registry->pushApp()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1917
>>> 10. Horde_Registry->callAppMethod()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1557
>>> 11. call_user_func_array()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry.php:1152
>>> 12. Horde_Registry_Application->init()
>>> 13. Kronolith_Application->_init()
>>> /usr/share/git-horde5/framework/Core/lib/Horde/Registry/Application.php:105
>>>
>>> I got a message that a db schema (nag) needed updating.  When I tried
>>> to update this, I get more dire warnings about the Content_Tagger
>>> class.
>>>
>>> Per your advise yesterday, my install_dev.conf has:
>>>
>>> // The list of apps to create symlinks for
>>> $apps = array('horde', 'imp', 'kronolith', 'turba', 'ingo', 'mnemo',
>>> 'nag', 'passwd', 'Content');
>>>
>>> Is this correct?
>>>
>>> changing this to "content" doesn't change thngs  (I reran php
>>> ./frameworks/bin/install_dev).
>>>
>>>
>>> It is in the webroot:
>>> mail:/usr/share/git-horde5# ls ../horde-beta/
>>> total 16K
>>> drwxr-xr-x   4 root root 4.0K Mar 12 08:20 ./
>>> drwxr-xr-x 153 root root 4.0K Mar  8 08:31 ../
>>> lrwxrwxrwx   1 root root   33 Mar 12 08:20 admin ->
>>> /usr/share/git-horde5/horde/admin
>>> lrwxrwxrwx   1 root root   31 Mar 12 08:20 bin ->
>>> /usr/share/git-horde5/horde/bin
>>> lrwxrwxrwx   1 root root   34 Mar 12 08:20 config ->
>>> /usr/share/git-horde5/horde/config
>>> lrwxrwxrwx   1 root root   29 Mar 12 08:20 content ->
>>> /usr/share/git-horde5/content
>>> etc..
>>>
>>> The only thing I can find on Google is really old -
>>> http://horde.690.n7.nabble.com/The-Content-Tagger-class-could-not-be-foundtp51215p51217.html
>>>
>>> But I do have it in registry.php (as a later post on a different
>>> thread by Mike R confirms).
>
>>> I can solve the nag db update by doing
>>> mail:/usr/share/git-horde5# horde/bin/horde-db-migrate nag up
>>> [  INFO  ] Migrating DB up.
>>> [  INFO  ] Current nag schema version: 11
>>> Migrating to NagFixSmartlists (12)
>>>
>>> At this point, imp works, notes works, turba works, passwd works,
>>> kronolith has the above error
>>> and nag has this error:
>
>> I realised today that this is error is preventing the calendar from
>> syncing across devices, so I would appreciate some help getting it
>> fixed if at all possible.

>>> I provide this information because I think you'll think it's related.
>>>
>>> Currently my registery.local.php has:
>>>  72 $app_fileroot = '/usr/share/horde-beta';
>>>  73 $app_webroot = '..';
>
> As  Michael  M.  already  pointed out this is NOT correct. The webroot
> must start wish at least a slash. And .. in a webroot makes no sense.

This maybe true - however, if I use a slash, then I no longer get app
links in the teal/green header bar at the top that work.  As I
indicated below, if I change this to a / or anything starting with a /
I get links in the form of https://imp or https://kronolith - for the
avoidance of doubt, you'll notice that this is not the format I have
posted above.

>>> This is the only way I can get the links to be formatted as
>>> https://webmail.example.net/imp etc.
>>>
>>> If I change it to
>>>
>>>  72 $app_fileroot = '/usr/share/horde-beta';
>>>  73 $app_webroot = '/';
>>>
>>> then I end up with links like https://imp etc. which are unclickable
>>> (manually entering https://webmail.example.net/imp works just fine.
>>>
>>> Perhaps this is an issue with the apache server (2.2.16) and the rewriting mod?
>
> No. I'm using the same configuration on RHEL6. Works just fine.

One variable eliminated then, thanks.

>>> I don't think the errors are related to the webroot variable because I
>>> get the same error for those two applications regardless if it is ..
>>> or / - but it wouldn't be the first time I've been wrong :)
>
> Probably  not,  but  you  have  to have a correct configuration FIRST to start
> debugging   other  problems.
>
>>> Now that I have git updating on a daily basis, it would be super cool
>>> to get this working (I'm loving all the commits to passwd - that can
>>> only be a good thing, right?).
>
> Horde  is  a  complex  application. Yet alone Horde on git. I don't know
> what  was the main reason to switch from PEAR to git installation, and
> others  would  probably argue,  but  I would start with simple server wide PEAR
> installation  first. Probably without a complicated symlinking on Apache
> side.

Since you ask, the motivation was as follows.  This is a staging
implementation.  Previously staging was using a separate pear
installation so as not to interfere with the system one (which Horde4
in production uses).  However, I had significant problems upgrading
and additionally, I wanted to test the passwd module only available in
git.  Lastly, it seems that learning git would have some ancillary
benefits, so the decision was made to remove the separate pear install
H5 version and use git for staging instead.

I'm well aware that that problem is something to do with the code in
the registery and because horde is a complex application, this is why
I need to post to the list to get it working when things do not go as
planned.  I followed the advice to make the webroot  a / and that
borks the installation in ways that make it unworkable.  If there's
something I can change in the code/registery to have links like
https://webmail.example.net/kronolith then I would gladly do so - but
I must ask here what that step is.

In my production installation (and in the previous staging
implementation - with the separate pear install), the directory
structure was..

/usr/share/horde4
usr/share/horde4/config
usr/share/horde4/imp
usr/share/horde4/kronotlith
usr/share/horde4/kronolith/config
etc (this is an illustrative listing only obviously).

In the current git installation, the directory structure looks like:

usr/share/git-horde5/
usr/share/git-horde5/horde
usr/share/git-horde5/horde/config
usr/share/git-horde5/kronolith
usr/share/git-horde5/kronolith/config
etc.

Even if the app_fileroot contains symlinks that would replicate the
horde4 structure.

I'm not suggesting anything is wrong with the code.  I'm well aware
that it's something to do with my configuration/system, but following
the instructions I have an unworkable system.  If I can resolve this
issue then even if I can't contribute patches, I can possibly help
others who make the same mistake.

Simon


More information about the horde mailing list