• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FluidTYPO3 / flux / 2466
93%

Build:
DEFAULT BRANCH: development
Ran 28 Dec 2016 04:34PM UTC
Jobs 2
Files 176
Run time 13s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
2466

push

travis-ci

mneuhaus
[FEATURE] Simplify Provider pattern and shipped Providers (#1254)

This change is both a refactoring and feature addition.

It refactors all Flux record manipulation away from the shipped ContentProvider into the DataHandler hook listener. This refactoring then means the following:

* ContentProvider is no longer needed, since the only
   purpose it has was to provide these record manipulation
   hook methods (and was used for convenience as parent
   class in fluidcontent, probably others).
* Method call tracking on Providers is no longer needed,
   since the methods that needed to be protected, no longer
   exist in Providers. The parent AbstractProvider no longer
   contains any logic in methods which get called multiple
   times from the DataHandler, so there is no need to avoid
   calling them.

Then, because the shipped ContentProvider is dropped, a substitute solution must exist which lets you configure a standard Provider with the attributes ContentProvider
previously provided as defaults. This means a change to the ProviderInterface to allow setting controller name and action name via API, which in turn allows a default Provider
to be used as a "ContentProvider". These methods also mean that it is possible to "tell" a Provider which controller name it logically relates to - where by default, the class
name of the Provider instance would be scanned to extract for example "Content" from the class name "ContentProvider" and use this as controller name.

Essentially: it is now possible to configure some previously internal-only, override-only behaviors using public API.

Unfortunately though, this *is* a breaking change for any extension subclassing ContentProvider. Migration is however very easy: simply override the table- and field name properties in your Provider so it targets field "tt_content.pi_flexform". If you used the Provider for a plugin (e.g. not CType) you may also need to override the "listType" value (but chan... (continued)

59 of 59 new or added lines in 5 files covered. (100.0%)

6186 of 6722 relevant lines covered (92.03%)

25.9 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
100.0
Classes/Provider/AbstractProvider.php
17
100.0
Classes/Backend/TceMain.php

Uncovered Existing Lines

Lines Coverage ∆ File
1
100.0
Classes/Service/FluxService.php
2
100.0
Classes/Utility/PathUtility.php
18
100.0
Classes/Provider/AbstractProvider.php
Jobs
ID Job ID Ran Files Coverage
1 2466.1 (TYPO3_VERSION=">=7.6.13, <7.6.99") 28 Dec 2016 04:32PM UTC 0
92.01
Travis Job 2466.1
2 2466.2 (TYPO3_VERSION=">=7.6.13, <7.6.99") 28 Dec 2016 04:33PM UTC 0
92.03
Travis Job 2466.2
Source Files on build 2466
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #2466
  • ec44073b on github
  • Prev Build on development (#2464)
  • Next Build on development (#2470)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc