code: def _make_default_sidebar_groups(sample_collection):
      # Possible sidebar groups
      metadata = []
      labels = []
      frame_labels = []
      custom = []
      primitives = []
      other = []
  
      # Parse sample fields
      schema = sample_collection.get_field_schema()
      _parse_schema(
          schema,
          metadata,
          labels,
          frame_labels,
          custom,
          primitives,
          other,
      )
  
      # Parse frame fields
      if sample_collection._contains_videos():
          schema = sample_collection.get_frame_field_schema()
          _parse_schema(
              schema,
              metadata,
              labels,
              frame_labels,
              custom,
              primitives,
              other,
              frames=True,
          )
  
      sidebar_groups = [
          SidebarGroupDocument(
              name="tags", paths=["tags", "_label_tags"]
          ),
          SidebarGroupDocument(name="metadata", paths=metadata),
          SidebarGroupDocument(name="labels", paths=labels),
      ]
  
      if frame_labels:
          sidebar_groups.append(
              SidebarGroupDocument(
                  name="frame labels", paths=frame_labels
              )
          )
  
      for name, paths in custom:
          sidebar_groups.append(
              SidebarGroupDocument(name=name, paths=paths)
          )
  
      sidebar_groups.append(
          SidebarGroupDocument(name="primitives", paths=primitives)
      )
  
      if other:
          sidebar_groups.append(
              SidebarGroupDocument(name="other", paths=other)
          )
  
      return sidebar_groups
  
imports: import logging
  from bson import DBRef, ObjectId
  import eta.core.utils
  from fiftyone.core.fields import BooleanField, ClassesField, ColorField, DateTimeField, DictField, EmbeddedDocumentField, EmbeddedDocumentListField, FloatField, IntField, ListField, MaskTargetsField, ObjectIdField, ReferenceField, StringField
  import fiftyone.core.utils
  from .database import patch_saved_views, patch_annotation_runs, patch_brain_runs, patch_evaluations, patch_runs
  from .document import Document
  from .embedded_document import EmbeddedDocument
  from .runs import RunDocument
  from .utils import create_field
  from .views import SavedViewDocument
label_desc: Use image node_id 1 for calling a global function with example usage: _make_default_sidebar_groups(sample_collection) and returns: sidebar_groups