Go Back   EN World D&D / RPG News > Non RPG-Specific Forums > Software, Computers, Video Games and D&D Utilities

Software, Computers, Video Games and D&D Utilities General discussion on computer software and hardware, PC and console games, and RPG utilities such as eTools, PC GEN, etc.

 
Share LinkBack Thread Tools Display Modes
Old 18th June 2009, 06:47 PM   #21 (permalink)
Registered User
 
tomBitonti's Avatar
 
Join Date: Jul 2003
Posts: 506
tomBitonti Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Asmor View Post
Stop getting caught up in legalese. Seriously.

As long as you're not doing it for profit, you won't get sued. I promise. Worst case scenario, they'll send you a C&D.

... snip ...

It is absolutely clear that this is what Wizards of the Coast wants people to do.
IMO, this is bad advice. Working for a very major corporation, and having mandatory yearly education on this sort of stuff, generally, when in doubt, the first step is to stop and consult the legal team.

In this case, I don't think Mr. Rouse's posting is sufficient to present the WotC policy. I would be careful until the online agreement and until the posted policy on the website are updated. Mr. Rouse's posting is a positive sign, but until there is an update that is clearly from the WotC legal team, some care should be used. (I'm actually surprised at the posting the Mr Rouse has made: That could put WotC in some danger, and is the sort of statement that usually has to be put through legal clearances. I can't tell if that has been done. If it has, my apologies. In this case, absent a very clear statement that the policy has legal approval, I can't accept it as a definitive statement. Also, this is an area where you really don't want multiple streams of statements. That muddies the water where you want very clear policies.)

Basically, I'm looking for an official statement that appears on the WotC website that can be provided through a link.

[PostScript: Under the DMCA, a Cease and Desist is not nearly the worst case scenario.]

Thx!

TomB

Last edited by tomBitonti; 18th June 2009 at 06:51 PM..
tomBitonti is offline   Reply With Quote
Old 18th June 2009, 06:52 PM   #22 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Quote:
Originally Posted by miscreationist View Post
Yeah, I guess you are right. That is what has been done thus far is to send C&Ds. But I figured they'd go to account banning before that if you were automating the extraction of data and they didn't like it. The only reason I had not taken an interest thus far was to avoid getting my account removed for automating access to it - something I'd not like to happen if I'd paid for an extended amount of access to DDI.

Thanks for bringing up the topic. Hopefully, this is a good step and as I said, I look forward to the upcoming article about it.
It's worth noting that I don't actually get access to any data behind the paywall... All I'm getting is the search results anyone can find, and the links anyone can find.

I can send you to the page, but you still need to log yourself in.

Now, theoretically it would be possible to log in and scrape the database (and, indeed, I've been in contact with people who have claimed to have done just that in months prior), but that doesn't require the API at all.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 18th June 2009, 07:08 PM   #23 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Asmor View Post
It's worth noting that I don't actually get access to any data behind the paywall... All I'm getting is the search results anyone can find, and the links anyone can find.

I can send you to the page, but you still need to log yourself in.

Now, theoretically it would be possible to log in and scrape the database (and, indeed, I've been in contact with people who have claimed to have done just that in months prior), but that doesn't require the API at all.
Right. I understand that this is totally different from screen scraping and it is clear that they are documenting the API. I took a look at the Compendium Search service and noticed that everything accessible through its operations is data that is accessible to the public without having to log in. If there is no access to data that requires a login then I suspect the legal questions still stand about automated access to it (and I suspect that operations like that are against the TOS). I hoped that the next article might provide access (with authentication) to the data through the API.

Here's to hoping.
miscreationist is offline   Reply With Quote
Old 18th June 2009, 07:58 PM   #24 (permalink)
Registered User
 
tomBitonti's Avatar
 
Join Date: Jul 2003
Posts: 506
tomBitonti Goblin Sharpshooter (Lvl 2)
Some usage that seems problematic ...

Thinking more about the access, there are a couple of access types that seem to be problematic:

1) Anything that does queries and caches the results;
2) (1), where the cache is made available to other people.
3) Providing a forwarding service, where a third part contacts you through an API of your design, which prompts your API to log into the for-pay DDI using your login information to complete the request.

