content
| - %META:TOPICPARENT{name="VirtConfigureCartridges"}%
---+Disqus Cartridge - Configuration Guidelines and Implementation Notes
Virtuoso's Sponger cartridge for Disqus allows you to fetch a Disqus user's profile, their posts, and data from discussion threads and forums they have participated in. These notes, intended for a 'Sponger Administrator', provide brief configuration guidelines for the cartridge.
Contents
%TOC%
---++Obtaining a Disqus API Key
The cartridge is written to the [[http://disqus.com/api/docs/][Disqus Web API]]. The API supports three methods for making authenticated API requests:
* OAuth 2
* Admin / API key authentication
* Single sign-on
At the current time (May 2012) the cartridge uses an API key. To obtain an API key, you must [[http://disqus.com/api/applications/][register your Sponger instance as a Disqus application]] via the Applications panel on the Disqus "API Resources" page. Follow these steps to obtain an API key:
* Go to the [[http://disqus.com/api/applications/][Application panel on the "API Resources" page]]
* After logging into Disqus, click on the 'Register new application' button.
* Enter a label / name for your Virtuoso instance, a description of the Sponger application, your company name and the URI of the Sponger host (which must be dereferenceable).
* Click on the 'Register my application' button.
* You should then be taken to the next screen, 'Application Details', where you should see a confirmation message confirming that 'Your application has been registered!'
* Under the 'Settings' section, set the domain as 'disqus.com'
* Set the 'Authentication' radio button to 'Inherit permissions from {your Disqus username}'
* Save the changes
* The confirmation message at the top of the screen will change to 'Your application has been updated'.
* Under the 'Application Details' heading, click on the 'Details' menu option. There you will see your public and secret API keys.
* Make a note of the public API key before logging out of Disqus.
* Log into the Conductor UI of your Virtuoso instance.
* Navigate to the Linked Data > Sponger > Extractor Cartridges tab.
* Click on the entry for the 'Disqus V2' cartridge and, in the cartridge configuration panel at the bottom of the screen,
enter your Disqus API public key.
* The Disqus V2 cartridge should now be ready to use.
---++Supported URI Patterns
The cartridge is configured to trigger on the URI pattern http://disqus.com/.* . The expected starting point for sponging a Disqus user's profile is a URL of the form http://disqus.com/{username}. For example: http://disqus.com/kidehen
---++Disqus Pseudo URIs
With the exception of Disqus users, the Disqus API does not return RESTful URIs to the objects in their data space. All other objects are identified by a numeric ID, with no associated URI. Consequently, Disqus user profile URIs, of the form http://disqus.com/{username}, are the only entry points which can be used to initiate sponging. When a user's Disqus profile is first sponged, the cartridge initially materializes only the user's posts and partial descriptions of the threads they have been active in.
Each active thread is identified by a pseudo-URI of the form http://disqus.com/?@dsq_id@=thread:{thread_id}. These pseudo-URIs are Sponger constructs which allow the descriptions of Disqus discussion threads to reside in their own graphs and to allow incremental sponging. To be spongeable, the pseudo-URI must be dereferenceable. Disqus conveniently ignores the pseudo-URI query string which gets passed through to the Disqus cartridge.
By following these active thread pseudo-URIs, exposed in a user's sponged Disqus profile as oplbase:threads_participated_in property values, all the posts belonging to a thread can be retrieved. The full discussion thread and all the posts it contains are materialized in a separate sponge of http://disqus.com/?@dsq_id@=thread:{thread_id}. Forums are identified and sponged in a similar way, using pseudo-URIs like http://disqus.com/?@dsq_id@=forum:{forum_id}. Each thread and forum is contained in its own graph rather than being contained in the starting user's graph.
---++Paging Options
Because some Disqus collections can include hundreds of items (e.g. threads in a forum, or posts in a thread), the following cartridge options are available to set configurable limits on the number of items returned.
max_batches:
* Limits the number of pages of items returned for a particular collection. (Default: 20 pages)
* The maximum number of items per page is 100 - the maximum allowed by the Disqus API
* A value of 0 indicates no limit; all available Disqus items will be returned.
---++Related
* [[VirtSponger][Virtuoso Sponger]]
* [[VirtConfigureCartridges][Configure Sponger Cartridges Guide]]
* [[http://ode.openlinksw.com/][The OpenLink Data Explorer Extension]]
* [[http://delicious.com/kidehen/goodrelations][Meshups (links and lookups across Web 2.0 Services and LOD Cloud]]
* [[VirtSpongerCartridgeSupportedDataSources][OpenLink-supplied Virtuoso Sponger Cartridges]]
* [[VirtSpongerCartridgeSupportedDataSourcesVendorNonRDF][Complete list of supported Vendor-specific Non-RDF Data Formats]]
* [[VirtSpongerCartridgeSupportedDataSourcesNonRDF][Complete list of supported Standard Non-RDF Data Formats]]
* [[VirtSpongerCartridgeSupportedDataSourcesMeta][Complete list of supported Meta Cartridges]]
* [[VirtSpongerCartridgeSupportedDataSourcesMetaREST][Meta Cartridge Usage via REST Request]]
* [[VirtSpongerCartridgeSupportedDataSourcesMetaRESTExamples][Parametrized Examples of Meta Cartridge Usage via REST Request]] |