FLUID-5947: Refactor file structure of prefs framework to reflect important architectural boundaries

Metadata

Source
FLUID-5947
Type
Improvement
Priority
Major
Status
Open
Resolution
N/A
Assignee
Justin Obara
Reporter
Antranig Basman
Created
2016-08-24T10:27:15.487-0400
Updated
2021-07-29T01:46:41.843-0400
Versions
N/A
Fixed Versions
  1. 5.0
Component
  1. Prefs Framework

Description

The file layout of the prefs framework is a bit haphazard, making it hard to find particular implementations or categories of thing. It is all lumped into the top level of src/framework/preferences/js but seems to me to belong in (at least) the following divisions:

  1. The core prefs framework itself
    • PrefsEditor.js
    • Store.js
    • URLUtilities.js
    • UIEnhancer.js
  2. Builders
    • Builder.js
    • AuxBuilder.js
    • PrimaryBuilder.js
  3. Particular packagings of the UI
    • FullNoPreviewPrefsEditor.js
    • FullPreviewPrefsEditor.js
    • SeparatedPanelPrefsEditor.js
  4. Starter configuration
    • StarterGrades.js
    • StarterSchemas.js
  5. Built-in panels and enactors (these files should be renamed)
    • Panels.js - this file needs to be split in two - the first part goes in i), the last part goes here
    • Enactors.js - similarly everything up to line 124 needs to go in the framework
  6. SelfVoicing
    • SelfVoicingEnactor.js
    • SelfVoicingPanel.js
    • SelfVoicingSchemas.js

We should make new top-level directories within preferences/js to house these 6 divisions, and split up the files which have mixed content