[TYPO3-ect] Taxonomies / categories II

Jochen Rau j.rau at web.de
Thu Oct 18 00:15:53 CEST 2007


Hi Mads,

thanks four your response.

>> and link the title (and its synonyms) of a category to a list of categories with 
>> their descriptions.
> 
> 
> Linking a category to a list of categories... uhm.. not sure I 
> understand...
Let's assume the title of a category is "Dog". Now, if the word "Dog" 
appears in the content, it will be auto-linked to a FE-Plugin that 
renders a list of categories like

----------------------
ANIMALS

   DOG
   A dog is an animal with four legs that barks.

   PIG
   A pig is ring-tailed animal.

PROFESSIONS

   BUTCHER
   A Butcher ... (no, no, not what you think ;-) )
--------------------------


> Uh...You are talking about categories and terms as two different things. 
> Why?  Aren't they the same?
No, not necessarily. In my opinion, a term is the "leaf" where the 
categories and subcategories are the branches.

If there is a term (=one or more words, a phrase or simply a bunch of 
chars) in the content like "collie" it must not necessarily be defined 
as a category or subcategory. But it can be assigned to a (sub)category 
(like "DOG").

I would prefer a clear separation of "terms" and their categorization, 
because they have different characteristics and therefore should be 
represented in different tables.

> I'm trying to grasp this... how should the autotagging be done? When the 
> page get's displayed in the frontend (using a hook in the TSFE) or when 
> a content element is created or updated (hook in tcemain)? Or perhaps by 
> using a cron-job?
The parser or tx_contagged is triggerd by
"tt_content.text.20.postUserFunc = tx_contagged->main"
You can also hook in
"tslib/class.tslib_fe.php" ("contentPostProc-all") but this makes it 
impossible to assing the term to a cObj or pid.

> I'd also prefer if this could be implemented on a more general level - 
> so that it will be possible to autotag records from arbitrary tables and 
> define special rules and relations between them and other tables as in 
> the case with pages->tt_content. This would make sense for tt_news and 
> probably also other tables.
> 
> I'm thinking of something like this :
> 
> $TCA[tablename][ctrl][EXT][contagged]=array(
>     allowAutoTagging => 1,   
>     searchFields => title,description,keywords,blablabla,
>     parentTables => tx_mytable,
> );
> 
> (is this too esoteric?)
No, no ;-) It seems to be a clean way to configure auto-tagging at a 
central point. Do you have implemented a parser for the search yet?

--
By now tx_contagged works "one-way":

DATABASE->PARSER->FE

In the future it will be possible to parse the content also this way

DATABASE->PARSER->DATABASE

by adding a persistance layer. This will work like a 
"search&replace"-function for database entries. But this behaviour has 
some disadvantages. Assume that you would like to parse a text 
containing the term

"U.S.A"

and you want to auto-tag and auto-link this to become

"<acronym title="United States of America"><a 
href="glossary_page">U.S.A</a></arconym>

You can do that with tx_contagged by now. But if this is written to the 
database, it would be difficult to change it, if you decide to get <dfn 
title="A country in North America">U.S.A</dfn> (I don't want to write 
the RegEx for this ;-) )

> My vision is a site with just one page and many categories. The first 
> steps has been taken in EXT:categories/lib/class.tx_categories_menu.php
+1
But why do you need a page anymore? The content objects could be 
self-organizing driven by their categorization. Then a "page" would only 
be necessary to talk about what's happening in the frontend.

Have you seen Irene Höppners Podcast "Casestory: Navigating by other 
stars" about the site www.fh-mainz.de ? It shows a kind of 
categorization and the smallest entity is an "Article". Pages are not 
needed anymore.

Greetings form Tübingen
Jochen


More information about the TYPO3-team-extension-coordination mailing list