Feature #28136
HTTP Semantics for Transactions and more
| Status: | New | Start date: | 2011-07-12 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | Persistence | |||
| Target version: | - | |||
| PHP Version: | Complexity: | |||
| Has patch: | No | |||
| Votes: | 1 (View) |
Description
Currently the Repositories are all flushed on every request no matter the type. It should default to only PUT, POST DELETE updating the repositories.
GET Requests should schedule Transactions manually in the controller.
Additionally transactions should be encapsulated in one action and not executed over many different actions. This is problematic because there is no way to stop a transaction. Transactions should be rolled back (no flushing) when an exception is thrown in the controller.
Related issues
| related to TYPO3.Flow - Feature #27117: Bind routes to HTTP request methods | Under Review | 2011-05-29 | 2013-04-13 | |
| precedes TYPO3.Flow - Feature #28137: Do not use clone in PersistentObject ParamConverter | Closed | 2011-07-13 | 2011-07-13 |
Associated revisions
[FEATURE] Persist after every controller invocation
Wire persistAll() from afterControllerInvocation instead of the
finishedRuntimeRun signal.
This is useful because it wraps all changes done in one dispatch in
a transaction, thus enabling better rollback in case of errors.
Related: #28136
Releases: 1.1
Change-Id: If0020fdedbaf4779ff24d0e4248e2137cdf5bc67
[BUGFIX] Call PersistAll after every controller invocation
If0020fdedbaf4779ff24d0e4248e2137cdf5bc67 introduced a regression
which caused persistAll() to be uncalled.
Change-Id: I9f7ca92777005c3e2580c32ebd8540755a43210a
Related: #28136
Releases: 1.1
History
Updated by Karsten Dambekalns almost 2 years ago
- Project changed from TYPO3 Flow Base Distribution to TYPO3.Flow
Updated by Karsten Dambekalns almost 2 years ago
- Category set to Persistence
Updated by Karsten Dambekalns over 1 year ago
- Target version set to 1.1
- Has patch set to No
Another point: action methods should be executed only of a matching request method comes in, e.g. a method declared for POST handling should only be callable by POST requests.
One more reason for this: http://googlewebmastercentral.blogspot.com/2011/11/get-post-and-safely-surfacing-more-of.html
Updated by Karsten Dambekalns about 1 year ago
- Target version deleted (
1.1)