Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-948

Built-in mechanism to identify self-referential links and/or event/render requests

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.1.0.0, 5.1.0.1, 5.1.0.2, 5.1.0.3, 5.1.0.4, 5.1.0.5, 5.0.15, 5.0.16, 5.0.17, 5.0.18
    • 5.2.0
    • tapestry-core
    • None

    Description

      Discussed on Tapestry user thread: http://old.nabble.com/Best-practice-for-initializing-page-to-default-context-td26689270.html
      One of the cases where the issue manifests itself is that it's more difficult to initialize a page to default context than it needs to (and redirect to it) since event requests always cause a parameterless onActivate() to be invoked as well and there's no (framework-level) support for identifying event and render requests. There are many other uses for being able to easily identify links referring back to the same page.

      Howard says:
      "I've had to solve this problem for one of my clients as well and I think it's something that should go into the framework. The approach
      I took was to identify self-referential links (page render links that are to the same page they originate from) using an additional query
      parameter. This allows Tapestry to differentiate between requests that start on a new page vs. those that continue on the page. Tapestry can
      then fire a notification on components to perform initialization (on page render requests without the query parameter).

      This would be a new lifecycle method, like pageAttached() or pageLoaded(). I'm still working on the right terminology, for Widen it is "initialized", as in method pageInitialized()."

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            kaosko Kalle Korhonen
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: