About the module

The www.scribd.com iPaper application can be incorporated into your own Drupal website through the iPaper module. This can be done by attaching files to the iPaper node type which the module defines or by using the input format filter that converts iPaper parameters to the corresponding embed code.

Creating iPaper nodes

Requirements

To create iPaper nodes:
-PHP 5 (#272299: PHP4 Compatibility)
-cURL library on your PHP or "allow_url_fopen" set to true in your php.ini (one of these is available at most web hosts by default).
Your visitors need to have Adobe Flash Player and JS enabled browsers (although if you enable the option, plain text will be displayed in tags for search engines and users with JS disabled).

Getting started

After you install the module, get an API key for your website at http://www.scribd.com/platform/start. It only takes a minute. Enter the API key on the configuration page (/admin/settings/ipaper). You can also enter the Secret key to sign all your requests with it. In this case, set "Require signature" in your Scribd API account.
After you begin publishing documents you will be able to see the files you uploaded through the Drupal site under "My documents" on scribd.com (www.scribd.com/mydocs).

Creating iPaper nodes

After you enter your API key, you should be able to go ahead and create iPaper nodes. Attach a document of the types supported by Scribd and save the node (you cannot save it unless you attach at least one file). You will be taken to a progress screen while the file is sent to and processed by Scribd, and you should then see the node page with the iPaper display. Errors regarding the API requests and document conversion are recorded in the event log.
When you delete an iPaper node, the corresponding Scribd document is also deleted.
If you have more attachments, a message is displayed and only the most recent one is sent to Scribd. When you save the node with a new attachments, the new file becomes a new revision of the existing Scribd document. This allows you to update documents without having to delete the node.

Permissions

Remember to set the necessary permissions extended by the module. You should be aware that the module will show more than you need if you are logged on with the administrator account (user 1), because you have all the permissions.
In addition to the self-explanatory "create ipapers", "edit ipapers", "edit own ipapers", "delete ipapers", "delete own ipapers", take note of the following:

  • "embed ipapers" shows users a text box with embed code for the current document in node view. This code works even if your document is private.
  • "download ipapers" allows users to download a PDF version of the upload (a link is added under the iPaper). The format in which the download is offered can be set in the administration form. The link added to the node is to a Scribd dynamic URL.
  • "edit ipaper parameters" is normally useful only to administrators. You might, however, have a setup in which you want to embed documents that are already uploaded, so then you can extend the "edit ipaper parameters" to the users who would enter these parameters manually.

Input format filter

You can also use this module to allow users to quickly embed existing Scribd documents on your site: an input filter is available that converts tags of the format [scribd id=docid key=access_key] to the Javascript embed code. To use the filter, you do not need to have any of the following requirements. To use the filter, simply enable the module and add the filter to your existing input formats (/admin/settings/filters).

More

Check out the administration pages for options that allow you to customize how iPapers are displayed. For instance, you can disable printing for your documents or set the default display mode to book.
You can extend the iPaper content type by installing CCK (drupal.org/project/cck) and adding more fields to be displayed with your documents. The iPaper module does not extend a CCK field (http://drupal.org/node/272321). If you have time, please help convert this into a CCK field.
If you want to disable the 'Body' text field for iPapers and to not show it on the form nor in the teaser view, set the label for the body field to blank.

Known problems

-When uploading a file to Scribd, the wait time is limited to the PHP execution time limit('max_execution_time') or 57 seconds, whichever comes first. If the file is not ready to display by then, an error is recorded in the event log and the user is taken to view the node. Whenever this happens, the plain text of the file will also not be available for inclusion in your site's search index.
-CCK Warning: As with all content types, if you disable the iPaper module, you will lose all CCK data! You will not lose your iPaper nodes unless you uninstall, but CCK will delete 'content_fields_ipaper' if the module is disabled.

Help

Developers, You can find documentation for the API at http://www.scribd.com/platform/documentation/api.
As you work to extend this module, you can find answers at http://www.scribd.com/platform/faq
and ask questions at http://groups.google.com/group/scribd-platform-developers/topics

Post support requests and bugs at http://drupal.org/project/issues/ipaper
Please include messages and the information the module saved in your site's event log. If you know your question is not related to this module, but instead has to do with how Scribd handles your files, please post in the Scribd forum, not in the iPaper issue queue.