nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
26.45k stars 3.98k forks source link

User Profile [Meta] #28139

Open Pytal opened 3 years ago

Pytal commented 3 years ago
Completed ### Base - [x] https://github.com/nextcloud/server/pull/28751 #### References - Profile page ideation [https://github.com/nextcloud-gmbh/server/issues/33](https://github.com/nextcloud-gmbh/server/issues/33) - Penpot Mockups [https://design.penpot.app/#/dashboard/team/aba21030-65ab-11eb-bbda-03f8ac143bbf/projects/7d7bb720-a2cc-11eb-bb49-81aaa3a367f9](https://design.penpot.app/#/dashboard/team/aba21030-65ab-11eb-bbda-03f8ac143bbf/projects/7d7bb720-a2cc-11eb-bb49-81aaa3a367f9) ### 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

Miscellaneous

jancborchardt commented 2 years ago

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:

Mobile layout from top to bottom:

Order of actions

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

tobiasKaminsky commented 2 years ago

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

Salvador1313 commented 2 years ago

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

пн, 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 .

Spartachetto commented 2 years ago

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!

Pytal commented 2 years ago

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?

ChristophWurst commented 2 years ago

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?

skjnldsv commented 2 years ago

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

ChristophWurst commented 2 years ago

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?

skjnldsv commented 2 years ago

Not yet. Widgets are for another version iirc

jancborchardt commented 2 years ago

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

ChristophWurst commented 2 years ago

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.

nickvergessen commented 2 years ago

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.