Effective Debugging For Support

What is Debug?

"Debug" to us is a common colloquial for a script called debug.py in "Kickstart"; the server that Escalations grants you access to. To others, "debugging" has an entirely different meaning.

"Debug" to us is a script that pulls listing data based on <Board Number> and <MLS Number>, and provides two distinct, and very useful outputs. 

  • =================DATA FROM BOARD====================
    • This is the raw data provided from the MLS feed. If a value exists here, it can potentially be used to provide data to a site. 
    • It will always be titled in "Pascal Case" (NoSpaces + EveryFirstLetterCapitalized)
  • ===============STUFF WE WOULD SAVE==================
    • This is data that Boards Support has translated, and connected in a variety of ways. This data is typically immediately usable on a site. 50
      • NOTE: Just because a field is mapped, doesn't mean that it's still being used by a board. 
    • This will always be titled in "snake_case" (underscores_for_spaces + all_lowercase)

Running Debug Commands

There are docs out there with many more commands from a more civilized age, but the extent that should ever be run by support is limited to the following:

1. debug

Now that you've been set up, we can check a listing. 

In iTerm2 run the following:
NOTE: ($ signifies the beginning of a new command prompt. Type the following command and hit Return to run)

  1. $ db 
    (or whatever alias escalations set you up with.)
  2. $ cd scripts
  3. $ foreground ./runner.py debug <BOARD#> <MLS#> 
    1. <BOARD#> This is an arbitrary number used for our databases only. You can usually find this in Zenchetti. (Realtors will not know what this number means)
    2. <MLS#> This is the MLS number for the listing. 
$ db $ cd scripts$ foreground ./runner.py debug <BOARD#> <MLS#> 

2. refresh_property

Refresh a Listing

Reach out to Boards Support before running this; It's typically a bandaid to the real issues that probably need addressing.

Sometimes a listing update can simply be missed, if a listing has an incorrect price, or data field compared to what the realtor is expecting, it doesn't hurt to trigger the system to pull the listing on its next refresh. 

  1. $ db
  2. $ cd scripts
  3. $ ./foreground.sh ./runner.py refresh_property <board#> <mls#>

Finding a Listing

Several issues may arise when trying to find a property, here are a couple of steps to troubleshoot why it won't appear:

  • Does it Exist?
    • Does this mls# exist on the site? 
      The quickest method to see this is by going directly to it:
      www.website.com/property/<MLS#>
  • PREFIXES to MLS#s:
    • The more common 5000+ boards need a couple of letters prepended to the MLS number to work.
      • Link: 5000+ Board Prefixes
        For example: the board 5040 requires NWM<MLS#>
        • Example: 
          • foreground ./runner.py debug 5040 NWM2141275
    • The same is true for Florida boards as well, the difference being that these are RETS boards. 
NWMRX-
  • WRONG BOARD:
    • When you look the MLS listing up in a competitor search engine such as Zillow or Redfin does the listing appear? If so, from the listing page:
      • Zillow or Redfin: cmd+f > "Source:" and the board name should found be just after.
    • If this doesn't seem correct, the client may not have the correct board connected to their site. Reach out to #approvals_billing in Slack to be certain. 
    • You can find our version of the Board name in another doc "RG Internal Boards Reference Sheet"