From d505f49616abaa7a77a8316ed34879ea97f9ac86 Mon Sep 17 00:00:00 2001
From: "Mark M. Florida" <mflorida@gmail.com>
Date: Mon, 23 May 2016 23:39:32 -0500
Subject: [PATCH] Removing junk files; style tweak to admin ui so border
 between tab flippers and panes extends all the way down; moving
 site-setup.yaml file to /setup.

---
 .../data/config/admin-manageData-tab.yaml     | 106 ---
 .../admin/data/config/site-admin-alt-new.json |  66 --
 .../admin/data/config/site-admin-alt.json     | 125 ----
 .../data/config/site-admin-resolved.yaml      |  93 ---
 .../data/config/site-admin-sample-new.yaml    | 262 -------
 .../config/site-admin-spawner-elements.yaml   | 116 ---
 .../page/admin/data/config/site-admin.json    | 689 ------------------
 .../page/admin/data/config/site-admin.json.js | 106 ---
 .../page/admin/data/config/siteAdmin.json     | 119 ---
 .../page/admin/data/config/siteAdmin.yaml     |  38 -
 .../page/admin/data/config/siteAdminAlt.yaml  | 139 ----
 src/main/webapp/page/admin/fake.jsp           | 453 ------------
 .../webapp/page/admin/spawner/content.jsp     |  55 +-
 src/main/webapp/page/admin/style.css          |   2 +-
 src/main/webapp/page/admin/tabs.js            |  52 --
 src/main/webapp/page/admin/tabs.jsp           |  39 -
 src/main/webapp/page/admin/ui.jsp             |  68 --
 src/main/webapp/page/foo/content.jsp          |  15 -
 src/main/webapp/page/foo/index.jsp            |  22 -
 src/main/webapp/setup/index.jsp               |   2 +-
 .../data/config => setup}/site-setup.yaml     |   0
 .../webapp/style/uploaders/fileuploader.css   |   5 +-
 22 files changed, 32 insertions(+), 2540 deletions(-)
 delete mode 100644 src/main/webapp/page/admin/data/config/admin-manageData-tab.yaml
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin-alt-new.json
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin-alt.json
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin-resolved.yaml
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin-spawner-elements.yaml
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin.json
 delete mode 100644 src/main/webapp/page/admin/data/config/site-admin.json.js
 delete mode 100644 src/main/webapp/page/admin/data/config/siteAdmin.json
 delete mode 100644 src/main/webapp/page/admin/data/config/siteAdmin.yaml
 delete mode 100644 src/main/webapp/page/admin/data/config/siteAdminAlt.yaml
 delete mode 100644 src/main/webapp/page/admin/fake.jsp
 delete mode 100644 src/main/webapp/page/admin/tabs.js
 delete mode 100644 src/main/webapp/page/admin/tabs.jsp
 delete mode 100644 src/main/webapp/page/admin/ui.jsp
 delete mode 100644 src/main/webapp/page/foo/content.jsp
 delete mode 100644 src/main/webapp/page/foo/index.jsp
 rename src/main/webapp/{page/admin/data/config => setup}/site-setup.yaml (100%)

