A neat hack with filters to allow specific lines to be ignored in files. I wish I’d known about this before for some legacy stuff!
I work for a domain registrar, and I’m pretty sure I’m not alone in thinking that the situation with the distribution of premium, reserved, and collision domain lists to registrars is a mess.
There’s no consistency in the format these lists are provided. Sometimes we get Excel (xsl and xslx) files, sometimes PDF files, sometimes CSV files, and there’s no consistency to the way these are laid out, so they’re generally not machine readable without some manual intervention. Additionally, there’s no consistency between how the lists are distributed: sometimes it’s via HTTP, sometimes it’s emailed out, sometimes it’s via SFTP, and sometimes we have to beg for them.
What I’m proposing is that, to minimise the aggregate effort for everybody, registries adopt the following for the distribution of domain lists:
- Distribute domain lists as RFC 4180 compliant CSV files. For collision and reserved name lists, this basically means one domain per line, and for premium domain lists, there can be additional lines giving information about the domain, such as pricing.
- Provide domain names as a-labels, which is to say, use the ASCII-compatible encoded (ACE) representation of an internationalized domain name. Do not use u-labels. There are many reasons for this, not least of which are that you minimise potential character encoding issues, you make it easier for registrars to deal with indic abugidas, the arabic abjad, scripts that contain zero-width characters, and various other exotica.
- Distribute collisions and reserved names in separate files. If you periodically update the domain lists, ensure that the most recent version always have the same name.
- Include the whole domain name, not just the reserved/premium label.
- For premium names, use the following field list: domain name, pricing group, three-character currency code, price. Prices should, for consistency, should not contain thousand separators and use a full stop (period) as the decimal mark.
- If you distribute the lists over SFTP, allow registrars to provide an SSH public key rather than requiring them to supply a password each time they need to log in.
Nothing there is remotely difficult to implement for registries, but would make the lives of domain registrars significantly simpler and enable them to automate the process of periodically updating the domain lists they have on file, as well as the pricing of premium domain names. Doing this benefits everybody.
If you have any comments, feel free to reply to this tweet.