CollaboraOnline / online

Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
https://collaboraonline.com
Other
1.79k stars 684 forks source link

GSoC: Admin console for clusters ... #5072

Open mmeeks opened 2 years ago

mmeeks commented 2 years ago

This is an Easy Project, idea for GSoC. Potential mentors: @lpranam

Detailed description and rationale

Currently the admin console connects to only a single server in a cluster - somewhat at random. When clusters are setup they re-direct the connections based on the WOPSrc URL parameter. When we load the Admin console we should fire off a number of async web requests to the server each fetching the capabilities end-point: https://localhost:9980/hosting/capabilities - we should:

As a second cut we should:

As a third cut we should:

Code pointers

make run has some URLs: https://admin:admin@localhost:9980/browser/dist/admin/admin.html

browser/admin/

has both HTML and JS - and browser/admin/src/ has the JS.

I don't think you'll need to do much if anything to the C++ side here - but perhaps we can add something useful =)

Required skills / knowledge

Ability to learn; some JS knowledge.

Size

Stretch-able in chunks cf. above =)

Difficulty

Medium

ArshErgon commented 2 years ago

@mmeeks can you guide me on this? I think I can do it.

mmeeks commented 2 years ago

Sorry AshErgon - Christopher is already working on this; and some notes in more detail:

* Step #1
    + ensure capabilities end-point will tolerate a WOPISRC

* Step #2
    + diagnose badly configured clusters - where WOPISRC
      doens't pin us to the same ServerId / server.
    + ignore cookies on requests - don't let them be set.
    + check vs. curl - show all headers on responses -
      and ignore SetCookie:

* Step #4
    + ensure the admin-console websocket tolerates a
      WOPISRC parameter.

* Step #5
    + show list / side-bar / drop-down of servers in the
      cluster
    + allow the user to click on these to connect their
      admin-console to another server.

* Step #6
    + provide a new cluster-overview page
        + which has CPU / Memory / document usage stats
        + for all of the cluster
        + and allows diving down into an individual node
          to diagnose some particular brokenness.
pedropintosilva commented 1 year ago

Is anyone working on this as of now or is there any PR (draft or not)? @ChrisGlad or @ArshErgon ?

ArshErgon commented 1 year ago

@pedropintosilva I'm not working as @mmeeks told me that @ChrisGlad is working on this.