Importing from UDisc and matching names

This guide follows the order you meet things in: connect your league, pull its history in, look over the imported events and the names on them, add them to your history, and then see the same names again on an event you run in DGLeague. Connecting UDisc is optional; everything else in DGLeague works without it. The events and names in the examples are made up.

What DGLeague reads from UDisc, and how

DGLeague reads three kinds of public UDisc page under your league's address: the past schedule, one event's leaderboard, and the upcoming schedule. It never signs in to UDisc, never writes anything to UDisc, and never asks for a page unless you have just clicked something. Nothing in DGLeague runs on a timer.

What starts a read:

  • Pull it in on Bring history in reads the past schedule and then one leaderboard per event.
  • Sync from UDisc on an event you are scoring reads that event's leaderboard.
  • Check now on UDisc connection reads the upcoming schedule.

It goes one request at a time, at least one second apart. If UDisc tells DGLeague to slow down it waits and tries again, up to three more times, for about a minute in total. If that is not enough, it stops. If UDisc refuses a request, or keeps telling it to slow down, DGLeague stops for that import and keeps what it has already brought in. A long history takes a while: about one event per second.

If a player asks why DGLeague has their UDisc scores: the scores are on a public UDisc leaderboard, you asked DGLeague to read it, and it keeps the result, the division, the UDisc user id and username, and the PDGA number when the page shows one, in your league's records only. The UDisc page is written for UDisc's own people and says the same thing in full.

Linking your league

Go to Settings → UDisc connection, paste your league's address into Your UDisc league URL, and choose Connect. Once connected, the page shows See it on UDisc, an Upcoming events row with Check now, and Disconnect. Check now brings the upcoming events onto your schedule when you press it; DGLeague does not check by itself, and the row says when it last ran. Disconnect removes the link, and events you already brought in stay.

Pulling your history in

Settings → Bring history in has three ways in: From UDisc, From a spreadsheet and Type one in. If UDisc is not connected, From UDisc says "Connect your UDisc league first." and a Connect UDisc button takes you to the connection page.

With UDisc connected, choose how much to bring in:

  • Everything reaches every event under your league's address.
  • The most recent… takes the number of events you type.
  • Since a date… takes events from that date on.
  • up to is a date that rides along with any of the three and leaves out later events.

up to starts filled in with the day before the first event you ran in DGLeague, so a pull brings in only the history from before you started. If you have not run an event in DGLeague yet, it starts blank. You can clear it or set it later. Nothing forces it.

Some events are never imported, and the screen lists each one after the pull:

  • An event you ran in DGLeague is left alone and never overwritten. The list gives the way to correct it if UDisc has a change you want.
  • An event still in progress is left alone. Sync from UDisc on the event itself brings its scores in.
  • An event cancelled on UDisc is listed with its date.
  • An event with no scores on UDisc is listed too.

Choose Pull it in to start.

If the import pauses

If UDisc refuses a request, or keeps asking DGLeague to slow down, the import pauses and the screen says so: "UDisc refused the request, so the import paused." or "UDisc asked us to slow down, so the import paused." The line then says how many events were imported and kept, and lists every event that was not imported by date. It ends with "Try Import history again in an hour; events already imported won't come in twice."

Nothing is broken and no money moved. The events that came in are kept. To carry on, wait, then choose Pull it in again; events already imported update in place and do not come in twice.

Events before you started

Events up to the day before your first DGLeague event arrive as history. They count for stats and book no money: no buy-ins, no payouts, and no change to any balance or pot. Adding an event files it as finished, for stats only. Money for old events is a separate, later job you do one event at a time; the Events list's menu has Prefill historical winnings for placement winnings, Record historical aces and Record historical CTPs once there are events to fill, and skins are entered on each event's Payouts screen.

Imported events wait for you

The events a pull brings in do not go into your history yet. They wait under Imported events, and Bring history in shows a row saying how many events are waiting for a look. Choose it to open the list.

Nothing joins your history until you add it. Add events one at a time with Add, add a whole import with Add them all, or choose Throw them all away from the menu beside it. An event you throw away leaves nothing behind. Nothing is recorded on a player until the event is added, so you can look everything over first.

