Skip to content

All Companies Design History

Ed Mozley edited this page Nov 15, 2026 · 1 revision

🧭 All companies - how the design evolved

Why the "All companies" view works the way it does, decision by decision. The current design is on Assets and All companies - design. Kept so that the reasoning behind each step is not lost the next time it is questioned.


In one line each

When Release What All companies meant Why
September 2026 1.5.0 The ticket list only A desk supporting three schools wanted one queue across them
September 2026 2.6.0 Tickets, plus Users and the Tasks board - opted in one list at a time; the asset list deliberately not A customer found both showing "the last selected company"; asset dropdowns are per company
November 2026 5.4.0 Plus Assets -> People, holders and a person's panel; a rule for when the asset list can follow A support provider with about 3,000 clients found People and Tickets disagreeing

1. September 2026 - 1.5.0: a consolidated ticket queue (#1554-#1558)

A prospective user asked, by email:

It would also be useful within the ticket module; if there could be a consolidated ticket view across all companies in a consolidated board. We support three different schools' entities; therefore, such a view would be useful for us daily while keeping each entity separate.

So All companies was built for the ticket list. Everything else stayed on one company, and the All companies page said why:

That is deliberate rather than unfinished. The ticket queue is the thing people watch all day across entities; the rest are things you go into a particular entity to do.

The reasoning: a judgement about how people work. A desk watches its queue across everyone; it goes into a school to manage that school's laptops or changes.

What it cost: every other list kept a filter that always answers with one company, so under All companies they quietly showed the last company picked, without saying so.

2. September 2026 - 2.6.0: Users and Tasks, and an asset list that waits

A customer's list of requests included:

Tickets/Users: when all companies view selected, isn't showing all users but last selected company Tasks: same, for tasks.

Both had one cause: activeTenantFilter() never looks at All companies. Rather than change it everywhere - it also scopes updates and deletes, which must always act on one company - a second function was added, activeTenantReadFilter(), for list reads, and lists were opted in one at a time. Tickets -> Users and the Tasks board were the first.

The same release added moving an asset between companies and asking for the company on New asset. The asset list was looked at and deliberately left on one company. The Moving an asset between companies - Developer Guide recorded why:

Its type, status and location dropdowns are single-company, so a widened list would let you open another company's asset and give it a location from the wrong one. ... assets would need the same before the list can widen.

The reasoning: a safety guard with a stated condition - not until the dropdowns follow the asset's company. Not a "never".

What it left: Assets -> People was never part of that decision - it has no per-company dropdowns - but it was not opted in either, so it kept the old behaviour.

3. November 2026 - 5.4.0: People, and a rule for the rest

#356: a support provider with about 3,000 client companies saw 7 people in Tickets -> Users and 4 in Assets -> People under All companies. That was the unfinished part of step 2, not the decision.

Fixing it raised the larger question - should the asset list follow too? - and it was talked through on 15 November 2026 before anything changed:

  • The 1.5.0 judgement fits a desk with a few companies. It fits less well a provider with thousands, for whom switching company to find who holds a laptop does not work.
  • The 2.6.0 condition still holds: an existing asset's dropdowns still come from the selected company.
  • Neither has to give way. Working in one company, nothing changes; only the All companies view does.

That gave a single rule: the selector decides what you see; a record's own company decides what you can pick. People, holders and a person's panel widened in 5.4.0. The asset list stays on one company - and now says which - until every way of editing an asset follows the rule. The steps, trade-offs and an audit of every edit path are on the design page.

What has not changed throughout

  • Writes act on one company. Only list reads widen.
  • A small install sees no difference. Every change above lives inside the All companies view.
  • "Everyone" must mean everyone. A view that says All companies and quietly shows one is the thing each step has removed a little more of.

FreeITSM

Getting Started

Modules

Multi-tenancy (planned)

Responses to feedback

Blue sky thinking

Bugs resolved

Pull requests

Links

Clone this wiki locally