[root]/Classes/MVC/Web/Routing
Aspect
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 254 (100.0%) | 4335 (100.0%) | 17.0 |
| bwaidelich | 59 (23.2%) | 2407 (55.5%) | 40.7 |
| k-fish | 120 (47.2%) | 985 (22.7%) | 8.2 |
| robert | 74 (29.1%) | 906 (20.9%) | 12.2 |
| sebastian | 1 (0.4%) | 37 (0.9%) | 37.0 |
Removed everything in trunk after move to git.
0 lines of code changed in 22 files:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 9 files:
[~TASK] FLOW3 (Routing): Fixed the not found handling in case no site was found in TYPO3, as intended to be after r4335. Nice example of the good effect strict comparisons can have...
1 lines of code changed in 1 file:
[+FEATURE][+API] FLOW3 (Object): The Object Manager (and the object containers) now provide a method for retrieving the implementation class name by specifying the object name. Resolves #7960
[~TASK] FLOW3 (MVC): The Request object now returns the case sensitive action name, even if it has been set all lowercase by a route. That means that a route http://host/package/mycontroller/myaction will be correctly resolved to myActionAction if \F3\Package\Controller\MyController::myActionAction exists. Addresses #7243
1 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Configuration): The ConfigurationManager now checks if the option "uriPattern" has been set. Fixes #7820
[~TASK] FLOW3 (Error): The var_dump debugger now displays more information about objects implementing ArrayAccess
[+BUGFIX] FLOW3 (MVC): The Router now uses strong comparison for checking the match results of routes. Fixes #7831
[~TASK][!!!] Fluid (View): The TemplateView now expects all template files to be UpperCamelCase as this is the general convention for filenames in FLOW3. Make sure to update the case of your template filenames! Resolves #7243
4 lines of code changed in 2 files:
[~API] FLOW3 (Utility): Renamed detectBaseUri() to getBaseUri().
[~TASK] FLOW3 (MVC): Recomitted my previous change in getRequestPath and reworked the path rendering in the Request object (now is called "route path"). Relates to #6596
[~BUGFIX] FLOW3 (Security): The WebRedirect entry point now takes the Base URI into account. That means you'll have to specify a _relative_ URI in your settings for defining a web entry point (i.e. no leading slash!).
47 lines of code changed in 5 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.
5 lines of code changed in 2 files:
[+FEATURE] FLOW3 (Cache): Implemented a PHP Cache Frontend which allows for effective caching of PHP code which is included with require_once() instead of runtime parsing with eval(). This significantly improves speed when used in combination with an opcode cache such as APC. Currently only the FileBackend supports PHP code caching. Resolves #6137
[+FEATURE] FLOW3 (AOP): The AOP Framework now uses the new PHP cache frontend for storing AOP proxy classes. Speeds up the initial startup of FLOW3 enormously. Relates to #6137
[~TASK] FLOW3: Removed all dependencies from the PHP6 package because the unicode support we were using didn't really make sense in the respective situations.
[+BUGFIX] FLOW3 (Utility): Fixed a bug in Files::emptyDirectoryRecursively() which wrongly recognized certain files as directories due to incorrect usage of the directory iterator.
6 lines of code changed in 3 files:
[~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
22 lines of code changed in 2 files:
[+FEATURE] FLOW3 (MVC): Added an additional log message to the Router's resolve() method so that links which don't match a route can be debugged more easily.
1 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Persistence): DataMapper now typecasts values to the intended type when mapping properties. Fixes #6028.
[+BUGFIX] FLOW3 (Persistence): DateTime properties being NULL can be persisted now. Fixes #6029.
[+BUGFIX] FLOW3 (MVC): Removed some strtolower() calls in Router to enable consistently cased template folders. Fixes #6030.
7 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Persistence): Wrote a new persistence backend using a database directly instead of TYPO3CR. Details see below. Resolves #6006.
[+API] FLOW3 (Persistence): Added new backend classes that can be used for further backends.
[-API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() from BackendInterface.
[+API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() to ManagerInterface and Manager.
[-API] FLOW3 (Persistence): Removed withUUID() from QueryInterface, use getObjectByIdentifier() on Manager instead.
[+API] FLOW3 (Persistence): Added constants for query operators to QueryInterface.
1 lines of code changed in 1 file:
[~API] FLOW3 (Log): setLogFileURL() was renamed to setLogFileUrl() in FileBackend.
[~API] FLOW3 (MVC): redirectToURI() was renamed to redirectToUri() in AbstractController.
[~API] FLOW3 (MVC): setRequestURI(), getRequestURI(), setBaseURI() and getBaseURI() were renamed to *Uri() in Request.
[~API] FLOW3 (Property): DataType\URI was renamed to DataType\Uri.
[~API] FLOW3 (Utility): getRequestURI() was renamed to getRequestUri() in Environment.
[~TASK] Fluid (Service): Refactored XML generators a little.
[~TASK] DocumentationBrowser: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] FLOW3: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Fluid: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Kickstart: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Testing: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Welcome: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
12 lines of code changed in 3 files:
[+BUGFIX] FLOW3 (MVC): MVC parameters (package key, controller name, action name, format) are now lowercased before set in the request, fixes #5182.
5 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): The handling of case in URIs has been changed in routing and URI building. The default is now to leave case unchanged in user-defined route parts, check the documentation for more details. Resolves #2237. Thanks to Bastian Waidelich.
108 lines of code changed in 7 files:
[~TASK] FLOW3: Added @api annotations on class level and adjusted CGL to explain class-level @api handling.
4 lines of code changed in 4 files:
[!!!][+FEATURE] FLOW3 (Security): Added a HMAC generator and checker to prevent unauthorized access on objects where no edit fields were generated for. It is mandatory in case objects are modified on the server side. See the issue for a more in-depth explanation. This feature does NOT break backwards-compatibility as long as you use only Fluid for form-generation. In case of custom fields, it WILL break backwards compatibility, and you might need the @dontverifyrequesthash annotation. Resolves #4960.
[+FEATURE] Fluid (ViewHelpers): Added a request hash to all form fields. It is mandatory in case objects are modified on the server side. Relates to #4960.
37 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): If mod_rewrite is not available generated links will include index.php, resolves #87.
[~TASK] FLOW3 (MVC): Fixed filename of UriBuilderTest.
[~TASK] Welcome: made sure the link to MyPackage works if mod_rewrite is disabled.
19 lines of code changed in 1 file:
[~TASK] FLOW3: Fixed method parameter documentation found by new reflection service checks.
[+FEATURE] FLOW3 (Persistence): added removeAll() to base repository, resolves #3852.
7 lines of code changed in 4 files:
[+BUGFIX] FLOW3 (MVC): resolve() in Router now handles (nested) domain objects correctly, fixes #4441.
24 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (MVC): setRequest() in UriBuilder accepts generic RequestInterface instances again, need to make CLI controllers work.
2 lines of code changed in 1 file:
311 lines of code changed in 1 file:
[+FEAT] FLOW3 (MVC): The format of a request may now contain any character which allows to specify formats like "rss.xml" or "foo.bar.baz.html" instead of just "xml".
[~TASK] FLOW3 (Validation): Fixed an exception message in the Validator Resolver.
[+FEAT] Fluid (View): While resolving the path and file name of a template, Fluid now takes the request's format into account. By default it is ".html" and now others, like ".xml" or even ".rss.xml" are possible.
[+FEAT] Fluid (ViewHelper): The Action View Helper and the URI Builder now support rendering of absolute URIs. This comes in handy if you need an URI pointing to your feed or the like. Absolute URIs can be generated by specifying the "absolute" property: <f:link.action action="index" controller="Post" absolute="TRUE" />...
8 lines of code changed in 1 file:
[+BUGFIX] Fluid (ViewHelper): SeelctViewHelper now handles collections of objects passed as options as expected virtually always, fixes #3676
[~TASK] FLOW3: renamed getUUIDByObject() to getIdentifierByObject() and getObjectByUUID() to getObjectByIdentifier(), relates to #3676
[~TASK] Fluid: renamed getUUIDByObject() to getIdentifierByObject() and getObjectByUUID() to getObjectByIdentifier(), relates to #3676
[~TASK] Fluid: some fixes to ViewHelper documentation
1 lines of code changed in 1 file:
[+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 9 files:
[TASK] FLOW3: moved from @internal to @api, resolves #3883
11 lines of code changed in 9 files:
* [TASK] FLOW3 (Configuration): Added an array type hint to the WritableSourceInterface::save() method and the YAML implementation.
* [TASK] FLOW3 (MVC): Whitespace fixes in the AbstractRoutePart.
* [TASK] FLOW3 (Utility): Text changes in the Environment class - changed "writeable" to "writable".
10 lines of code changed in 1 file:
For the FLOW3 distribution added a sub route to the Welcome package subroutes. If the Welcome package is installed, its fallback route becomes active and displays a meaningful welcome screen.
* FLOW3: (MVC) For now disabled the caching of routes because they can lead to confusion during development. We can enable caching again once the routes cache is automatically flushed. Refs #3306
* FLOW3: (MVC) The Router will now produce a log entry if no route matched.
2 lines of code changed in 1 file:
FLOW3:
* !!! BREAKING CHANGE !!! F3\FLOW3\Configuration\Manager is now able to load sub routes from packages and merge them with main routes. Resolves #2126 (This needs further testing and some cleanup!)
* !!! BREAKING CHANGE !!! Routes are not processed in reverse order anymore. Resolves #3441.
* Query string won't be lowercased anymore by the routing framework. Relates to #2237.
* Added some missing type hints to F3\FLOW3\Configuration\Manager
* Improved exception messages in F3\FLOW3\MVC\Web\Routing\Route
FLOW3 Distribution:
* !!! BREAKING CHANGE !!! adapted global routes to the changes mentioned above and added subroutes to FLOW3/TYPO3CR packages.
21 lines of code changed in 2 files:
* FLOW3: (MVC) Implemented automatic conversion of UUIDs into objects retrieved from a repository in the Abstract Controller. This is the counterpart to the object to UUID conversion in the Fluid view helpers. Resolves #1789
* FLOW3: (MVC) !!! Renamed the recently introduced methods queueFlashMessage() and getFlashMessages() to pushFlashMessage() and popFlashMessages() respectively.
1 lines of code changed in 1 file:
FLOW3:
* some whitespace paranoia^Wcleanup
* removed a use statement
* (re-)introduced some inject methods - in FLOW3 itself we do not use @inject
48 lines of code changed in 1 file:
FLOW3:
* Removed FLOW3\Utility\GenericCollection from repository, it's currently not needed. Resolves #3400
* Moved method setArgumentsFromRawRequestData() from Router to RequestBuilder. Resolves #3368
* Renamed URIHelper to URIBuilder. Removed Classes HelperInterface, AbstractHelper and InvalidViewHelper Exception. Adapted AbstractView & ViewInterface. Resolves #3303
* Added section parameter to URIFor() method of the URIBuilder
* Refactored Base controllers - controllerContext is no instance variable anymore and will be created when passed to view in initializeView(). Resolves #3404
* ControllerContext is of scope prototype now. Added setter/getter for URIBuilder. Some cosmetic changes.
* Added getRequestPath() to Request.
* ControllerKeys (@controller, @action, @package, @subpackage and @format) can now be set by request arguments. Resolves #2853
160 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.
53 lines of code changed in 7 files:
Bug fixes during the TYPO3 Bugday on T3DD09
* FLOW3: (MVC) Added typehint to AbstractView / ViewInterface setControllerContext()
* FLOW3: (MVC) Removed the resolving of an object's identity from the Dynamic Route Part handler. This needs to be implemented in a specialized, dedicated route part handler. Refs #1789
* FLOW3: (MVC) A Route now converts route values which are objects into their uuid.
* FLOW3: (MVC) Fixed a typo in the Router which cause a fatal error (sometimes). setRoutePartConfigurations()
* FLOW3: (MVC) Adapted the tests for the DynamicRoutePart handler
27 lines of code changed in 3 files:
* FLOW3: (Locale) comment fix
* FLOW3: (MVC) Fixed the RoutePartHandler configuration parsing thing
1 lines of code changed in 1 file:
Routing:
* Added Rout Part Options to be able to add arbitrary configurations to rout parts. This resolves #2825.
* Spare matchValues are added to the resolved URI as query parameters
* Moved common properties & methods to RoutePartInterface
* some Cosmetic changes
166 lines of code changed in 3 files:
* FLOW3: (Persistence) Renamed the methods getUUID($object) to getUUIDByObject($object) and removed one of them from the Persistence Manager (now ask the Persistence Backend instead).
* FLOW3: (Persistence) Implemented a replace() method for the base Repository. Resolves #2979
1 lines of code changed in 1 file:
This commit contains not yet finished features for the MVC framework which mainly address the identity array mechanism. It was just necessary to commit these changes so we don't run into integration hell later ...
* FLOW3: (MVC) The AbstractController now considers optional arguments while mapping the request arguments to the controller arguments. The absence of a non optional argument is now considered and handled as an error.
* FLOW3: (MVC) The AbstractController now stores the result of the argument mapping in $this->argumentsMappingResults
* FLOW3: (MVC) The ActionController will call an error action (whose name can be set in $this->errorMethodName) instead of the configured action if the argumentsMappingResults contains errors.
* FLOW3: (MVC) Note that the current errorAction implementation is just a stub.
* FLOW3: (MVC) Removed all methods related to errors and warning from the Argument class.
* FLOW3: (MVC) Argument: setValue() now converts an identity / properties array into the actual object. However the implementation is not complete yet, don't start using it!
* FLOW3: (MVC) !!! New arguments which are added either by addNewArgument() or by automatic argument registration are now required by default. The previous default was "not required".
* FLOW3: (MVC) Disabled the automatic mapping of PUT arguments in the Router. This helps Christoph with the WebDAV implementation. Still needs a proper solution.
* FLOW3: (Property) The PropertyMapper now provides a map() and a mapAndValidate() method. However, the mapAndValidate() method does not yet validate ... TBD
* FLOW3: (Reflection) Added a few safeguards for the ObjectAccess methods
* FLOW3: Fixed and adapted several tests for the MVC sub package
7 lines of code changed in 1 file:
This is a commit of work in progress. If you're already using FLOW3 (semi-) productively, you better skip this version because the MVC framework currently lacks validation and might lead to some other unexpected behavior. OTOH the code seems to be quite stable, so nothing to really worry about. More code related to the MVC framework and especially validation will follow soon, I just had to get rid of all these changes ...
* FLOW3: (Persistence) Made sure that the object name "...\Persistence\ManagerInterface" is used everywhere instead of "...\Persistence\Manager".
* FLOW3: (Error) Annotated the "Error" and "Warning" class as prototype and renamed *ErrorMessage() and *ErrorCode() to *Message() and *Code().
* FLOW3: (MVC) Fixed and re-enabled tests of the Abstract Controller
* FLOW3: (MVC) !!! Started rewriting the argument mapping mechanism. It should work but be aware that NO VALIDATION and NO FILTERING is active at the moment!
* FLOW3: (MVC) The automatic argument registration in the Action Controller now detects optional arguments and registers them as such.
* FLOW3: (MVC) Cleaned up the Argument(s) classes and implemented an early version of identity support in setValue()
* FLOW3: (MVC) Added initial implementation of identity support for the resolve() method of a DynamicRoutePart. I'll give more information on this topic as soon as it's completely implemented.
* FLOW3: (MVC) Removed the emit* method in the router and replaced it by a call to the System Logger: Now the log contains an entry stating which route has been chosen.
* FLOW3: (Persistence) In the ClassSchema renamed the (is)RepositoryManaged property and methods to (is)AggregateRoot.
* FLOW3: (Persistence) Added safeguard to the Persistence\Manager::getClassSchema() method
* FLOW3: (Property / MVC) For now, completely removed the concept of Property Converters!
* FLOW3: (Property) Started reimplementing the Property Mapper. Most of the old functionality has been removed but much of it will return soon.
* FLOW3: (Reflection) Changed the order of access method detection in the ObjectAccess class. Any other order causes proplems in the MVC mechanism. If a property could not be accessed, now NULL is returned (instead of throwing an exception)
* FLOW3: (Validation) Moved the AbstractValidator and Validation interfaces to the Validator sub package
* Fluid: (ViewHelpers) Added support for an "arguments" attribute in the FormViewHelper which allows for specifying arguments for the action URI.
55 lines of code changed in 3 files:
FLOW3:
* changed request URI handling, fixes #2557
2 lines of code changed in 1 file:
(50 more)