Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

refactor ArchiveProcessor & Plugins Archiver mechanism #4278

Closed
mattab opened this Issue · 16 comments

1 participant

Matthieu Aubry
Matthieu Aubry
Owner

To prepare for #4124 and #4139 and some other features (MultiSites) refactoring of core ArchiveProcessor and Archiver classes is required.

In particular:

  • rename for consistency
  • remove need for ArchiveProcessor.Day and .Period hooks
  • rename the concept of "Period" archiving to be more generic of "Aggregate Multiple Reports"
Matthieu Aubry
Owner

In e8bec08: Refs #4278 Remove Archiver hooks and the classes Archiver will be automatically detected.

Matthieu Aubry
Owner

In 670b24f: Refs #4278 Remove shouldArchive, make getMinTimeArchiveProcessed protected

Matthieu Aubry
Owner

In 09b56ba: Refs #4278 make isArchiveTemporary protected

Matthieu Aubry
Owner

In 8a6fad6: Refs #4278 Simplifying ArchiveProcessor: moving internal logic to ArchiveProcessor\Loader
ArchiveProcessor becomes a helper class easier to understand for plugin developers

Matthieu Aubry
Owner

In 74b8175: Refs #4278 Simplifying ArchiveProcessor

Matthieu Aubry
Owner

In 16fb491: Refs #4278 Cleanup these Parameters objects

Matthieu Aubry
Owner

In f3fcfa6: Refs #4278 Creating a new class PluginsArchiver to refactor logic out of ArchiveProcessor\Loader

Matthieu Aubry
Owner

In 25e7a79: Refs #4278 breaking down functions

Matthieu Aubry
Owner

In 74226f6: Refs #4278

  • Moving Core visit metrics archiving logic to PluginsArchiver which is consistent
  • Cutting down code that should be unused after refactoring
Matthieu Aubry
Owner

In 8d5b609: Refs #4278 Breaking the if statements

Matthieu Aubry
Owner

In ffce42a: Refs #4278 I broke the build, don't know why yet

Matthieu Aubry
Owner

In f197294: Refs #4278 Rewriting aggregateNumericMetrics() to use DataTable aggregation only (code reuse)

Matthieu Aubry
Owner

In 0518d45: Refs #4278 to process unique visitors, isSingleSite() is required (no unique visitors cross-sites for now)

Matthieu Aubry
Owner

In c6d2177: refs #4278 Renames + New hook to let plugins modify idSites to archive

Matthieu Aubry
Owner

In 9471ce3: Refs #4278 Removing transformMetadata()

Matthieu Aubry
Owner

This is done. I'm happy with the result of ArchiveProcessor\Loader \PluginsArchiver and main ArchiveProcessor classes. They make sense to me at least, which was not the case before I started on this quest ;)

We will revisit work on archiving as part of 2.1 and these tickets:

  • #4124 Display a custom date-based dataset in a simple Piwik Plugin
  • #4139 New Plugin: Fetch, Archive and Display Custom metrics in Piwik

we created docs for ArchiveProcessor:

Matthieu Aubry mattab added this to the 2.0 - Piwik 2.0 milestone
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Remove Archiver hooks and the classes Archiver will be aut…
…omatically detected.
e8bec08
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 make isArchiveTemporary protected 09b56ba
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Simplifying ArchiveProcessor: moving internal logic to Arc…
…hiveProcessor\Loader

ArchiveProcessor becomes a helper class easier to understand for plugin developers
8a6fad6
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Simplifying ArchiveProcessor 74b8175
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Cleanup these Parameters objects 16fb491
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Creating a new class PluginsArchiver to refactor logic out…
… of ArchiveProcessor\Loader
f3fcfa6
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 breaking down functions 25e7a79
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278
 * Moving Core visit metrics archiving logic to PluginsArchiver which is consistent
 * Cutting down code that should be unused after refactoring
74226f6
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Breaking the if statements 8d5b609
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 I broke the build, don't know why yet ffce42a
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Rewriting aggregateNumericMetrics() to use DataTable aggre…
…gation only (code reuse)
f197294
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 to process unique visitors, isSingleSite() is required (no…
… unique visitors cross-sites for now)
0518d45
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refactor const to highlight their coupling #4278 884e22d
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4278 Removing transformMetadata() 9471ce3
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.