Ideas for further development of Nette

Notice: This thread is very old.
David Grudl
Nette Core | 8080
+
0
-

My TODO list for further development.

It will be great if you would like work on any topic. I'm not asking you to create pull requests, a lot of ideas should be discussed at first.

Latte

  • independence, which involves integration of Nette\Templating and finding templates from UI\Presenter into Latte done
  • remove PhpFileStorage – it creates dependency in Latte and DI to Nette\Caching, although the templates and the DI container should be cached only to PHP file done
  • template Factory, that will be used by Control::createTemplate done
  • Dot syntax – draft rules for $dot.syntax, eliminating the need to use getters from Nette\Object
  • Pseudofunction – mapping global calls like func(...) to own functions
  • Sandbox mode – be able to spy and possibly restrict which methods are called in template
  • Parsing of macros – tokenize macro already in Parser, add Parser::CONTEXT_MACRO
  • Local modifiers which can be used in expressions ($var|mod:10, 20)
  • Source map generator
  • Modifiers vs escaping – eg nl2br modifier should says that it wants already escaped input

Tracy

  • Moving to Tracy – rewrite Nette to use Tracy done
  • Ajax loading for DebugBar

UI\Presenter

  • Remove $context from Control done
  • CSRF links protection
  • Do not send headers directly into the Response
  • Nette\Routing – general routing, where “presenter” is just a parameter
  • store & restoreRequest move into new service (in progress)
  • secure modules – you can configure, that a module requires an authorization
  • remove BasePresenter, replace with composition
  • persistent parameters without inheritance

Forms

  • netteForms.js object – rewrite static stuff to object
  • netteForms.js live validation – you can easily use live validation
  • netteForms.js events – attach a click and change events (for toggle) and submit to body
  • add Forms\IValidator – adds support for complex validators, with own JS export
  • configurable Form::URL and Form::EMAIL – which type of URL accept? Check domain in email?
  • do not validate blank elements when they are not required

Other

  • separated parts – Tracy, Latte, Database done
  • logging withnout session via hash stored in the cookie and reading the identity from DB
  • local autowiring – example: each Nette\Database\Context (per connection) will autowire its Nette\Database\Connection
  • Bool parameters – suggest how to get rid of the bool parameter from methods
  • Authorizer without roles
  • Neon enhanced syntax done
  • Neon source map generator

Examples & Tools

  • Login via Facebook/Twitter – add example
  • Linked select boxes – add example
  • Dynamic forms, like adding addresses
  • Presenter generator from command line

Tester

  • add tool for mocking
mkoubik
Member | 728
+
0
-

Recently I've been integrating latte into symfony (still work in progress). Maybe some ideas can be helpful for separating latte from nette.

Filip Procházka
Moderator | 4668
+
0
-

I have Facebook login, should I write an article about it to pla.nette ?

mishak
Member | 94
+
0
-
  • netteForms.js + api for integration with “CSS frameworks”

Probably would be best to split each point to own topic. Some points were solved outside Nette project and might be better to list solutions and discuss them further.

Last edited by mishak (2014-02-03 19:00)

Jan Tvrdík
Nette guru | 2595
+
0
-

@David Grudl: Nice list! Hopefully I'll find something that I can help with.

Milo
Nette Core | 1283
+
0
-

Long list indeed!

I already quickly tried to separate Diagnostics and replace it by Tracy. I'll post a summary during February.

Last edited by Milo (2014-02-03 20:30)

enumag
Member | 2118
+
0
-

Latte

  • Dot syntax: What about symfony/property-access?
  • template Factory: Meaning as service or sth else?

UI\Presenter

  • service for store & restoreRequest: Already got one, I'll try to send a PR.
  • secure modules: Isn't it better to do this on Presenter-level via annotations?

Other

  • Authorizator without roles: We might want to revive my RFC from last year.

Tester

  • add tool for mocking: Just use Mockery, please. :-)

Last edited by enumag (2014-02-03 23:00)

bazo
Member | 620
+
0
-

As for the separation of different Nette parts i would really love to see the two things as separate package:

Config and DI – i find myself writing a lot of console apps or small REST app where i use only configuration and DI from Nette
Router – Nette router is simply the best and deserves to be standalone

jasir
Member | 746
+
0
-

Great. Also, I would like to see separated Nette\Object.

Milo
Nette Core | 1283
+
0
-

Milo wrote:

Long list indeed!

I already quickly tried to separate Diagnostics and replace it by Tracy. I'll post a summary during February.

So, there is a result. I didn't do so much I wanted but it brings pretty nice overview.