1. Site Admin
    1. Select a Theme at Catalog Level
      1. Current Workflow
    2. Select a Theme at Department Level
      1. New Field - Controller
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      2. Existing CSS Field
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      3. Remove Master Page field
      4. Department Wireframe
      5. Department_2 Wireframe
    3. Select a Theme at Product Level
      1. New Field - Controller
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      2. Existing CSS Field
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      3. Remove Master Page field
      4. Product Wireframe
    4. Select a Theme at Content Page Level
      1. New Field - Controller
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      2. Existing CSS Field
        1. Populate Fields
          1. No Error Validation checks needed
        2. Default View
      3. Remove Select Store field
      4. Remove Locale field
      5. Remove Master page field
      6. Content Wireframe
  2. Sync Data
    1. Need to Sync MVC and Site Admin
      1. Create Script in Visual Studio
        1. Creates File w/Time Stamp
          1. Place in Site Admin Directory
        2. App looks at time stamp when site admin restarts
          1. If app finds file info is pulled and dumped into DB
          2. If app is not found existing data is found
  3. Edge Cases
    1. App Needs to handle a Theme that has been selected in Admin but has been deleted in the backend
    2. What Else?
  4. Controllers
    1. For Departments
      1. Build List
        1. Look in Controller Theme Folder
        2. Look in Controller Default Theme Folder
        3. Look in Controller Root Folder
          1. Must at least have this to Populate Frontend
      2. Render page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view
    2. For Products
      1. Build List
        1. Look in Controller Theme Folder
        2. Look in Controller Default Theme Folder
        3. Look in Controller Root Folder
          1. Must at least have this to Populate Frontend
      2. Render Page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view
    3. For Content
      1. Build List
        1. Look in Content Theme Folder
        2. Look in Content Default Theme Folder
        3. Look in Content Root Folder
          1. Must at least have this to Populate CSS Frontend
      2. Render Page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view
  5. CSS
    1. For Departments
      1. Build List
        1. Look in Root Theme Folder
        2. Look in Theme Folder
        3. Look in Default Theme folder
          1. Must at least have this to Populate Frontend
      2. Render Page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view
    2. For Products
      1. Build List
        1. Look in Root Theme Folder
        2. Look in Theme Folder
        3. Look in Default Theme folder
          1. Must at least have this to Populate Frontend
      2. Render Page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view
    3. For Content
      1. Build List
        1. Look in Root Theme Folder
        2. Look in Theme Folder
        3. Look in Default Theme folder
          1. Must at least have this to Populate Frontend
      2. Render Page
        1. Driven by Selection of controller
        2. Action Method (Index) then dictates view