There are many names and terminology used to describe the various elements, components, and concepts within Graphweaver. This page provides an overview of each part including its name and function.
Name | Description |
Access Control List | A set of rules and permissions that define what actions and operations users are allowed or denied within the GraphWeaver system. ACLs help control access to data and functionality based on roles and user permissions. |
Admin UI | The Admin UI provides a GUI to explore, create and update any data source that is connected to Graphweaver. |
Apollo Plugin | Graphweaver runs an Apollo Server for you under the hood. You can supply your own plugins to the Graphweaver config and these will be applied. |
Backend (Folder) | Graphweaver looks in a "backend" directory. This is where all the Graphweaver configuration, entities and resolvers are defined. |
Backend Provider | A component responsible for managing the connection and interaction with different data sources or backends (e.g., databases, REST APIs) in GraphWeaver. It abstracts the specifics of each backend, allowing them to be easily integrated and managed. |
Base Entity | A class that can be extended to create a Mikro-ORM data entity. |
Base Loader | A module responsible for fetching and loading data from a specific data source or backend. It provides a standardised way of retrieving data for each data provider. |
Context | This refers to the Apollo server context this can be used to add additional data for later use in the Access Control Lists or Hooks. |
Custom Fields | Additional fields that can be defined and attached to entities for display in the Admin UI. |
Custom Pages | Pages within the GraphWeaver Admin UI that are designed and tailored for specific use cases such as dashboards or form entry. |
Data Entity | A representation of a distinct unit of data within GraphWeaver. It corresponds to a database table, REST endpoint, or other data source. |
Data Loader | A utility that optimises data fetching by batching and caching requests to data sources, reducing redundant database queries and improving performance. |
Data Provider | A module responsible for interacting with a specific data source, handling data retrieval, modification, and deletion. |
Data Source | A data repository or backend system, such as a database or REST API, from which GraphWeaver retrieves and manages data. |
Entities (Folder) | Used to name the directory where data entities are stored in a Graphweaver project. Often used interchangeably to describe either data or GraphQL entities. |
Field | A decorator used to define a specific piece of data associated with an entity, defining its properties and attributes. |
GraphQL Entity | An entity that is exposed through the GraphQL API, allowing clients to query and manipulate its data using GraphQL syntax. |
GraphQL Schema | A structured description of the data models, types, and operations exposed by the GraphQL API. |
Mutation | A GraphQL operation that represents data modification, such as creating, updating, or deleting data. |
Query | A GraphQL operation that represents a request for data retrieval. |
Relationship Field | A field that establishes a relationship between two entities, allowing data to be retrieved and traversed between related entities. |
Resolvers | Functions or modules that resolve GraphQL queries and mutations by fetching and returning data from the underlying data sources. |
Schema (Folder) | Used to name the directory where GraphQL entities are stored in a Graphweaver project. Often used interchangeable between database schema and GraphQL schema. |
Summary Field | This is a decorator that notes which field should be used as the "display name" for any relationship within the Admin UI. |
Field Resolver | A resolver specifically dedicated to resolving a field within a GraphQL type. |
Hook | A customisable function on a GraphQL entity that can be triggered at specific points during the lifecycle, enabling custom logic or actions. |
Filter | Criteria applied to queries to selectively retrieve data based on specified conditions. |
Pagination | A GraphQL argument used to control the pages, sorting and ordering of the returned list. |
Hook Manager | A component that orchestrates the execution of hooks at various stages of data processing. |