In a group environment, I can see (3) being very useful, where the DM and players each has network access, and where the DM has a portal to the DDI, and where the players access the DDI through the DM's portal. That seems useful enough, and simple enough to implement, that folks are very probably already thinking about doing it. That also seems to be exactly what WotC would not approve of.

Note that a web-site may have a policy that prohibits access to secondary pages without your having visited initial pages, and this is (?) actionable (?) enforceable, and has been tested through case law.

Last edited by tomBitonti; 18th June 2009 at 08:46 PM..
tomBitonti is offline   Reply With Quote
Old 19th June 2009, 04:16 AM   #25 (permalink)
Registered User
 
malraux's Avatar
 
Join Date: Sep 2004
Location: 72227
Posts: 1,550
malraux Hobgoblin Soldier (Lvl 3)
Quote:
Originally Posted by Asmor View Post
It's worth noting that I don't actually get access to any data behind the paywall... All I'm getting is the search results anyone can find, and the links anyone can find.

I can send you to the page, but you still need to log yourself in.

Now, theoretically it would be possible to log in and scrape the database (and, indeed, I've been in contact with people who have claimed to have done just that in months prior), but that doesn't require the API at all.
Yeah, I could code up an automator script to get safari to pull everything down, but that would still be my web browser getting the info.

On a related note, have you figured out what the code is to log in. obviously you'd want to post email and password but I still haven't figured out where that goes.
__________________
All we want to do is eat your brains
We’re not unreasonable; I mean, no one’s gonna eat your eyes
All we want to do is eat your brains
We’re at an impasse here; maybe we should compromise:
If you open up the doors
We’ll all come inside and eat your brains

Last edited by malraux; 19th June 2009 at 05:10 AM..
malraux is offline   Reply With Quote
Old 19th June 2009, 06:08 AM   #26 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Quote:
Originally Posted by malraux View Post
Yeah, I could code up an automator script to get safari to pull everything down, but that would still be my web browser getting the info.

On a related note, have you figured out what the code is to log in. obviously you'd want to post email and password but I still haven't figured out where that goes.
Looks to be login.aspx

Quote:
<form name="form1" method="post" action="login.aspx?page=monster&amp;id=2351" id="form1">
Here're the relevant bits:

Quote:
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBAK5u9HLAQKyzcaDDQLyveCRDwK4+vrXBTI0l5j0hL3ej51 4UF0fpXH07GN4" />
<input name="email" type="text" id="email" />
<input name="password" type="password" id="password" />
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 19th June 2009, 02:28 PM   #27 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
Asmor, from your article, http://www.wizards.com/dndinsider/co...rs&tab=Monster

Using + works fine.
miscreationist is offline   Reply With Quote
Old 19th June 2009, 06:38 PM   #28 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Huh. That's strange. I swear I tried + and it didn't work. o_0 Thanks.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 23rd June 2009, 04:29 PM   #29 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
The second part of the info on the API went up D&D Insider: Compendium API - Part 2 yesterday.

One thing to note is that in my testing, null is needed instead of NULL in the filters. I saw the KeywordSearchWithFilters method the other day, but now that the filter strings have been disclosed, it makes it really useful.

Apparently they will be disclosing how to get to the data in a third article which addresses "security issues and concerns". This does indeed look promising and it is clearly meant for automation, but I still think that their TOS conflicts with the use of this. Perhaps it will get a refresh.
miscreationist is offline   Reply With Quote
Old 23rd June 2009, 05:02 PM   #30 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Quote:
Originally Posted by miscreationist View Post
Apparently they will be disclosing how to get to the data in a third article which addresses "security issues and concerns". This does indeed look promising and it is clearly meant for automation, but I still think that their TOS conflicts with the use of this. Perhaps it will get a refresh.
There's a fanpage policy in the works... Should have been out a while ago, frankly, though given the timeline of the vastly-more-important GSL I'm not all that surprised by the delay. My guess is that it's "in legal," since that seems to be the usual refrain.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 28th June 2009, 10:33 PM   #31 (permalink)
Optimism; it feels better
 
catsclaw227's Avatar
 
Join Date: Sep 2003
Location: Cary, NC
Posts: 3,275
catsclaw227 Hobgoblin Soldier (Lvl 3)
Send a message via Yahoo to catsclaw227
I am getting an application error when accessing the Webservice. Typical .NET error if the custom errors aren't set up.

Is it currently down or inaccessible, or is the webservice itself not working unless you are logged in?

I have logged into the DDI and then in a different browser tab, gone directly to the webservice and used the KeywordSearch method with keywords="Human Guard" and tab="Monster". Even trying an HTTP GET and I get the same error.
__________________
Game on, gang!
Ptolus #16 (with customized, personalized sig from Monte. Awesomesauce.), Rappan Athuk Reloaded #37 (Another Awesomesauce, the Necromancer way.)

Try to not let failure to use technical language properly get in the way of getting to the real point under discussion. - Umbran

Characters & Games

Books currently in play: Dungeon & Dragon Magazine (*Scales of War AP*), WOTC 4e Core and Supplemental books

Current Campaign: Scales of War - Lost Mine's of Karnak -- Kodirgo, Minotaur Barbarian 6; Vondal, Dwarf Cleric 6; Karithul, Gnome Bard 6; Marshaun, Elf Druid 6
catsclaw227 is offline   Reply With Quote
Old 29th June 2009, 12:33 AM   #32 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
You don't need to be logged in to perform searches.

Double check and make sure the service is actually working. I've found it has a knack for noticing when I want to work on a program and it decides to stop working for a while. :/
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 29th June 2009, 03:44 AM   #33 (permalink)
Optimism; it feels better
 
catsclaw227's Avatar
 
Join Date: Sep 2003
Location: Cary, NC
Posts: 3,275
catsclaw227 Hobgoblin Soldier (Lvl 3)
Send a message via Yahoo to catsclaw227
As it turns out the WSDL the webservice has tied to it, brings back incorrect URLs for the service.

Code:
  <wsdl:service name="CompendiumSearch">
    <wsdl:port name="CompendiumSearchSoap" binding="tns:CompendiumSearchSoap">
      <soap:address location="http://www.wizards.com/compendiumsearch.asmx" />
    </wsdl:port>
    <wsdl:port name="CompendiumSearchSoap12" binding="tns:CompendiumSearchSoap12">
      <soap12:address location="http://www.wizards.com/compendiumsearch.asmx" />
    </wsdl:port>
    <wsdl:port name="CompendiumSearchHttpGet" binding="tns:CompendiumSearchHttpGet">
      <http:address location="http://www.wizards.com/compendiumsearch.asmx" />
    </wsdl:port>
    <wsdl:port name="CompendiumSearchHttpPost" binding="tns:CompendiumSearchHttpPost">
      <http:address location="http://www.wizards.com/compendiumsearch.asmx" />
    </wsdl:port>
  </wsdl:service>
__________________
Game on, gang!
Ptolus #16 (with customized, personalized sig from Monte. Awesomesauce.), Rappan Athuk Reloaded #37 (Another Awesomesauce, the Necromancer way.)

Try to not let failure to use technical language properly get in the way of getting to the real point under discussion. - Umbran

Characters & Games

Books currently in play: Dungeon & Dragon Magazine (*Scales of War AP*), WOTC 4e Core and Supplemental books

Current Campaign: Scales of War - Lost Mine's of Karnak -- Kodirgo, Minotaur Barbarian 6; Vondal, Dwarf Cleric 6; Karithul, Gnome Bard 6; Marshaun, Elf Druid 6
catsclaw227 is offline   Reply With Quote
Old 30th June 2009, 09:17 PM   #34 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Good call, catsclaw. I was able to get it working by specifying the address myself, e.g.

Code:
var c = new CompendiumSearch.CompendiumSearchSoapClient("CompendiumSearchSoap12", @"http://www.wizards.com/dndinsider/compendium/compendiumsearch.asmx");
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 30th June 2009, 10:14 PM   #35 (permalink)
Optimism; it feels better
 
catsclaw227's Avatar
 
Join Date: Sep 2003
Location: Cary, NC
Posts: 3,275
catsclaw227 Hobgoblin Soldier (Lvl 3)
Send a message via Yahoo to catsclaw227
Yea, I ended up doing that too.

Also, playing around with the API without creating a webreference to the DDI service, I also used a simple approach and just loaded the url into an XDocument. Then I can easily traverse the monsterlist with Linq to Xml.

Code:
    XDocument monsterXml = GetSearchResults("http://www.wizards.com/dndinsider/compendium/CompendiumSearch.asmx/KeywordSearch?Keywords=Human+Guard&tab=Monster")


    public XDocument GetSearchResults(string url)
    {
        XDocument resultsXml = new XDocument();
        try
        {
            resultsXml = XDocument.Load(url);
        }
        catch (Exception e)
        {
            throw e;
        }
        return resultsXml;
    }
__________________
Game on, gang!
Ptolus #16 (with customized, personalized sig from Monte. Awesomesauce.), Rappan Athuk Reloaded #37 (Another Awesomesauce, the Necromancer way.)

Try to not let failure to use technical language properly get in the way of getting to the real point under discussion. - Umbran

Characters & Games

Books currently in play: Dungeon & Dragon Magazine (*Scales of War AP*), WOTC 4e Core and Supplemental books

Current Campaign: Scales of War - Lost Mine's of Karnak -- Kodirgo, Minotaur Barbarian 6; Vondal, Dwarf Cleric 6; Karithul, Gnome Bard 6; Marshaun, Elf Druid 6

Last edited by catsclaw227; 30th June 2009 at 10:18 PM..
catsclaw227 is offline   Reply With Quote
Old 30th June 2009, 10:23 PM   #36 (permalink)
Optimism; it feels better
 
catsclaw227's Avatar
 
Join Date: Sep 2003
Location: Cary, NC
Posts: 3,275
catsclaw227 Hobgoblin Soldier (Lvl 3)
Send a message via Yahoo to catsclaw227
I am using the API to be able to take the monster data and convert it into a fully functional rptok file for MapTools and the 4e framework I am using (Rumble's).

Still, it's a work in progress, and I am hesitant to write an HTML parser for the monster.aspx page because they are likely going to release the individual elements (like monster) API soon and I don't want to waste too much time writing a throw-away.
__________________
Game on, gang!
Ptolus #16 (with customized, personalized sig from Monte. Awesomesauce.), Rappan Athuk Reloaded #37 (Another Awesomesauce, the Necromancer way.)

Try to not let failure to use technical language properly get in the way of getting to the real point under discussion. - Umbran

Characters & Games

Books currently in play: Dungeon & Dragon Magazine (*Scales of War AP*), WOTC 4e Core and Supplemental books

Current Campaign: Scales of War - Lost Mine's of Karnak -- Kodirgo, Minotaur Barbarian 6; Vondal, Dwarf Cleric 6; Karithul, Gnome Bard 6; Marshaun, Elf Druid 6
catsclaw227 is offline   Reply With Quote
Old 12th July 2009, 09:12 AM   #37 (permalink)
Registered User
 
Join Date: Mar 2008
Posts: 1
lacan2002 Goblin Sharpshooter (Lvl 2)
Hey, great thread! Any ideas on a general place to talk about DDI Api?
Seems like there are a number of interested D&D player/programmers out here, it would be nice to have a place for the hobbyist to share ideas.

It looks like they've added a needed NameOnly parameter, which I've just been setting to "false".

Thanks very much to Asmor's examples, I got a simple ruby client working.

For the interested, this requires the excellect xml-object and restclient gems, but once those are ready, getting an implicit object model that allows you to deal with the meat of the data is dead simple:

Code:
xml = RestClient.get('http://www.wizards.com/dndinsider/compendium/CompendiumSearch.asmx/KeywordSearch?Keywords=mind+flayers&tab=Monster&NameOnly=false')
data = XMLObject.new(xml) # That's it! Gives us a model implicitly!

# get each monster and show some data
data.Results.Monster.each do |monster|
  puts "#{monster.Name} is found in #{monster.SourceBook}"
  # do something more interesting, like put into a ul in HTML
end
The results for this look like this:

Mind Flayer Infiltrator is found in Monster Manual
Mind Flayer Mastermind is found in Monster Manual
lacan2002 is offline   Reply With Quote


Bookmarks

Tags
(not, details, exclusive, repeat...)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


And yet another word from our sponsors
Visit Our Sponsors
Visit Our Sponsors... Again
Powered by vBadvanced CMPS v3.0.1

All times are GMT +1. The time now is 08:57 PM.


Site Contents © 2008 ENWorld
PHP Ajax Multimedia Web Framework © 2008 Digital Media Graphix
Powered by vBulletin® Version 3.8.0 Beta 1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

"Vault Data" powered by VaultWiki v2.5.1.
Copyright © 2008 - 2009, Cracked Egg Studios.