-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Comments
Mock ups as before: #16328 (comment) |
The timeline will need a new table to track the user's last visit:
|
fileid -> objectid ? How will the http api look like? |
"lastVisitedTime" as new property in the files webdav response makes sense (find a better name though). 😄 |
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) |
I also remember that the activity app has shortcomings regarding pagination, due to activity grouping, is that still the case @nickvergessen ? |
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. |
If we want this timeline feature, I vote for a new table called timeline |
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. |
Which is kind of odd, when the timeline should not know about types (folders). So this needs to have somekind of "parent hierarchy" available |
@pmaier1 @felixheidecke thoughts on this ? Would move to backlog for now |
Really nice simplification and UX improvement. However, looks like something bigger, so probably postpone for now, yes. |
The »Activity« tab replaces the existing activity tab and merges the activities, versions and comments into a single chronological stream.
It works as follows:
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
The text was updated successfully, but these errors were encountered: