Feature #28136

HTTP Semantics for Transactions and more

Added by Benjamin Eberlei almost 2 years ago. Updated about 1 year ago.

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

Revision 9a0e128a
Added by Karsten Dambekalns about 1 year ago

[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

Revision 72b91a1e
Added by Rens Admiraal about 1 year ago

[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)

Also available in: Atom PDF