<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in LegacyIndexer.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>ebaa848199c71ea8546897e44a6ac97ab143dedd - fix(search): restore histogram() as a Collection method with a BC shim</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/LegacyIndexer.php#ebaa848199c71ea8546897e44a6ac97ab143dedd</link>
        <description>fix(search): restore histogram() as a Collection method with a BC shimThe indexer rework dropped Doku_Indexer::histogram(), which plugins reachthrough idx_get_indexer()-&gt;histogram() to build tag clouds (e.g. tagfiltervia the &apos;subject&apos; metadata index). Calling it fatalled throughLegacyIndexer::__call as an undefined method.Add histogram() to AbstractCollection: it sums each token&apos;s frequency acrossall entities and returns them ordered by frequency, filtered by min/max/minlen,handling both length-split (fulltext) and single-group (metadata) collections.DirectCollection overrides it for the 1:1 title case (count shared values).LegacyIndexer::histogram() is a deprecated shim dispatching by $key to thematching collection.

            List of files:
            /dokuwiki/inc/Search/LegacyIndexer.php</description>
        <pubDate>Sun, 05 Jul 2026 17:22:41 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>2cda016644e923dbda996c52bedee2113ba6d653 - Indexer: signal nothing-to-do via boolean return instead of void</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/LegacyIndexer.php#2cda016644e923dbda996c52bedee2113ba6d653</link>
        <description>Indexer: signal nothing-to-do via boolean return instead of voidThe TaskRunner runs indexing, sitemap, digest and changelog-trim tasksin sequence and relies on each task returning false when it did no workso the next one is tried. The indexer rewrite changed addPage(),deletePage() and renamePage() to return void and only abort viaexceptions, breaking that contract: indexing always looked like work wasdone and the following tasks never ran.Restore the boolean return on these three methods (true when work wasdone, false when there was nothing to do) while still using exceptionsto signal errors, and propagate it through TaskRunner::runIndexer().runIndexer() also no longer forces reindexing on every call.The legacy compatibility layer is adjusted to match: LegacyIndexer andidx_addPage() forward the boolean, mapping SearchExceptions back to thehistoric error-message/false returns. LegacyIndexer::renamePage()restores the &apos;page is not in index&apos; message that the move plugin expects.Closes #4661

            List of files:
            /dokuwiki/inc/Search/LegacyIndexer.php</description>
        <pubDate>Wed, 17 Jun 2026 09:43:26 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>6e39b4e379a661a3abd765df49fa679d2119741c - refactor(search): extract LegacyIndexer wrapper for BC contract</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/LegacyIndexer.php#6e39b4e379a661a3abd765df49fa679d2119741c</link>
        <description>refactor(search): extract LegacyIndexer wrapper for BC contractMove the deprecated helpers (lookupKey, addMetaKeys, renameMetaValue,getPID, lookup) off Indexer and into a new LegacyIndexer wrapper. Thewrapper also restores the Doku_Indexer return contract (true|string)around addPage/deletePage/renamePage/clear so plugins using the legacyAPI keep working without try/catch.idx_get_indexer() now returns the LegacyIndexer; getPages stays onIndexer because plugins call it directly on Indexer instances.fixes #4645

            List of files:
            /dokuwiki/inc/Search/LegacyIndexer.php</description>
        <pubDate>Thu, 28 May 2026 19:23:41 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
</channel>
</rss>
