Enhancement #2819

View::getCommandList() API deprecation

Added by Davide Principi about 7 years ago. Updated almost 7 years ago.

Status:CLOSEDStart date:
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:-
Target version:v1.6.0
Resolution: NEEDINFO:No

Description

The getCommandList() API and the underlying Command pattern based implementation is complex and difficult to extend.

Implement a new API to talk to Framework components:
  • HTTP response
  • User Notifications (Validation errors)
  • System Processes (Tasks)

Related issues

Related to NethServer 6 - Enhancement #2820: Embed Nethgui 1.6.0 into httpd-admin RPM CLOSED

Associated revisions

Revision e1e3365e
Added by Davide Principi about 7 years ago

New DependencyInjector class. Refs #2819

- Provides a more flexible module initialization, leveraging the
existing setter methods.
- Replaces the old callbacks mechanism.

Revision ed0de54e
Added by Davide Principi about 7 years ago

Api doc: document deprecated methods. Refs #2819

Revision 7a243f3b
Added by Davide Principi about 7 years ago

ViewInterface: getCommandList() is deprecated. Refs #2819

Use Dependency Injection to replace the command pattern.

Revision 45e36017
Added by Davide Principi about 7 years ago

Xhtml renderer (useFile): use base URL paths. Refs #2819

Revision 33072a99
Added by Davide Principi about 7 years ago

Removed getCommandList() calls. Refs #2819

Applied in classes:
- Xhtml renderer
- Resource module

Revision 4d3074db
Added by Davide Principi about 7 years ago

Framework: build DI container and PDP on each request. Refs #2819

Revision ef2e806d
Added by Davide Principi about 7 years ago

Added deprecation warnings. Refs #2819

Revision ac69107c
Added by Davide Principi about 7 years ago

Framework: refactor of moduleLoader creation. Refs #2819

Revision 91a0f00e
Added by Davide Principi about 7 years ago

Removed CommandInterface. Refs #2819

Backward compatibility provided by LegacyCommandBag class.

Revision 32fc425b
Added by Davide Principi about 7 years ago

ResponseInterface: HttpResponse implementation. Refs #2819

Revision 50ca71a3
Added by Davide Principi about 7 years ago

Deprecated AbstractRenderer::hashToDatasource. Refs #2819

Use \Nethgui\Widget\XhtmlWidget::hashToDatasource

Revision 36f78fb2
Added by Davide Principi about 7 years ago

Fix httpRedirection() for non-JS clients. Refs #2819

Revision 59d7c267
Added by Davide Principi about 7 years ago

DI: added DependencyConsumer interface. Refs #2819

Revision f9a669d7
Added by Davide Principi about 7 years ago

Model split. Refs #2819

Help, Menu, Notification, Resouce system modules have been refactored
to use a specific Model class.

Revision 9c175f80
Added by Davide Principi about 7 years ago

Request: receive User as an external dependency. Refs #2819

The User object was previously resurrected from Session.

Revision c19e93e8
Added by Davide Principi about 7 years ago

DependencyInjector: use Pimple as DI Container. Refs #2819

http://pimple.sensiolabs.org/

Revision 65ea45c6
Added by Davide Principi about 7 years ago

HttpResponse class: moved to Utility namespace. Refs #2819

Revision 3fcabb32
Added by Davide Principi about 7 years ago

Pimple in Framework. Refs #2819

Revision f3446803
Added by Davide Principi about 7 years ago

Use DI for Login/Session processing. Refs #2819

Revision 68ac7b38
Added by Davide Principi about 7 years ago

Help/Read: override default root view template, to show help document. Refs #2819

Revision 0b6b4d7e
Added by Davide Principi about 7 years ago

Build Main module on each handle() call. Refs #2819

Revision 9fe86b10
Added by Davide Principi about 7 years ago

Set HTTP status 400 "Request validation error". Refs #2819

Revision 4cc2d6b6
Added by Davide Principi about 7 years ago

Main: handle default module redirection (Dashboard) with nextPath(). Refs #2819

Revision 85448305
Added by Davide Principi about 7 years ago

LegacyCommandBag: setDecoratorTemplate() setDecoratorParameter() backward implementation. Refs #2819

Revision bffc0310
Added by Davide Principi about 7 years ago

Merge branch 'b2819'

Refs #2819 #2817 #2818

Revision 331ad869
Added by Davide Principi about 7 years ago

Authorization/User: provide session continuity with Nethgui 1.5. Refs #2819

Restored the Serializable interface for backward compatibility. The
state of a valid session is retained and upgraded to the new format
automatically.

History

#1 Updated by Davide Principi about 7 years ago

  • Status changed from TRIAGED to ON_DEV
  • Assignee set to Davide Principi
  • % Done changed from 20 to 30

#2 Updated by Davide Principi about 7 years ago

  • Status changed from ON_DEV to MODIFIED
  • Assignee deleted (Davide Principi)
  • % Done changed from 30 to 60

Follow downstream QA: see #2820

#3 Updated by Davide Principi about 7 years ago

  • Status changed from MODIFIED to ON_QA
  • % Done changed from 60 to 70

#4 Updated by Davide Principi almost 7 years ago

#5 Updated by Davide Principi almost 7 years ago

  • Status changed from ON_QA to VERIFIED
  • % Done changed from 70 to 90

Verified by #2820

#6 Updated by Davide Principi almost 7 years ago

  • Status changed from VERIFIED to CLOSED
  • % Done changed from 90 to 100

Embedded into nethserver-httpd-admin-1.3.0-2.ns6.noarch, repo nethserver-updates

Also available in: Atom PDF