Tapestry 5
  1. Tapestry 5
  2. TAP5-742

Add optional component tracing comments to rendered output

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.2.4
    • Fix Version/s: 5.3
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      In complex pages, it can be hard to work backwards from a bit of output HTML in the browser, back to the component that originated the markup.

      This feature adds rendering of comments that provide trace output of which component is currently currently:

      <!-BEGIN Index:loop (context:Index.tml, line 15)-><li>
      <Unable to render embedded object: File (pagelink (context:Index.tml, line 16)--><a href="/abstractcomponentdemo">Abstract Component Demo</a><) not found.-END Index:pagelink->

      Note that the BEGIN comment includes both the complete component id in the page and the location of that in the template. With just the component id it can still be unclear which component is being referenced without the line number.

      For security purposes, this feature cannot be enabled in production mode. In non-production mode it can be enabled two ways:

      • Setting the symbol "tapestry.component-render-tracing-enabled" to "true" (default: false)
      • Setting the request query parameter "t:component-trace" on the URL to "true". This allows enabling for a specific request when you need it in development rather than having it on all the time.

      Note that rendering comments are based on the component lifecycle. Thus in some case where post-render DOM manipulation is performed the markup my not longer be in the correct rendering comments.

        Activity

        Howard M. Lewis Ship created issue -
        Dan Adams made changes -
        Field Original Value New Value
        Assignee Dan Adams [ hagios17 ]
        Dan Adams made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Dan Adams made changes -
        Affects Version/s 5.2.4 [ 12315557 ]
        Affects Version/s 5.1.0.5 [ 12313913 ]
        Description In complex pages, it can be hard to work backwards from a bit of output HTML in the browser, back to the component that originated the markup.

        A special mode could be enabled where components would render a comment before and after rendering:

        <!-- BEGIN: Index:layout.pagelink -->
        <a href="dashboard">Dashboard</a>
        <!-- END: Index:layout.pagelink -->

        This would bloat and clutter the application (a lot!) but would be useful, on occasion. One possibility would be a special query parameter to enable this on a request-by-request basis, i.e., ?t:component-trace=true
        In complex pages, it can be hard to work backwards from a bit of output HTML in the browser, back to the component that originated the markup.

        This feature adds rendering of comments that provide trace output of which component is currently currently:

        <!--BEGIN Index:loop (context:Index.tml, line 15)--><li>
              <!--BEGIN Index:pagelink (context:Index.tml, line 16)--><a href="/abstractcomponentdemo">Abstract Component Demo</a><!--END Index:pagelink-->

        Note that the BEGIN comment includes both the complete component id in the page and the location of that in the template. With just the component id it can still be unclear which component is being referenced without the line number.

        For security purposes, this feature cannot be enabled in production mode. In non-production mode it can be enabled two ways:
         - Setting the symbol "tapestry.component-render-tracing-enabled" to "true" (default: false)
         - Setting the request query parameter "t:component-trace" on the URL to "true". This allows enabling for a specific request when you need it in development rather than having it on all the time.

        Note that rendering comments are based on the component lifecycle. Thus in some case where post-render DOM manipulation is performed the markup my not longer be in the correct rendering comments.
        Fix Version/s 5.2.5 [ 12315565 ]
        Dan Adams made changes -
        Status In Progress [ 3 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Igor Drobiazko made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Igor Drobiazko made changes -
        Fix Version/s 5.3.0 [ 12316023 ]
        Fix Version/s 5.2.5 [ 12315565 ]
        Igor Drobiazko made changes -
        Resolution Fixed [ 1 ]
        Status Reopened [ 4 ] Closed [ 6 ]
        Howard M. Lewis Ship made changes -
        Fix Version/s 5.3 [ 12316024 ]
        Fix Version/s 5.3.0 [ 12316023 ]

          People

          • Assignee:
            Dan Adams
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development