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

↔️ Make app order configurable #4917

Closed
MariusBluem opened this issue May 17, 2017 · 29 comments · Fixed by #40844
Closed

↔️ Make app order configurable #4917

MariusBluem opened this issue May 17, 2017 · 29 comments · Fixed by #40844
Assignees
Labels
1. to develop Accepted and waiting to be taken care of design Design, UI, UX, etc. enhancement ❄️ 2023-Winter
Milestone

Comments

@MariusBluem
Copy link
Member

MariusBluem commented May 17, 2017

Edit by @jancborchardt with spec:

  • In general, remember that regular users rarely change anything. As such this is a feature for quite advanced people and it is an investment to maintain and test this properly.
  • The app sorting we talk about should be purely user-side. Admins already have means to shuffle apps around, either in the code or using the apporder app. Also, admins should not dictate the personal order of things in your Nextcloud.
  • Moving apps should happen via drag&drop directly in the top bar.
  • For keyboard accessibility, we could also think about making it possible to move an app by focusing it, then using the arrow keys (if need be with Ctrl or Shift as modifier). Is there a standard there?
  • The default order still needs to make sense.
  • The app which is sorted first should automatically be used as the default app.
  • If an app disables the app which is sorted first (or if it breaks after update) the next app should simply take its place.
  • "Reset to default" isn’t really necessary, as you can simply drag something back.
  • Changing maximum of displayed apps via dragging the "More" button could be possible. But better to do it in a separate pull request.

What you can do to help:

  • 💻 Dive into the code and make this happen. Please follow the spec outlined above, and remember to work step-by-step. 👍
  • 💸 Donate to the bounty for this issue on Bountysource. 🙂

Admins should be able to

  • set an default order for apps
  • set, whether users should be allowed to change the order of the apps

If users are allowed to change the order by themself, this configuration should be handles via drag-and-drop in the app menu.

We could use https://github.com/juliushaertl/apporder/ as base ...
Follow up: juliushaertl/apporder#29

@juliushaertl @nextcloud/designers

@MariusBluem MariusBluem added 1. to develop Accepted and waiting to be taken care of design Design, UI, UX, etc. enhancement labels May 17, 2017
@MariusBluem MariusBluem added this to the Nextcloud 13 milestone May 17, 2017
@hitam4450
Copy link

hitam4450 commented May 17, 2017

I certainly agree! 👍

Each user should be able to reaarange its app order resp. the default app at login !

@radiantwave
Copy link

radiantwave commented May 25, 2017

Each user should be able to reaarange its app order

But only if allowed to! 😄

@jancborchardt
Copy link
Member

So this would be another cool modification of @juliushaertl to include in the core server. :)

Some considerations:

  • We should decide if this should be an admin setting at all or only on the user side.
  • We need to make sure apps aren’t moved by accident.
  • The default order still needs to make sense.
  • The app which is sorted first should automatically be used as the default app.
  • (Another relevant means of sorting could be frequency of use, although that will result in the list jumping around a lot in the beginning.)

@pixelipo
Copy link
Contributor

pixelipo commented Jun 2, 2017

Adding one more point to your considerations, @jancborchardt

  • what if user (or admin) disables app which is sorted first (or if it breaks after update)

@jancborchardt
Copy link
Member

@pixelipo in that case the next app should take its place, probably simplest solution. Maybe there should be some feedback, but that's a slightly different topic.

@patschi
Copy link
Member

patschi commented Jun 4, 2017

Because of recent discussion in #5135 any handling of maximum shown apps could be take into consideration as well - fixed or even in a more dynamic way, maybe manageable for each user. For example by moving the "more apps"-toggle to the left/right to show less or more apps. Or may it be out-of-scope of this implementation? If so, we could at least keep it in mind for any upcoming versions.

@jancborchardt
Copy link
Member

jancborchardt commented Sep 12, 2017

@patschi that specifically is out of scope in general cause it's a very edge-case customization option which will mainly increase the amount of stuff we need to test and can possibly break. This, apart from the nicer UX, is a big reason why we reduce options and make the defaults great. :)

@jancborchardt jancborchardt removed this from the Nextcloud 13 milestone Sep 23, 2017
@tomastd
Copy link

tomastd commented Dec 7, 2017

One question, how can a user reset a customized app ordering?
It would be nice to have a "reset to default" option, isn't it?

@phlegx

This comment has been minimized.

@melroy89

This comment has been minimized.

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Oct 26, 2018
@jancborchardt
Copy link
Member

I will now hide every non-contributing comment. What you can do instead:

@jancborchardt
Copy link
Member

Also updated the original post with specification and answer to all considerations raised.

@damago1
Copy link

damago1 commented Jan 21, 2021

Please add the possibility to change default app without having to go to config.php. This should be in GUI.
The lastes upgrade brought mandatory dashboard. Many users would like to get rid of this 'improvement' and go to Nextcloud directly after login withoug having to extra click on the files icon.

@szaimen
Copy link
Contributor

szaimen commented Oct 18, 2022

from Julius:

A proper way would be to ensure that the order can somehow already be handled on the backend side where the apps are sorted already by their predefined order

