matterfront icon indicating copy to clipboard operation
matterfront copied to clipboard

Multiple server support

Open lloeki opened this issue 10 years ago • 5 comments

This will be MDI (for now) as window management is best handled by the native OS.

  • [ ] File -> New server opens a new unconfigured window
  • [x] Configuring the window persists the URL in an array config.json
  • [x] At startup, read config and create one window per server entry
  • [x] Old, non-array config should be migrated to new format

No tabs for now, since the OS is perfectly apt at managing windows (Exposé and rick click on Dock icon, Taskbar on Win7+, Ubuntu panel, Gnome 3 overlay and dock...)

lloeki avatar Oct 31 '15 07:10 lloeki

I have a huge user base already forming... and they definitely want tabs for teams. If you want, we can focus on that piece of this task.

LongLiveCHIEF avatar Nov 05 '15 14:11 LongLiveCHIEF

At startup, read config and create one window per server entry

:white_check_mark: got this covered

Old, non-array config should be migrated to new format

:white_check_mark: got this covered already also

PR for these should come in sometime in the next 24 hours (likely less)

LongLiveCHIEF avatar Nov 05 '15 14:11 LongLiveCHIEF

I have a huge user base already forming

Great!

and they definitely want tabs for teams

My vision was to have something simple: one window per configured URL (typically a Mattermost server, pointing straight to a team for convenience) and doing team switching from the usual Mattermost UI by clicking on the team name.

I'm not against tabs at all, but having windows instead of tabs is really a feature here for me, so make sure to support that. Having it be a mode (always one-tab-per-item vs always one-window-per-item, where item is server/team/configured url, and possibly requiring an app quit and restart to switch between the mode) is fine for me if it makes things simpler. If it's not a mode, maybe making the config a freeform tree of windows down to tabs could be fine:

# create three windows, one with three tabs for team{1,2,3}, one with two tabs for another server, and one which holds two servers
- - foo.server.com/team1
  - foo.server.com/team2
  - foo.server.com/team3
- - bar.server.com/team1
  - bar.server.com/team2
- - baz.server.com/team
  - qux.server.com/team

lloeki avatar Nov 05 '15 15:11 lloeki

I think we're thinking mostly the same thing here. I think about it in terms of "organizations" (which is a feature I'm hoping to PR to mattermost itself), whereby one base mattermost url is equivalent to one Window... and then any teams configured on that mattermost instance would be accessible within tabs of that window.

Aside from the direct link to a team, I think we're discussing the same thing right?

My use case is such:

Say I'm the IT operations admin for an enterprise. I want to build and distribute matterfront against a single enterprise-wide mattermost url, whereby one desktop app/window will handle all the teams within the enterprise/organization (one "tab" per team).

LongLiveCHIEF avatar Nov 05 '15 19:11 LongLiveCHIEF

#67 implements tabs the way Slack does them, but the tab views are wrapped in TeamWebview components, so it should make it easy to add support for multiple BrowserWindows, if someone wants to add support for that.

geekytime avatar Dec 17 '15 20:12 geekytime