server icon indicating copy to clipboard operation
server copied to clipboard

User Profile [Meta]

Open Pytal opened this issue 4 years ago • 12 comments

Completed

Base

  • [x] https://github.com/nextcloud/server/pull/28751

References

Privacy

  • [x] https://github.com/nextcloud/server/pull/29559
  • [x] https://github.com/nextcloud/server/pull/29869

Design / Frontend

  • [x] https://github.com/nextcloud/server/pull/29482
    • [x] https://github.com/nextcloud/spreed/pull/6437
  • [x] https://github.com/nextcloud/server/pull/29833
  • [x] https://github.com/nextcloud/server/pull/29872
  • [x] https://github.com/nextcloud/server/pull/29893

Issues

  • [ ] https://github.com/nextcloud/server/issues/30864
  • [ ] https://github.com/nextcloud/server/issues/30865
  • [x] https://github.com/nextcloud/server/issues/30866
  • [ ] https://github.com/nextcloud/server/issues/30867
  • [ ] https://github.com/nextcloud/server/issues/30868
  • [x] https://github.com/nextcloud/server/issues/30869
  • [ ] https://github.com/nextcloud/server/issues/30870
  • [ ] https://github.com/nextcloud/server/issues/30871

Miscellaneous

  • [x] https://github.com/nextcloud/documentation/issues/7797
  • [ ] Tests
  • [ ] Set order of profile actions
  • Provide additional emails as actions
    • Prerequisites:
      • [ ] Preserve order and scope of additional emails, the logic for handling this is a prerequisite as visibility must also be preserved https://github.com/nextcloud/server/issues/26866#issue-874793291

Pytal avatar Jul 23 '21 21:07 Pytal

So here’s the mockups @nimisha-vijay and I worked on. :) You can also find them on our Penpot org if you have access.

Personal settings

Has a nice redirect / marketing about the new profile feature, directly showing the hovercard:

Personal settings

Profile

Possible sections:

  • Description / Bio
  • You & this person: Events, mails, Talk messages, shared folders, etc.
  • Photos in a nice grid view
  • Shared resources: Files, folders, file drop, forms, public deck board, etc.
  • (Posts from Social are smth for the dreamworld future ;)

Mobile layout from top to bottom:

  • Avatar
  • Name
  • Role & organization
  • Location & time zone
  • Primary action
  • Other actions
  • Description
  • You & that person
  • Photos
  • Shared resources
  • etc.

Order of actions

  • Book appointment
  • Talk to Jim
  • Email - mailto: link
  • Phone - tel: link
  • Website - visit website
  • Twitter
  • Share a file - opens file picker

Profile

And for yourself it would look like this, with the additional edit buttons: Edit profile, Edit photos, Edit items: Profile(1)

Empty content

Viewing another person’s profile which is rather empty, we could move the "You & this person" section to the content since otherwise the content will be a bit unbalanced:

Profile-empty-1

Alternatively we could have an empty-content text which might be better since it keeps content in place: Profile-empty

jancborchardt avatar Aug 24 '21 10:08 jancborchardt

Whoever is working on this, please let us talk about proper API for clients.

tobiasKaminsky avatar Aug 30 '21 06:08 tobiasKaminsky

Я всегда за конструктивный диалог.

пн, 30 авг. 2021 г., 09:43 Tobias Kaminsky @.***>:

Whoever is working on this, please let us talk about proper API for clients.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/28139#issuecomment-908075825, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVLIXABFLLY6ERLZ72I7OW3T7MSC7ANCNFSM5A4W236A .

Salvador1313 avatar Aug 30 '21 06:08 Salvador1313

When reading this issue and looking at the images I remembered the proposal of #2143.

The aim of that old issue is different (synthetic informations about tags and not about users), yet maybe rereading it while working at this issue could provide some useful suggestions for an extension of this functionality.

Hope that helps!

Spartachetto avatar Aug 30 '21 21:08 Spartachetto

Whoever is working on this, please let us talk about proper API for clients.

For sure! what do you have in mind? Do we have a similar API used by clients that may be used as reference?

Pytal avatar Sep 01 '21 03:09 Pytal

Makes you approachable and shows Nextcloud ecosystem: Book an appointment, Talk to person

How will we do this? Groupware will take care of the appointments integration. Can we register to render arbitrary content on the profile page like we do on the dashboard? As in, Nextcloud server doesn't have any ties on how Calendar or the appointments feature works, but rather Calendar renders a small component on the profile page that renders the appointments button/widget?

ChristophWurst avatar Oct 11 '21 12:10 ChristophWurst

Makes you approachable and shows Nextcloud ecosystem: Book an appointment, Talk to person

How will we do this? Groupware will take care of the appointments integration. Can we register to render arbitrary content on the profile page like we do on the dashboard? As in, Nextcloud server doesn't have any ties on how Calendar or the appointments feature works, but rather Calendar renders a small component on the profile page that renders the appointments button/widget?

php API https://github.com/nextcloud/server/blob/bacb4873a1e76ca7cfee8d38b40fdce2474f05cc/lib/public/Profile/IAction.php https://github.com/nextcloud/server/blob/bacb4873a1e76ca7cfee8d38b40fdce2474f05cc/lib/private/Profile/Actions/TwitterAction.php

skjnldsv avatar Oct 12 '21 13:10 skjnldsv

Thanks. From that code I get that one can only provide links, right? Will we also support running and rendering arbitrary content on the page? Like will the Calendar app be able to load a little widget that, depending on the appointments configurations of the user, renders a button, more than one or none?

ChristophWurst avatar Oct 12 '21 13:10 ChristophWurst

Not yet. Widgets are for another version iirc

skjnldsv avatar Oct 12 '21 13:10 skjnldsv

@ChristophWurst design-wise, it is fine to only provide 1 link to the overview page of the booking that is implemented in Calendar.

jancborchardt avatar Oct 12 '21 13:10 jancborchardt

https://github.com/nextcloud/calendar/issues/3541 contains the details for the appoinments integration. From the discussion it shows that we'll need a small enhancement of the current API: it has to be possible to only conditionally render an action. That is, when the profile's user has no public appointment configurations, we won't show an action link. Only if there is a target we will.

But I suppose this will be necessary anyway, give that not every user will have a Twitter account.

ChristophWurst avatar Oct 12 '21 14:10 ChristophWurst

it has to be possible to only conditionally render an action

I discussed this yesterday with Chris. E.g. also the case with Talk as we need to check if the receiving user is allowed to use Talk, not only the visiting user. I think the conclusion was that returning null on the getTargetUrl would prevent the rendering.

nickvergessen avatar Oct 13 '21 12:10 nickvergessen