I've been playing around with the code together with a friend of mine.

We would like to suggest some restructuring to better facilitate different api's. I've read similar wishes in other issues, maybe we bundle them here to get into action.

* Split registrar support into sub modules
* Save contact details as a node and link these to domains/users
* Build a dummy registrar module as a reference implementation

It might be good for compatibility's sake to start working on this as a 2.x branch.

I've pushed some scratch stuff is on:
https://github.com/helmo/registrar_api

As with most of us my time is unfortunately quite limited, hopefully we can work together on this.

Comments

ergonlogic’s picture

Count me in.

hadsie’s picture

Thanks @helmo!

I think these are all great suggestions. Do you guys think it might work better if we moved the main dev work to github and then sync'd back to drupal cvs every once in a while?

helmo’s picture

I do prefer to work with git.
And until the d.o git migration is complete a regular sync back is probably the best solution.

jonhattan’s picture

I plan to write integration for three registrars I use (ovh, gandi, domains.coop) but I'd like to know if helmo's work in github is oficially considered the 2.x branch, as helmo is not a maintainer of registrar_api and that code is not being synced back to d.o.

btw @helmo I've started to use your code and have make some changes to make the new node types work. Also I think it should leverage some contrib module for country codes, states and zipcodes.

helmo’s picture

I haven't had mush time to work on this lately :( so it stalled on my end mostly.

Integrating with other modules for generic stuff like country codes seems like a very good idea.

I'd be happy to accept patches or pull requests.

jonhattan’s picture

I did forked helmo's repo at https://github.com/jonhattan/registrar_api
You can browse my commits to see what I've changed. Roughly:

* General clean up.
* Fix implementation of node types.
* Integrate with location module.

Now I'm working on:
1. Integrate with the database of tlds[1] in order to configure what tlds a installation support, and allow to select a registrar per tld.
2. Default nameservers. Default contacts per registrar.
3. Implement a "Domain status" block showing:
- registered Y/N (+ register button)
- expiry date (+ renew buttom)
- Locked Y/N. Obtain transfer code. Start a transfer to another of the configured registrars (not a priority for now).
4. Use a queue system to schedule registrar operations (register + renew). Similar to Aegir's hosting queue.

[1] http://www.iana.org/domains/root/db/

helmo’s picture

Thanks jonhattan, great work.

One tiny detail: I noticed you removed the last comma in several array definitions, which is against the drupal coding standards (http://drupal.org/coding-standards#array)

hadsie’s picture

Status: Active » Fixed

Thanks a lot for all the work here guys. I've merged all of the changes in from @jonhattan's github repository and hopefully it will associate the commits properly (though I'm still new to git so it's possible I screwed that up somehow).

helmo’s picture

Thanks for merging that in. You seem to have succeeded in keeping the author attribute in the commits.

hadsie’s picture

Great! I'm just going through the code right now and cleaning up a few issues. I'll make a D6 beta release later today and then start working on a D7 version after that.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

MacRonin’s picture

Title: Restructuring » Restructuring- Registrar API

Glad to see that a D7 version is on the to-do list.

Also updated issue title so it is more informative on the activity list.
Although since it's closed there probably be much more activity :-)