Folder and File Structure

Brief overview on the file structure and contents under Moxie. The files and folders discussed in this post are those that are essential when upgrading to the most recent version of Moxie, or when troubleshooting server errors.

Files and Folders to Update when Upgrading Moxie

The sub-sections below describe the files and folders required when updating the version of Moxie.

Moxie.exe

Executable file that contains the Windows service, web server, and the server configuration window. The complete service is run just as an application (without the need to install it) when the "Run Server as App.bat" is run.

Moxie.dll

Contains the Moxie objects including Requests, Templates, the Database, and Queries.

Default.dll

Contains the content management system (CMS), as well as the admin interface.

/DBStore

There are six files for every table under the /DBStore folder, and these can be divided into the following three categories:

Table Definition
Table Data
0901 Content.Nav.Root|901
0951 Content.Nav.Root|901
1001 Content.Nav.Root|101
1002 Content.Nav.Root|101
Content.Nav.Root|101 1001
Content.Nav.Root|101 1002
Content.Nav.Root|901 0901
Content.Nav.Root|901 0951
Passwords

/Lib

Contains the binary libraries that Moxie.Build depends on.

/Public/BuiltIn

Essential resources for running BuiltIn features and functionalities. Note that it is important to never make changes to the files under this folder as they are intended to be replaced during Moxie.Build upgrades.

/Templates/*

The location of templates for the CMS. Do not make changes to /Templates/Admin, /Templates/Clean, /Templates/Default, or /Templates/Report as they are intended to be replaced during Moxie.Build upgrades. When a customized template is needed for a system, you should create a new template.

 

/Tools/Upgrade

Specifies and provides an example of how to run an upgrade script for Moxie.Build

 

Files and Folders to View When Troubleshooting

Below are folders and files that are useful for troubleshooting errors, or recovering data.

Moxie.log and Moxie.stats

These files are located in the root folder when the system is live, and are moved to the /History folder on server restart or shutdown.

/History

In addition to the Moxie.log and Moxie.stats files that get copied here as above, this folder also holds files that can be checked if a server crash error occurs, to inspect a low-level view of what potentially caused the problem. 

Although there are timestamped server log files, the exact request that caused the error will not be in the logs, as the request may not have been completed. The *.dat files generated for each thread during a server crash provides stack traces to help understand what occurred. Every thread running has its own data, marked with a thread ID. There is no way of knowing for sure which thread is the source of the problem since they can affect each other in some situations, so going further in-depth may be required. To find out more information, the Stack Dump has markers on what code blocks were running when the server ran into the problem and can be submitted to Wisebox support for inspection.

/Tools/File Tools/CnwOrTab.exe

This tool can be used on files to convert *.cnt, *.cnr, *.cnc, *.cnd, *.cna, *.cnp files to tab delimited data, which can make them easier to work with if manual edits are required. It is important to note that  *.cnt, *.cnr, *.cnc, *.cnd, *.cna, *.cnp files are normally delimited data using ASCII 0 to separate records and ASCII 1 to separate fields.

Converting a *.cnd file to tab-delimited data
  1. Copy the file /Tools/File Tools/CnwOrTab.exe to C: \\ Users\[User Name]\AppData\Roaming\Microsoft\Windows\SendTo
  2. Right-click the *.cnd file
  3. Hover over Send To from the context menu
  4. Select CnwOrTab.exe

To convert back to a *.cnd file, simply perform steps 2-4 again.