Retrieves comprehensive timeline data for an artist including membership dates, artwork creation history, collection launches, and productivity metrics. This function provides the temporal narrative foundation for storytelling components.
Migration-Ready: This function is designed to be moved to artutils in the future. It is a pure data function with no Shiny dependencies.
get_artist_timeline(artist_uuid, cn)A named list with the following elements:
POSIXct. Date when artist joined the platform
Numeric. Number of years the artist has been active
POSIXct. Date of first artwork created (NULL if none)
POSIXct. Date of most recent artwork (NULL if none)
Integer. Total number of artworks created
Data frame with columns: collection_uuid, collection_name, created_utc, artwork_count
Data frame with columns: year, quarter, artwork_count, period_label
List with year, quarter, artwork_count for most productive quarter
Data frame with columns: date, type, description, significance
The function aggregates temporal data from multiple tables:
Artist membership from app.artist_index
Artwork creation dates from app.artwork_index
Collection launches from app.collection_index
Productivity metrics calculated from artwork counts
Quarterly productivity is calculated by grouping artworks into quarters and identifying the peak period. Milestones include significant events like:
Platform membership
First artwork
Collection launches
Productivity peaks
app.artist_index (created_utc)
app.artwork_index (artist_uuid, created_utc, title)
app.collection_index (artist_uuid, collection_uuid, collection_name, created_utc)
get_artist_career_stats for career-wide statistics,
get_artist_evolution for creative evolution analysis
if (FALSE) { # \dontrun{
cn <- artcore::dbc()
artist_uuid <- "123e4567-e89b-12d3-a456-426614174000"
timeline <- get_artist_timeline(artist_uuid, cn)
# Access timeline data
timeline$member_since # When they joined
timeline$years_active # How long they've been creating
timeline$quarterly_productivity # Productivity over time
timeline$peak_period # Most productive quarter
timeline$milestones # Key moments in their journey
artcore::dbd(cn)
} # }