Skip to Content

Dynamic Page Linking

There may be a situation where you have a Grid, Form or Tile Panel you wish to link from, and the individual panel records need to follow different links to different resultant pages. For example, you have a Panel listing tasks for a User, and each task may be completed through different workflows via different Pages. Dynamic Page Linking can be accomplished by leveraging List Controls and configuring Navigation Options. This article will describe how to configure this type behavior in Vinyl using Dynamic Page Linking. Controls that can be used for Dynamic Page Linking include: Lists, Icons and Buttons.

Note

If you are looking to dynamically link pages from different applications, you have two options:

  1. Manually configure the page(s) from another app as Public/Shared, from the Page Edge Case settings
  2. Hardcode the pageID GUID as the Dynamic New Page value

How to Configure Dynamic Page Linking

  1. Generate the Panel (Grid, Form or Tile) which will display the dynamic links. Hold for now on building out the List Control to be used for the dynamic linking.
  2. For the Source Table used by the desired Panel, add an additional Column for "LinkToPage" and define the Data Type storage as Unique ID/UUID.

    1. Alternatively, you could add the "LinkToPage" Column to an intermediary table. In this example, we are showing the user task instances assigned to them. There is a table of template tasks (e.g., Task) that we can assign the same page for each task type to a page, and use a join to relate each task instance to the appropriate page.
  3. Generate a configuration panel to manage the links in your configuration area:

    1. Build a Grid using the "Source" Business Object that references the PK and new "LinkToPage" columns. In this case we use the Task table which defines task types.
    2. Use a List Control for PK using your preferred Title
    3. Use a List Control for "LinkToPage" and use the source "App_Page_List" with Key "ControlId" and Title "Name". In order to accomplish this, you must add "Vinyl (Sealed)" to your Application Data Sources.
  4. Now, run the page you built the configuration panel on. For each record, edit the "LinkToPage" value to reflect the desired target pages.

  5. Once this is complete, go back to design the page with the intended dynamic linking.
  6. Create a List Control that will create the dynamic link.

    1. Set the Business Object and Title to a desired field containing what the Button should read.
    2. In the Navigation and Actions panel, set "Dynamic New Page" to "LinkToPageID"
  7. Test from the App UI Layer. When configured correctly, each record will now target the configured page(s).