[root]/Classes/Cache
Backend
(0 files, 0 lines)
Controller
(0 files, 0 lines)
Exception
(0 files, 0 lines)
Frontend
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 143 (100.0%) | 1496 (100.0%) | 10.4 |
| robert | 39 (27.3%) | 922 (61.6%) | 23.6 |
| k-fish | 104 (72.7%) | 574 (38.4%) | 5.5 |
Removed everything in trunk after move to git.
0 lines of code changed in 14 files:
[-TASK] FLOW3 (Cache): Removed the constant TAG_PACKAGES_CODE, it is never used (as pointed out by Christian Kuhn).
0 lines of code changed in 1 file:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 3 files:
[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.
3 lines of code changed in 1 file:
[~TASK] FLOW3 (Documentation): Updated the Coding Guidelines: removed inconsistent exceptions from the general class naming rules. Also added the rule that names of aspect classes must end with "Aspect". Relates to #5658
[~TASK] Global: Renamed many classes and interfaces in order to be consistent with FLOW3's naming rules. A migration script to update third-party applications will follow soon. Resolves #5658
305 lines of code changed in 2 files:
[+API] FLOW3 (AOP): Added the JoinPoint class to the supported API. Also added a new method "hasException()" to the JoinPoint implementation. Resolves #5480
[~TASK] FLOW3 (Cache): Set the log level of flushCachesByTag to DEBUG
[~FEATURE] FLOW3 (Security): Implemented a logging aspect which currently logs all relevant actions of the authentication mechanism. The advices are currently active regardless of the configured logging threshold. Addresses #5481
[~TASK] FLOW3 (Security): Removed getSecurityContext() from the Authentication Manager Interface ? it was not used anywhere.
[~CONFIGURATION] FLOW3 (Security): Removed the requestPatterns configuration from the default security configuration. This configuration was only an example and got in the way if one wanted to reuse the DefaultProvider configuration for other login controllers.
[~TASK] Fluid (ViewHelpers): Corrected some inline documentation in the FormViewHelper
1 lines of code changed in 1 file:
[~TASK] FLOW3: Added @api annotations on class level and adjusted CGL to explain class-level @api handling.
3 lines of code changed in 3 files:
[~TASK] FLOW3: Fixed method parameter documentation found by new reflection service checks.
[+FEATURE] FLOW3 (Persistence): added removeAll() to base repository, resolves #3852.
2 lines of code changed in 2 files:
[+TASK] FLOW3: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Fluid: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Kickstart: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHP6: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHPUnit: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Testing: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Welcome: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] YAML: Removed file level docblocks and @package/@subpackage annotations.
0 lines of code changed in 3 files:
[TASK] FLOW3: moved from @internal to @api, resolves #3883
6 lines of code changed in 2 files:
* FLOW3: Marked all methods as @internal except those which are considered part of the official API. Resolves #1280
* TYPO3CR: Fixed two tests of the Storage\PDO\Search testcase.
7 lines of code changed in 2 files:
FLOW3:
* added lifetime parameter to set method in cache frontends, resolves #3370
4 lines of code changed in 1 file:
!!! Globally renamed all class files to the new shorter version. Resolves #2524
FLOW3: (Resource) Adapted the class loader and other related parts of FLOW3 to the new class filename convention
FLOW3: Moved the FLOW3 bootstrap into the F3\FLOW3 namepace
17 lines of code changed in 3 files:
FLOW3:
* moved and renamed cache frontend classes and interfaces, refs #2515
6 lines of code changed in 2 files:
FLOW3 (Cache):
* removed wildcard support (from documentation) in getByTag() and findIdentifierByTag()
* moved some methods, constants and checks to better-fitting places
fixes #1844, refs #1843
106 lines of code changed in 4 files:
FLOW3:
* moved and renamed some cache backend classes and interfaces, refs #2515
Widget:
* adjusted one reference to Cache\Backend\File to the new name
13 lines of code changed in 4 files:
FLOW3 (Memcached cache backend, refs #1844):
* now handles values larger than 1 MB and flush()es only the current cache's entries
* uses SystemLogger for some operations
* accepts "tcp://" prefix for hostnames and uses default port from php.ini if none given
* fixed handling of flags given to set(), enables compression
* memcache keys longer then 250 character raise an exception now instead of being silently trunacted
FLOW3:
* Documentation nitpicking cleanup to Cache\BackendInterface
6 lines of code changed in 1 file:
FLOW3:
* some tiny fixes to code and documentation
1 lines of code changed in 1 file:
* FLOW3: (AOP) Implemented a completely new initialization method for the AOP framework which now supports some intelligent caching mechanism: If class code changes somewhere, the affected proxy classes are rebuilt automatically, still valid proxy classes are untouched. If aspects change (or are added / removed) all proxy classes are rebuilt. All based on the new File Monitor feature. Resolves #2305
* FLOW3: Fixed configuration to assure that the file monitoring is really disabled in Production context.
1 lines of code changed in 1 file:
FLOW3:
* fixed license name in @license annotation, fixes #2454
9 lines of code changed in 9 files:
This is a big commit (sorry - not exactly Continuous Integration ...)
While all seems to be fine and stable, many features introduced in this commit are not complete. Especially AOP Proxy Caching, Logging (API), the System Logger and the Signal Slots mechanism need some further work.
* TYPO3 Distribution: Added a Log directory
* TYPO3 Distribution: Disabled security (for now) because some thing need to be refactored and tested again after this commit
* FLOW3: Further cleanup of the bootstrap. Addresses #2117
* FLOW3: Removed manual registration of objects from all classes and created an Objects.yaml configuration instead which declares the objects and configures their dependencies. This manual registration is necessary for objects such as the AOP Framework because at the time it is created, the Object Manager is not yet fully initialized.
* FLOW3: (AOP) Refactored and cleaned up the AOP initialization process. Resolves #441.
* FLOW3: (AOP) Completely rewrote all unit tests and added many new ones. Now no AOP test relies on the TestPackage anymore. Addresses #1868
* FLOW3: (AOP) Improved the automatic documentation rendering of the Proxy Class Builder. Resolves #35.
* FLOW3: (AOP) Externalized the creation of the AOP proxy and instead use the Caches.yaml configuration.
* FLOW3: (AOP) Removed all use of PHP's Reflection classes and replaced them with calls to the Reflection Service
* FLOW3: (AOP) Converted all classes involved in the proxy building process from static into dynamic calls
* FLOW3: (Cache) Introduced an (semi) automatic cache registration feature which assures that all necessary caches are registered when file changes are detected. In order to register a cache, just define it in the new "Caches.yaml" configuration file. See the FLOW3 package for examples. Resolves #1787
* FLOW3: (Cache) Wrote more tests for the File Backend. Resolves #1843
* FLOW3: (Configuration) Improved the performance of the special configuration management
* FLOW3: (Configuration) Added support for Caches.* configuration
* FLOW3: (Error) The exception handlers now log uncaught exceptions to the System Logger
* FLOW3: (Monitor) Introduced a new sub package "Monitor" which provides a mechanism for automatic detection of changes on monitored files. If monitored files or directories (the latter not yet implemented) change, a signal is emitted which can be catched by a slot taking further action. Currently all cache entries tagged with a class tag are flushed automatically if a class file changes.
* FLOW3: (Log) Introduced a special System Logger which is created automatically and can be injected if needed. Although it works quite well already, the general concept of injecting the logger and the LoggerInterface itself is not final! Watch for log files in the Data/Log/ directory when running TYPO3 / FLOW3 in development context.
* FLOW3: (Log) Introduced a Logger Factory for use in Objects configuration. Warning: the API might still change
* FLOW3: (Log) Made the SEVERITY constants conform to RFC3164 and PHP's LOG_* constants
* FLOW3: (Object) Refactored and detached more unit tests from the TestPackage. Addresses #2123
* FLOW3: (Object) Implemented an early configuration parse step which allows for configuring objects in the Objects.yaml file of the FLOW3 package even before the Package Manager is initialized.
* FLOW3: (Object) Introduced a lifecycle shutdown method (default is "shutdownObject") which can be used as a clean alternative to __destruct().
* FLOW3: (Reflection) Added new API methods: isClassReflected, getInterfaceNamesImplementedByClass, isMethodFinal, isMethodStatic, isMethodPublic, isMethodProtected, isMethodPrivate
* FLOW3: (Reflection) getMethods() now returns information about the method visibility
* FLOW3: (Security) Refactored the ACL Policy Service - might still need some final work
* FLOW3: (SignalSlot) Fixed some small issues in the Dispatcher and implemented support for System Logger
* FLOW3: (Utility) Fixed a bug in Arrays::getValueByPath
* Testing: Implemented a method buildAccessibleProxy() in the BaseTestCase which allows for conveniently calling protected methods of a class. See FLOW3 unit tests for examples.
* TestPackage: Removed many classes which became obsolete due to the AOP tests refactoring. refs #1868
104 lines of code changed in 5 files:
FLOW3, Lucene, PHP6, PHPCR, Smarty, Testing, TYPO3, TYPO3CR, TypoScript:
* fixed broken @version $Id$ annotations that got hosed during new namespace refactoring. Sorry!
7 lines of code changed in 7 files:
FLOW3:
* changed license to LGPL v3 or later
126 lines of code changed in 9 files:
* FLOW3: (Cache) Introduced two new interfaces - for Cache frontends and backends
* FLOW3: (Cache) Fixed an issue with the File Backend: initializeObject() overrode the cacheDirectory setting even if it has been set through setter injection
* FLOW3: (Object) The property / argument type "reference" has been renamed to "object" (see also updated documentation)
* FLOW3: (Object) The object configuration option "constructorArguments" has been renamed to "arguments"
* FLOW3: (Object) In the code "Constructor Arguments" are now referred to simply as "Arguments"
* FLOW3: (Object) Implemented support for custom factories. Resolves #2110
* FLOW3: (Object) Implemented support for specifying arguments / properties for objects which are injected. Resolves #2109
* FLOW3: (Resource) Added the file_exists() check again to the Class Loader. Ommitting the check resulted in hard-to-track error messages
* FLOW3: (Documentation) Updated the documentation. Still missing: custom factories and syntax of feature #2109
* FLOW3: (TestPackage) Adopted and cleaned up the Object related tests
271 lines of code changed in 5 files:
* FLOW3: Changed the initialization order in the bootstrap: SignalSlot is now intialized before Cache so that Cache can emit signals. However Cache classes cannot be proxied because AOP is not available then - therefore the Signal Dispatcher must be called manually.
* FLOW3: (Cache) Implemented a few signals for the File Backend.
* FLOW3: (Security) Had to remove the destructor which accesses the ACL cache because the Cache Framework is not in a defined state during destruction. This code needs to be moved to elsewhere (no destructor)
20 lines of code changed in 1 file:
!!! 5.3.0alpha3 namespaces refactoring:
* changed namespace delimiter from :: to \
* all class references in namespaced code prepended by \
PHPUnit:
* adapted mock object handling to the new namespaces syntax
FLOW3:
* PropertyReflection now uses setAccessible() instead of array cast to access protected properties
PHPCR:
* added a missing interface already used for type hints
48 lines of code changed in 7 files:
Note: Although this commit contains the new File/Class Alteration Monitoring which is supposed to speed up FLOW3, a lot of speed optimizations are still missing and will follow during the next days.
* FLOW3: Started cleaning up the bootstrap. Addresses #2117
* FLOW3: Implemented a first version of a Class Alteration Monitoring which automatically flushes cache entries based on class reflection. Addresses #2284
* FLOW3: (Reflection) Refactored the Reflection Service so that information for one class can be flushed / rebuild individually instead of having to rebuild the whole reflection information. Resolves #2284
* FLOW3: (Cache) Fixed the *byTag() methods in the File Backend: If cache entry identifiers contained an underscore "_", the findByTag etc. didn't work any more. Now using "-" as an internal separator.
* FLOW3: (Utility) The temporary directory base is now set via a setter method instead of passing the whole FLOW3 settings to the constructor
* Testing: Adjusted the test runner to reflect the new bootstrap initialization methods
19 lines of code changed in 2 files:
* FLOW3: (Cache) Fixed a bug in the cache backends which accepted invalid tags in the flushByTag() method. Resolves #2158
2 lines of code changed in 1 file:
* FLOW3: (Component) Renamed "component" to "object" - everywhere. That means we now have an Object Manager instead of a Component Manager, an Object Factory etc. Resolves #2119
Globally adjusted all code for the above change.
19 lines of code changed in 1 file:
FLOW3:
* refactored cache frontend and backend API: save() is now set(), load() is now get(), findByTag() is now loadByTag()
Related to http://bugs.typo3.org/view.php?id=9747
22 lines of code changed in 4 files:
* FLOW3: (Component) Renamed the method Component::Factory->getComponent() to Component::Factory->create(). Resolves #1846
* FLOW3: (Component) Component::Factory->create() will now throw an exception on trying to create a component of scope != prototype
* FLOW3: (Component) The Component::Manager->getComponent() method can still be used as a last resort to retrieve components of any scope. However dependency injection for singletons and the component factory for prototype should always be the first choice!
Refactored all packages of the TYPO3 distribution to match the above changes.
Note: The test "F3::TYPO3CR::NodeTest::setPropertySetsValue" currently fails on my machine with the following message:
Error in setPropertySetsValue with data set #34 Detail
TYPO3CR/Classes/F3_TYPO3CR_Node.php:577
Unable to convert value of type string to Name: Namespace prefix is invalid
2 lines of code changed in 1 file:
FLOW3:
* some cleanup in Cache component, refs #1843, refs #1844
* added findByTag() to cache frontends, fixes #1199
49 lines of code changed in 4 files:
FLOW3:
* the file cache backend now checks the lifetime of entries, fixes #1200
* added collectGarbage() to cache front- and backends, needs to be implemented (touches #1785)
24 lines of code changed in 2 files:
FLOW3:
* added new StringCache that doesn't serialize() so it's faster for caching simple strings
* the resource publisher now tracks package mirror status with the StringCache
* fixed some documentation comments in VariableCache
90 lines of code changed in 2 files:
Globally (manually) replaced all occurrences of "key_exists()" with either isset() or array_key_exists().
3 lines of code changed in 1 file:
!!! Major change, will break existing code.
Part 3 - Packages
FLOW3, most other packages:
* added namespaces to the code of FLOW3 and all packages in the current TYPO3v5 distribution.
PHPUnit:
* some changes to make PHPUnit (more) namespace-compatible.
Some notes:
* Documentation updates will follow
* you might need to change your class names when adapting namespaces to avoid using "Class", "Empty", "Default", ...
* expect FLOW3CGL and/or PHPCodeSniffer to be broken (I'll have a look)
* some parts might still be broken, especially in edge-cases where the global namespace needs to explicitly used
45 lines of code changed in 6 files:
FLOW3:
* fixed a bunch of CGL violations
* some TODO comments converted into @todo annotations
1 lines of code changed in 1 file:
!!! Important global change !!!
Extracted the getComponent() method from the Component Manager into its own class, the Component Factory. From now on, use the factory if you only need the getComponent() functionality and use the manager if you need the more advanced functions.
13 lines of code changed in 1 file:
* FLOW3: (Configuration) Configuration containers are now locked by the configuration manager when they are retrieved. Fixes #1064.
* FLOW3: Little speed optimization (reflection) in the bootstrap.
24 lines of code changed in 1 file:
* FLOW3: (Cache) Added Check for POSIX extension which is not available on the Windows platform. Fixes #1081
* FLOW3: (Cache) Fixed introduced bug from last commit: Fatal error: Call to a member function flush() on a non-object in Packages/FLOW3/Classes/Cache/F3_FLOW3_Cache_Manager.php on line 88
1 lines of code changed in 1 file:
(9 more)