GROW WITH ATARAXYBuild skills. Get real experience.Explore internships and education support.

Custom Portals

Portal Saved Views: Separate Shared Filters from Permission to See Records

Build saved portal views with explicit ownership, visible filter rules, current authorization, and predictable behavior when fields or teams change.

LET’S BUILD SOMETHING USEFUL

Have a project in mind?

Talk to Ataraxy Developers about your website, app, or custom software.

Saved views can make a portal much easier to use. A coordinator opens overdue requests without rebuilding five filters, while a manager keeps a shared view of work awaiting review. The convenience creates a subtle design question: what exactly is being shared? A filter definition, a snapshot of records, and permission to read those records are three different things. The portal should not blur them together.

Consider a hypothetical client portal with projects, requests, and account managers. A team lead creates a view called Needs a response and shares it with colleagues. Each colleague should understand its filter rules and see only records they are currently allowed to access. Sharing that view must not silently grant the creator’s access or promise that every viewer will see the same result count.

Define the saved object precisely

For an ordinary saved view, store the query definition and presentation choices: filter fields, operators, values, sort order, visible columns, and any grouping. Keep it distinct from an exported snapshot. A snapshot captures a particular result at a particular time; a live view evaluates its rules against current data. Label the product accordingly so staff know whether the list will change as requests are updated.

Use stable internal field identifiers rather than treating the displayed label as the query language. A translated or renamed label should not break the view. Store a schema version with the definition so future changes can be handled deliberately. Validate the saved configuration on the server and reject unsupported fields or operators instead of accepting arbitrary query fragments from the browser.

Keep authorization independent of the filter

The OWASP authorization guidance recommends validating permissions on every request and using deliberate access rules. Apply that principle when a saved view is opened, refreshed, exported, or used for a subsequent action. A stored filter is a convenience for selecting records; it is not evidence that the current user may read or modify every matching item.

In the client-portal example, the server should combine the view’s permitted filter definition with the viewer’s current scope. If a colleague has access to fewer projects than the creator, the results may legitimately differ. Explain that behavior where it affects collaboration. Avoid displaying the creator’s unrestricted total alongside the viewer’s restricted records, because even a count can reveal information outside the intended scope.

Distinguish personal, team, and managed views

A personal view can belong to one user. A shared team view needs an owner and a defined audience. A managed default may require a controlled update process because many people depend on it. Make these distinctions visible through labels and available actions. A user should know whether editing a filter changes only their current screen or changes the saved definition that colleagues open tomorrow.

Offer a clear save-as-copy action when someone wants a variation. For shared views, decide who may edit, rename, share, or retire the definition. Record changes that affect other users. Avoid an interface where a temporary filter adjustment automatically rewrites a widely used view. The product can support experimentation without turning every exploration into an unannounced team configuration change.

Make the effective filters visible

Show the active filter rules in plain language, including defaults added by the system. A view named Overdue may depend on status, due date, timezone, and ownership. If those rules remain hidden, people will interpret the name according to their own assumptions. Give users a way to inspect the definition without requiring them to understand database syntax or an internal serialization format.

Relative dates need particular care. Decide what today, this week, or the last seven days means and which timezone controls the boundary. Define whether assigned to me refers to the current viewer or the person who saved the view. Both can be useful, but they are different queries. Use explicit labels so sharing a view does not produce a list that seems randomly different for each colleague.

Plan empty and partially unavailable results

An empty view can mean no records match, the viewer has no access to matching records, a selected project was retired, or a filter definition is no longer valid. Provide a useful explanation without revealing restricted data. Do not silently remove an invalid filter and broaden the result set. That can turn a narrowly scoped work queue into a much larger list without the user realizing its meaning changed.

If a field or option is removed, mark the affected rule for review and preserve the rest of the definition where possible. Let an authorized owner repair or replace it. For a managed view, notify the responsible team through the portal’s existing maintenance workflow. Keep the failure visible enough to correct, but avoid presenting technical field IDs as the primary message to ordinary users.

Keep exports and bulk actions aligned

When a user exports a saved view, capture the effective query, viewer scope, and relevant point in time for that operation. If the export runs in the background, define whether it uses a snapshot or reevaluates the live filter later. Both approaches require an explicit explanation. A file generated twenty minutes after the button was pressed may otherwise contain a surprising set of records.

For bulk actions, show the actual eligible selection and revalidate authorization when the action executes. A saved view matching fifty records does not automatically authorize changing all fifty. Handle records that moved out of scope, changed state, or lost permission between preview and execution. Report the outcome by item or meaningful group so the user can distinguish completed work from skipped or rejected records.

Maintain shared views as teams change

Define what happens when an owner leaves the organization or loses access to the team. A shared operational view may need a new owner, while a personal view may be archived under the portal’s retention rules. Do not transfer the former owner’s record permissions along with the view definition. Ownership of a reusable query and authorization to its results should remain separate throughout the handover.

Review unused or redundant shared views periodically. Keep names meaningful and make replacement relationships clear when a managed view is retired. A short description can explain the intended task and audience. This reduces the accumulation of slightly different views named New, New final, and Final updated, which make it difficult for staff to know which list supports the current process.

Test with different viewers and changing data

Build a matrix covering the creator, another team member, a restricted member, and a user outside the sharing scope. Open the same view for each and compare the intended differences. Change a record’s permissions and status, then refresh, export, and attempt a bulk action. Verify the server’s results as well as the visible controls. A hidden button is not an authorization test.

AI can help translate a user’s request into a proposed filter definition, such as open requests assigned to my team and due this week. Show the generated rules before saving or applying consequential actions. Validate them against the supported schema and current permissions. If the request is ambiguous, ask for a specific choice rather than allowing the assistant to invent an audience or silently widen the selection.

Conclusion

Useful saved views preserve a clear distinction between reusable filters, live results, and access rights. Make ownership and effective rules visible, handle invalid definitions deliberately, and recheck permissions for exports and actions. The portal can then give teams convenient shared work queues without borrowing the creator’s authority or hiding changes in what the view means.

LET’S BUILD SOMETHING USEFUL

Turn what you’ve learned into your next project.

Talk to Ataraxy Developers about your website, app, or custom software.

Ataraxy Developers builds websites, mobile apps and custom software for businesses in the US, Pakistan and beyond.

Join Our Newsletter

Get insights on software, digital products and automation from our development team.

You have been successfully Subscribed! Ops! Something went wrong, please try again.