Service - GraphNavigation: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Manages configuration a graph navigation (eg forum system) = Repository = https://bitbucket.org/izara-core-shared/izara-core-shared-graphnavigation-config = DynamoDB tables = == GraphNavigationConfigMain == <syntaxhighlight lang="JavaScript"> { graphNavigationConfigId: "xx", // {random uuid} graphNavigationConfig: "xx", // json encoded object of configuration graphNavigationConfigName: "yy", // user specified name of the config userId: "xx" } </syn...") |
(No difference)
|
Revision as of 12:56, 22 September 2023
Overview
Manages configuration a graph navigation (eg forum system)
Repository
https://bitbucket.org/izara-core-shared/izara-core-shared-graphnavigation-config
DynamoDB tables
{
graphNavigationConfigId: "xx", // {random uuid}
graphNavigationConfig: "xx", // json encoded object of configuration
graphNavigationConfigName: "yy", // user specified name of the config
userId: "xx"
}
- partition key: graphNavigationConfigId
- sort key: {none}
{
userId: "xx" // user who owns the GraphNavigationConfig
graphNavigationConfigId: "xx",
}
- partition key: userId
- sort key: graphNavigationConfigId
{
// grouping/row/cell/elements structure same tableConfig
// add css theme and overwrite settings
// standardize property names to match tableConfig structure (eg elementTypes)
sections: [
{
sectionName: "xx",
groupings: [
{
groupingName: "xx",
rows: [
{
rowName: "xx",
cells: [
{
cellName: "xx",
elements: [
{
// displays the graph
elementType: "graphNav",
focusOnSelected: { //settings how to center viewport to selected element
// eg speed of moving viewport focus
}
objTypes: { // which objectTypes are shown and settings for their display
{serviceTag}: {
{objType}: {
// config for nodes of each objType
// what fields to present, title, label, shape, colour (or css) etc..
// filters
},
//..
},
//..
],
relationshipTags:[ // which relationshipTags are shown and settings for their display
{
relationshipTag: "xx",
// config for each relationship type
// which field sets weight etc
// filters
},
//..
]
},
{
//presents detailed information about the selected element (eg node)
elementType: "elementDetail",
objTypes: { // objectType settings for detailed display
{serviceTag}: {
{objType}: {
formObjectEditConfigId: "xx",
},
//..
},
//..
],
},
{
// present list of relationships for the selected node
elementType: "relationships",
relationshipTags:[ // which relationshipTags are shown and settings for their display
{
relationshipTag: "xx",
// config for each relationship type
// filters
},
//..
]
},
{
elementType: "freeText",
text: "xxx",
},
]
},
// ..
]
},
//...
],
},
//...
],
},
//...
]
}
- One GraphNavigation setup can have multiple graphNav or elementDetail configs showing
- Each has it's own settings so can present the navigation or detail for different uses
Interaction with sitePageConfig
- sitePage can set a starting node, or have a popup to input the starting node
- Need some way to wrap in conversations presentation that shows most recent, most commented (within timerange) etc
- Maybe that could be a popup settin for the GraphNavigation, or an element that pops up and allows for a search that returns a range of nodes (might not be related) that match the search
- GraphNavigation could be set to default to showing that popup for initial seeding of graph data