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

Management tooling #117

Open
10 of 24 tasks
lukashornych opened this issue Jan 25, 2024 · 7 comments · Fixed by #184
Open
10 of 24 tasks

Management tooling #117

lukashornych opened this issue Jan 25, 2024 · 7 comments · Fixed by #184
Assignees
Labels
enhancement New feature or request

Comments

@lukashornych
Copy link
Owner

lukashornych commented Jan 25, 2024

To make evitaLab even more useful, we want to add several tools for database server/catalog/collection management.

For management of database server itself we would like to:

Cluster management (in future):

  • health, lags
  • master/replica view

Image

For catalog management we would like to:

Image

Entity collection management:

  • index listing 🟢
    • size
    • consistency
    • recreate
  • drop 🟢
  • rename 🟢

Image

Items marked with 🟢 have API support in evitaDB and can be implemented. Each section/item will be solved in separate issue.

@lukashornych
Copy link
Owner Author

Maybe we should introduce connection name into toolbars like so

Image

Lots of these tools work on level of evitaDB server/connection and it could be confusing having connection name only in tab name.

@novoj toughs?

@novoj
Copy link
Contributor

novoj commented Jun 18, 2024

Yes, but there is a lot of data to read, and it would be nice to recognize the right connection from the tab name without clicking on it. What about picking for each connection random color and prepend this bullet before catalog name? And do that only when there are more than single connection? Or use another emoji: 1️⃣2️⃣3️⃣ ... etc? It scales up to 10 connections which seems reasonable enough.

@lukashornych
Copy link
Owner Author

After some discussion, we will not render connection name in the toolbars (yet). Instead, we will explore different approach to connections entirely in #149.

@lukashornych
Copy link
Owner Author

@o-miko Let's focus on following menu items next:

  • on connection:
    • create catalog
  • on catalog:
    • drop catalog
    • rename catalog
    • replace catalog
    • create collection
  • on collection:
    • rename collection
    • drop collection

Let's create these methods in the EvitaDBDriver and implement them using the gRPC API. We could then make ConnectionService.getDriver publically accessible so that UI components can access the correct driver and call required methods. In the future, I think we should use this approach even for existing methods on ConnectionService like getCatalogs, i.e. access is through the driver, because the driver is already the nice API for the evitaLab. The connection service could just provide management for connections and the driver.

o-miko pushed a commit that referenced this issue Aug 13, 2024
…ethods createCatalog, dropCatalog, renameCatalog, replaceCatalog in EvitaDbDriver
o-miko pushed a commit that referenced this issue Aug 15, 2024
@lukashornych
Copy link
Owner Author

@o-miko we will add new action to catalog menu > Switch to transactional mode which will appear only if the catalog has state === CatalogState.WARMING_UP. It will call EvitaSessionService.goLiveAndClose gRPC method.
To test this, you will need to create new catalog for it.

o-miko pushed a commit that referenced this issue Aug 15, 2024
o-miko pushed a commit that referenced this issue Aug 17, 2024
rename collection
drop collection
lukashornych added a commit that referenced this issue Aug 23, 2024
feat(#117): server status tab, catalog/collection management dialogs
@lukashornych lukashornych reopened this Aug 25, 2024
@lukashornych
Copy link
Owner Author

lukashornych commented Aug 26, 2024

I've tested the dialogs and we need to:

  • fix UI (button placement, sizing and colors, window padding, text wrapping) to match other dialogs (maybe create common dialogs to simplify the process)
  • handle exceptions by displaying toaster error notifications
  • when adding new collection, UI is not updated
  • forms in dialogs miss input validations
  • if dangerous dialog is closed via ESC, confirmation dialogs is showed anyway

Otherwise it's working well.

@lukashornych
Copy link
Owner Author

Things we need to sort out that we couldn't make in time:

  • job type, must change the behavior of the job listing
  • can't import catalog from server
  • we don't import catalog from local file
  • all/none in event selection for record jfr
  • add metadata to job files - title, size, etc.

lukashornych added a commit that referenced this issue Sep 21, 2024
lukashornych added a commit that referenced this issue Sep 29, 2024
…ed connection and editor to use only single base server URL, fix gRPC enums, small dialog UX improvements
lukashornych added a commit that referenced this issue Sep 29, 2024
lukashornych added a commit that referenced this issue Sep 30, 2024
lukashornych added a commit that referenced this issue Oct 1, 2024
lukashornych added a commit that referenced this issue Oct 6, 2024
…, new tab types support in serialization, properties table extensions and usage fixes
lukashornych added a commit that referenced this issue Oct 7, 2024
lukashornych added a commit that referenced this issue Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants