> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fusioncore.us/llms.txt
> Use this file to discover all available pages before exploring further.

# fusionSpan Common Base Library

> A shared library of reusable Apex utilities and Lightning components other accelerators depend on.

## Overview

The **fusionSpan Common Base Library** is a shared, no-namespace package of reusable Apex constants, a dynamic picklist component, and a generic key/value Custom Metadata store. It doesn't do anything on its own — other fusionSpan accelerators (such as [Roster](/end-user-guides/accelerators/roster) and [New User Registration](/end-user-guides/accelerators/new-user-registration)) declare it as a required prerequisite and build on its shared pieces instead of each reimplementing the same plumbing.

<Note>
  If a dependent accelerator's setup instructions say to install the Common Base Library first, install it before the accelerator itself — the dependent package's components reference this library's classes and objects directly.
</Note>

## What It Provides

* **`FS_Constants__mdt`** — a generic key/value Custom Metadata type that dependent accelerators use to store their own configurable settings. It ships empty; accelerators or admins add records to it as needed.
* **`FS_Picklist`** — a reusable Aura picklist component that dependent accelerators can drop onto record or community pages.
* Shared Apex constants and dynamic picklist logic that other accelerators' Apex code calls into directly.

## How to Configure

There is nothing to configure in the Common Base Library itself after installing it — it's purely a prerequisite. Install it, then install whichever accelerator requires it.

## Limitations and Common Pitfalls

* **Install order matters.** Dependent accelerators reference this package's classes and Custom Metadata type by name; installing them before the Common Base Library causes the install or deployment to fail.
* **No namespace, so no built-in collision protection.** Because this is an unmanaged package, its components live in your org's default space with only an `FS_` prefix as a guard. Because it's unmanaged, they can also be edited or deleted after install — treat them as read-only, since editing or deleting them can break every accelerator that depends on them.
* **Version compatibility is set by each dependent accelerator**, not by this package — if a dependent accelerator's setup steps call out a minimum Common Base version, follow that rather than assuming any installed version works.