An event can come in with no scores. That is usually an event that was cancelled or never scored on UDisc, so check it there.

The review screen, row by row

Each person on the imported events appears once, however many events they played. A choice you make applies to every event they appear on. The people fall into three groups:

  • N people matched by their UDisc account. The people an identifier already settles. Nothing to decide; open the group to see who was matched to whom.
  • N people with a possible match to your roster. Each row shows the suggestion. If there is one, Same accepts it. If there are several, the row says how many possible matches there are and each button is Same: .
  • N people with no suggested match. Each row is New person, or you pick a roster player yourself with Someone on my roster.

On each row:

  • Same or Same: says this is that person on your roster.
  • New person says this is someone new.
  • Someone on my roster, from the ⋮ menu, lets you pick a roster player the review did not suggest.
  • Not sure puts them aside for now.

A person you have not answered, and anyone you marked Not sure, still needs a choice. The screen counts them, and Add them all waits until every person has been answered with Same, New person or a roster link. An event's own Add waits the same way for the people at that event. For a long list of new names, Create the remaining … as new people, under the no-suggested-match group, answers everyone there in one step, except people who share a name with someone else in the import.

Why a name matches nobody, or more than one

DGLeague looks for a match in this order and stops at the first that finds someone:

  1. The person's UDisc account (their UDisc user id).
  2. Their UDisc username.
  3. Their PDGA number.
  4. A name you have used in this league.

One match is applied. A UDisc account that DGLeague already knows is applied even when the name on the scorecard is different, so a player who changed their name still lands on the right person. A username is too, unless the scorecard also carries a UDisc account that belongs to someone else; then DGLeague asks you. If no match is found and you choose New person, they become a new player on your roster, with the name kept as an alias, when the event is added. If more than one match is found, the row goes to you instead of DGLeague choosing.

A name never beats a UDisc account. If a scorecard carries a UDisc account nobody in your league has, and the name belongs to a player who has a different UDisc account, DGLeague asks you rather than guess. A name alone also does not decide when a different player on your roster has exactly that name: that goes to you too. A result that already has a player is never reassigned.

Aliases and identifiers

An identifier says who someone is: a UDisc account, a UDisc username or a PDGA number. An alias is a spelling of a name that belongs to a player in your league. Identifiers are checked first, and an alias is checked last. Neither gives anyone control of a player's account, and neither merges two players.

To see the names and UDisc accounts DGLeague has for someone, open the player under Players. The player's page shows On UDisc and Names we have seen.

Two people with one name

When two people in one import share a name, their rows say "Same name as 1 other in this import" and add that it may be one person under more than one UDisc account. They are left out of Create the remaining … as new people, so you look at each one. If they are two different people, choose New person on each. If you are not sure, choose Not sure: it keeps them waiting, and Add them all stays held until you answer each with Same or New person. Once the event is added, if they turn out to be one person, combine them under Players → Duplicate review: Same person — merge combines them, Different players says they are not the same person, and Review later leaves the question for another day.

Scores with no sign-in at a money event

This is a different queue from the import review. The import review is about past events waiting to join your history. This one happens while you run an event in DGLeague, on the Scoring screen, when UDisc scores and sign-ins do not line up:

  • A player signed in but their UDisc score did not land: choose Fix on their row, then Find the UDisc score, to pick the unused UDisc score that is theirs.
  • A UDisc score with nobody signed in waits under 2 · Remaining UDisc scores. Review offers Sign in as a late arrival or Ignore this round.
  • When you move on to payouts, Scores with no sign-in lists every such round: Sign them in, which takes their buy-in (at an event that tracks money) and keeps the score, or Ignore this round, which leaves it out of stats and payouts. Payouts wait until each is answered.

Nothing is imported into your history from here. A name shows up here because it has a UDisc score but nobody signed in for it at this event, not because it failed to match. The choices you made in the import are used again, so a player you already matched lands on the right person.

Where to go next

The UDisc page says what UDisc's people see. On the Events list's menu, Prefill historical winnings, Record historical aces and Record historical CTPs are where old winnings go.