diff --git a/src/main/webapp/page/admin/data/config/admin-manageData-tab.yaml b/src/main/webapp/page/admin/data/config/admin-manageData-tab.yaml
deleted file mode 100644
index b339bcc3..00000000
--- a/src/main/webapp/page/admin/data/config/admin-manageData-tab.yaml
+++ /dev/null
@@ -1,106 +0,0 @@
-# Controls and panel defs for the DICOM Connections panel
-
-enableDicomReceiver:
-    label: Enable DICOM Receiver
-    id: enableDicomReceiver
-    name: enableDicomReceiver
-    type: select
-    options:
-        - { label: Yes, value: true }
-        - { label: No, value: false }
-    selected: true
-    description: Caution: Changes to this setting will take effect immediately. Before disabling the receiver, verify that there are no transmissions currently in progress.
-    tooltip: Should the DICOM receiver listen for connections?
-    url: /xapi/services/settings/enableDicomReceiver
-    validation:
-        required: true
-
-dicomHosts:
-    label: DICOM Hosts
-    id: dcmHost
-    name: dcmHost
-    type: hidden
-    url: /xapi/services/settings/dcmHost
-
-dicomAeTitles:
-    label: DICOM AE Titles
-    id: dcmAe
-    name: dcmAe
-    type: text
-    tooltip: These are the SCP Application Entity (AE) title(s).
-    url: /xapi/services/settings/dcmAe
-
-dicomPortNumber:
-    label: DICOM Port Number
-    id: dcmPort
-    name: dcmPort
-    type: text
-    tooltip: This is the port number to which C-STORE SCUs (scanners and other clients sending data) should connect.
-    url: /xapi/services/settings/dcmPort
-
-defaultDicomReceiver:
-    label: Default DICOM Receiver
-    id: servicesDicomScpAetitle
-    name: servicesDicomScpAetitle
-    type: hidden
-    url: /xapi/services/settings/servicesDicomScpAetitle
-    # grab setting for services.dicom.scp.aetitle from services.properties
-    # or, delete if this is obsolete
-
-defaultDicomReceiverUser:
-    label: Default DICOM Receiver User
-    id: servicesDicomScpReceivedfileuser
-    name: servicesDicomScpReceivedfileuser
-    type: hidden
-    url: /xapi/services/settings/servicesDicomScpReceivedfileuser
-    # grab setting for services.dicom.scp.receivedfileuser from services.properties
-    # or, delete if this is obsolete
-
-dicomPanel:
-    label: DICOM Receiver Settings
-    type: panel
-    controls:
-        ${enableDicomReceiver}
-        ${dicomHosts}
-        ${dicomAeTitles}
-        ${dicomPortNumber}
-        ${defaultDicomReceiver}
-        ${defaultDicomReceiverUser}
-
-# Tabs for the Manage Data Tab Group
-
-dicomConnections:
-    label: Manage DICOM Settings
-    type: tab
-    contents:
-        ${dicomPanel}
-        ${petMrPanel}
-
-sessionUploadSettings:
-    label: Session Upload, Import &amp; Anonymization
-    type: tab
-    contents:
-        ${anonScript}
-        ${seriesImportFilter}
-        ${sessionUploadMethod}
-
-dataTypes:
-    label: Manage Data Types
-    type: tab
-    contents:
-        ${dataTypeTable}
-
-manageData:
-    label: Manage Data
-    type: tabGroup
-    tabs:
-        ${dataTypes}
-        ${dicomConnections}
-        ${sessionUploadSettings}
-
-manageDataPage:
-    label: Manage Data
-    type: page
-    contains: tabs
-    contents:
-        ${manageData}
\ No newline at end of file
diff --git a/src/main/webapp/page/admin/data/config/site-admin-alt-new.json b/src/main/webapp/page/admin/data/config/site-admin-alt-new.json
deleted file mode 100644
index 6fb8dd2f..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin-alt-new.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
-    "XNAT": {
-        "siteAdmin": {
-            "meta": {
-                "kind": "tabs",
-                "name": "siteAdmin",
-                "title": "XNAT Site Administration",
-                "groups": [
-                    { "name": "dashboard",            "label": "Dashboard" },
-                    { "name": "xnatSetup",            "label": "XNAT Setup" },
-                    { "name": "manageAccess",         "label": "Manage Access" },
-                    { "name": "manageData",           "label": "Manage Data" },
-                    { "name": "processing",           "label": "Processing" },
-                    { "name": "projectCustomization", "label": "Project Customization" },
-                    { "name": "advanced",             "label": "Advanced XNAT Settings" }
-                ]
-            },
-            "xnatSetup": {
-                "siteSetup": {
-                    "siteInfo": {
-                        "siteId": {},
-                        "siteURL": {},
-                        "siteDescription": {},
-                        "homePage": {},
-                        "landingPage": {}
-                    },
-                    "adminInfo": {
-                        "siteAdminEmail": {}
-                    }
-                },
-                "security": {
-                    "siteSecurity": {
-                        "securityChannel": {},
-                        "requireLogin": {}
-                    },
-                    "loginSessionControls": {
-                        "sessionTimeout": {},
-                        "sessionTimeoutMessage": {},
-                        "sessionAllowResume": {},
-                        "maxSessions": {},
-                        "loginFailureMessage": {}
-                    }
-                },
-                "dicomScpReceivers": {
-                    "receivers": {
-                        "receiverList": {}
-                    }
-                },
-                "emailServer": {
-                    "emailServerConfig": {
-                        "xdat.mail.server": {},
-                        "xdat.mail.port": {},
-                        "xdat.mail.username": {},
-                        "xdat.mail.password": {}
-                    }
-                },
-                "notifications": {},
-                "features": {},
-
-            },
-            "manageAccess": {
-                "authentication": {}
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/main/webapp/page/admin/data/config/site-admin-alt.json b/src/main/webapp/page/admin/data/config/site-admin-alt.json
deleted file mode 100644
index e55a2a6e..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin-alt.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
-    "README": {
-        "_":   "This structure is mostly object-based with unique named properties instead of arrays for items.",
-        "__":  "The 'meta' property (or maybe some other name like 'self') contains the info for that item.",
-        "___": "All other properties are that item's child items."
-    },
-    "XNAT": {
-        "siteAdmin": {
-            "meta": {
-                "kind": "page",
-                "contains": "tabs",
-                "name": "siteAdmin",
-                "title": "XNAT Site Administration",
-                "url": "/data/admin"
-            },
-            "siteInfo": {
-                "meta": {
-                    "kind": "tab",
-                    "name": "siteInfo",
-                    "id": "site-info",
-                    "label": "Site Information",
-                    "url": "/data/admin/site-info"
-                },
-                "siteInfoId": {
-                    "meta": {
-                        "kind": "panel",
-                        "name": "siteInfoId",
-                        "id": "site-info-id",
-                        "label": "Site ID",
-                        "description": "The id used to refer to this site (also used to generate database ids). No spaces or non-alphanumeric characters. It should be a short, one-word name or acronym which describes your site."
-                    },
-                    "siteId": {
-                        "meta": {
-                            "kind": "input-alphanum-id",
-                            "name": "siteId",
-                            "label": "Site ID",
-                            "id": "site-id",
-                            "description": "Site ID accepts letters, numbers, and underscores",
-                            "value": "XNAT",
-                            "required": true
-                        }
-                    }
-                }
-            },
-            "siteDescription": {
-                "meta": {
-                    "kind": "panel",
-                    "name": "siteDescription",
-                    "id": "site-info-description",
-                    "label": "Site Description",
-                    "description": "A short description of this site to be displayed on the login page."
-                },
-                "descriptionType": {
-                    "meta": {
-                        "kind": "select",
-                        "name": "siteDescriptionType",
-                        "label": "Site Description Type",
-                        "id": "site-description-type",
-                        "description": "select 'Text' or 'Page'",
-                        "value": "text",
-                        "required": true
-                    },
-                    "value": "text",
-                    "?value": "(should the 'value' property be at the root of each item?)",
-                    "options{}": {
-                        "text": {
-                            "label": "Text",
-                            "value": "text",
-                            "related": "siteDescriptionText"
-                        },
-                        "page": {
-                            "label": "Page",
-                            "value": "page",
-                            "related": "siteDescriptionPage"
-                        }
-                    },
-                    "options[]": [
-                        {
-                            "label": "Text",
-                            "value": "text",
-                            "related": "siteDescriptionText"
-                        },
-                        {
-                            "kind": "divider"
-                        },
-                        {
-                            "label": "Page",
-                            "value": "page",
-                            "related": "siteDescriptionPage"
-                        },
-                        "---",
-                        "^^^ - string that signifies a divider",
-                        {
-                            "label": "Other",
-                            "value": "other",
-                            "onselect": "XNAT.siteAdmin.siteDescription.descriptionType.other",
-                            "?onselect": "name of function to run on the 'select' event"
-                        }
-                    ]
-                },
-                "siteDescriptionText": {
-                    "meta": {
-                        "kind": "textarea",
-                        "id": "site-description-text",
-                        "name": "siteDescriptionText",
-                        "label": "Site Description Text",
-                        "description": "enter text/html for the site description",
-                        "value": "This is XNAT."
-                    },
-                },
-                "siteDescriptionPage": {
-                    "meta": {
-                        "kind": "input",
-                        "type": "url",
-                        "id": "site-description-page",
-                        "name": "siteDescriptionPage",
-                        "label": "Site Description Page",
-                        "description": "enter path to file containing the site description",
-                        "value": "/screens/site_description.vm"
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/main/webapp/page/admin/data/config/site-admin-resolved.yaml b/src/main/webapp/page/admin/data/config/site-admin-resolved.yaml
deleted file mode 100644
index 23da1198..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin-resolved.yaml
+++ /dev/null
@@ -1,93 +0,0 @@
-siteAdmin:
-    label: Administer XNAT
-    type: page
-    contains: tabs
-    contents:
-        xnatSetup:
-            label: XNAT Setup
-            type: tabGroup
-            tabs:
-                siteSetup:
-                    label: Site Setup
-                    type: tab
-                    contents:
-                        siteInfo:
-                            label: Site Information
-                            type: panel
-                            controls:
-                               siteId:
-                                   label: Site ID
-                                   type: text
-                                   id: site-id
-                                   description: Identifies your XNAT site.
-                                   placeholder: Enter your XNAT site ID...
-                                   url: /xapi/services/prefs/siteId/{siteId}
-                                   default: XNAT
-                                   validation:
-                                       required: true
-                                       type: xnat-id
-                               siteUrl:
-                                   label: Site Url
-                                   type: url
-                                   description: The root URL for the site. This is passed to external services.
-                                   placeholder: Enter the URL for your XNAT site...
-                                   value: https://cnda.wustl.edu
-                                   validation:
-                                       required: true
-                               siteDescription:
-                                   label: Site Description
-                                   type: composite
-                                   selection: radio
-                                   url: /data/services/prefs/{desc}
-                                   children:
-                                       siteDescriptionPage:
-                                           id: desc-page
-                                           label: Page
-                                           type: site.path
-                                           description: The page to display for the site description, e.g. /screens/site_description.vm.
-                                           value: /screens/site_description.vm
-                                           placeholder: Enter a page for your site description...
-                                           validation:
-                                               required: true
-                                       siteDescriptionMarkdown:
-                                           id: desc-markdown
-                                           label: Text (Markdown)
-                                           type: markdown
-                                           tooltip: XNAT allows you to use GitHub-flavored Markdown to create and format your own site description. [&gt;&gt; View Tutorial](http://foobar)
-                                           description: Compose a site description without referencing a template or site page.
-                                           validation:
-                                               required: true
-                               landingPage:
-                                   label: Landing Page
-                                   type: site.path
-                                   description: The page to display when the user logs in.
-                                   value: /screens/QuickSearch.vm
-                                   placeholder: Enter the default landing page...
-                                   overrides:
-                                       target: homePage
-                                       type: checkbox
-                                       position: right
-                                       description: Use this as my home page.
-                                       hideTarget: false
-                                   validation:
-                                       required: true
-                               homePage:
-                                   label: Home Page
-                                   type: site.path
-                                   description: The page to display when the user clicks the home link.
-                                   value: /screens/AdminUsers.vm
-                                   placeholder: Enter the default home page...
-                                   validation:
-                                       required: true
-                        adminInfo:
-                            label: Admin Information
-                            type: panel
-                            controls:
-                                siteAdminEmail:
-                                    label: Site Admin Email
-                                    type: email
-                                    placeholder: Administrator email address...
-                                    url: /xapi/services/prefs/siteAdminEmail/{siteAdminEmail}
-                                    validation:
-                                        required: true
-
diff --git a/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml b/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml
deleted file mode 100644
index 1624b7ee..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml
+++ /dev/null
@@ -1,262 +0,0 @@
-siteAdmin:
-    kind: tabs
-    name: siteAdmin
-    label: Administer XNAT
-    meta:
-        tabGroups:
-            dashboard: Dashboard
-            xnatSetup: XNAT Setup
-            manageAccess: Manage Access
-            manageData: Manage Data
-            processing: Processing
-            projectCustomization: Project Customization
-            advanced: Advanced XNAT Settings
-            other: Other
-    contains: tabs
-    tabs:  # this property name is the same as 'contains', so it will be treated like 'contents'
-        siteSetup:
-            kind: tab
-            name: siteSetup
-            label: Site Setup
-            group: xnatSetup
-            active: true
-            element:
-                data:
-                    foo: bar
-            contains: panels # the value for 'contains' can be a custom name for 'contents'
-            panels:
-
-                #panel
-                siteInfo:
-                    kind: panel.form
-                    name: siteInfo
-                    label: Site Information
-                    method: POST
-                    action: /xapi/siteConfig/batch
-                    contentType: application/json
-                    load:
-                        lookup: XNAT.data.siteConfig
-                        refresh: /xapi/siteConfig # url to use to get fresh data (uses GET)
-                    contents:
-
-                        # panel input
-                        siteId:
-                            kind: panel.input.text
-                            name: siteId
-                            id: side-id
-                            label: Site ID
-                            value: XNAT
-                            load:
-                                url: /xapi/siteConfig/siteId
-                            description: >
-                                The id used to refer to this site (also used to generate ids). The Site ID must start
-                                with a letter and contain only letters, numbers and underscores. It should be a short,
-                                one-word name or acronym which describes your site.
-                            validation: required id onblur
-
-                        # panel input
-                        adminEmail:
-                            kind: panel.input.email
-                            name: adminEmail
-                            label: Administrator Email Address
-                            url: /xapi/siteConfig/adminEmail
-                            value: ''
-
-                        # panel div
-                        someInfo:
-                            #kind: element
-                            tag: div.message
-                            element:
-                                html: Hello people.
-                                style:
-                                    fontWeight: bold
-                # panel
-                manageThemes:
-                    kind: panel
-                    name: manageThemes
-                    label: Manage Themes
-                    footer: false
-                    contents:
-                        themeUpload:
-                            kind: panel.input.upload
-                            name: themeUpload
-                            # id: uplode-here
-                            method: PUT
-                            action: '/put/the/thing/in/the/stuff'
-                            label: Upload Theme File
-
-
-
-        security:
-            kind: tab
-            name: security
-            label: Security
-            group: xnatSetup
-            contents:
-                generalSecuritySettings:
-                    kind: panel.form
-                    name: generalSecuritySettings
-                    label: General Site Security Settings
-                    contents:
-                        securityChannel:
-                            kind: panel.select.single
-                            name: securityChannel
-                            label: Security Channel
-                            value: https
-                            options:
-                                http:
-                                    # if there's no 'label' property, the value will be used for the label
-                                    label: http
-                                    value: http
-                                https:
-                                    label: https
-                                    value: https
-                            config:
-                                id: security-channel
-                                title: Security Channel
-
-
-        emailServer:
-            kind: tab
-            name: emailServer
-            label: Email Server
-            group: xnatSetup
-            contents:
-                emailServerSettings:
-                    kind: panel.form
-                    method: POST
-#                    action: /xapi/notifications/smtp
-                    action: /xapi/siteConfig/smtpServer
-#                    action: '#@' # this character combo means submit each item individually
-                    contentType: json
-                    load: # load data
-#                        refresh: /xapi/siteConfig/smtpServer
-                        url: /xapi/siteConfig/smtpServer
-                        method: GET      # defaults to GET if not set
-#                        prop: smtpServer # which root property? gets the root object if not set
-#                        data: XNAT.data.siteConfig.smtpServer
-                    name:  emailServerSettings
-                    label: Mail Server Settings
-                    contents:
-                        hostname:
-                            kind: panel.input.text
-                            name: host
-                            label: Host
-                            value: ''
-                            element:
-                                placeholder: localhost
-                            #data:
-                                # METHOD:/url/for/data:object.path
-                                #get: GET|/xapi/siteConfig|smtpServer.host
-                                #set: POST|/xapi/notifications/host
-                        port:
-                            kind: panel.input.number
-                            name: port
-                            label: Port
-                            value: ''
-                            element:
-                                placeholder: 587
-                        username:
-                            kind: panel.input.text
-                            name: username
-                            label: Username
-                            value: ''
-                            element:
-                                placeholder: admin@localhost
-                        password:
-                            kind: panel.input.password
-                            name: password
-                            label: Password
-                            value: ''
-                        protocol:
-                            kind: panel.input.text
-                            name: protocol
-                            label: Protocol
-                            value: ''
-#                            data:
-#                                get: GET|/xapi/siteConfig|smtpServer.protocol
-#                                set: POST|/xapi/notifications/protocol
-
-#                        subhead breaks up panel items
-
-                        mailServerProperties:
-                            kind: panel.subhead
-                            name: mailServerProperties
-                            label: Properties
-                        smtpAuth:
-                            kind: panel.input.checkbox
-                            name: mail.smtp.auth
-                            label: SMTP Auth?
-                            value: true
-                            checked: true
-                        smtpStartTls:
-                            kind: panel.input.checkbox
-                            name: mail.smtp.starttls.enable
-                            label: Smart TLS?
-                            value: true
-                            checked: true
-                        smtpSSLTrust:
-                            kind: panel.input.text
-                            name: mail.smtp.ssl.trust
-                            label: SSL Trust
-                            value: ''
-                            element:
-                                placeholder: localhost
-
-        misc:
-            kind: tab
-            name: misc
-            label: Misc.
-            contents:
-                random:
-                    kind: panel
-                    name: random
-                    id: random-things
-                    label: Random Things
-                    contains: things
-                    things:
-                        panel1:
-                            kind: panel.element
-                            label: A Multi-Select Menu
-                            contents:
-                                select1:
-                                    kind: select.multiple
-                                    label: Select Some:
-                                    options:
-                                        a:
-                                            html: A
-                                            selected: true
-                                        b:
-                                            html: B
-                                            selected: true
-
-                        sectionA:
-                            kind: panel.section
-                            element:
-                                style:
-                                    borderTop: "1px solid #e0e0e0"
-                                    padding: 0 20px
-                                    marginTop: 20px
-                            header: >
-                                <h4>The Button Section</h4>
-                            contains: stuff
-                            stuff:
-                                p1:
-                                    tag: p
-                                    element:
-                                        html: >
-                                            This is a 'panel.section' element. It takes up the entire width
-                                            of the panel and does not have layout structure for a label
-                                            on the left-hand side. There is a 'panel-header' item at the
-                                            top though, which can be set with the 'header' or 'label' property.
-                                            <br><br>
-                                btn1:
-                                    tag: button
-                                    element:
-                                        html: Hello.
-                                    after: <br><br>
-                                btn2:
-                                    tag: button.goodbye
-                                    element:
-                                        html: Goodbye.
-                                    after: <b class="w10">&nbsp;</b><small>Bye-bye.</small>
diff --git a/src/main/webapp/page/admin/data/config/site-admin-spawner-elements.yaml b/src/main/webapp/page/admin/data/config/site-admin-spawner-elements.yaml
deleted file mode 100644
index d2f8d136..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin-spawner-elements.yaml
+++ /dev/null
@@ -1,116 +0,0 @@
-siteId:
-    label: Site ID
-    type: text
-    id: site-id
-    description: Identifies your XNAT site.
-    placeholder: Enter your XNAT site ID...
-    url: /xapi/services/prefs/siteId/{siteId}
-    default: XNAT
-    validation:
-        required: true
-        type: xnat-id
-
-siteUrl:
-    label: Site Url
-    type: url
-    description: The root URL for the site. This is passed to external services.
-    placeholder: Enter the URL for your XNAT site...
-    value: https://cnda.wustl.edu
-    validation:
-        required: true
-
-siteDescriptionPage:
-    id: desc-page
-    label: Page
-    type: site.path
-    description: The page to display for the site description, e.g. /screens/site_description.vm.
-    value: /screens/site_description.vm
-    placeholder: Enter a page for your site description...
-    validation:
-        required: true
-
-siteDescriptionMarkdown:
-    id: desc-markdown
-    label: Text (Markdown)
-    type: markdown
-    tooltip: XNAT allows you to use GitHub-flavored Markdown to create and format your own site description. [&gt;&gt; View Tutorial](http://foobar)
-    description: Compose a site description without referencing a template or site page.
-    validation:
-        required: true
-
-siteDescription:
-    label: Site Description
-    type: composite
-    selection: radio
-    url: /data/services/prefs/{desc}
-    children:
-        ${siteDescriptionPage}
-        ${siteDescriptionMarkdown}
-
-landingPage:
-    label: Landing Page
-    type: site.path
-    description: The page to display when the user logs in.
-    value: /screens/QuickSearch.vm
-    placeholder: Enter the default landing page...
-    overrides:
-        target: homePage
-        type: checkbox
-        position: right
-        description: Use this as my home page.
-        hideTarget: false
-    validation:
-        required: true
-
-homePage:
-    label: Home Page
-    type: site.path
-    description: The page to display when the user clicks the home link.
-    value: /screens/AdminUsers.vm
-    placeholder: Enter the default home page...
-    validation:
-        required: true
-
-siteInfo:
-    label: Site Information
-    type: panel
-    controls:
-       ${siteId}
-       ${siteUrl}
-       ${siteDescription}
-       ${landingPage}
-       ${homePage}
-
-siteAdminEmail:
-    label: Site Admin Email
-    type: email
-    placeholder: Administrator email address...
-    url: /xapi/services/prefs/siteAdminEmail/{siteAdminEmail}
-    validation:
-        required: true
-
-adminInfo:
-    label: Admin Information
-    type: panel
-    controls:
-        ${siteAdminEmail}
-
-siteSetup:
-    label: Site Setup
-    type: tab
-    contents:
-        ${siteInfo}
-        ${adminInfo}
-
-xnatSetup:
-    label: XNAT Setup
-    type: tabGroup
-    tabs:
-        ${siteSetup}
-
-siteAdmin:
-    label: Administer XNAT
-    type: page
-    contains: tabs
-    contents:
-        ${xnatSetup}
diff --git a/src/main/webapp/page/admin/data/config/site-admin.json b/src/main/webapp/page/admin/data/config/site-admin.json
deleted file mode 100644
index 889d9ee1..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin.json
+++ /dev/null
@@ -1,689 +0,0 @@
-{
-    "Result": [
-        {
-            "kind": "meta",
-            "name": "meta",
-            "meta": {
-                "url": "/data/admin"
-            },
-            "layout": "left",
-            "groupList": [
-                ["dashboard", "Dashboard"],
-                ["xnatSetup", "XNAT Setup"],
-                ["manageAccess", "Manage Access"],
-                ["manageData", "Manage Data"],
-                ["processing", "Processing"],
-                ["projectCustomization", "Project Customization"],
-                ["advanced", "Advanced XNAT Settings"]
-            ],
-            "groups_": [
-                { "name": "dashboard",            "label": "Dashboard" },
-                { "name": "xnatSetup",            "label": "XNAT Setup" },
-                { "name": "manageAccess",         "label": "Manage Access" },
-                { "name": "manageData",           "label": "Manage Data" },
-                { "name": "processing",           "label": "Processing" },
-                { "name": "projectCustomization", "label": "Project Customization" },
-                { "name": "advanced",             "label": "Advanced XNAT Settings" }
-            ],
-            "groups": {
-                "dashboard": "Dashboard",
-                "xnatSetup": "XNAT Setup",
-                "manageAccess": "Manage Access",
-                "manageData": "Manage Data",
-                "processing": "Processing",
-                "projectCustomization": "Project Customization",
-                "advanced": "Advanced XNAT Settings"
-            }
-        },
-        {
-            "kind": "tab",
-            "group": "dashboard",
-            "name": "siteDashboard",
-            "id": "site-dashboard",
-            "label": "Site Dashboard",
-            "isDefault": false,
-            "contents/items": {
-                "siteMonitoring": {
-                    "meta": {
-                        "kind": "panelForm",
-                        "name": "siteMonitoring",
-                        "label": "Site Monitoring",
-                        "id": "site-monitoring"
-                    },
-                    "contents/items": {
-                        "serverResponse": {
-                            "kind": "graph",
-                            "name": "serverResponse",
-                            "label": "Server Response Time",
-                            "data": "/data/site/response",
-                            "opts": {
-                                "display": "inline",
-                                "editable": true
-                            }
-                        },
-                        "uptime": {
-                            "kind": "graph",
-                            "name": "uptime",
-                            "label": "Uptime",
-                            "data/url": "/data/site/uptime",
-                            "opts": {
-                                "display": "inline",
-                                "editable": true
-                            }
-                        }
-                    }
-                }
-            }
-        },
-        {
-            "kind": "tab",
-            "group": "xnatSetup",
-            "name": "siteSetup",
-            "id": "site-setup",
-            "label": "Site Setup",
-            "url": "/data/admin/site-setup",
-            "isDefault": true,
-            "contents": [
-                {
-                    "kind": "panel",
-                    "name": "siteInfo",
-                    "id": "site-information",
-                    "label": "Site Information",
-                    "url-example": "/data/admin/site-setup/site-information",
-                    "elements": [
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "siteId",
-                            "label": "Site ID",
-                            "id": "site-id",
-                            "description": "The id used to refer to this site (also used to generate database ids). No spaces or non-alphanumeric characters. It should be a short, one-word name or acronym which describes your site.",
-                            "info": "Site ID accepts letters, numbers, and underscores",
-                            "value": "XNAT",
-                            "validation": {
-                                "required": true,
-                                "type": "id-strict"
-                            }
-                        },
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "siteURL",
-                            "label": "Site Url",
-                            "id": "site-url",
-                            "description": "",
-                            "info": "",
-                            "value": "https://cnda.wustl.edu",
-                            "validation": {
-                                "required": true,
-                                "type": "url"
-                            }
-                        },
-                        {
-                            "kind": "element-group",
-                            "tag_": "",
-                            "type_": "radio",
-                            "name": "siteDescription",
-                            "label": "Site Description",
-                            "id": "site-description",
-                            "value": "text",
-                            "description": "",
-                            "info": "",
-                            "elements": [
-                                {
-                                    "kind": "hidden-input",
-                                    "tag": "input",
-                                    "type": "hidden",
-                                    "name": "siteDescriptionType",
-                                    "value": "page"
-                                },
-                                {
-                                    "kind": "radio",
-                                    "tag": "input",
-                                    "type": "radio",
-                                    "name": "siteDescription",
-                                    "id": "site-description-page",
-                                    "label": "",
-                                    "value": "page",
-                                    "checked": true,
-                                    "after": [
-                                        ["label", {
-                                            "attr": {
-                                                "for": "site-description-page-input"
-                                            }
-                                        }, " Page"],
-                                        ["br"],
-                                        ["input", {
-                                            "id": "site-description-page-input",
-                                            "type": "text",
-                                            "name": "siteDescriptionPage",
-                                            "value": "/screens/site_description.vm",
-                                            "data":{
-                                                "value": "/screens/site_description.vm",
-                                                "validate": "url"
-                                            }
-                                        }]
-                                    ],
-                                    "data": {
-                                        "modify": [
-                                            "set.value: ?siteDescriptionType; ",
-                                            "show: #site-description-page-input; ",
-                                            "hide: #site-description-text-input"
-                                        ]
-                                    },
-                                    "related": "?siteDescriptionType"
-                                },
-                                {
-                                    "kind": "radio",
-                                    "tag": "input",
-                                    "type": "radio",
-                                    "name": "siteDescription",
-                                    "id": "site-description-text",
-                                    "label": "",
-                                    "value": "text",
-                                    "after": [
-                                        ["label", {
-                                            "attr": {
-                                                "for": "site-description-text-input"
-                                            }
-                                        }, " Text (Markdown)"],
-                                        ["br"],
-                                        ["textarea.hidden", {
-                                            "id": "site-description-text-input",
-                                            "name": "siteDescriptionText",
-                                            "value": "Foo",
-                                            "html": "foo."
-                                        }]
-                                    ],
-                                    "data": {
-                                        "modify": [
-                                            "set.value: ?siteDescriptionType; ",
-                                            "hide: #site-description-page-input; ",
-                                            "show: #site-description-text-input"
-                                        ]
-
-                                    },
-                                    "related": "?siteDescriptionType"
-                                }
-                            ],
-                            "elements_": [
-
-                                ["label", [
-                                    ["input|type=radio", {
-                                        "name": "siteDescription",
-                                        "value": "page"
-                                    }],
-                                    " Page"
-                                ]],
-
-                                ["br"],
-
-                                ["input|type=text", {
-                                    "name": "siteDescriptionPage",
-                                    "value": "/screens/site_description.vm"
-                                }],
-
-                                ["br"],
-
-                                ["label", [
-                                    ["input|type=radio", {
-                                        "name": "siteDescription",
-                                        "value": "text",
-                                        "$": {
-                                            "after": " Text (Markdown)"
-                                        }
-                                    }],
-                                    " Text (Markdown)"
-                                ]],
-
-                                ["br"],
-
-                                ["textarea", {
-                                    "value": "",
-                                    "html": ""
-                                }]
-
-                            ],
-                            "options": [
-                                {
-                                    "label": "Page",
-                                    "value": "page",
-                                    "toggle": {
-                                        "show": "page",
-                                        "hide": "text"
-                                    },
-                                    "description": ""
-                                },
-                                {
-                                    "label": "Text (Markdown)",
-                                    "value": "text",
-                                    "toggle": {
-                                        "show": "text",
-                                        "hide": "page"
-                                    },
-                                    "description": "XNAT allows you to use GitHub-flavored Markdown to create and format your own site description. <a href='/link/to/tutorial'>&gt;&gt; View Tutorial</a>"
-                                }
-                            ],
-                            "related": {
-                                "page": {
-                                    "parent": "/.xnatSetup.siteInfo.siteDescription.page",
-                                    "kind": "input",
-                                    "type": "text",
-                                    "name": "descriptionPage",
-                                    "id": "description-page",
-                                    "value": "/screens/site_description.vm",
-                                    "description": "",
-                                    "info": ""
-                                },
-                                "text": {
-                                    "parent": "/.xnatSetup.siteInfo.siteDescription.text",
-                                    "kind": "textarea",
-                                    "name": "descriptionText",
-                                    "id": "description-text",
-                                    "value": "",
-                                    "description": "XNAT allows you to use GitHub-flavored Markdown to create and format your own site description. <a href='/link/to/tutorial'>&gt;&gt; View Tutorial</a>",
-                                    "info": ""
-                                }
-                            },
-                            "related_": [
-                                {
-                                    "kind": "input",
-                                    "type": "text",
-                                    "value": ""
-                                }
-                            ],
-                            "validation": {
-                                "required": true,
-                                "type": "url"
-                            }
-                        },
-                        {
-                            "kind": "hidden",
-                            "tag": "input",
-                            "type": "hidden",
-                            "name": "homePage",
-                            "id": "home-page",
-                            "value": "/screens/QuickSearch.vm"
-                        },
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "landingPage",
-                            "label": "Landing Page",
-                            "id": "landing-page",
-                            "before": "",
-                            "after": [
-                                [ "span.after", [
-                                    ["label.small", [
-                                        ["input#toggle-home-page", {
-                                            "type": "checkbox",
-                                            "name": "setHomePage",
-                                            "checked": false,
-                                            "data": {
-                                                "state": "unchecked",
-                                                "modify": [
-                                                    "toggle.value: [name='homePageInput'], [name='landingPage']; ",
-                                                    "toggle.value: ?homePage, ?landingPage; ",
-                                                    "toggle.disabled: ?homePageInput"
-                                                ]
-                                            }
-                                        }],
-                                        " Use This As My Home Page"
-                                    ]]
-                                ]]
-                            ],
-                            "after_": "<label class='small'><input type='checkbox' id='toggle-home-page' name='useForHome' data-modify='toggle.disable:?homePage,toggle.hide:?siteId'> Use This As My Home Page</label>",
-                            "description": "",
-                            "info": "",
-                            "value": "/screens/SplashPage.vm"
-                        },
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "homePageInput",
-                            "label": "Home Page",
-                            "id": "home-page-input",
-                            "description": "",
-                            "info": "",
-                            "value": "",
-                            "after": [
-                                ["script", "XNAT.element.copyValue('?homePageInput', '?homePage')"]
-                            ]
-                        }
-                    ]
-                },
-                {
-                    "kind": "panelForm",
-                    "name": "adminInfo",
-                    "id": "admin-information",
-                    "label": "Admin Information",
-                    "description": "",
-                    "info": "",
-                    "elements": [
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "siteAdminEmail",
-                            "label": "Site Admin Email",
-                            "id": "site-admin-email",
-                            "after_": [
-                                ["br"],
-                                ["p", [
-                                    ["a", {
-                                        "href": "/path/to/notification-options",
-                                        "html": "&gt;&gt; Set Email Notification Options"
-                                    }]
-                                ]],
-                                ["p", [
-                                    ["a", {
-                                        "href": "/path/to/email-server-config",
-                                        "html": "&gt;&gt; Setup XNAT Email Server"
-                                    }]
-                                ]]
-                            ],
-                            "description": [
-                                "<p><a href='/path/to/notification-options'>&gt;&gt; Set Email Notification Options</a>",
-                                "<p><a href='/path/to/email-server-config'>&gt;&gt; Setup XNAT Email Server</a>"
-                            ],
-                            "value": "cnda-ops.wustl.edu",
-                            "on": {
-                                "render": "XNAT.admin.siteAdminEmail.render",
-                                "change": "XNAT.admin.siteAdminEmail.change"
-                            }
-                        }
-                    ]
-                }
-            ]
-        },
-        {
-            "kind": "tab",
-            "group": "xnatSetup",
-            "name": "security",
-            "id": "security",
-            "label": "Security",
-            "url": "/data/admin/security",
-            "contents": [
-                {
-                    "kind": "panelForm",
-                    "name": "siteSecurity",
-                    "id": "site-security",
-                    "label": "General Site Security Settings",
-                    "elements": [
-                        {
-                            "kind": "select",
-                            "name": "securityChannel",
-                            "id": "security-channel",
-                            "label": "Security Channel",
-                            "value": "http",
-                            "options": [
-                                {
-                                    "label": "http",
-                                    "value": "http"
-                                },
-                                {
-                                    "label": "https",
-                                    "value": "https"
-                                }
-                            ]
-                        },
-                        {
-                            "kind": "checkbox",
-                            "name": "requireLogin",
-                            "id": "require-login",
-                            "checked": true,
-                            "label": "Require User Login?",
-                            "description": "If checked, then only registered users will be able to access your site. If false, anyone visiting your site will automatically be logged in as 'guest' with access to public data."
-                        }
-                    ]
-                },
-                {
-                    "kind": "panelForm",
-                    "name": "loginSessionControls",
-                    "id": "login-session-controls",
-                    "label": "User Logins / Session Controls",
-                    "elements": [
-                        {
-                            "kind": "input",
-                            "name": "sessionTimeout",
-                            "id": "session-timeout-input",
-                            "label": "Session Timeout",
-                            "value": "15",
-                            "attr": {
-                                "size": "3"
-                            },
-                            "description": "Number of minutes of inactivity before users are locked out of the site. This will not affect users that are currently logged in."
-                        },
-                        {
-                            "kind": "textarea",
-                            "name": "sessionTimeoutMessage",
-                            "id": "session-timeout-message",
-                            "label": "Session Timeout Message",
-                            "value": "You timed out, bro.",
-                            "description": "Alert message provided to users after a session timeout and logout."
-                        },
-                        {
-                            "kind": "checkbox",
-                            "name": "sessionAllowResume",
-                            "id": "session-allow-resume",
-                            "label": "Allow Resume on Next Login?",
-                            "checked": true,
-                            "value": "true",
-                            "description": "Allow user to resume where they left off, if logging back in after a session timeout?"
-                        },
-                        {
-                            "kind": "input",
-                            "type": "text",
-                            "name": "maxSessions",
-                            "id": "max-sessions",
-                            "label": "Maximum Concurrent Sessions",
-                            "value": "5",
-                            "attr":{
-                                "size": "3"
-                            },
-                            "description": "The maximum number of permitted sessions a user can have open simultaneously"
-                        },
-                        {
-                            "kind": "textarea",
-                            "name": "loginFailureMessage",
-                            "id": "login-failure-message",
-                            "label": "Login Failure Message",
-                            "value": "No dice dude.",
-                            "description": "Text to show when a user fails to login"
-                        }
-                    ]
-                }
-            ]
-        },
-        {
-            "kind":"tab",
-            "group": "advanced",
-            "name":"dicomScpReceivers",
-            "label": "DICOM SCP Receivers",
-            "contents": [
-                {
-                    "kind":"panelForm",
-                    "name": "receivers",
-                    "label": "Receivers",
-                    "elements": [
-                        {
-                            "kind": "inputTable",
-                            "name": "receiverList",
-                            "id": "receiver-list",
-                            "label": "Receiver List",
-                            "tableData": [
-                                [
-                                    {
-                                        "name": "fooInput",
-                                        "value": "Value 1"
-                                    },
-                                    "Text",
-                                    "Foo",
-                                    "Bar"
-                                ],
-                                [["barInput", "1"], "2", "3", "4"],
-                                [["bazInput", "5"], "6", "7", "8"]
-                            ],
-                            "after": [
-                                ["script", [
-                                    "$('#receiver-list').addClass('foo');"
-                                ]]
-                            ]
-                        }
-                    ]
-                }
-            ]
-        },
-        {
-            "kind": "tab",
-            "group": "xnatSetup",
-            "name": "emailServer",
-            "id": "email-server",
-            "label": "Email Server",
-            "url": "/data/admin/email-server",
-            "contents": [
-                {
-                    "kind": "panelForm",
-                    "name": "emailServerConfig",
-                    "id": "email-server-config",
-                    "label": "Email Server Configuration",
-                    "elements": [
-                        {
-                            "kind": "input",
-                            "name": "xdat.mail.server",
-                            "label": "Mail Server Host"
-                        },
-                        {
-                            "kind": "input",
-                            "name": "xdat.mail.port",
-                            "label": "Mail Server Port",
-                            "attr": {
-                                "size": 5
-                            },
-                            "validate": ["integer"]
-                        },
-                        {
-                            "kind": "input",
-                            "name": "xdat.mail.username",
-                            "label": "Mail Server Username"
-                        },
-                        {
-                            "kind": "input",
-                            "type": "password",
-                            "name": "xdat.mail.password",
-                            "label": "Mail Server Password"
-                        }
-                    ],
-                    "footer": false
-                }
-            ]
-        },
-        {
-            "kind": "tab",
-            "group": "xnatSetup",
-            "name": "notifications",
-            "id": "notifications",
-            "label": "Notifications",
-            "url": "/data/admin/notifications"
-        },
-        {
-            "kind": "tab",
-            "group": "xnatSetup",
-            "name": "features",
-            "id": "features",
-            "label": "Themes &amp; Features",
-            "url": "/data/admin/features",
-						"contents": [
-                {
-                    "kind": "panel",
-                    "name": "themeConfig",
-                    "id": "theme-config",
-                    "label": "Theme Management",
-                    "elements": [
-												{
-														"tag": "script",
-														"type": "text/javascript",
-														"attr": {
-																"src": "../../scripts/themeManagement.js"
-														}
-												},
-                        {
-                            "tag": "span",
-														"html": "None",
-                            "name": "xnat.theme.active",
-                            "label": "Current theme"
-												},
-                        {
-                            "kind": "select",
-														"id": "themeSelection",
-                            "name": "xnat.theme.available",
-                            "label": "Select an existing theme",
-                            "options": [
-                                {
-                                    "label": "None",
-                                    "value": "null"
-                                },
-                                {
-                                    "label": "Modern UI",
-                                    "value": "Modern UI"
-                                },
-                                {
-                                    "label": "Green XNAT Theme",
-                                    "value": "Green XNAT Theme"
-                                },
-                                {
-                                    "label": "Red XNAT Theme",
-                                    "value": "Red XNAT Theme"
-                                }
-                            ],
-														"after": [
-                                "&nbsp;<!--button id=\"submitThemeButton\" onclick=\"setTheme();\">Set Theme</button-->&nbsp;&nbsp;<button id=\"removeThemeButton\" onclick=\"removeTheme();\">Remove Theme</button>"
-                            ]														
-                        },
-                        {
-                            "kind": "file",
-                            "name": "xnat.theme.upload",
-                            "label": "Upload a theme package",
-														"after": [
-                                "<form id=\"uploadThemeForm\" method=\"POST\" class=\"optOutOfXnatDefaultFormValidation\"><span class=\"label bold\">Upload a theme package: </span><input type=\"file\" id=\"themeFileUpload\" name=\"themeFileUpload\" multiple style=\"width: 270px; display: inline; float: left;\"/><button type=\"submit\" id=\"submitThemeUploadButton\" style=\"position: relative; top:-15px;\">Upload</button></form>"
-                            ]
-                        }
-                    ],
-                    "footer": false
-                }
-            ]
-        },
-        {
-            "kind": "tab",
-            "group": "manageAccess",
-            "name": "authentication",
-            "id": "authentication",
-            "label": "Authentication Methods",
-            "url": "/data/admin/authentication"
-        },
-        {
-            "kind": "tab",
-            "group": "manageAccess",
-            "name": "users",
-            "id": "users",
-            "label": "Users",
-            "url": "/data/admin/users"
-        },
-        {
-            "kind": "tab",
-            "group": "manageAccess",
-            "name": "userRoles",
-            "id": "user-roles",
-            "label": "User Roles",
-            "url": "/data/admin/user-roles"
-        },
-        {
-            "kind": "tab",
-            "group": "manageAccess",
-            "name": "registration",
-            "id": "registration",
-            "label": "Registration Options",
-            "url": "/data/admin/registration"
-        }
-
-    ]
-}
diff --git a/src/main/webapp/page/admin/data/config/site-admin.json.js b/src/main/webapp/page/admin/data/config/site-admin.json.js
deleted file mode 100644
index 3e816027..00000000
--- a/src/main/webapp/page/admin/data/config/site-admin.json.js
+++ /dev/null
@@ -1,106 +0,0 @@
-XNAT.siteAdmin =
-    // array of tab config objects
-[
-    {
-        "name": "meta",
-        "kind": "meta",
-        "meta": {
-            "url": '/data/admin'
-        }
-    },
-    {
-        "kind":  "tab",
-        "name":  "siteInfo", // REQUIRED - 'name' that matches database name
-        "id":    "site-info", // OPTIONAL - hyphenated id; defaults to hyphenated version of "name"
-        "label": "Site Information", // REQUIRED - text for tab flipper
-        "url":   "/data/admin/site-info", // REQUIRED to send data back to XNAT - saves ALL data for this entire tab
-        "contents": [ // array of panels or UI elements for this tab pane
-            {
-                "kind": "panel", // what kind of UI element/widget is this?
-                "name": "siteInfoId", // OPTIONAL
-                "id": "site-info-id", // OPTIONAL
-                "label": "Site ID", // REQUIRED
-                "description": "The id used to refer to this site (also used to generate database ids). No spaces or non-alphanumeric characters. It should be a short, one-word name or acronym which describes your site.",
-                "elements": [ // array of form elements or other content for this panel
-                    {
-                        // "input-alphanum-id" will only accept values that would be valid for an ID (starts with letter and contains only letters, numbers, underscores, and hyphens)
-                        "kind": "input-alphanum-id", // choose from a predefined widget type - other examples could be "input-alphanum-safe", "input-alpha", "input-number-int", "input-email"
-                        "name": "siteId", // REQUIRED for form elements
-                        "label": "Site ID", // REQUIRED
-                        "id": "site-id", // OPTIONAL
-                        "description": "Site ID accepts letters, numbers, and underscores",
-                        "value": "XNAT", // saved or default value for form elements
-                        "required": true
-                    }
-                ]
-            },
-            {
-                "kind": "panel", // what kind of UI element/widget is this?
-                "name": "siteDescription",
-                "id": "site-info-description", // OPTIONAL
-                "label": "Site Description", // REQUIRED
-                "description": "A short description of this site to be displayed on the login page.",
-                "elements": [ // array of form elements or other content for this panel
-
-                    // SITE DESCRIPTION TYPE (TEXT OR PAGE)
-                    {
-                        // 'kind' property will tell the front-end code which kind of
-                        // HTML element to render, as well as any specific attributes,
-                        // properties, or methods needed for that specific 'kind'
-                        "kind": "select", // more examples: "select-multi", "radio", "checkbox"
-                        "name": "siteDescriptionType", // REQUIRED for form elements
-                        "label": "Site Description Type", // REQUIRED
-                        "id": "site-description-type",
-                        "description": "select 'Text' or 'Page'",
-                        "value": "text",
-                        "required": true, // only set for required elements
-                        "options": [ // options for select menu
-                            {
-                                "label": "Text",
-                                "value": "text"
-                            },
-                            {
-                                "label": "Page",
-                                "value": "page"
-                            }
-                        ],
-                        // brainstorming how to specify dependencies between elements...
-                        // it's probably useful to be able to define these on the back-end
-                        // to minimize the number of places where things need to be specified
-                        // (this is definitely NOT final)
-                        "on": {
-                            // do something as soon as the element is rendered
-                            "render": "XNAT.admin.siteDescriptionType.change",
-                            "change": "XNAT.admin.siteDescriptionType.change"
-                            // pass the namespaced function name to be called
-                        }
-                    },
-
-                    // SITE DESCRIPTION TEXT
-                    {
-                        "kind": "textarea",
-                        "id": "site-description-text",
-                        "name": "siteDescriptionText",
-                        "label": "Site Description Text",
-                        "description": "enter text/html for the site description",
-                        "value": "This is XNAT.",
-                        "hide": true,
-                        "show": "~siteDescriptionType.value=='text'"
-                    },
-
-                    // SITE DESCRIPTION PAGE URL
-                    {
-                        "kind": "input-url", // accepts only valid URL string
-                        "id": "site-description-page",
-                        "name": "siteDescriptionPage",
-                        "label": "Site Description Page",
-                        "description": "enter path to file containing the site description",
-                        "value": "/screens/site_description.vm",
-                        "hide": true,
-                        "show": "(XNAT.siteAdmin.siteInfo.siteDescription.siteDescriptionType.value=='page')"
-                    }
-                ]
-            }
-        ]
-    }
-];
diff --git a/src/main/webapp/page/admin/data/config/siteAdmin.json b/src/main/webapp/page/admin/data/config/siteAdmin.json
deleted file mode 100644
index 1336887f..00000000
--- a/src/main/webapp/page/admin/data/config/siteAdmin.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
-    "XNAT": {
-        "siteAdmin": {
-            "type": "tabs",
-            "name": "siteAdmin",
-            "title": "XNAT Site Administration",
-            "url": "/data/admin",
-            "layout": "left",
-            "groups": {
-                "dashboard": "Dashboard",
-                "xnatSetup": "XNAT Setup",
-                "manageAccess": "Manage Access",
-                "manageData": "Manage Data",
-                "processing": "Processing",
-                "projectCustomization": "Project Customization",
-                "advanced": "Advanced XNAT Settings"
-            },
-            "groups_": [
-                { "name": "dashboard",            "label": "Dashboard" },
-                { "name": "xnatSetup",            "label": "XNAT Setup" },
-                { "name": "manageAccess",         "label": "Manage Access" },
-                { "name": "manageData",           "label": "Manage Data" },
-                { "name": "processing",           "label": "Processing" },
-                { "name": "projectCustomization", "label": "Project Customization" },
-                { "name": "advanced",             "label": "Advanced XNAT Settings" }
-            ],
-            "children": {
-
-                "xnatSetup": {
-                    "type": "tab",
-                    "group": "xnatSetup",
-                    "name": "siteSetup",
-                    "id": "site-setup",
-                    "label": "Site Setup",
-                    "url": "/data/admin/site-setup",
-                    "isDefault": true,
-                    "children": {
-
-                        "siteInfo": {
-                            "type": "panel",
-                            "name": "siteInfo",
-                            "id": "site-information",
-                            "label": "Site Information",
-                            "url-example": "/data/admin/site-setup/site-information",
-                            "children": {
-
-                                "siteId": {
-                                    "type": "input.text",
-                                    "tag": "input|type=text",
-                                    "name": "siteId",
-                                    "label": "Site ID",
-                                    "id": "site-id",
-                                    "description": "The id used to refer to this site (also used to generate database ids). No spaces or non-alphanumeric characters. It should be a short, one-word name or acronym which describes your site.",
-                                    "info": "Site ID accepts letters, numbers, and underscores",
-                                    "value": "XNAT",
-                                    "validation": {
-                                        "required": true,
-                                        "type": "id-strict"
-                                    }
-                                }
-                            }
-
-                        }
-                    }
-
-                },
-
-
-                "dashboard": {},
-
-                "xnatSetup_": {
-                    "kind": "group",
-                    "name": "xnatSetup",
-                    "id": "xnat-setup",
-                    "label": "XNAT Setup",
-                    "children": {
-
-                        "siteSetup": {
-                            "kind": "tab",
-                            "name": "siteSetup",
-                            "id": "site-setup",
-                            "label": "Site Setup",
-                            "children": {
-
-                                "siteInfo": {
-                                    "kind": "panel",
-                                    "label": "Site Information",
-                                    "description": "This is the information about the site",
-                                    "children": {
-
-                                        "siteId": {
-                                            "kind": "input-alphanum-id",
-                                            "name": "siteId",
-                                            "label": "Site ID",
-                                            "id": "site-id",
-                                            "description": "Site ID accepts letters, numbers, and underscores",
-                                            "placeholder": "ID for your XNAT site",
-                                            "value": "XNAT",
-                                            "required": true
-                                        },
-
-                                        "siteUrl": {
-                                            "kind": "url",
-                                            "name": "siteUrl",
-                                            "label": "Site URL",
-                                            "id": "site-url",
-                                            "value": "http://localhost:8080",
-                                            "required": true
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/main/webapp/page/admin/data/config/siteAdmin.yaml b/src/main/webapp/page/admin/data/config/siteAdmin.yaml
deleted file mode 100644
index 87f6ba69..00000000
--- a/src/main/webapp/page/admin/data/config/siteAdmin.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-XNAT:
-    siteAdmin:
-        type: tabs
-        #name: siteAdmin
-        title: XNAT Site Administration
-        url: /data/admin
-
-        groups:
-            dashboard: Dashboard
-            xnatSetup: XNAT Setup
-            manageAccess: Manage Access
-            manageData: Manage Data
-            processing: Processing
-            projectCustomization: Project Customization
-            advanced: Advanced
-
-        children:
-
-            xnatSetup:
-                type: tab
-#                name: xnatSetup
-                label: XNAT Setup
-                children:
-
-                    siteSetup:
-                        type: tab
-#                        name: siteSetup
-#                        group: xnatSetup
-                        id: site-setup
-                        label: Site Setup
-                        url: /data/admin/site-setup
-                        classes: selected active
-                        children:
-
-
-
-
-
diff --git a/src/main/webapp/page/admin/data/config/siteAdminAlt.yaml b/src/main/webapp/page/admin/data/config/siteAdminAlt.yaml
deleted file mode 100644
index ccffa5dc..00000000
--- a/src/main/webapp/page/admin/data/config/siteAdminAlt.yaml
+++ /dev/null
@@ -1,139 +0,0 @@
-XNAT:
-    siteAdmin:
-        _meta:
-            type: meta
-            groups:
-                dashboard:      Dashboard
-                xnatSetup:      XNAT Setup
-                manageAccess:   Manage Access
-                manageData:     Manage Data
-                processing:     Processing
-                customize:      Project Customization
-                advanced:       Advanced XNAT Settings
-
-        _self:
-            type: tabs
-            title: XNAT Site Administration
-            url: /data/admin
-
-        xnatSetup:
-            _self:
-                type: tabGroup
-                label: XNAT Setup
-                
-            siteSetup:
-                _self:
-                    type: tab
-                    id: site-setup
-                    label: Site Setup
-                    group: xnatSetup
-                    url: /data/admin/site-setup
-                    classes: selected active
-
-                siteInfo:
-                    _self:
-                        type: panel
-                        name: siteInfo
-                        id: site-info
-                        label: Site Information
-
-                    siteId_:
-                        _self:
-                            type: xnatId  # conforms to format required to be used as an ID in XNAT
-                            tag: input|type=text
-                            name: siteId
-                            id: site-id
-                            label: Site ID
-                            value: XNAT
-                            description: >
-                                The id used to refer to this site (also used to generate database ids). No spaces or
-                                non-alphanumeric characters. It should be a short, one-word name or acronym which
-                                describes your site.
-                            tooltip: >
-                                Site ID accepts letters, numbers, and underscores
-                            validation:
-                                - required      # duh
-                                - stringStrict  # 'strict' validation accepts only letters, numbers, and _
-                                - stringSafe    # 'safe' validation accepts letters, numbers, _, and -.
-                                - allowSpace
-                                - number        # any number - integer, float, etc.
-                                - integer       # must be a whole integer
-                                - float         # float
-                                - date          # any valid date string
-
-                    siteUrl:
-                        _self:
-                            type: url
-                            name: siteUrl
-                            id: site-url
-                            label: Site URL
-                            value: https://cnda.wustl.edu
-                            description: '-'
-                            tooltip: '-'
-                            validation:
-                                - required
-                                - fullUrl     # full url with protocol and FQDN
-                                - siteUrl     # site-relative url (starts with "/")
-                                - relUrl      # relative url (maybe not necessary)
-
-                    siteDescription:
-                        _self:
-                            type: elementGroup
-                            name: siteDescription
-                            id: site-description
-
-                        elements:  # some item types get containers for child properties/elements
-
-                            siteDescriptionToggle:
-                                _self:
-                                    type: jsFunction
-                                    value: foo
-
-                            siteDescriptionType:
-                                _self:
-                                    type: input.hidden
-                                    name: siteDescriptionType
-                                    value: page
-
-                            siteDescriptionTypes:
-                                _self:
-                                    type: radioButtonGroup
-                                    layout: horizontal
-                                    onchange:
-                                        - [XNAT.event.radioChange.toggleShow]
-                                        - [XNAT.event.radioChange.copyValueTo, ?siteDescriptionType]
-                                        # XNAT.event.radioChange.copyValueTo function copies value
-                                        # from checked radio button to element specified in the argument
-
-                                siteDescriptionPage:
-                                    _self:
-                                        type: input.radio
-                                        name: siteDescriptionTypes
-                                        label: Page
-                                        value: page
-                                        checked: true
-                                        hides: ?siteDescriptionTextInput
-                                        shows: ?siteDescriptionPageInput
-
-                                siteDescriptionText:
-                                    _self:
-                                        type: input.radio
-                                        name: siteDescriptionTypes
-                                        label: Text (Markdown)
-                                        value: text
-                                        hides: ?siteDescriptionPageInput
-                                        shows: ?siteDescriptionTextInput
-
-                            siteDescriptionPageInput:
-                                _self:
-                                    type: input.text
-                                    show: true
-                                    name: siteDescriptionPageInput
-                                    value: /screens/site_description.vm
-
-                            siteDescriptionTextInput:
-                                _self:
-                                    type: textarea
-                                    show: false
-                                    name: siteDescriptionTextInput
-                                    value: Site description text goes here.
diff --git a/src/main/webapp/page/admin/fake.jsp b/src/main/webapp/page/admin/fake.jsp
deleted file mode 100644
index 18e16850..00000000
--- a/src/main/webapp/page/admin/fake.jsp
+++ /dev/null
@@ -1,453 +0,0 @@
-<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-
-<c:if test="${empty hasInit}">
-    <pg:init>
-        <c:if test="${empty hasVars}">
-            <pg:jsvars/>
-        </c:if>
-    </pg:init>
-</c:if>
-
-<script src="${siteRoot}/scripts/lib/jquery-plugins/jquery.dataAttr.js"></script>
-
-<pg:restricted>
-
-<div id="admin-page">
-    <header id="content-header">
-        <h2 class="pull-left">Site Administration</h2>
-        <div class="clearfix"></div>
-    </header>
-
-    <!-- Admin tab container -->
-    <div id="admin-config-tabs" class="content-tabs xnat-tab-container">
-
-
-        <div class="xnat-nav-tabs side pull-left">
-            <!-- ================== -->
-            <!-- Admin tab flippers -->
-            <!-- ================== -->
-            <ul class="nav tab-group" id="dashboard">
-                <li class="label">Dashboard</li>
-                <li class="tab"><a title="Site Dashboard" href="#site-dashboard">Site Dashboard</a></li>
-            </ul>
-            <ul class="nav tab-group" id="xnat-setup">
-                <li class="label">XNAT Setup</li>
-                <li class="tab active"><a title="Site Setup" href="#site-setup">Site Setup</a></li>
-                <li class="tab"><a title="Security" href="#security">Security</a></li>
-                <li class="tab"><a title="Email Server" href="#email-server">Email Server</a></li>
-                <li class="tab"><a title="Notifications" href="#notifications">Notifications</a></li>
-                <li class="tab"><a title="Themes &amp;amp; Features" href="#features">Themes &amp; Features</a></li>
-            </ul>
-            <ul class="nav tab-group" id="manage-access">
-                <li class="label">Manage Access</li>
-                <li class="tab"><a title="Authentication Methods" href="#authentication">Authentication Methods</a></li>
-                <li class="tab"><a title="Users" href="#users">Users</a></li>
-                <li class="tab"><a title="User Roles" href="#user-roles">User Roles</a></li>
-                <li class="tab"><a title="Registration Options" href="#registration">Registration Options</a></li>
-            </ul>
-            <ul class="nav tab-group" id="manage-data">
-                <li class="label">Manage Data</li>
-            </ul>
-            <ul class="nav tab-group" id="processing">
-                <li class="label">Processing</li>
-            </ul>
-            <ul class="nav tab-group" id="project-customization">
-                <li class="label">Project Customization</li>
-            </ul>
-            <ul class="nav tab-group" id="advanced">
-                <li class="label">Advanced XNAT Settings</li>
-                <li class="tab"><a title="DICOM SCP Receivers" href="#dicom-scp-receivers">DICOM SCP Receivers</a></li>
-            </ul>
-        </div>
-        <div class="xnat-tab-content side pull-right">
-            <!-- ================== -->
-            <!-- Admin tab panes    -->
-            <!-- ================== -->
-            <div class="tab-pane" id="site-dashboard-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane active" id="site-setup-content" style="position: relative; padding-bottom: 60px; display: block;">
-                <div class="pad">
-                    <div class="tab-pane-content">
-                        <form class="xnat-form-panel panel panel-default" id="site-information">
-                            <div class="panel-heading"><h3 class="panel-title">Site Information</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="siteId">
-                                    <label class="element-label" for="site-id">Site ID</label>
-                                    <div class="element-wrapper">
-                                        <input name="siteId" type="text" id="site-id" size="25" title="Site ID">
-                                        <div class="description">The id used to refer to this site (also used to generate database ids). No spaces or non-alphanumeric characters. It should be a short, one-word name or acronym which describes your site.</div>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="siteURL">
-                                    <label class="element-label" for="site-url">Site Url</label>
-                                    <div class="element-wrapper">
-                                        <input name="siteURL" type="text" id="site-url" size="25" title="Site Url">
-                                    </div>
-                                </div>
-                                <div class="panel-element element-group" data-name="siteDescription">
-                                    <label class="element-label" for="site-description">Site Description</label>
-                                    <div class="element-wrapper">
-                                        <div class="group-item" data-name="siteDescriptionType">
-                                            <input name="siteDescriptionType" type="hidden" value="page"></div>
-                                        <div class="group-item" data-name="siteDescription">
-                                            <input name="siteDescription" type="radio" id="site-description-page" value="page" class="dirty"><label for="site-description-page-input"> Page</label><br><input id="site-description-page-input" type="text" name="siteDescriptionPage">
-                                        </div>
-                                        <div class="group-item" data-name="siteDescription">
-                                            <input name="siteDescription" type="radio" id="site-description-text" value="text" class="dirty"><label for="site-description-text-input"> Text (Markdown)</label><br><textarea class="hidden" id="site-description-text-input" name="siteDescriptionText">foo.</textarea>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="hidden" data-name="homePage">
-                                    <div class="element-wrapper">
-                                        <input name="homePage" type="hidden" id="home-page" value="/screens/QuickSearch.vm">
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="landingPage">
-                                    <label class="element-label" for="landing-page">Landing Page</label>
-                                    <div class="element-wrapper">
-                                        <input name="landingPage" type="text" id="landing-page" size="25" title="Landing Page"><span class="after"><label class="small"><input id="toggle-home-page" type="checkbox" name="setHomePage" class="dirty"> Use This As My Home Page</label></span>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="homePageInput">
-                                    <label class="element-label" for="home-page-input">Home Page</label>
-                                    <div class="element-wrapper">
-                                        <input name="homePageInput" type="text" id="home-page-input" size="25" title="Home Page" data-value="/screens/QuickSearch.vm">
-                                        <script>XNAT.element.copyValue('?homePageInput', '?homePage')</script>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" class="save pull-right btn btn-sm btn-primary">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" class="revert pull-right btn btn-sm btn-default">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                        <form class="xnat-form-panel panel panel-default" id="admin-information">
-                            <div class="panel-heading"><h3 class="panel-title">Admin Information</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="siteAdminEmail">
-                                    <label class="element-label" for="site-admin-email">Site Admin Email</label>
-                                    <div class="element-wrapper">
-                                        <input name="siteAdminEmail" type="text" id="site-admin-email" size="25" title="Site Admin Email">
-                                        <div class="description"><p>
-                                            <a href="/path/to/notification-options">&gt;&gt; Set Email Notification Options</a>
-                                        </p>
-                                            <p>
-                                                <a href="/path/to/email-server-config">&gt;&gt; Setup XNAT Email Server</a>
-                                            </p></div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" disabled="" class="save pull-right btn btn-sm btn-primary disabled">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" disabled="" class="revert pull-right btn btn-sm btn-default disabled">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="security-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content">
-                        <form class="xnat-form-panel panel panel-default" id="site-security">
-                            <div class="panel-heading"><h3 class="panel-title">General Site Security Settings</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="securityChannel">
-                                    <label class="element-label" for="security-channel">Security Channel</label>
-                                    <div class="element-wrapper">
-                                        <select name="securityChannel" id="security-channel" title="Security Channel">
-                                            <option value="http">http</option>
-                                            <option value="https">https</option>
-                                        </select></div>
-                                </div>
-                                <div class="panel-element" data-name="requireLogin">
-                                    <label class="element-label" for="require-login">Require User Login?</label>
-                                    <div class="element-wrapper">
-                                        <input name="requireLogin" id="require-login" type="checkbox" title="Require User Login?" class="dirty">
-                                        <div class="description">If checked, then only registered users will be able to access your site. If false, anyone visiting your site will automatically be logged in as 'guest' with access to public data.</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" class="save pull-right btn btn-sm btn-primary">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" class="revert pull-right btn btn-sm btn-default">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                        <form class="xnat-form-panel panel panel-default" id="login-session-controls">
-                            <div class="panel-heading"><h3 class="panel-title">User Logins / Session Controls</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="sessionTimeout">
-                                    <label class="element-label" for="session-timeout-input">Session Timeout</label>
-                                    <div class="element-wrapper">
-                                        <input name="sessionTimeout" id="session-timeout-input" type="text" size="3" title="Session Timeout">
-                                        <div class="description">Number of minutes of inactivity before users are locked out of the site. This will not affect users that are currently logged in.</div>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="sessionTimeoutMessage">
-                                    <label class="element-label" for="session-timeout-message">Session Timeout Message</label>
-                                    <div class="element-wrapper">
-                                        <textarea name="sessionTimeoutMessage" id="session-timeout-message" title="Session Timeout Message"></textarea>
-                                        <div class="description">Alert message provided to users after a session timeout and logout.</div>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="sessionAllowResume">
-                                    <label class="element-label" for="session-allow-resume">Allow Resume on Next Login?</label>
-                                    <div class="element-wrapper">
-                                        <input name="sessionAllowResume" id="session-allow-resume" type="checkbox" title="Allow Resume on Next Login?" value="true">
-                                        <div class="description">Allow user to resume where they left off, if logging back in after a session timeout?</div>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="maxSessions">
-                                    <label class="element-label" for="max-sessions">Maximum Concurrent Sessions</label>
-                                    <div class="element-wrapper">
-                                        <input name="maxSessions" type="text" id="max-sessions" size="3" title="Maximum Concurrent Sessions">
-                                        <div class="description">The maximum number of permitted sessions a user can have open simultaneously</div>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="loginFailureMessage">
-                                    <label class="element-label" for="login-failure-message">Login Failure Message</label>
-                                    <div class="element-wrapper">
-                                        <textarea name="loginFailureMessage" id="login-failure-message" title="Login Failure Message"></textarea>
-                                        <div class="description">Text to show when a user fails to login</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" disabled="" class="save pull-right btn btn-sm btn-primary disabled">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" disabled="" class="revert pull-right btn btn-sm btn-default disabled">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="dicom-scp-receivers-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content">
-                        <form class="xnat-form-panel panel panel-default">
-                            <div class="panel-heading"><h3 class="panel-title">Receivers</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="receiverList">
-                                    <label class="element-label" for="receiver-list">Receiver List</label>
-                                    <div class="element-wrapper">
-                                        <table class="input-table">
-                                            <tbody>
-                                            <tr>
-                                                <td><input name="fooInput" data-value="Value 1"></td>
-                                                <td>Text</td>
-                                                <td>Foo</td>
-                                                <td>Bar</td>
-                                            </tr>
-                                            <tr>
-                                                <td><input name="barInput" data-value="1"></td>
-                                                <td>2</td>
-                                                <td>3</td>
-                                                <td>4</td>
-                                            </tr>
-                                            <tr>
-                                                <td><input name="bazInput" data-value="5"></td>
-                                                <td>6</td>
-                                                <td>7</td>
-                                                <td>8</td>
-                                            </tr>
-                                            </tbody>
-                                        </table>
-                                        <script>$('#receiver-list').addClass('foo');</script>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" disabled="" class="save pull-right btn btn-sm btn-primary disabled">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" disabled="" class="revert pull-right btn btn-sm btn-default disabled">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="email-server-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content">
-                        <form class="xnat-form-panel panel panel-default" id="email-server-config">
-                            <div class="panel-heading"><h3 class="panel-title">Email Server Configuration</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="xdat.mail.server">
-                                    <label class="element-label">Mail Server Host</label>
-                                    <div class="element-wrapper">
-                                        <input name="xdat.mail.server" type="text" size="25" title="Mail Server Host">
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="xdat.mail.port">
-                                    <label class="element-label">Mail Server Port</label>
-                                    <div class="element-wrapper">
-                                        <input name="xdat.mail.port" type="text" size="5" title="Mail Server Port">
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="xdat.mail.username">
-                                    <label class="element-label">Mail Server Username</label>
-                                    <div class="element-wrapper">
-                                        <input name="xdat.mail.username" type="text" size="25" title="Mail Server Username">
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="xdat.mail.password">
-                                    <label class="element-label">Mail Server Password</label>
-                                    <div class="element-wrapper">
-                                        <input name="xdat.mail.password" type="password" title="Mail Server Password">
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" disabled="" class="save pull-right btn btn-sm btn-primary disabled">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" disabled="" class="revert pull-right btn btn-sm btn-default disabled">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="notifications-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="features-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content">
-                        <form class="xnat-form-panel panel panel-default" id="theme-config">
-                            <div class="panel-heading"><h3 class="panel-title">Theme Management</h3></div>
-                            <div class="panel-body">
-                                <div class="panel-element" data-name="undefined">
-                                    <div class="element-wrapper">
-                                        <script type="text/javascript" src="../../scripts/themeManagement.js"></script>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="xnat.theme.active">
-                                    <label class="element-label">Current theme</label>
-                                    <div class="element-wrapper"><span title="Current theme">None</span></div>
-                                </div>
-                                <div class="panel-element" data-name="xnat.theme.available">
-                                    <label class="element-label" for="themeSelection">Select an existing theme</label>
-                                    <div class="element-wrapper">
-                                        <select name="xnat.theme.available" id="themeSelection" title="Select an existing theme">
-                                            <option value="null">None</option>
-                                            <option value="Modern UI">Modern UI</option>
-                                            <option value="Green XNAT Theme">Green XNAT Theme</option>
-                                            <option value="Red XNAT Theme">Red XNAT Theme</option>
-                                        </select>&nbsp;<!--button id="submitThemeButton" onclick="setTheme();">Set Theme</button-->&nbsp;&nbsp;
-                                        <button id="removeThemeButton" onclick="removeTheme();">Remove Theme</button>
-                                    </div>
-                                </div>
-                                <div class="panel-element" data-name="xnat.theme.upload">
-                                    <label class="element-label">Upload a theme package</label>
-                                    <div class="element-wrapper">
-                                        <file title="Upload a theme package"></file>
-                                        <form id="uploadThemeForm" method="POST" class="optOutOfXnatDefaultFormValidation" action="/xapi/theme?XNAT_CSRF=undefined">
-                                            <span class="label bold">Upload a theme package: </span><input type="file" id="themeFileUpload" name="themeFileUpload" multiple="" style="width: 270px; display: inline; float: left;">
-                                            <button type="submit" id="submitThemeUploadButton" style="position: relative; top:-15px;">Upload</button>
-                                        </form>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="panel-footer">
-                                <button type="submit" disabled="" class="save pull-right btn btn-sm btn-primary disabled">Save</button>
-                                <span class="pull-right">&nbsp;&nbsp;&nbsp;</span>
-                                <button type="button" disabled="" class="revert pull-right btn btn-sm btn-default disabled">Discard Changes</button>
-                                <button type="link" class="defaults pull-left btn btn-sm btn-link">Default Settings</button>
-                                <div class="clear"></div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="authentication-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="users-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="user-roles-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-            <div class="tab-pane" id="registration-content" style="position: relative; padding-bottom: 60px; display: none;">
-                <div class="pad">
-                    <div class="tab-pane-content"></div>
-                </div>
-                <footer class="footer">
-                    <button class="save-all btn btn-primary pull-right" type="button">Save All</button>
-                </footer>
-            </div>
-        </div>
-    </div>
-
-    <script>
-//        (function(){
-//            // get the JSON and do the setup
-//            $.getJSON('/page/admin/data/config/site-admin.json').done(function(data){
-//                var adminTabs =
-//                            XNAT.ui.tabs
-//                                .init(data.Result)
-//                                .render('#admin-config-tabs');
-//
-//                console.log(adminTabs);
-//            });
-//        })();
-    </script>
-
-</div>
-
-</pg:restricted>
\ No newline at end of file
diff --git a/src/main/webapp/page/admin/spawner/content.jsp b/src/main/webapp/page/admin/spawner/content.jsp
index e7633ba9..0736b8bb 100644
--- a/src/main/webapp/page/admin/spawner/content.jsp
+++ b/src/main/webapp/page/admin/spawner/content.jsp
@@ -1,47 +1,48 @@
-    <%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-        <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-        <%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-        <%--<%@ taglib prefix="sp" tagdir="/WEB-INF/tags/spawner" %>--%>
+<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
+<%--<%@ taglib prefix="sp" tagdir="/WEB-INF/tags/spawner" %>--%>
 
-        <c:set var="MSG">
-            No spawning allowed.
-        </c:set>
+<c:set var="MSG">
+    No spawning allowed.
+    <script> window.location.href = XNAT.url.rootUrl('/') </script>
+</c:set>
 
-        <pg:restricted msg="${MSG}">
+<pg:restricted msg="${MSG}">
 
-            <c:set var="_siteRoot" value="${sessionScope.siteRoot}"/>
+    <c:set var="SITE_ROOT" value="${sessionScope.siteRoot}"/>
 
-            <div class="panel panel-default">
+    <div class="panel panel-default">
 
-            <div class="panel-heading">
+        <div class="panel-heading">
             <h3 class="panel-title">XNAT Spawner Elements</h3>
-            </div>
+        </div>
 
-            <div class="panel-body">
+        <div class="panel-body">
 
             <div data-name="spawnerElements" class="panel-element" style="overflow:visible;">
 
-            <%--<label class="element-label" for="!?"></label>--%>
-            <%--<div class="element-wrapper">--%>
+                    <%--<label class="element-label" for="!?"></label>--%>
+                    <%--<div class="element-wrapper">--%>
 
-            <table id="spawner-element-list" class="xnat-table alt1 clean" style="width:100%;border:none;">
-            <!-- list of available namespaces will show here -->
-            </table>
+                <table id="spawner-element-list" class="xnat-table alt1 clean" style="width:100%;border:none;">
+                    <!-- list of available namespaces will show here -->
+                </table>
 
-            <div class="description" style="margin:20px 5px 0">View and manage XNAT Spawner elements.</div>
+                <div class="description" style="margin:20px 5px 0">View and manage XNAT Spawner elements.</div>
 
-            <%--</div>--%>
+                    <%--</div>--%>
 
             </div>
-            </div>
+        </div>
 
-            <div class="hidden"></div>
+        <div class="hidden"></div>
 
-            </div>
+    </div>
 
-            <!-- button element will be rendered in this span -->
-            <span id="view-json"></span>
+    <!-- button element will be rendered in this span -->
+    <span id="view-json"></span>
 
-            <script src="${_siteRoot}/page/admin/spawner/spawner-admin.js"></script>
+    <script src="${SITE_ROOT}/page/admin/spawner/spawner-admin.js"></script>
 
-        </pg:restricted>
+</pg:restricted>
diff --git a/src/main/webapp/page/admin/style.css b/src/main/webapp/page/admin/style.css
index bf4a8842..2c1ae87e 100644
--- a/src/main/webapp/page/admin/style.css
+++ b/src/main/webapp/page/admin/style.css
@@ -65,7 +65,7 @@
     width: 100%; position: absolute; bottom: 0; padding: 10px 15px; overflow: auto;
     background: #f0f0f0; border-top: 1px solid #c8c8c8; }
 .xnat-tab-content .tab-pane.active { display: block; }
-.xnat-tab-content.side { width: 75%; }
+.xnat-tab-content.side { width: 75%; min-height: 800px; }
 
 /* PANELS */
 body.xnat .panel { margin-bottom: 30px; background: /* #f8f8f8 */ inherit; border-radius: 0; }
diff --git a/src/main/webapp/page/admin/tabs.js b/src/main/webapp/page/admin/tabs.js
deleted file mode 100644
index 916bf95f..00000000
--- a/src/main/webapp/page/admin/tabs.js
+++ /dev/null
@@ -1,52 +0,0 @@
-(function(){
-
-    var $head = $('head');
-
-    // // append the css to the head
-    // $head.spawn('link', {
-    //     rel: 'stylesheet',
-    //     type: 'text/css',
-    //     href: XNAT.url.rootUrl('/scripts/lib/bootstrap/themes/xnat/bootstrap-fixed.css')
-    // });
-
-    // append the css to the head
-    // $head.spawn('link', {
-    //     rel: 'stylesheet',
-    //     type: 'text/css',
-    //     href: XNAT.url.rootUrl('/page/admin/style.css')
-    // });
-
-    // get the JSON and do the setup
-    var jsonUrl = XNAT.url.rootUrl('/page/admin/data/config/site-admin-sample-new.yaml');
-    //var jsonUrl = XNAT.url.rootUrl('/page/admin/data/config/site-admin-sample-new.json');
-    // var jsonUrl = XNAT.url.rootUrl('/xapi/spawner/resolve/siteAdmin/adminPage');
-
-    // get the siteConfig object first
-    // doing this in JSP for better(?) performance
-    //XNAT.xhr.get(XNAT.url.restUrl('/xapi/siteConfig'), function(siteConfig){
-
-    // put those values in an object named XNAT.data.siteConfig
-    //  XNAT.data = extend({}, XNAT.data, {
-    //    siteConfig: siteConfig
-    //});
-
-    // THEN render the tabs...
-    $.get({
-        url: jsonUrl,
-        // dataType: 'text',
-        success: function(data){
-
-            // if (typeof data === 'string') {
-                data = YAML.parse(data);
-            // }
-
-            // console.log(JSON.stringify(data, ' ', 1));
-
-            var adminTabs = XNAT.spawner.spawn(data);
-            adminTabs.render('#admin-config-tabs > .xnat-tab-content');
-            XNAT.app.adminTabs = adminTabs;
-
-            // xmodal.loading.closeAll();
-        }
-    });
-})();
diff --git a/src/main/webapp/page/admin/tabs.jsp b/src/main/webapp/page/admin/tabs.jsp
deleted file mode 100644
index 72496896..00000000
--- a/src/main/webapp/page/admin/tabs.jsp
+++ /dev/null
@@ -1,39 +0,0 @@
-<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-
-<c:if test="${empty hasInit}">
-    <pg:init>
-        <c:if test="${empty hasVars}">
-            <pg:jsvars/>
-        </c:if>
-    </pg:init>
-</c:if>
-
-<pg:restricted>
-
-    <div id="admin-page">
-        <header id="content-header">
-            <h2 class="pull-left">Site Administration</h2>
-            <div class="clearfix"></div>
-        </header>
-
-        <!-- Admin tab container -->
-        <div id="admin-config-tabs" class="content-tabs xnat-tab-container">
-            <div class="xnat-nav-tabs side pull-left">
-                <!-- ================== -->
-                <!-- Admin tab flippers -->
-                <!-- ================== -->
-            </div>
-            <div class="xnat-tab-content side pull-right">
-                <!-- ================== -->
-                <!-- Admin tab panes    -->
-                <!-- ================== -->
-            </div>
-        </div>
-
-        <%--<script src="${sessionScope.siteRoot}/scripts/xnat/ui/tabs.js"></script>--%>
-        <script src="${sessionScope.siteRoot}/page/admin/tabs.js"></script>
-
-    </div>
-</pg:restricted>
diff --git a/src/main/webapp/page/admin/ui.jsp b/src/main/webapp/page/admin/ui.jsp
deleted file mode 100644
index 132ca10e..00000000
--- a/src/main/webapp/page/admin/ui.jsp
+++ /dev/null
@@ -1,68 +0,0 @@
-<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-
-<c:if test="${empty hasInit}">
-    <pg:init>
-        <c:if test="${empty hasVars}">
-            <pg:jsvars/>
-        </c:if>
-    </pg:init>
-</c:if>
-
-<pg:restricted>
-
-    <div id="admin-page">
-        <header id="content-header">
-            <h2 class="pull-left">Site Administration</h2>
-            <div class="clearfix"></div>
-        </header>
-
-        <!-- Admin tab container -->
-        <div id="admin-config-tabs" class="content-tabs xnat-tab-container">
-            <div class="xnat-nav-tabs side pull-left">
-                <!-- ================== -->
-                <!-- Admin tab flippers -->
-                <!-- ================== -->
-            </div>
-            <div class="xnat-tab-content side pull-right">
-                <!-- ================== -->
-                <!-- Admin tab panes    -->
-                <!-- ================== -->
-            </div>
-        </div>
-
-        <script>
-            (function(){
-
-                var $head = $('head');
-
-//                // append the css to the head
-//                $head.spawn('link', {
-//                    rel: 'stylesheet',
-//                    type: 'text/css',
-//                    href: XNAT.url.rootUrl('/scripts/lib/bootstrap/themes/xnat/bootstrap-fixed.css')
-//                });
-
-                // append the css to the head
-                $head.spawn('link', {
-                    rel: 'stylesheet',
-                    type: 'text/css',
-                    href: XNAT.url.rootUrl('/page/admin/style.css')
-                });
-
-                // get the JSON and do the setup
-                var jsonUrl = XNAT.url.rootUrl('/page/admin/data/config/site-admin.json');
-                $.getJSON(jsonUrl).done(function(data){
-                    var adminTabs =
-                                XNAT.ui.tabs
-                                    .init(data.Result)
-                                    .render('#admin-config-tabs');
-
-                    console.log(adminTabs);
-                });
-            })();
-        </script>
-
-    </div>
-</pg:restricted>
diff --git a/src/main/webapp/page/foo/content.jsp b/src/main/webapp/page/foo/content.jsp
deleted file mode 100644
index 6af56631..00000000
--- a/src/main/webapp/page/foo/content.jsp
+++ /dev/null
@@ -1,15 +0,0 @@
-<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-
-<c:if test="${empty hasInit}">
-    <pg:init>
-        <c:if test="${empty hasVars}">
-            <pg:jsvars/>
-        </c:if>
-    </pg:init>
-</c:if>
-
-<h1>FOO</h1>
-<br>
-<small>(bar)</small>
\ No newline at end of file
diff --git a/src/main/webapp/page/foo/index.jsp b/src/main/webapp/page/foo/index.jsp
deleted file mode 100644
index af4f6873..00000000
--- a/src/main/webapp/page/foo/index.jsp
+++ /dev/null
@@ -1,22 +0,0 @@
-<%@ page session="true" contentType="text/html" pageEncoding="UTF-8" language="java" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="pg" tagdir="/WEB-INF/tags/page" %>
-
-<c:set var="pageName" value="foo" scope="request"/>
-
-<pg:wrapper>
-
-    <pg:head title="${pageName.toUpperCase()}"/>
-
-    <pg:content id="${pageName}" className="xnat app ${pageName}">
-        <div id="page-wrapper">
-            <div class="pad">
-
-                <jsp:include page="content.jsp"/>
-
-            </div>
-        </div>
-        <!-- /#page-wrapper -->
-    </pg:content>
-
-</pg:wrapper>
diff --git a/src/main/webapp/setup/index.jsp b/src/main/webapp/setup/index.jsp
index daff6dd0..ec3e2757 100644
--- a/src/main/webapp/setup/index.jsp
+++ b/src/main/webapp/setup/index.jsp
@@ -92,7 +92,7 @@
 //                                };
 //
                                 XNAT.xhr.get({
-                                    url: XNAT.url.rootUrl('/page/admin/data/config/site-setup.yaml'),
+                                    url: XNAT.url.rootUrl('/setup/site-setup.yaml'),
                                     //url: XNAT.url.rootUrl('/xapi/spawner/resolve/siteAdmin/siteSetup'),
                                     success: function(data){
                                         if (typeof data === 'string') {
diff --git a/src/main/webapp/page/admin/data/config/site-setup.yaml b/src/main/webapp/setup/site-setup.yaml
similarity index 100%
rename from src/main/webapp/page/admin/data/config/site-setup.yaml
rename to src/main/webapp/setup/site-setup.yaml
diff --git a/src/main/webapp/style/uploaders/fileuploader.css b/src/main/webapp/style/uploaders/fileuploader.css
index 4b4a7be7..9d749661 100644
--- a/src/main/webapp/style/uploaders/fileuploader.css
+++ b/src/main/webapp/style/uploaders/fileuploader.css
@@ -47,7 +47,7 @@ div.abu-xnat-interactivity-area-sub {
 .abu-upload-drop-area span {
     display:block; position:absolute; top: 50%; width:100%; margin-top:-8px; font-size:16px;
 }
-.abu-upload-drop-area-active {background:#1A75BB; color#FFFFFF; display:inline-block; }
+.abu-upload-drop-area-active {background:#1A75BB; color: #FFFFFF; display:inline-block; }
 
 .abu-files-processing {
 	background:#FFF url('../../images/loading.gif') 50% center no-repeat; opacity: 0.8; 
@@ -59,7 +59,6 @@ div.abu-xnat-interactivity-area-sub {
 }
 
 .abu-list-area {position:relative;float:left;width:auto;overflow:auto;height:auto;width:100%}
-ad
 
 .abu-upload-list {margin:15px 35px; padding:0; list-style:disc;}
 .abu-upload-list li { margin:0; padding:0; line-height:15px; font-size:12px; }
@@ -86,7 +85,7 @@ ad
 .abu-upload-duplicate {display:inline;color:#008800}
 .abu-upload-duplicate.abu-upload-duplicate-text {display:inline;color:#008800}
 
-.abu-uploader-instructions-sel {margin-bottom:0px; margin-right:10px; display:inline: width:100%; float:right; background-color:#CCCCCC; border-color:#1A75BB; color:#1A75BB; border-style:solid; border-width:1px; border-color:#1A75BB; font-size:14px; font-weight: bold; padding:2px; }
+.abu-uploader-instructions-sel {margin-bottom:0px; margin-right:10px; display:inline; width:100%; float:right; background-color:#CCCCCC; border-color:#1A75BB; color:#1A75BB; border-style:solid; border-width:1px; border-color:#1A75BB; font-size:14px; font-weight: bold; padding:2px; }
 .abu-uploader-instructions {margin-bottom:10px; display:inline}
 
 .abu-return-floatmessage {position:absolute;z-index:10001;width:auto;cursor:pointer;background-color:#FFFFCC; }
-- 
GitLab