Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New homepage implementation with Activity Feed + Recently Viewed #956

Merged
merged 119 commits into from Sep 11, 2015

Conversation

agilliland
Copy link
Contributor

This includes a full series of changes to support a new homepage approach ...

  • Added a new pub/sub events model in the backend to allow easy publishing and subscribing to different types of events that happen with the app data.
  • Created an activity feed which listens for certain published events and records them into a custom table so that we can reconstitute a sense of history of how things happen within a MB instance.
  • Added a new view log feature which records each time a user views a Dashboard or Card (currently indicated by api call) so that we can show users their recently viewed stuff.
  • Reworked the layout of the Saved Questions tab on the homepage.
  • Added the ability to filter the Saved Questions list by database table.

This implements #938 and implements #936

Required:

  • icon for happy face in greeting
  • icon for Metabase activity
  • make sure we are properly assigning colors to multiple users in activity (including 5+ case)
  • user and smile column alignment
  • border on profile initials (i believe there is a 1px border that we don't want)
  • grey line between activity feed initials
  • saved questions filter state indicator
  • move the ‘ask a question’ button in nav bar and make it white
  • fix bug where saved questions listing is not properly sorting by created_at
  • color of links in recents sidebar
  • color of links in activity subject
  • completely remove the ability to save ‘private’ cards and dashboards?
  • fix the sorting issue on the activity list
  • what to do about broken links to things that don’t exist anymore?
  • empty state for recent views list
  • empty state for home page activity
  • full-height css on sidebar
  • clicking an accordion header should collapse the children
  • tabs should update the homepage url for a better back button experience and linking
  • cursor pointer on table filters
  • fix issue where previous table listing is staying visible for a moment when a new database is chosen
  • main section of homepage needs full-height as well. if card/activity listing is short things look strange.
  • recents need to be aligned left when wrapping to two lines.
  • all activity items say "You"
  • font size on saved questions (@kdoh)
  • empty state centering
  • change no results for filter copy to reflect 'no questions have been saved about table yet'
  • text for edit on hover

Maybe:

  • implement the mosaic background
  • tracking a view when a card is created so that the recent views is accurate
  • icons on the recent views section (?)
  • relative time indicators on recent views section (?)
  • truncation of long names on recent views section (?)
  • automatically poll for updates to the activity feed

Cleanup:

  • remove old angular homepage code

…ings out. adding new migration which creates the `activity` table.
…that we can create the first entry. also, implement user login event handling so that we can identify when a user logs in for the first time and we can publish an activity feed entry for :user-joined.
…ack start & end as separate events but part of the same activity. to do so we add a :tracking-hash to the events when they are published which is meant to remain consistent throughout the sync, then we implement our activity tracking code so that we can lookup an existing activity item and update it based on the custom hash.
…er ways of specifying an activity custom identifier.
…atabase & table associated with an activity item.
…an make it easy to spin up new event listeners for different things, including our second listener which will be for view count tracking.
@@ -0,0 +1,55 @@
"use strict";

import React, { Component, PropTypes } from "react";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proptypes

@kdoh
Copy link
Member

kdoh commented Sep 11, 2015

added some code review comments. i think after that + tests passing we're g2g assuming nothing explodes on proto

@kdoh kdoh closed this Sep 11, 2015
@kdoh kdoh reopened this Sep 11, 2015
@kdoh
Copy link
Member

kdoh commented Sep 11, 2015

sometimes you press the wrong button cause you haven't had enough coffee

@salsakran
Copy link
Contributor

Can we add hover text for the edit icon on saved questions?

@kdoh
Copy link
Member

kdoh commented Sep 11, 2015

@salsakran yup. forgot about that one.

@kdoh
Copy link
Member

kdoh commented Sep 11, 2015

Noticed this is popping up in the console for me locally:
Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of RecentViews. See https://fb.me/react-warning-keys for more information.

@kdoh
Copy link
Member

kdoh commented Sep 11, 2015

giphy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants