Rendering improvements
(MAGNOLIA-5895)
|
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | rendering, templating |
| Affects Version/s: | None |
| Fix Version/s: | 5.4 |
| Type: | Sub-task | Priority: | Neutral |
| Reporter: | Roman Kovařík | Assignee: | Roman Kovařík |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Template: |
|
||||||||||||||||
| Release notes required: |
Yes
|
||||||||||||||||
| Date of First Response: | |||||||||||||||||
| Description |
|
Current implementation of DAR has few limitations:
|
| Comments |
| Comment by Jan Haderka [ 18/Jul/14 ] |
|
I might be wrong, but I seem to remember that decision to use Appendable was because it is template/model that controls whether OutputStream or PrintWriter from the response will be used and spec puts some limitations on using both in same response. Appendable provided means to abstract this.
IMHO this is not correct either. Same as rendering non existent page results in 404, rendering nonexistent area should do the same. Primary reason for being able to do partial rendering such as direct area or component rendering is to allow tools that assemble complete page to suck content from Magnolia externally. In order for such integrations to work correctly it is necessary from Magnolia to correctly signal attempt to render non existent content (in difference from existing content that currently produces empty response because it has nothing to render). |
| Comment by Roman Kovařík [ 18/Jul/14 ] |
ResponseOutputProvider takes care of exclusions. I think FilteringResponseOutputProvider.java could do the same. It currently offers only Appedable and ignores OutputStream at all.
I see...I just don't like hardcoded logic for checking of "mgnlArea" pameter directly in RenderingFilter (check area existence -> use dedicated ResponseOutputProvider). I was thinking about capability of listeners to be able to signal something (404, skip rendering if a component if it's in cache...). The logic could go into the listener if it would be possible... |
| Comment by Roman Kovařík [ 10/Nov/14 ] |
|
Squashed on the parent ticket. |