Book Review : Drupal Web Services

Book Title : Drupal Web Services - Integrate social and multimedia web services and applications with your Drupal website
Author : Trevor James
Publisher : Packt Publishing

Does your Drupal web application bubble with life ? Is it part of the party or just sits in a dark corner and belches once in a while? You really need to get it acquainted with some web services if you haven’t already done that yet. Otherwise you are missing out a lot on the action out there.
What are web services ? Good question . Web services are web-based software applications that exchange data with other web-based applications. Web services are useful in linking applications operating on different network platforms, hardware, software, and databases, performing critical functions for many businesses. Web services are also useful for combining software and services from different companies for the purpose of providing a seamlessly integrated service. Still puzzled ? For a simpler explanation think Flickr, Twitter, Google,Amazon, Facebook. Drupal is able to feed content into its framework from these applications and many more.
This ability to communicate between Drupal and other web portals is what makes Drupal a feature-rich content management framework capable of supporting multiple methods of feeding content into its database and site structure. The book Drupal Web Services shows how you can leverage the available popular web services out there to enrich the content of your Drupal web application and also make the content of your application available as a web service to other consumers. Following are summaries of the 12 chapters that make up this exciting book .

Chapter 1, About Drupal Web Services,
This chapter focuses on web services from an introductory standpoint and defines what web services are and how they work with Drupal 6 and should also for the new Drupal 7. How do we take content from all of these different web applications and share the content with a Drupal site? For example, how can we take all of the images we upload to your Flickr site and share those images with users on our Drupal site? This is becoming highly important now due to the wealth of rich content management applications that are both on the market and also available in the open source community.
In this chapter, you will learn the basics of web services and Drupal, including:
• What are web services and why are web services useful?
• Why do we use web services in Drupal?
• How does Drupal 6 use web services?
• Standards compliance when using web services in Drupal
• Drupal as a service consumer and as a service provider

Chapter 2, Consuming Web Services in Drupal,
How does your Drupal site act as a web services consumer ?. Drupal does this by integrating and using various types of web services code, including XML-RPC, REST, JSON, XML,and RSS. This means that you can take your Drupal site and add code to it in the form of a Drupal module, and make this module connect to an external server
or application that provides a web service that we want to utilize and consume data from. The web service protocol that makes this happen is called SOAP (Simple Object Access Protocol). This chapter looks in detail at the Drupal modules that utilize SOAP for web service integration. It also looks in detail at a contributed module that has already been coded as a good practical and easy-to-use example of consuming web services in Drupal. To summarize this chapter will:
• Define SOAP and determine how we can use SOAP with Drupal
• Use the SOAP Client module
• Use the FedEx Shipping Quotes module

Chapter 3, Drupal and Flickr,
This chapter discusses how to integrate our Drupal site with the Flickr photo-sharing web application) using the contributed Flickr module. This should give a hands-on look and demo of how we can use complex web services along with Drupal blocks, CCK, and Views to build intricate and dynamic frontend displays that present photo data from Flickr on a Drupal site. To summarize, in this chapter you will:
• Access the Flickr Web Services using the Flickr module
• Use Flickr contributed modules to manipulate and use our Flickr Web
Services with Drupal
• Enable and configure Flickr module blocks and display these blocks
on our site

Chapter 4, Drupal and Amazon
This chapter focuses on installing and configuring both the Amazon and the Amazon Store modules to communicate with your Amazon associate account and practice filtering in specific Amazon products including books, CDs, DVDs, and other items into our Drupal nodes. The chapter looks at consuming web services from the popular shopping marketplace site——using the Amazon module and its integration with the Amazon Web Services (AWS) cloud. To summarize, in this chapter you will:
• Access Amazon Web Services using the Amazon module
• Use the Amazon Store module to integrate an Amazon Associate Storefront with your Drupal site
• Access Amazon products and product API using the Amazon module
• Sign up for an AWS account and configure our Amazon module
• Test our Amazon module configuration by looking up an Amazon product
• Use Amazon Example content type
• Use Amazon filters

Chapter 5, Drupal and Multimedia Web Services.
This chapter focuses on other types of multimedia including video and how a Drupal site can be integrated with two popular video hosting services, CDN2, and Kaltura. Developers will learn how to take photosets and embed them as full-throttle Flash-powered slideshows directly on a Drupal site and thus explores in more details how Drupal works with the Flickr Web Services, using the Media: Flickr module and also how to integrate a Drupal site with two popular video hosting services, CDN2 and Kaltura. To summarize, in this chapter you will:
• Upload video files to the CDN2 web server and use the CDN2 web service
• Use the Kaltura module and web service to upload and distribute the video content on your site
• Post photosets to our Drupal site using the Media: Flickr module and embed these photosets in a dynamic Flash slideshow player through the Embedded Video Field module

Chapter 6, Drupal Web Services the Easy Way: The Services Module.
The Services module is a contributed module that gives you a variety of built-in custom service modules to test and use. They included services allow you to call content and output data from Drupal's default and contributed comment, file, menu, node, search, system, taxonomy, user, and views modules. Calling these services will allow you to get content from your Drupal site and display it on another Drupal site, both on your server and externally. This chapter focuses on installing and enabling the Services module and explore what the Services module offers our Drupal site(s). To summarize, in this chapter you will:
• Install and enable the Services module and explore what the Services module offers our Drupal site(s)
• Test simple default Services module callbacks
• Program our own custom callback module that will return a simple text string such as hello world
• Expand our custom module to return a list of nodes of a specific content type

