Difference between revisions of "JsWidget"

From Creative Commons
Jump to: navigation, search
(Extracting results)
(redirect to LicenseChooser.js)
(33 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Creative Commons currently provides two methods for integrating license selection into applications: the [[Partner Interface]] and the [[Creative Commons Web Services|web service API]].  The CC Javascript Widget will provide an additional, lightweight method for integrating license selection into web applications.  When complete the widget will be used in [[WpLicense]] as well.
#REDIRECT [[LicenseChooser.js]]
'''Note that the JsWidget is currently under development but a [http://sourceforge.net/project/showfiles.php?group_id=80503&package_id=239510 0.2 preview is available].'''
== Sample Usage ==
This widget generated will be similar to the chooser currently deployed at [http://labs.creativecommons.org/dhtmllicense/ CC Labs].
<div style="text-align:center">
The following is a simple example of how the widget would be included in a page to create a license selector.  A live demonstration is [http://labs.creativecommons.org/jswidget/tags/0.2/example_web_app/ available on the CC labs site].
    <link rel="stylesheet" href="http://labs.creativecommons.org/jswidget/trunk/example_web_app/example-widget-style.css" />
      <title>Example Widget Page</title>
        &lt;div id="cc_widget_container">
          <script src="http://api.creativecommons.org/jswidget/tags/0.2/complete.js"></script>
== Availability ==
You can play with a 0.2 pre-release right now!
* 2007-07-31:
* 2007-07-25: [http://sourceforge.net/project/showfiles.php?group_id=80503&package_id=239510 Released 0.2].  The UI now doesn't ask or contain spurious questions, plus translation is halfway there.
* 2007-07-19: [http://sourceforge.net/project/showfiles.php?group_id=80503&package_id=239510 Released 0.1].  Don't try to use this in production, but DO let us know how it fits into your systems and what you would want us to change.
== Extra features ==
=== "Seeding" ===
* If the user has already selected a license through some other means, and you want to "seed" the JavaScript widget with the choices the user has already made, just create a hidden form field whose ID is cc_js_seed_uri with the URI of the license you want to start with.
** NOTE that whatever license version you provide, we always upgrade it to the most recent version the jurisdiction offers.  We do display a '''Message''' underneath the license icon saying we did this.
=== Language selection ===
* You can append ?locale=XX to your call to complete.js to choose a language.  The example distributed as index.html in the distribution package sets the language to US English this way.
* If omitted, Apache Content Negotiation will select the most appropriate language based on the user's preferences, defaulting to US English.
=== Extracting results ===
* There are two hidden form fields called cc_js_license_uri and cc_js_license_name that respectively store the URI and name of the license selected by the user.  Just do <code>document.getElementById("cc_js_result_uri").value</code> (or "cc_js_result_name" instead) and you'll have the license information.
* There is an extra hidden form field containing the link to the image used.  FIXME: Document what Nathan added.
== Goals ==
The following list of general goals to remind us what we want out of JsWidget.  You can expect most of it for 1.0.
See [[JsWidget/Plan]] to see what features are planned for what versions.
* Generate HTML suitable for use in a form which presents the basic license selector
* Provide compatibility with all [http://developer.yahoo.com/yui/articles/gbs/ A-grade browsers]
* Provide up to date license information by
** Utilizing licenses.xml to generate the appropriate Javascript on the server side.  This may be done using a dynamic language such as PHP or through pre-processing to a static file when licenses are updated.
* Support new, expanded metadata including attributionName, attributionUrl and morePermissions.
* Provide a robust, scalable serving solution (if any server-side processing is needed) in order to support CC-hosted Javascript resources for the general public
== Resources ==
* [https://cctools.svn.sourceforge.net/viewvc/cctools/jswidget/ JsWidget development in Subversion]
* [http://cctools.svn.sourceforge.net/viewvc/cctools/cclib/trunk/js/ cclib/trunk/js] in Subversion contains the Javascript used for the [http://labs.creativecommons.org/dhtmllicense/ DHTML License Selector]

Latest revision as of 22:06, 10 July 2008

Redirect to: