Sitecore Feydra allows any MVC web application to host front-end development by creating virtual sandboxes for each front-end developer. A virtual sandbox is a virtualized environment in which front-end assets (css, js, cshtml, etc.) can be selectively replaced without disturbing the back-end functionality of the web application. This virtualization allows back-end developers to create stubs for front-end functionality without having the actual front-end assets available at development time. The front-end developers can hook-up the components as they become available without impacting back-end development.
Sitecore Feydra also greatly improves front-end developers’ ability to maintain and update their portion of the web application. If there are issues with the front-end functionality of the site, a front-end developer can easily update the front-end assets in their virtual sandbox and test fixes against a working web application; all without the overhead of maintaining a full Sitecore development environment or MVC application.
Ultimately, Sitecore Feydra is designed to allow front-end developers to use their preferred development environment; make their changes in a virtual sandbox and test by pushing their changes to a shared location (File share, FTP, etc.) using standard tools.
Sitecore Feydra is distributed as a .zip of NuGet packages. These packages can be added to a local NuGet feed to make them accessible to developers and the build process.
To install Sitecore Feydra, simply add the NuGet package Hedgehog.Feydra to a web application and the Sitecore Feydra assembly is automatically installed. If the developer is using Sitecore, add the NuGet package Hedgehog.Feydra.Sitecore to the web application.
The MVC core of Sitecore Feydra consists of a single assembly called Hedgehog.Feydra.dll. If this file is present in the /bin folder of a website, Sitecore Feydra will be available on that server. Deleting this file will remove Sitecore Feydra.
The Sitecore components of Sitecore Feydra consist of two additional files. These are Hedgehog.Feydra.SC.dll and Z_Feydra.config. These are installed in the /bin and /App_Config/Include folders, respectively.
To install Sitecore Feydra without using NuGet, extract the files from the NuGet packages and place the files in the folders specified in the table below:
File | Folder |
---|---|
Hedgehog.Feydra.dll Hedgehog.Feydra.SC.dll | \bin |
Z_Feydra.config | /App_Config/Include |
Sitecore Feydra needs to be deployed on the servers where the front-end developers are going to be updating front-end assets. This can be any server capable of running the web application. We recommend using a server that is not used for CI builds, since the build/deployment process will interfere with the front-end developer testing.
Sitecore Feydra doesn’t support load balanced servers. Load balanced servers are typically not needed in a development environment, so this should not be a major problem.
The Sitecore Feydra assemblies and configuration files should not be deployed to a production server.
Sitecore Feydra needs to create a few folders on the web server for proper operation. In most cases, Sitecore Feydra can create these folders automatically. Sitecore Feydra will display an error message if it does not have permission to create the folders during the initialization process. Granting the permission to create/write to the folders specified in the Sitecore Feydra error messages will resolve the startup errors. If this is not possible because of infrastructure restrictions, you need to create the folders Sitecore Feydra requires as part of your deployment process.
The following is a list of the folders used by Sitecore Feydra:
File/Folder | Comments |
---|---|
~/App_Data/Feydra | This folder stores all Sitecore Feydra data (Users, Licenses, Logs, etc.). Sitecore Feydra must be able to write to this folder. Overwriting or removing this folder at deployment time will remove any users or licenses installed in Sitecore Feydra. |
~/Areas/Feydra | Sitecore Feydra uses this folder to store the web.config file needed for the Sitecore Feydra views. Sitecore Feydra creates the web.config file at initialization time, and therefore, Sitecore Feydra needs write access to this folder. |
~/App_Data/Feydra/*.dat | Any data files (.dat extension) files in this folder must be writable for Sitecore Feydra to function correctly. |
~/FeydraRoot | This is the location of the users Virtual Sandboxes. This folder must be writable for Sitecore Feydra to function correctly. The front-end developers must also be able to write files to this folder using a file share or FTP protocol. Creating a new user will cause Sitecore Feydra to create a user’s Virtual Sandbox as a folder under the FeydraRoot folder. |
Once Sitecore Feydra is installed on a server, Sitecore Feydra will verify the environment and display error messages indicating any problems found on the server that would prevent Sitecore Feydra from functioning correctly. The following is a list of requirements Feydra will check at startup: