<commit_before>CMSMain is part of the CMS.  It is the controller for the content editor.

# Creating another hierarchical editor by subclassing CMSMain

Sometimes you'll want to provide an administration interface that is pretty much exactly what CMSMain provides, but it's
not appropriate to include your data in with the site content.  For example, Hayden developed a hierarchical category
administrator on the Guano application.

Here's how you can do this: 

## Using classes other than SiteTree in the site tree
<commit_msg>Heading fix<commit_after># Extending the CMS

CMSMain is part of the CMS.  It is the controller for the content editor.

## Creating another hierarchical editor by subclassing CMSMain

Sometimes you'll want to provide an administration interface that is pretty much exactly what CMSMain provides, but it's
not appropriate to include your data in with the site content.  For example, Hayden developed a hierarchical category
administrator on the Guano application.

Here's how you can do this: 

## Using classes other than SiteTree in the site tree

{'fraction_non_alphanumeric': 0.03153988868274583, 'fraction_numerical': 0.0, 'mean_word_length': 4.770053475935829, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3828266', 'n_tokens_mistral': 277, 'n_tokens_neox': 245, 'n_words': 159}