Started in 1999 as a message board, Drupal has emerged as a leading open-source platform for structuring, managing and publishing content using diverse software packages today. It also allows a series of customizations. Added to the basic functions of content management, Drupal is rising in the league of web service providers. Drupal supplies content into its anatomy from other web apps (like Mollom, Flickr, Amazon, Twitter, and Google). This vast network encompassing the web portals makes Drupal a content management system loaded with features that can execute and develop multi-dimensional methods to inject content into the database and site framework. Consider the case of Drupal FeedAPI (Application Programming Interface) module that permits the developer to pick out the RSS/XML URLs from the external sites and feed these into the Drupal site.
What makes the gathering of content from diverse web apps and its sharing on the Drupal website possible? This is made possible through Drupal Services module. The Drupal Services Module catalyses the connection to web services by utilizing interfaces (like JSON-RPC, XMLRPC, AMF, JSON and SOAP). These interfaces act as intermediary between your Drupal site and the web services.
For a Drupal site to contact and mediate with other web apps (like Twitter, Flickr, Amazon), standardized communication protocols have to be used. These are called web services. Web service protocols permit external web apps and servers to communicate with Drupal site running on the personal server. Web services allow the Drupal site to carry the content and info to external web app standing on private servers. The primary advantage of using web services through Drupal Service Module is that it allows you to build a matrix within which you can make your content available to web browsers and consequently, to the visitors.
When you visit a particular website, you are encountering content which is propriety to specific web app. In Drupal, the content is present in form of nodes (in some cases). The resources which exist on a site (like text, block ID, audio, video, node ID) are provided a unique identifier by web services. Every node in Drupal has an ID such that the file uploaded owns a unique pathway to it. In instances where you wish to share the content with other sites which are non-Drupal, the presence of such pathways can open up ways for communication. All apps share this semantic framework. Things are denoted similarly throughout web apps. Thus, when we write code in PHP, we can summon these resources using the unique identification pathway. The app-server within which the resource resides then replies to the request through an XML document.
By using web services in Drupal, you can share the content throughout the world-wide-web. Since the code-ground of Drupal and of prominent web apps (like Joomla, Flickr and WordPress) is common (PHP), they can be integrated to share the content. For instance, suppose that your Marketing Department wishes to integrate the vacancy listings and apps with a web application like Monster.com. This can be done through web services. Other instances where you can use web services include uploading of photos from Drupal site to Flickr/Instagram. This also reveals the advantage of using Drupal than other platforms in the first place. By using Drupal, you avoid the need to upload the photos two times (once to the Drupal site and then for the Flickr/Instagram). Once you have uploaded images onto the Drupal site, you can send the data to Instagram automatically without requiring a re-upload.
The Services module is Drupal’s latest version on web services. It is a basic resolution for integrating the external web apps with Drupal site. This module backs service call-backs used with standard service protocols. These include REST, AMF, JSON, JSON-RPC and others. You can activate customized content servers and services on the Drupal site from a singular central module backend configuration and administration region. The Services module will assist your Drupal site to interact and supply web services through multi-dimensional interfaces. These interfaces will make use of identical call-back programs. This accounts for the dynamic and flexible nature of the module. The module owns the following features:
- Possesses an API which permits other modules the capacity to formulate web services
- Contains server API which permits modules to generate servers like SOAP and REST
- Contains test API and test pages
- Provisioned with power to handle API keys with ease
- Services like those of System, File, Views, Node, Taxonomy, Menu, and User are instilled in the module
In the Services module, you can supply the API keys of web services to their configuration such that interaction with diverse web service apps becomes possible. An API key functions as a username does. This forms a security slice for the app where you will add a particular API code/key. In many instances, the API key is accompanied by a secret pass-code that will be later added to the module’s configuration. While signing up for a Flickr Developer’s account for using the Flickr module in Drupal, you will be handed over an API key and secret pass-code that you will consequently add in to the module’s configuration sheet.
The Services module is also topped off with an intuitive and high-performance web user-interface where you can manage administrative work and also test services. This UI can be found at Admin –> Site Building –> Services. The UI comes with API Key management and API documentation. The interface pressures the generation of API keys through the admin. You could also formulate a module where the API keys are generated automatically for each user. You can also use the API Key management for prohibiting access to services for specific keys. When you formulate keys, you provide both the permitted domain and application title. The title defines function of the key and its user.
The Drupal community makes high use of REST protocol (in the Services module) owing to its dynamic character. When using REST as the protocol for picking up web service, you use standard methods like XML and also associate with particular resources where each of the resources will have a URI (unique resource identifier).
Have you started exploring the cutting edge features of Drupal? Leave your comment below.
To know more about Suyati’s expertise in Drupal, please send an email to services@suyati.com.