Data Entered in a Custom HTML Widget or Page Is Only Visible to the Author, Not Other Users - Rally
search cancel

Data Entered in a Custom HTML Widget or Page Is Only Visible to the Author, Not Other Users - Rally

book

Article ID: 453345

calendar_today

Updated On:

Products

Rally SaaS

Issue/Introduction

After migrating a Custom Page or Custom HTML App built on App SDK to a Custom View, notes, status text, or report-out fields entered by one user may continue to appear only for that user. Other viewers of the shared dashboard, including admins(Project, leadship), see the field blank or unchanged, even though the original author still sees the entry after reloading the page

This article explains how to configure a Custom HTML widget code & ensure report data is visible to all users in a workspace by saving content to a Rally object instead of the browser's local storage.

Environment

Product -

  • Rally SaaS
  • Custom HTML Widget

Cause

Any custom app's save logic writes data using Rally.data.PreferenceManager, with a fallback to the browser's localStorage when the preference write doesn't succeed (or the app is coded to prefer local storage). localStorage is scoped to one browser, one user, and one origin. It is never sent to the Rally server and is never visible to any other user's session. As a result, only the browser that made the original entry ever shows that data; every other viewer of the same page sees nothing.

Resolution

Workaround:

The new Rally Widgets fix requires rebuilding the app as a Custom HTML Widget within a Custom View. Since Custom HTML Widgets cannot access Rally.data.PreferenceManager, you must persist data centrally by writing it directly to a Rally object via WSAPI, this ensures that every viewer reads the same server-side value.

  1. Create a Custom Field:
    • Navigate to Workspace Settings > Workspace Data > Manage Workspace Fields.
    • Select the Release object (any).
    • Add a new field of type Text.
    • Use any Custom Name eg: c_ReportOutData.
  2. Update Widget Code:
    • Modify your Custom HTML widget to use updateWsapiObject and fetchWsapiObject.
    • Ensure the code targets the c_ReportOutData field on the currently selected Release.
  3. Configure Custom View:
    • Create a Custom View in the target workspace.
    • Add the Custom HTML widget.
    • Apply a Release Filter to the view so the widget knows which Release object to read/write from.

Additional Information