Table of Contents

App Folder Structure

Every app has an own folder for its files. Within that folder the App can have zero or hundreds of folders.

  • all apps are located in [site-root]\2sxc\[app-name]
  • the primary / Content App is located in [site-root]\2sxc\Content

You can create your own folders to organize your templates as you need as the structure is completely open.

Special Folders and Files

  1. /app-icon.png is always used as the app-icon if provided
  2. /App_Data is protected for special configuration and data, see App_Data
  3. /App_Data/app.json is an optional configuration file, see app.json
  4. /App_Data/[something] is usually used for special data like custom input field configuration
  5. /system can contain custom input fields JavaScripts
  6. /api contains ...Controller.cs files for the web services this app has. It's not available on the simpler Content App.
    Note: if you're using Polymorphism then the api folder is usually in a sub-folder, like /live/api

Non-Exportable Folders

Some folders are not exported by default, and in v14.10+ you can configure it in more detail. See Export restrictions and app.json

The following folders have no technical relevance, but we recommend this naming to improve consistency.

  1. src and sub-folders should contain your javascript source files in original (unminified, etc.)
  2. dist should contain your processed, minified, uglified and combined JS files
    Note: if you're using Polymorphism then the dist folder is usually in a sub-folder, like live\dist

Platform Differences Dnn ☢️ & Oqtane 🩸

In Dnn ☢️ the App-folder is located in

[Website-Root]\Portals\[site-id]\2sxc\[App-Folder-Name]

In Oqtane 🩸 the App-folder is located in

[Website-Root]\2sxc\[Site-Id]\[App-Folder-Name]

This difference is due to architecture and security differences.