Files
KUNAL PAI 9b9dc09f6e resources: Add the gem5 Resources Manager
A GUI web-based tool to manage gem5 Resources.

Can manage in two data sources,
a MongoDB database or a JSON file.

The JSON file can be both local or remote.

JSON files are written to a temporary file before
writing to the local file.

The Manager supports the following functions
on a high-level:
- searching for a resource by ID
- navigating to a resource version
- adding a new resource
- adding a new version to a resource
- editing any information within a searched resource
(while enforcing the gem5 Resources schema
found at: https://resources.gem5.org/gem5-resources-schema.json)
- deleting a resource version
- undo and redo up to the last 10 operations

The Manager also allows a user to save a session
through localStorage and re-access it through a password securely.

This patch also provides a
Command Line Interface tool mainly for
MongoDB-related functions.

This CLI tool can currently:
- backup a MongoDB collection to a JSON file
- restore a JSON file to a MongoDB collection
- search for a resource through its ID and
view its JSON object
- make a JSON file that is compliant with the
gem5 Resources Schema

Co-authored-by: Parth Shah <helloparthshah@gmail.com>
Co-authored-by: Harshil2107 <harshilp2107@gmail.com>
Co-authored-by: aarsli <arsli@ucdavis.edu>
Change-Id: I8107f609c869300b5323d4942971a7ce7c28d6b5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71218
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
2023-07-08 02:01:02 +00:00

2.8 KiB

Help

Load Previous Session

Retrieves list of saved sessions from browser localStorage. If found, displays list, can select a session to restore, and if entered password is correct session is restored and redirects to editor.

MongoDB

Set up editor view for MongoDB Instance.

Login: Enter URI

Utilize if the MongoDB connection string is known.

Fields:

Additional Fields:

  • Collection: Specify collection in MongoDB instance to retrieve
  • Database: Specify database in MongoDB instance to retrieve
  • Alias: Optional. Provide a display alias to show on editor view instead of URI

Login: Generate URI

Provides method to generate MongoDB URI connection string if it is not known or to supply with additional parameters.

Fields:

  • Connection: Specify connection mode, Standard or DNS Seed List, as defined by MongoDB
  • Username: Optional.
  • Password: Optional.
  • Host: Specify host/list of hosts for instance
  • Retry Writes: Allow MongoDB to retry a write to database once if they fail the first time
  • Write Concern: Determines level of acknowledgement required from database for write operations, specifies how many nodes must acknowledge the operation before it is considered successful. (Currently set to majority)
  • Options: Optional. Additional parameters that can be set when connecting to the instance

Additional Fields:

  • Collection: Specify collection in MongoDB instance to retrieve
  • Database: Specify database in MongoDB instance to retrieve
  • Alias: Optional field to provide a display alias to show on editor view instead of URI

JSON

Set up editor view for JSON file. Can Specify a URL to a remote JSON file to be imported or select a local JSON file.

Editor

Page containing Monaco VSCode Diff Editor to allow editing of database entries.

Database Actions:

Actions that can be performed on database currently in use.

  • Search: Search for resource in database with exact Resource ID
  • Version: Dropdown that allows for selection of a particular resource version of resource currently in view
  • Category: Specify category of resource to viewed as defined by schema
  • Undo: Undoes last edit to database
  • Redo: Redoes last undone change to database
  • Show Schema: Sets view for schema of current database (read only)
  • Save Session: Save session in encrypted format to browser localStorage
  • Logout: Removes sessions from list of active sessions

Editing Actions:

Actions that can be performed on resource currently in view.

  • Add New Resource: Add a new resource to database
  • Add New Version: Insert a new version of current resource
  • Delete: Permanently delete resource
  • Update: Update resource with edits made