<?xml version="1.0"?>
<!--
Web.config file for Mocha.Web.

The settings that can be used in this file are documented at 
http://www.mono-project.com/Config_system.web and 
http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
-->
<configuration>
  <configSections>
    <section name="routing" type="MBS.Web.ConfigurationSections.Routing.RoutingConfigurationSection, MBS.Web" />
    <section name="oms" type="Mocha.Web.Configuration.ConfigurationSections.OMS.OMSConfigurationSection, Mocha.Web.Configuration" />
  </configSections>
  <appSettings>
	<add key="BasePath" value="/home/beckermj/Documents/Projects/Mocha.0/Output/Debug" />
    <add key="DefaultHomePageUrl" value="~/d/home.htmld" />
    <add key="Authentication.LoginURL" value="/madi/authgwy/{tenant}/login.htmld" />
	<!-- <add key="Authentication.LoginURL" value="~/account/login" /> -->
	
    <!-- the duration of the login token, in minutes -->
	<!-- FIXME: this should be configured in the tenant configuration in Mocha, not hardcoded here -->
    <add key="Authentication.LoginToken.Duration" value="30" />
	
    <add key="Tenant.Default.Name" value="default" />
    <add key="Tenant.Default.Theme" value="Avondale" />
    
    <!-- if you are hosting MOCHA on your own server, feel free to replace this text with your own personal company name -->
    <add key="System.LegalNoticeText" value="Powered by Mocha &copy; 2015-{0} MBS Business Solutions" />
  </appSettings>
  <routing>
    <routes>
      <add routeName="api" routeUrl="{tenant}/api/{action}" virtualPath="~/API.aspx" />
      <add routeName="apiWithInstParm" routeUrl="{tenant}/api/{action}/{inst}" virtualPath="~/API.aspx" />
      <add routeName="login" routeUrl="{tenant}/account/login" virtualPath="~/Login.aspx" />
      <add routeName="logout" routeUrl="{tenant}/account/logout" virtualPath="~/Logout.aspx" />
      <add routeName="login_wd_OLD" routeUrl="{tenant}/d/login.htmld" virtualPath="~/Login.aspx" />
      <add routeName="login_wd" routeUrl="madi/authgwy/{tenant}/login.htmld" virtualPath="~/Login.aspx" />
      <add routeName="logout_wd" routeUrl="{tenant}/d/logout.htmld" virtualPath="~/Logout.aspx" />
      <add routeName="login_wd_json" routeUrl="{tenant}/d/login.json" virtualPath="~/Login.aspx?mode=json" />
      <add routeName="logout_wd_json" routeUrl="{tenant}/d/logout.json" virtualPath="~/Logout.aspx?mode=json" />
      <add routeName="home_wd" routeUrl="{tenant}/d/home.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="uml_wd" routeUrl="{tenant}/d/uml/{ClassID}${InstanceID}.htmld" virtualPath="~/UML.aspx" />
      <add routeName="page_wd" routeUrl="{tenant}/d/page/{ClassID}${InstanceID}.htmld" virtualPath="~/Page.aspx" />
      <add routeName="attachment_wd" routeUrl="{tenant}/attachment/{ClassID}${InstanceID}/{base64}" virtualPath="~/Upload.aspx?type=attachment" />
      
      <add routeName="instance_wd" routeUrl="{tenant}/d/inst/{ClassID}${InstanceID}.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_reltask" routeUrl="{tenant}/d/inst/{RelatedClassID}${RelatedInstanceID}/rel-task/{ClassID}${InstanceID}.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_reltasklist" routeUrl="{tenant}/d/inst/{RelatedClassID}${RelatedInstanceID}/rel-tasks.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_param" routeUrl="{tenant}/d/inst/{ClassID}${InstanceID}.htmld/{Parameters}" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_api" routeUrl="{tenant}/inst/{ClassID}${InstanceID}.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_reltask_api" routeUrl="{tenant}/inst/{RelatedClassID}${RelatedInstanceID}/rel-task/{ClassID}${InstanceID}.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="instance_wd_reltasklist_api" routeUrl="{tenant}/inst/{RelatedClassID}${RelatedInstanceID}/rel-tasks.htmld" virtualPath="~/Instance.aspx" />
      
      <add routeName="task_wd" routeUrl="{tenant}/d/inst/{ClassID}${InstanceID}/{TaskClassID}${TaskInstanceID}.htmld" virtualPath="~/Instance.aspx" />
      <add routeName="task_wd_param" routeUrl="{tenant}/d/inst/{ClassID}${InstanceID}/{TaskClassID}${TaskInstanceID}.htmld/{Parameters}" virtualPath="~/Instance.aspx" />
      <add routeName="task_wd_api" routeUrl="{tenant}/inst/{ClassID}${InstanceID}/{TaskClassID}${TaskInstanceID}.htmld" virtualPath="~/Instance.aspx" />

      <add routeName="default" routeUrl="{tenant}/" virtualPath="~/Default.aspx" />
      <add routeName="app_edit_wd_temp" routeUrl="{tenant}/d/app/{ClassID}${InstanceID}/edit" virtualPath="~/AppBuilder/Flow.aspx" />
    </routes>
  </routing>
  <oms>
    <server hostName="127.0.0.1" portNumber="28015" />
  </oms>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies />
    </compilation>
    <httpHandlers>
      <add verb="*" path="Themes/*/Theme.css" validate="true" type="MBS.Web.Themes.ThemesHandler, MBS.Web.Themes" />
      <add verb="*" path="Themes/*/Theme.js" validate="true" type="MBS.Web.Themes.ThemesHandler, MBS.Web.Themes" />
      <add verb="*" path="Themes/*/Fonts/*/*" validate="true" type="MBS.Web.Themes.ThemesHandler, MBS.Web.Themes" />
      <add verb="*" path="StyleSheets/*.css" validate="true" type="MBS.Web.Plugins.Less.LessHandler, MBS.Web.Plugins.Less" />
    </httpHandlers>
    <httpRuntime targetFramework="4.5" maxUrlLength="640" />
    <authentication mode="None" />
    <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
        <remove name="X-AspNet-Version" />
        <remove name="Server" />
        <add name="Server" value="Mocha User Interface Service" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>
