# This file contains human-editable relier configurations that # Scriptify uses to help in site support. It is compiled into # ds/public/javascript/scriptify/config_files.js. On local systems, it # is compiled on each fetch of scriptify*.html. So, you can save # changes to this file, refresh the page, and your changes will be # applied. See reliers_db.yml for relier information that is stored in # the database. # # See http://confluence:8080/display/WAM/Site+Support+Problems for # descriptions of the types of problems (and their fixes) we've # encountered on various sites) # # ---------- Cheat sheet ---------- # # Matching Criteria # url - Regex that must match document.location.href # browser - Regex that must match browser name (e.g. firefox, ie, chrome) # has - One or more jQuery selectors whose length must be > 1 # lacks - One or more jQuery selectors whose length must be 0 # hasText - One or more strings that must be present in document # # Functionality Options # un - One or more jQuery selectors for login-page username fields # pw - ...for login-page password fields # sb - ...for submit buttons # form - ...for forms # notUn, notPw - jQuery selectors that are NOT un or pw (login or signup) # signupUn - jQuery selectors for signup-page username fields # checkbox - ...for checkboxes. ALL are checked for linked accounts. # mun - Multiple username spec (see detailed documentation below) # allow - Allowable widget actions: none, link, login, all # requireVisible - Login visibility requirement: none, partial, full # monitor - jQuery to monitor for DOM changes # clickOn - jQuery to click on before login box detection # multiStage - true if multistage login # loginSubmit - Login method: enter, button, form, js=, none # frame - One or more frame names to place widget. # delay - Delay (ms) before checking for login/linking box # grabPrefilledFields - Grabs credentials on initial page load # otherUn, otherPw - Specify 2nd login on page # noFocus, noBlur - If true, prevents focus or blur events on username and password fields. # # Appearance Options # placeMode - Login box placement: fixed, cover # bcolor - Background color, e.g. bcolor: 02A4E2 # place - Format: | (dx,dy)->(dx',dy') | # # ---------- Matching Criteria ---------- # # Each config block has a set of _matching criteria_ which is used to # determine whether the _options_ in that config block should be # applied to the current page. Below are the matching criteria that # can be specified (all are optional; if none are provided, the # options are applied to every page of the site). # # url - Regex that must match document.location.href # browser - Regex that must match browser name (e.g. firefox, ie, chrome) # has - One or more jQuery selectors whose length must be > 1 # lacks - One or more jQuery selectors whose length must be 0 # hasText - One or more strings that must be present in document # # Top-level config blocks are specified with a domain # (e.g. amazon.com). All other config blocks must start with a capital # letter (this is to distinguish them from options, which always start # with lower-case.) Config blocks can be nested; matching criteria in # parent blocks are applied to child blocks. For example: # # somesite.com: # url: login\.php # LoginError: # has: label#YouFailed # DoubleError: # hasText: Give up # placeMode: fixed # NormalLogin: # lacks: label#YouFailed # placeMode: cover # # Here, the option "placeMode: fixed" of the "DoubleError" config # block, is only applied if the url contains "login.php", # $("label#YouFailed").length > 0, and the text string "Give up" # appears on the page. The option "placeMode: cover" of the # "NormalLogin" config block is applied if the url contains # "login.php" and $("label#YouFailed").length == 0. # # Notes: # - The names chosen for config blocks (e.g. "LoginError", # "DoubleError", and "NormalLogin") are not significant to the # config. They should be chosen for documentation purposes. # # - More than one "has", "lacks", or "hasText" matching criteria can be # specified using YML array notation. e.g.: # has: # - label#YouFailed # - input.atlife # # - A note for when you are creating a 'url' regex: if a particular # configuration is being applied, the domain has already been # matched. So, usually, you just need to specify the path # (e.g. "url: login\.php" as opposed to # "url: http://www\.facebook\.com/login\.php"). # # - '#' in YML notation is the comment marker if it occurs at the # beginning of the line or if there is a space in front of it. If # you find you need that character in a selector, put the selector # in quotes. eg: # pw: "#passwordID" # # - To see all the options that are being applied on a given page # (after matching criteria are checked), look in console.log for a # log message with the format: # # --- Configuration for: --- #