Log message #4263796

# At Username Text
# May 21st 2021, 11:11 ndm That can be summed up as adding middleware, which is also possible from within your plugin's `Plugin` class, it has a `middleware()` method too. However depending on the specific middleware, you might need to add it using `insertAfter()`/`insertBefore()` as otherwise they will be appended after all application level middlewares. Plugins can also add other plugins in their bootstrap, but they need to obtain and use the plugin
# May 21st 2021, 11:02 paolo.bragagni etc etc
# May 21st 2021, 11:02 paolo.bragagni some changes in middleware
# May 21st 2021, 11:01 paolo.bragagni then $this->addPlugin('Authentication');
# May 21st 2021, 11:01 paolo.bragagni etc etc
# May 21st 2021, 11:01 paolo.bragagni in class Application I've implemented AuthenticationServiceProviderInterface, AuthorizationServiceProviderInterface
# May 21st 2021, 11:00 paolo.bragagni (for authentication)
# May 21st 2021, 11:00 paolo.bragagni in application I add //Authentication use Authentication\AuthenticationService; use Authentication\AuthenticationServiceInterface; use Authentication\AuthenticationServiceProviderInterface; use Authentication\Identifier\IdentifierInterface; use Authentication\Middleware\AuthenticationMiddleware;
# May 21st 2021, 10:59 paolo.bragagni I simply follow the guide for Authorization and Authentication
# May 21st 2021, 10:58 ndm Depends on what exactly you change in `Application` and `AppController` I guess.
# May 21st 2021, 10:47 paolo.bragagni (sorry for my english)
# May 21st 2021, 10:47 paolo.bragagni but how to keep 'src' as clean as possible and put all 'my' changes in my plugin?
# May 21st 2021, 10:46 paolo.bragagni right now I build my authenticator componentI put it in src/authenticator etc.. then I follow the guide and change something in Application.php and AppController.php
# May 21st 2021, 10:44 paolo.bragagni that have the skeleton of my app with authentication and authorization etc
# May 21st 2021, 10:43 paolo.bragagni the idea is to bake the new application, install 'my' plugin
# May 21st 2021, 10:42 paolo.bragagni I'fd like to use m plugin as 'base' for authentication and authorization to keep the APP as clean as possible
# May 21st 2021, 09:59 ndm The former would also avoid problems with your modifier, as only the ORM query builder will nest complex count queries.
# May 21st 2021, 09:58 ndm If you don't need to use any ORM features for your count query, then your best bet might be to use the lower level database query builder instead of the ORM one. Another workaround could be to dynamically load the table with a different alias, and unload the behavior on that alias.
# May 21st 2021, 09:47 ndm There probably is no overly straightforward way, as it applies for all queries of table, and joins and formatters for translations are being added in the `Model.beforeFind` event.
# May 21st 2021, 09:44 thomas465 oh, neat, what about a clean way of disabling translations where they are not needed ?
# May 21st 2021, 09:43 ndm @thomas465 You can use the query builder's `counter()` method to define a custom count query. https://book.cakephp.org/4/en/orm/query-builder.html#returning-the-total-count-of-records
# May 21st 2021, 09:40 paolo.bragagni it works!! great!
# May 21st 2021, 09:40 ndm I don't think so, IIRC that's only required on application level.
# May 21st 2021, 09:38 paolo.bragagni no 'authorization' path somewhere in my plugin template?
# May 21st 2021, 09:38 thomas465 sorry, fails with ` Syntax error or access violation: 1234 Incorrect usage/placement of ‘SQL_NO_CACHE’`
# May 21st 2021, 09:38 slackebot (SELECT sql_no_cache `Products`.`id` AS `Produ```
# May 21st 2021, 09:38 thomas465 Regarding pagination, i have a rather large query that i need paginated, the problem is that the count method in the Paginator uses the complete query, including translation tables. It always fails when giving the query a modifier like ```$query = $query->where(['Products.is_active' => true])->select([ 'id', 'name', 'children_count'], false)->modifier('sql_no_cache');``` fails with ```SELECT (COUNT(*)) AS `count` FROM
# May 21st 2021, 09:34 ndm See also https://book.cakephp.org/bake/2/en/development.html#creating-a-bake-theme
# May 21st 2021, 09:33 ndm Given the paths in the authorization plugin, the path inside your theme plugin should be `templates/bake/policy.twig` and `templates/bake/element/entity_methods.twig`.
# May 21st 2021, 09:31 paolo.bragagni (and I'd like to insert the modified twig policy template in a plugin)
# May 21st 2021, 09:30 paolo.bragagni I'd like to insert something in before method and add all my standard actions
# May 21st 2021, 09:29 paolo.bragagni I have to modify the template
# May 21st 2021, 09:21 ndm @paolo.bragagni Do you plan to modify the templates? If not, then you don't need to touch them.
# May 21st 2021, 08:43 paolo.bragagni and I'd like to put the policy.twig and entity_methods.twig inside a plugin
# May 21st 2021, 08:43 paolo.bragagni found this https://github.com/cakephp/authorization/issues/138 but doesnt work in cakephp 4
# May 21st 2021, 07:14 paolo.bragagni Hi there is a way to bake a authorization policy taking the template from a plugin?
# May 20th 2021, 23:56 khalil And I can't find one that works with 4.2
# May 20th 2021, 23:55 khalil There are a couple that work with 3.x
# May 20th 2021, 23:55 khalil Guys is there any datatables plugin that works with cake 4.2 ?
# May 20th 2021, 23:10 ndm no problem
# May 20th 2021, 23:02 khalil Sorry for wasting your time!