Skip to content

Application Configuration

Laurent Hasson edited this page Jul 7, 2021 · 7 revisions

The main application file is called WebBasics.config.json and is composed of the following sections:

  • email: configure email connectivity for administrative emails sent by the frameworks (e.g., password reset).
  • sessionConfig: configure how sessions are managed (e.g., timeouts, failed login policies...).
  • passwordRules: configure password rules.
  • hostName: the host name of the site, which is used for link generation.
  • appPath: the path for the web component of the site.
  • appName: the name of the main app/site.
  • homePagePath: the path to the site's main home page.
  • resetEmailText: the text of the email when a password reset is requested.
  • inviteEmailText: the text of the email when a invitation to register is sent.
  • lookAndFeel: basic controls for the look and feel of apps.
  • eulas: configuration of EULA screens.
  • beacon: configuration of beacons and beacon bits.
  • extras: flexible and extensible configuration capabilities.
{ "email": { "smtp":"smtp.somedomain.com:587:starttls"
            ,"userId":"notifications@somedomain.com", "pswd":"xxx"
            ,"maxCount": 1000
           }
 ,"sessionConfig": {
        "loginOrResetAttempts": 5
       ,"withinMins"         : 3    // ...Within a maximum number of minutes...
       ,"lockForMins"        : 1    // ...Causes login to be locked for some number of minutes.
       ,"failedLoginCycle"   : 3    // If the login fails after 3 such cycles...
       ,"lockForeverDays"    : 9999 // ...Lock account for number of days. 
       ,"resetCodeExpiryMins": 10   // Reset password token expiry timeframe in minutes.
       ,"passwordExpiryDays" : 730  // Password expiray timeframe in days.
       ,"maxPswdHistory"     : 5    // Number of passwords to keep in history to prevent reuse.
   }
 ,"passwordRules": [
     {"rule":".{8,}"    , "description":"A minimum of 8 characters." }
    ,{"rule":".*[A-Z].*", "description":"At least one uppercase character." }
    ,{"rule":".*[a-z].*", "description":"At least one lowercase character." }
    ,{"rule":".*\\W.*"  , "description":"At least one non alpha-numeric character." }
    ]
 ,"hostName": "https://localhost:8443"
 ,"appName": "My Site"
 ,"appPath": "/web"
 ,"homePagePath": "/apps/home.jsp"
  
 ,"resetEmailText": ["<p>Hello,</p>"
                    ,"<p>A password reset was requested from your MySite account. If you have not done this, please contact your "
                    ,"administrator immediately. Otherwise, please click on the link below to reset your password. This code will remain "
                    ,"valid for 60 minutes.</p>"
                    ]    
 ,"inviteEmailText": ["<p>Hello,</p>"
                     ,"<p>You have been invited to join the MySite application.</p>"
                     ]
 ,"lookAndFeel": {
     "pageTitle"         :"Welcome To MySite"
    ,"pageTitlePostLogin":"Welcome To The MySite Platform"
    ,"logoSmall"         :"/static/img/MySite.small.png"
    ,"logoSmallPostLogin":"/static/img/MySite.small.png"
    ,"logoBig"           :"/static/img/MySite.full.png"
    ,"logoBigPostLogin"  :"/static/img/MySite.full.png"
    ,"poweredBy"         :"Powered by <IMG src=\"/static/img/MySite.small.png\">"
    ,"copyright"         :"Copyright &copy; 2021-%%CURRENT_YEAR%% MySite Inc."
   }

 ,"eulas": [
     { "tenantName":"PepperT2", "eulaUrl":"/static/html/eula.mysite.html", "days":"60" }
   ]
   
 ,"beacon": {
      "emails":["admin@MySite.com"]
     ,"urgent":false
     ,"bits":[
          { "className": "wanda.beacons.AccessLogDailySummary" , "lookback":"10", "timing":"DAY" }
         ,{ "className": "wanda.beacons.AccessLogHourlySummary", "lookback":"24", "timing":"HOUR" }
       ]
   }

 ,"extras":
    { "tableau-main": { "url" :"https://tab.mysite.com"
                       ,"user":"demo@mysite.com"
                      }

     ,"looker-xxx": { "url"   :"https://mysite.cloud.looker.com"
                     ,"embed" :"https://www.mysite.com"
                     ,"secret":"xxxxx--secret--xxxxxx"
                     ,"models":"[\"mysitelookerproject\"]"
                    }
    }
}
Clone this wiki locally