The experience while navigating throughout the UI of Suse Manager it's not that nice. Whenever we navigate to a new page, the whole page gets refreshed and recreated, even when half of it didn't change a thing, for instance, the menu, topbar, and the notifications WebSocket connection, which in my opinion doesn't provide a smooth experience.

This project has the goal to test out an automatic way to transform the Suse Manager UI into a Single Page Application.

My idea is to have something working with the following workflow:

- Access Suse Manager - nothing changes here, a full render would be done.
- Clicking on a Menu Link: instead of doing a full refresh, we could wrap all the links with a piece of javascript that would make an ajax call in the background with an extra parameter: "URL?noframe=true" and attach the rendered result without the frame to the existing page body. (body.innerHTML = result)

This can be tricky especially when the UI is composed of so many different technologies but seems like an idea worth trying.

Drawbacks

For older parts, this would only work for navigation (page transitions). Old form posts would never work as a SPA in an automated way, but it can be a nice intermediate solution until everything is migrated to react, where we can follow a more SPA development mindset.

Update

I tried to implement a custom solution for this and the first results are promising! The navigation is looking awesome and way more smooth.

Also some libraries to try out:

- https://github.com/liferay/senna.js
- https://github.com/MoOx/pjax
- https://github.com/barbajs/barba
- https://github.com/turbolinks/turbolinks 
- https://github.com/gmrchk/swup

Looking for hackers with the skills:

susemanager ui spacewalk spa frontend reactjs

This project is part of:

Hack Week 18

Activity

  • almost 2 years ago: joachimwerner liked this project.
  • almost 2 years ago: atgracey liked this project.
  • about 2 years ago: cyntss liked this project.
  • about 2 years ago: cbbayburt liked this project.
  • about 2 years ago: LuNeves liked this project.
  • about 2 years ago: LuNeves added keyword "susemanager" to this project.
  • about 2 years ago: LuNeves added keyword "ui" to this project.
  • about 2 years ago: LuNeves added keyword "spacewalk" to this project.
  • about 2 years ago: LuNeves added keyword "spa" to this project.
  • about 2 years ago: LuNeves added keyword "frontend" to this project.
  • All Activity

    Comments

    • LuNeves
      about 2 years ago by LuNeves | Reply

      First tests: https://drive.google.com/file/d/1JyUymKT5YgDhpZRFdicGOiJC7lMtKw-U/view?usp=sharing

    • LuNeves
      almost 2 years ago by LuNeves | Reply

      https://github.com/uyuni-project/uyuni/pull/1001

    Similar Projects

    Uyuni/SUSE Manager containerization project by moio

    Deploy Uyuni as an **app from the Rancher marke...


    Uyuni/SUSE Manager: build Python APE and a Salt+Python bundle to support ANY client operating system by pagarcia

    Uyuni/SUSE Manager build client tools for each ...


    Uyuni as a Bootstrap theme by Etheryte

    Project Description

    Currently, Uyuni has ...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...


    Raspberry Pi and SUSE Manager by e_bischoff

    I have bought a Raspberry Pi 400 and would like...


    UI/UX User testing and feedback by lharden

    [comment]: # (Please use the project descriptio...


    On-demand notification using spacewalk (SUMA) API by atighineanu

    [comment]: # (Please use the project descriptio...


    Developing an opinionated storage appliance by asettle

    [comment]: # (Please use the project descriptio...


    Terraform GUI by kevinklinger

    [comment]: # (Please use the project descriptio...


    WebRTC individual track recorder by avicenzi

    [comment]: # (Please use the project descriptio...