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

Files Activity timeline tab containing comments, versions and activities #20259

Closed
PVince81 opened this issue Nov 3, 2015 · 12 comments
Closed

Comments

@PVince81
Copy link
Contributor

PVince81 commented Nov 3, 2015

The »Activity« tab replaces the existing activity tab and merges the activities, versions and comments into a single chronological stream.

It works as follows:

  • activity app registers timeline plugin which provides a timeline collection/accessor (must return ungrouped activities)
  • comments module registers timepline plugin which provides a timeline collection/accessor
  • versions app registers timeline plugin
  • the timeline tab queries all the timeline plugins and merges the results together based on their "date" field

One idea would be to provide a base Collection implementation that can be extended by plugins to point to the correct endpoint and also transform the results, if needed.

I'll take care of writing the timeline related stuff.

(supersedes older ticket #18164)

@nickvergessen @blizzz @DeepDiver1975 @jancborchardt

@PVince81 PVince81 added this to the 9.0-current milestone Nov 3, 2015
@PVince81 PVince81 changed the title Files timeline tab containiner comments and activities Files timeline tab containing comments and activities Nov 3, 2015
@PVince81
Copy link
Contributor Author

PVince81 commented Nov 3, 2015

Mock ups as before: #16328 (comment)

@PVince81
Copy link
Contributor Author

PVince81 commented Nov 3, 2015

The timeline will need a new table to track the user's last visit:

  • fileid
  • userid
  • lastVisitedTime

@DeepDiver1975
Copy link
Member

The timeline will need a new table to track the user's last visit:

fileid
userid
lastVisitedTime

fileid -> objectid ?

How will the http api look like?
Make it a dav property on the file?

@PVince81
Copy link
Contributor Author

PVince81 commented Nov 4, 2015

"lastVisitedTime" as new property in the files webdav response makes sense (find a better name though). 😄

@PVince81
Copy link
Contributor Author

The timeline idea cannot work properly with pagination, when aggregating results.

Ideal would be to have a new database table "oc_timeline" containing "entryType", "entryId", "time" where the id points either at the matching comment and activity. This way it is possible to properly sort and paginate the results to be displayed in the UI.

One could say that "oc_activity" is already some kind of timeline, so why not publish comments there too or a link to the comment id ? The problem with activities is that they expire after a few days or so, so people would not be able to scroll back to old comments.

Now I remember that there was a requirement to auto-delete old comments, see last item here #16328 (comment)

@PVince81
Copy link
Contributor Author

I also remember that the activity app has shortcomings regarding pagination, due to activity grouping, is that still the case @nickvergessen ?

@PVince81 PVince81 modified the milestones: 9.1-next, 9.0-current Feb 9, 2016
@PVince81
Copy link
Contributor Author

PVince81 commented Feb 9, 2016

Moving this to 9.1. Hopefully we can get a bit of time to get the tech side sorted out better.

Above I suggested reusing the activity stream for the timeline and have apps push there, for consistency. Another alternative idea is to use the oc_comments table instead. @karlitschek asked for the latter to have "actor", "actorType", "verb", "objectType", "objectId", so it might suit even better.

Ideal is to have a single reference table containing all entries, so that we don't have any pagination issues any more. The thing I don't want to do is to mash up results from different tables with different paginations. The should be a single table containing the main entries, and have ids that link to the more detailed information related to the object type in question.

@nickvergessen
Copy link
Contributor

If we want this timeline feature, I vote for a new table called timeline

@jancborchardt
Copy link
Member

What we should also keep in mind, if possible, is the ability to view the timeline for folders. That is, all events of the contained files/folders showing up.

Not saying it needs to be there first thing, but we should have it in mind especially if we do add a new table or such.

@nickvergessen
Copy link
Contributor

Which is kind of odd, when the timeline should not know about types (folders). So this needs to have somekind of "parent hierarchy" available

@jancborchardt jancborchardt changed the title Files timeline tab containing comments and activities Files timeline tab containing comments, versions and activities Mar 22, 2016
@jancborchardt jancborchardt changed the title Files timeline tab containing comments, versions and activities Files Activity timeline tab containing comments, versions and activities Mar 22, 2016
@PVince81 PVince81 modified the milestones: 9.1-current, 9.2-next Jun 24, 2016
@PVince81
Copy link
Contributor Author

PVince81 commented Dec 8, 2016

@pmaier1 @felixheidecke thoughts on this ?

Would move to backlog for now

@pmaier1
Copy link
Contributor

pmaier1 commented Dec 13, 2016

Really nice simplification and UX improvement. However, looks like something bigger, so probably postpone for now, yes.

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

No branches or pull requests

7 participants