metabase / metabase/metabase

Suggestion: Collection Creator, Created Time, and Updated Time Metadata (Add revision history to collections)

Open
#11,945 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Administration/ Organization/Activity Log Organization/Collections Organization/Search Priority:P3 Type:New Feature
Dominant language
Clojure
Stars
49.3k
Forks
6.8k
Avg merge
1d 13h
Merged PRs (30d)
653

Description

Is your feature request related to a problem? Please describe.

Our organization needs to analyze the usage pattern of Metabase users in collection level. One of the use cases is to prune collections which are no longer relevant. To do this, additional info on the collections are needed - namely, collection creator, created time, and updated time.

Describe the solution you'd like

  1. Add the following fields to the collection table:
    • creator_id: The user which created the collection; foreign key to core_user.id.
    • created_at: The time when the collection was created.
    • updated_at: The time when the collection was last updated.
  2. In activity table, add the following values to the topic field:
    • collection-create
    • collection-update

Describe alternatives you've considered

I am open to other solution alternatives as long as the collection creator, created time, and updated time information can be obtained.

How important is this feature to you?

We want to prune collections which are no longer relevant to make the permission management more manageable. In our instance of Metabase, there are way too many collections, and there is a risk that rogue users can access unintended collections, which might contain questions with personal data.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the collection and activity table definitions and the code paths that create or update collections. Trace how collection records and activity topics are currently persisted. Done means collection creator, creation time, and update time can be obtained, with collection-create and collection-update activity recorded consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
backend, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.