| #
2cda0166 |
| 17-Jun-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Indexer: signal nothing-to-do via boolean return instead of void
The TaskRunner runs indexing, sitemap, digest and changelog-trim tasks in sequence and relies on each task returning false when it di
Indexer: signal nothing-to-do via boolean return instead of void
The TaskRunner runs indexing, sitemap, digest and changelog-trim tasks in sequence and relies on each task returning false when it did no work so the next one is tried. The indexer rewrite changed addPage(), deletePage() and renamePage() to return void and only abort via exceptions, breaking that contract: indexing always looked like work was done and the following tasks never ran.
Restore the boolean return on these three methods (true when work was done, false when there was nothing to do) while still using exceptions to 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 and idx_addPage() forward the boolean, mapping SearchExceptions back to the historic error-message/false returns. LegacyIndexer::renamePage() restores the 'page is not in index' message that the move plugin expects.
Closes #4661
show more ...
|
| #
8788dbbd |
| 06-May-2026 |
splitbrain <86426+splitbrain@users.noreply.github.com> |
Rector and PHPCS fixes
|
| #
83b3accc |
| 06-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: rewrite Indexer to use Collection classes
Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex) with the new Collection-based architecture. The Indexer is now a thin sta
SearchIndex: rewrite Indexer to use Collection classes
Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex) with the new Collection-based architecture. The Indexer is now a thin stateless orchestrator that delegates all index work to collections.
Key changes: - Indexer no longer extends AbstractIndex; page name passed to methods - addPage/deletePage/clear use PageTitleCollection, PageFulltextCollection, and PageMetaCollection - New PageMetaCollection replaces separate ReferencesCollection and MediaCollection with a single class that handles arbitrary metadata keys dynamically - Shared writable FileIndex('page') passed to all collections - Logger callback replaces verbose parameter - Methods return void instead of bool - Index classes implement IteratorAggregate for clean data access - Indexer tests consolidated into namespaced IndexerTest.php - All callers updated to new stateless API
show more ...
|
| #
9df9f0c8 |
| 27-Oct-2025 |
Andreas Gohr <gohr@cosmocode.de> |
Merge branch 'master' into searchIndex-finish
There were a lot of conflicts to resolve. Not all of them may have been resolved correctly...
* master: (1094 commits) Login accessibility improvemen
Merge branch 'master' into searchIndex-finish
There were a lot of conflicts to resolve. Not all of them may have been resolved correctly...
* master: (1094 commits) Login accessibility improvements Translation update (it) translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update translation update Remove HTML from strings based on title and tagline SECURITY: fix XSS vulnerability. fixes #4512 translation update Fix typos in usermanager English strings Replace hardcoded message by localized string set DOKU_INC in rector ...
show more ...
|
| #
28a6ee9a |
| 07-Oct-2023 |
Klap-in <Klap-in@users.noreply.github.com> |
Rector and PHPCS fixes
|
| #
90fb952c |
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
code style: operator spacing
|
| #
26dfc232 |
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
Rector to rename print to echo calls
|
| #
7d34963b |
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
coding style: control flow line breaks
|
| #
177d6836 |
| 31-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
coding style: control flow whitespaces
|
| #
24870174 |
| 29-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
Apply rector fixes to the rest of inc
|
| #
3df1553d |
| 29-Nov-2021 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
use Logger::debug() instead of deprecated dbglog()
|
| #
1d11f1d3 |
| 06-Nov-2021 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
ChangeLogTrait
- move ChangeLog low level methods into trait - static ChangeLog::parseLogLine() replaces parseChangeLogLine() - new ChangeLog::buildLogLine()
|
| #
72ebc99b |
| 26-Sep-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
dbglog() for SearchException
|
| #
a32da6dd |
| 25-Sep-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
change Index objects to non-singleton
Indexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrict
change Index objects to non-singleton
Indexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrictions.
show more ...
|
| #
15f699ac |
| 10-Sep-2020 |
Andreas Gohr <andi@splitbrain.org> |
replace user errors with exceptions
Exceptions are better to handle than errors. What I don't like is that we now have an unfortunate mix of return code and exception signalling for errors. Some met
replace user errors with exceptions
Exceptions are better to handle than errors. What I don't like is that we now have an unfortunate mix of return code and exception signalling for errors. Some methods still return false for errors while others now throw exceptions (always returning true otherwise).
show more ...
|
| #
e36bcee7 |
| 25-May-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
Merge branch 'master' into Refactor_Fulltext
|
| #
c1ec88ce |
| 01-May-2020 |
Andreas Gohr <andi@splitbrain.org> |
remove calls to deprecated methods and classes
|
| #
4027a91a |
| 30-Jan-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
use Indexer.php instead of PageIndex.php
|
| #
9a025b52 |
| 30-Jan-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
dispatch indexing request to addPage() or deletePage()
|
| #
3f4a342b |
| 14-Jan-2020 |
Satoshi Sahara <sahara.satoshi@gmail.com> |
rewrite deprecated idx_* functions
|
| #
820934dc |
| 19-May-2019 |
Andreas Gohr <andi@splitbrain.org> |
Merge branch 'psr2-pluginredux' into psr2
* psr2-pluginredux: Minor optimizations in PluginController Snake to Camel case fixes inn PluginController Fix snake->camel case, doc blocks minor c
Merge branch 'psr2-pluginredux' into psr2
* psr2-pluginredux: Minor optimizations in PluginController Snake to Camel case fixes inn PluginController Fix snake->camel case, doc blocks minor code simplification snake to camel case fixes in EventHandler Move list of plugin types to plugin controller constant Avoid accessing the evet system before it's intialized Avoid processing events before the Event System is intiialized isEnabled instead of isDisabled removed get_directory() method from PluginController fix type hints moved plugin controller to Extension namespace removed deleted file from autoloader deprecated trigger_event() in favor of a static method on Event First go at moving the plugin classes into their own namespace
show more ...
|
| #
704a815f |
| 22-Apr-2019 |
Michael Große <mic.grosse@googlemail.com> |
♻️ Split up ChangesSubscriptionSender into multiple classes
This should better adhere to SRP and simplify things.
|
| #
75d66495 |
| 20-Apr-2019 |
Michael Große <mic.grosse@googlemail.com> |
♻️ Don't use deprecated subscription methods
|
| #
cbb44eab |
| 15-Jun-2018 |
Andreas Gohr <andi@splitbrain.org> |
deprecated trigger_event() in favor of a static method on Event
|
| #
e1d9dcc8 |
| 15-Jun-2018 |
Andreas Gohr <andi@splitbrain.org> |
First go at moving the plugin classes into their own namespace
|