Managing Boards

A board is an element that groups apps together and it will show as the first path element in the sidebar:

Boards enable embedding which is explained here.

The module provides the following methods:

# Sets the business for the whole module
s.boards.set_business(business_id: str)

# Creates a board and return it's dictionary representation
s.boards.create_board(
    name: str, order: Optional[int] = None,
    is_public: bool = False, is_disabled: bool = False
) -> Dict

# Gets a board, if the board does not exit it returns None
s.boards.get_board(
    uuid: Optional[str] = None, name: Optional[str] = None
) -> Optional[Dict]

# Deletes the specified board, if it exists
s.boards.delete_board(
    uuid: Optional[str] = None, name: Optional[str] = None
)

# Updates the specified board fields, if it exists
s.boards.update_board(
    uuid: Optional[str] = None, name: Optional[str] = None,
    new_name: Optional[str] = None, order: Optional[int] = None,
    is_public: Optional[bool] = None, is_disabled: Optional[bool] = None
)

# Adds an menu path to a specified board, this creates a link object
s.boards.add_menu_path_in_board(    
    uuid: Optional[str] = None, name: Optional[str] = None,
    menu_path_name: Optional[str] = None, menu_path_id: Optional[str] = None
)

# Group menu paths by a list of names or a list of UUIDs
s.boards.group_menu_paths(
    uuid: Optional[str] = None, name: Optional[str] = None,
    menu_path_names: Union[Optional[List[str]], str] = None, 
    menu_path_ids: Optional[List[str]] = None
)

# Gets all the app_id's for a specified board
s.boards.get_board_menu_path_ids(
    uuid: Optional[str] = None, name: Optional[str] = None
) -> List[str]

# Checks if a menu path is in a board
s.boards.is_menu_path_in_board(
    uuid: Optional[str] = None, name: Optional[str] = None
    menu_path_name: Optional[str] = None, menu_path_id: Optional[str] = None,
) -> bool

# Deletes the link between a given menu path and a given board
s.boards.remove_menu_path_from_board(
    uuid: Optional[str] = None, name: Optional[str] = None,
    menu_path_name: Optional[str] = None, menu_path_id: Optional[str] = None
)

# Deletes all menu path links from a board
s.boards.remove_all_menu_paths_from_board(
    uuid: Optional[str] = None, name: Optional[str] = None
)

# Delete all board's menu path links and then delete the board
force_delete_board(
    uuid: Optional[str] = None, name: Optional[str] = None
)

When referencing a board, it can be done by its name or by its UUID. That's why all methods have optional parameters for the board's name or its ID, but one of them must be provided, or an error will be returned.

The module is useful for managing boards at a low level, in case some customization is needed or more information is required, but the most common use case is through the plotting module, which takes care of the menu paths' inclusion in boards automatically. For an menu path to be seen, it needs to be included in a board, so if the user does not specify which board to use, the SDK will take the name of the menu path being created and add the menu path to the board: 'Default Name'.

Last updated