Loading...

This is taking longer than expected.

Back to the help centre

Team files and space

The shared file library a team gets, the storage quota you set on its plan, the permission that opens both screens, and where the team logo now lives.

Weblabor Base gives every account a file library and a storage quota. Weblabor Teams gives the same two things to the team: one shared folder every member works in, and a quota you capture on the team's plan and sell more of. This guide covers both screens, the permission that opens them, and what changed about the team logo.

The two screens

URL What it shows
/team/media The team's files and folders: browse, upload, rename, move, delete, preview.
/team/space How much disk the team's files take up, against its quota.

Both appear in the team sidebar under Administration. Opening either one takes one thing: permission to manage the team's files — manage media on the team guard.

  • Whoever holds it sees Media and Space in the menu and opens both, whether plans are switched on or off, and whatever the team's plan, balance or plan permissions.
  • Whoever does not hold it does not see the entries, and opening their URL is refused.
  • The team's owner role has it from the start, like every other team permission; give it to another role from /team/roles. See Team roles and permissions.

One shared folder

A team has a single folder tree, and everyone who can open it sees the same thing. There are no per-member folders and no private area: a file one member uploads is a file any other member with the permission can rename, move or delete. That is the point — the files belong to the team, not to whoever happened to upload them.

If your product needs files that belong to one person, those already exist: the personal library at /app/media is untouched and follows the person into every team.

Setting the quota

The quota is the disk_space meter the base seeds. Its number is read in the unit your project declares for disk space — megabytes or gigabytes, gigabytes unless you declared otherwise, with $diskSpaceUnit in App\Classes\PlanLimits — and teams use that same unit: there is no separate one for teams.

  1. Open the team's plan in the admin panel and add disk_space under Limits, with the amount of space the plan includes, in that unit.
  2. Nothing else. The team's screens read it straight away, and so does the usage card on the team dashboard.

To sell more space, create an add-on with Sold by tiers on and a disk_space limit row, and put the amount, in the same unit, in the Units column of each price variation. Buying it raises the team's quota immediately; cancelling lowers it. The full walkthrough is Sell add-ons on the base's site.

With plans off, or on a plan that does not declare disk_space, no quota resolves and nothing is blocked. A team with no active plan is the opposite: its quota is zero, so every upload is refused — the Media screen, the uploaders and the team logo alike — and its Space screen shows the size its files take with "Not included in your plan" under it. See Team plans and billing.

What happens at the quota

An upload is refused once the team is at its quota, and so is a file that would take the team past it: the person is told why instead of being shown a success message. The one place a file can still cross the quota from below is the Media screen's own upload when files are not sent straight to S3; there, as for a personal account, the next upload is refused once the team is at its quota. Everything else keeps working: renaming, moving, deleting files and creating folders are never blocked, because they are the way back down.

Nothing is ever deleted automatically. A team that ends up above its quota — by cancelling an add-on, or by moving to a smaller plan — keeps its files and simply cannot add more until it frees some up or buys space.

The space screen shows what the team uses against what its plan gives it, each in its own size — "500 MB of 2 GB" — warns from 80%, and says so plainly once the team is out of room. The disk space card on the team's add-ons screen says the same at the limit, and names both ways out: free some up, or buy more capacity. Files are freed from /team/media.

What the space screen does not show

It shows the total and the quota, and that is all.

  • No breakdown by area. The personal space screen lists what each part of the product is occupying. That count is built per person and there is no team equivalent; the team screen answers the question the quota asks — how full is it — rather than guessing at a per-team share of every table.
  • No "clean up history" button. The personal screen offers one because a person accumulates an access and activity history that is theirs to delete. A team's activity log is an audit trail of what its members did, not a record the team owns and can throw away, so there is nothing for that button to clean.

The team logo is a file in the library

The logo is set in /team/settings, with the same uploader the rest of the product uses for images: drop a file on it or click to choose one, and it shows you the logo the team is using now. Same formats as before, same 5 MB limit. There is no save button: each change applies as soon as you make it and confirms itself once.

  • Replace it by uploading another. The one it had is deleted, not kept.
  • Use an image already in the library by typing its ID in Add file ID directly.... Only images from the team's own library are accepted, and the previous logo stays in the library. Typing an ID needs the manage media permission; without it you can still upload a new logo.
  • Remove from this record takes the logo off the team but keeps the file in the library, still counting against the quota.
  • Delete from the media library deletes the file for real, and the space it took goes back to the team.
  • After either of the last two, the team shows the avatar generated from its name again, the way a team that never had a logo does.
  • It sits at the top level of /team/media and counts against the team's quota, like any other file. A logo that would take the team past its quota is refused.

Logos saved before the library existed were moved into it, so a team that had one may see its usage grow without anybody having uploaded anything: a logo takes up space, so it counts. Nothing was lost — the files were copied, not moved. A team whose logo file was already gone from the disk shows the generated avatar instead, and can upload a new one whenever it wants.

If a logo still on the disk could not be moved, the migrations stop instead of finishing, name the teams it belongs to, and keep the old logo column so nothing is lost. Run the migrations again to retry; the column is removed once every such logo has been moved.

Teams created before this

Every team has its folder from the moment it is created. Teams that already existed were given theirs, and their owner role was given manage media, when you ran the migrations that came with this — nothing to do by hand.

Where the files go

They land on the media disk under teams/{team_id}/, beside the users/{user_id}/ folders of personal libraries. Which disk that is, and how to point it at S3 or keep it local, is Files, images and storage on the base's site.