[FEATURE] Using custom menu in external apps #439

Open
opened 2025-07-15 12:45:44 +02:00 by pamuche · 1 comment

Description

I really like custom menu. Thanks a lot for the effort and work on this nice piece if software 😘
I would like to ask if you have in mind to enable usage in external apps. I have got a lot of external apps like discourse, dokuwiki, roundcube to complete nextcloud features. Sadly if I include the through external apps plugin I loose the specific url of the app to e.g. directly link to a post of discourse, because an app in external link is running inside an iframe.

So my plan was to use custom menu to include in my external app (through JS/CSS) and to remove the menu of the given app (e.g. discourse).

There are already two api routes: https://cloud-url/apps/side_menu/js/config and https://cloud-url/apps/side_menu/nav/items, sadly the js/css code in https://cloud-url/custom_apps/side_menu/js/sideMenu.js and https://cloud-url/apps/side_menu/js/script
is slightly coupled to nextcloud JS and DOM.

Do you see a way to totaly decouple rendering from nextcloud, to load some JS/CSS inside my external app and show it with something like: SMCreate.showMenu("body #css-id-to-put-sidemenu-in")? Configuration can still be take place in nextcloud (One can even think to provide a absolute autonomus backend to provide a fully decoupled menu solution :smi).

I can help too if you have a roadmap for such a plan.

Benefits

Can be used not only in nextcloud context.

More informations

No response

### Description I really like custom menu. Thanks a lot for the effort and work on this nice piece if software 😘 I would like to ask if you have in mind to enable usage in external apps. I have got a lot of external apps like discourse, dokuwiki, roundcube to complete nextcloud features. Sadly if I include the through external apps plugin I loose the specific url of the app to e.g. directly link to a post of discourse, because an app in external link is running inside an iframe. So my plan was to use custom menu to include in my external app (through JS/CSS) and to remove the menu of the given app (e.g. discourse). There are already two api routes: `https://cloud-url/apps/side_menu/js/config` and `https://cloud-url/apps/side_menu/nav/items`, sadly the js/css code in `https://cloud-url/custom_apps/side_menu/js/sideMenu.js` and `https://cloud-url/apps/side_menu/js/script` is slightly coupled to nextcloud JS and DOM. Do you see a way to totaly decouple rendering from nextcloud, to load some JS/CSS inside my external app and show it with something like: `SMCreate.showMenu("body #css-id-to-put-sidemenu-in")`? Configuration can still be take place in nextcloud (One can even think to provide a absolute autonomus backend to provide a fully decoupled menu solution :smi). I can help too if you have a roadmap for such a plan. ### Benefits Can be used not only in nextcloud context. ### More informations _No response_
Owner

Hello @pamuche

Thanks for your great feedback 🙂

This feature is not in my roadmap because it's more a specific project.

There are many thinks to considerer:

  • the aspect of the top menu is managed by Nextcloud, so Custom Menu "just" add or remove apps
  • all datas retrieves from the Custom menu API are based on the logged user. Externals apps are basically not logged into Nextcloud are so their users too
  • HTTP CORS constraints
  • ...

Such a good idea but not trivial!

Hello @pamuche Thanks for your great feedback 🙂 This feature is not in my roadmap because it's more a specific project. There are many thinks to considerer: - the aspect of the top menu is managed by Nextcloud, so Custom Menu "just" add or remove apps - all datas retrieves from the Custom menu API are based on the logged user. Externals apps are basically not logged into Nextcloud are so their users too - HTTP CORS constraints - ... Such a good idea but not trivial!
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deblan/side_menu#439
No description provided.