uasort($list, function ($a, $b) {

One fairly straight forward attempt might be to emit an event in the server that an app like apporder can then listen to and adjust the navigation, I'm happy to hand over the app and release keys if anyone wants to start working on that, but cleaner would be to implement the sorting directly in server (#4917)

@Luticus
Copy link

Luticus commented Oct 26, 2022

Just found out that apporder doesn't and won't ever work on nc25+. Features I severely miss are the option to adjust the default order of apps both globally and per user, and the ability to hide app icons while leaving the app enabled. For instance I use the keeweb app to allow users to manipulate keepass databases they have in their NC, but I don't want/need the icon for the app cluttering up my app list for all users. Please consider integrating the full functionality of this app into the standard NC interface as these are features that seem extremely useful, by allowing admins to provide interfaces that are less complex for their users when possible.

@nawordar
Copy link

nawordar commented Nov 23, 2022

For keyboard accessibility, we could also think about making it possible to move an app by focusing it, then using the arrow keys (if need be with Ctrl or Shift as modifier). Is there a standard there?

The only place where moving something using is possible using keyboard, is moving browser tabs: Ctrl + Shift + Page Up/Page Down. If we implemented changing order using keyboard, we would be more accessible than most apps!

Maybe Ctrl + /? It normally skips over words in things like <textarea/> or text editors, so it doesn't conflict.

Or maybe some "Edit app menu" button? After pressing that button, pressing Enter wouldn't launch an app, but instead would select the app and pressing left and right arrow would move it. Pressing Esc or Enter would exit the icon moving mode.

The editing app menu mode could also be used for hiding icons in a similar way, customizing toolbar is is implemented in Firefox. When in that mode, a box with hidden app icons would show up below the app bar. To hide an app icon, just drag it to that box or press the key.

@adripo
Copy link

adripo commented Feb 3, 2023

Just found out that apporder doesn't and won't ever work on nc25+. Features I severely miss are the option to adjust the default order of apps both globally and per user, and the ability to hide app icons while leaving the app enabled. For instance I use the keeweb app to allow users to manipulate keepass databases they have in their NC, but I don't want/need the icon for the app cluttering up my app list for all users. Please consider integrating the full functionality of this app into the standard NC interface as these are features that seem extremely useful, by allowing admins to provide interfaces that are less complex for their users when possible.

@jancborchardt I was wondering if there is any roadmap or update on this functionality. The Apporder features are crucial to me and this lack of updates is hindering my transition to nc25.

@ardarandir
Copy link

This app seems to provide the desired functionality and much more: https://apps.nextcloud.com/apps/side_menu

@joskapista44
Copy link

This app seems to provide the desired functionality and much more: https://apps.nextcloud.com/apps/side_menu

Not really. If you don't want a new menu on the side just to configure the normal menu, it's not a solution, sorry.

@m-a-v
Copy link

m-a-v commented Mar 4, 2023

You can have both.

image

But I agree a simple solution with simple reordering would also do it. This should be configurable without an additional app.

@pbek
Copy link
Member

pbek commented Mar 5, 2023

How can you have both? Did I miss a setting?

@m-a-v
Copy link

m-a-v commented Mar 5, 2023

You can find it in the detailed settings of the top menu (I am using Nextcloud 25.0.4 and Custom Menu 3.6.0).

image

@pbek
Copy link
Member

pbek commented Mar 5, 2023

Hah, really! In the admin settings, not the personal settings! Thank you very much, you made my day!

@m-a-v
Copy link

m-a-v commented Mar 5, 2023

You're welcome. It's like using a sledgehammer to crack a nut, but it solves the problem.

@romanhu
Copy link

romanhu commented Mar 23, 2023

Another possible workaround would be the use of the app "Custom CSS"
I used the following style to hide the music button and put the activity app at the end of the list:

[data-id="music"] {
    display: none !important;
}
#appmenu [data-id="activity"] {
  order: 999;
}

or with NC25

[data-app-id="music"] {
    display: none !important;
}
#app-menu [data-app-id="activity"] {
  order: 1;
}

@Baptistou
Copy link

Another possible workaround would be the use of the app "Custom CSS" I used the following style to hide the music button and put the activity app at the end of the list:

This is an interesting workaround, however CSS cannot solve the issue about keyboard navigation like AppOrder does. See explaination here : The order property and accessibility

We need either to reorder the navigation bar on server side or to inject custom JavaScript and modify DOM on page load 😕

@jancborchardt
Copy link
Member

Discussed with @AndyScherzinger and @karlitschek

  • This is a user-setting only, no admin setting
  • First sorted app will be default app (if set, it will override the default app config setting)
  • This has to be a settings block in "Appearance and accessibility", similar to the sorting in "Artificial Intelligence" or the column sorting in Tables so it is both accessible via mouse and keyboard. No sorting by drag & drop directly in the navigation

@nextcloud/designers this would be ready for picking up for a mockup. :)

@szaimen
Copy link
Contributor

szaimen commented Aug 30, 2023

I can take this over :)

@szaimen szaimen self-assigned this Aug 30, 2023
@jancborchardt jancborchardt changed the title Make app order configurable ↔️ Make app order configurable Aug 30, 2023
@szaimen
Copy link
Contributor

szaimen commented Oct 19, 2023

🎉🎉🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of design Design, UI, UX, etc. enhancement ❄️ 2023-Winter
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.