Chapter 7, Drupal Spam and Web Services.
How do you prevent spam submission to your Drupal site ? Currently, one of the easiest methods of preventing unauthorized access to your site by spambots and spam scripts is to install the CAPTCHA module. This chapter focuses on installing and using various modules including CAPTCHA, reCAPTCHA, and Mollom to integrate our Drupal website with spam prevention web services.It will also look at the web service modules including AntiSpam (a successor to the Akismet module) and the Mollom module. To summarize, in this chapter you will:
• Install and enable the CAPTCHA and reCAPTCHA modules
• Explore and practice using the Antispam module
• Enable and practice using the Mollom module

Chapter 8, Using XML-RPC,.
This chapter looks in more detail at how Drupal uses the XML-RPC protocol and how this protocol can help integrate your Drupal site with external web service-based applications and servers,. In a demonstration this chapter sets up a Google Documents account and shows how to leverage the XML-RPC protocol to post our Google text documents automatically over to our Drupal site and show how these documents will turn into Drupal-based nodes automatically. The chapter also look in detail at how to sync Drupal node content from one Drupal site to another using the XML-RPC protocol. To summarize, in this chapter you will:
• Enable the BlogAPI module and configure it
• Define how the XML-RPC protocol work in your Drupal site
• Take existing Google Documents and populate those documents over to a Drupal site so that they become nodes and web content on your site
• Sync Drupal content between two Drupal sites using XML-RPC, the Services and Deployment modules

Chapter 9, Twitter and Drupal,
If you have a Twitter account, you can post your tweets to your Drupal site automatically at the same time you post them to your Twitter home page. You can also post node content from your Drupal site to your Twitter home page as tweets. This chapter shows how to integrate Twitter with Drupal and also looks at setting up automatic actions and triggers to occur when you save a new node content on your Drupal site. To summarize, in this chapter you will:
• Enable the Twitter module and configure it
• Post tweets from our Twitter account to blocks on our Drupal website
• Post links to nodes and node content from our Drupal site to your Twitter home page
• Enable and configure the Tweet module

Chapter 10, LinkedIn and Drupal.
Linkedin is a popular professional and career-based social networking application .f you have a LinkedIn account, you can integrate with your Drupal site using a contributed module called LinkedIn Integration. This allows for authentication of user accounts across the two applications and sharing of LinkedIn statuses on your Drupal site. You can also publish content from Drupal over to your LinkedIn account activity stream as an
announcement. This Chapter focuses on exploring methods of LinkedIn with your Drupal site. To summarize, in this chapter you will:
• Enable the LinkedIn Integration module and the OAuth module suite andconfigure each
• Post content to your LinkedIn account activity stream
• Post your LinkedIn profile abstract to your Drupal user profile page and enable a tab in your profile to access your LinkedIn abstract
• Test the authentication and user login process between Drupal and LinkedIn

Chapter 11, Facebook and Drupal.
What is Facebook ? If you have asked that question it may be time to get a job as a hermit in Tibet. If you have a Facebook account, you can easily become a Facebook application developer; you just need to set up an application in your Facebook account, and then connect to this application via your Drupal website. Your Drupal site acts as the server and remote host of the content, and Facebook acts as the web service consuming your Drupal content. This allows you to take your node content from Drupal and automatically post the nodes to your Facebook application. The node content floats into Facebook
and retains the Facebook layout and design focuses on exploring methods of integrating Drupal with the popular social networking web application Facebook. In this chapter, the reader will learn how to explore methods of integrating Drupal with Facebook.. To summarize, in this chapter you will:
• Install the Drupal for Facebook module suite and tweak our Drupal
installation and site to support this suite of modules
• Install all of the Facebook client libraries
• Create a developer's account on Facebook and set up a Facebook application environment
• Configure the Drupal for Facebook application settings internally to your Drupal site
• Configure and use the Drupal FBML theme specifically for our Facebook application
• Post content from our Drupal site to our Facebook application home page

Chapter 12, Authentication Services,.
This chapter focuses on exploring methods various web service authentication methods and protocols for use with your Drupal site including OpenID and OAuth. The chapter explores various authentication web services to use with your Drupal site. including use of the Open ID protocol and module and the OAuth protocol in more detail. The latter to connect to a Twitter account and to build a Twitter application using this authentication method. To summarize, in this chapter you will:
• Enable the OpenID module and configure it on our user accounts
• Set up OpenID to interface with our Google account
• Install and configure the OAuth Connector and Connector modules
• Set up a Twitter application environment
• Connect our Drupal site with our Twitter application using the OAuth Connector module.

It is quite difficult to imagine a useful Drupal site or any other web site for that matter which does not consume or supply web services . Web services are not anymore the icing on the cake but are now essential ingredients which will make the difference between an exciting and a bland web application . The book Drupal Web Services should show you how to do web services right and more easily.

Publisher : Packt Publishing