Motivações que tive para criar o plugin cake-control para o CakePHP 3

Este plugin destina-se a ser usado especialmente por programadores iniantes no CakePHP 3, mas não somente.

Vou relatar as duas maiores motivações que me levaram a criar este plugin:

- O centro do plugin é o componente Control, que controla o acesso ao aplicativo. Já sabia da existência do plugin ACL e até já havia o implementado com sucesso. Acontece que ele na versão atual não tem nenhuma documentação e nem mesmo uma indicação de onde encontrar. Sem contar que sua implementação é inteiramente pela console o que dificulta para programadores iniciantes, especialmente quem usa Windows. Procurei alternativas mais amigáveis e cheguei a encontrar o aclManager, mas achei algo trabalhoso de implementar e quando funcionava. Imagino que seja criado por programdores com grande nível de conhecimento e para programadores também com grande experiência. E trabalho com uma equipe que tem pouca experiência com
PHP e todos usam Windows, então veio minha motivação de criar algo com uma interface web e que fosse bem fácil de implementar.
Sem contar que também senti vontade de aprender a mexer com o código do Cake e resultou no ControlComponent.php.

- Como agora estou começando a usar pra valer o CakePHP para criar aplicativos no meu trabalho, então tive a intenção de criar um plugin para implementar o que preciso, pois acho coerente a recomendação de se evitar alterar diretamente o core, mantendo tudo isso num plugin. Então procurei ajuda para criar um plugin. Isso deu muito trabalho e não posso dizer aqui que recebi ajuda diretamente de nenhum lugar nem que nenhum tutorial tenha me ajudado a criar este plugin. Especialmente agora com a entrada do composer, onde o plugin deve conversar com ele. Mas a coisa não é tão complicada, ao contrário até que é simples. Apenas usei o plugin twbs-cake-plugin, que já tinha muito do mque eu queria (bootstrap e template do Bake) e o customizei para criar este.
Aproveitei então para implementar tudo quanto fosse recurso que iria prcisar para criar os aplicativos e para aqueles que não conseguisse embutir no template do Bake eu criei uma pequena receita de bolo com os passos para implementar e as coloquei na pasta docs do plugin.

Como customizei o template do Bake, jé embutindo vários recursos importantes, então logo que criar os CRUDs já contará com:
    - Criptografia de senhas com Bcrypt
    - Busca em todos os controllers e respectivos index.ctp, bastando descomentar os respectivos trechos e adaptá-los à sua realidade.
    - Redirecionamento automatico de usuários que não têm permissão de acessar o controller default para o controller Servidores  (claro que pode ser para outro). Isso é implementado no action login() do controller Users.
    - Já vem com o bootstrap instalado (código do plugin twbs-cake-plugin)

Alguns recursos prontos para usar, na pasta docs:
    - Data e hora no formato brasileiro (docs/bootstrap.php)
    - Geração de controller Users com login e logout (docs/bootstrap_cli.php)

Internacionalização
    - Esta deu um pouco de trabalho de ter redondinha. A documentação tem duas falhas, aponta o app.php e o cake.po para configuar.
    Pelo menos comigo não funcionou. Só funcionou setanto no bootstrap.php e com default.po.
    - Basta seguir o breve tutorial do site e apenas precisará setar o idioma no config/bootstrap.php para seu aplicativo falar outra
    língua e entender.

Outros recursos importantes para customização e implementação em aplicativos
    - displayField()
    - Validações diversas
    - Helper Forms
    - entre outros em pequenas receitas na pasta docs/dicas do plugin.

A minha intenção foi a de reunir tudo que preciso para criar aplicativos num só lugar, pois concordo com a recomendação de não alterarmos
o core do Cake e sim criar plugins. Com o tempo irei refinando, customizando, adicionando removendo, melhorando.

Por mais que eu tenha me empenhado em criar algo que atendesse minhas necessidades, tenho consciência (e já recebi crítica deste tipo) de que falta algo para alguém e chega até a faltar tudo para outros além de ir mais longe, para outros estou trabalhando de forma retrógrada.
Bem, eu faço votos de que seja útil a mais alguém além de mim.