drupalcontent-management

Web application integration with Drupal


We want to build a web application, that is specific to our domain, but also includes forums, blogs, etc in this application. Some integration points to Twitter and Facebook are also required. There will also be a desktop application that connects to our web application for uploading data and downloading configuration and reports.

The question is, can we extend Drupal to host both the regular modules and our web application? (There will be business entities and their properties and daily data uploaded from the desktop application) Or can Drupal be integrated with external applications? As an example, users and roles need to be the same and consistent across both. We may also want data from the web application searchable in Drupal.

I know this is a bit vague, but I cannot reveal more. I am very new to content management and I just wanted to know if someone has built this kind of application.


Solution

  • I try to rephrase what you wrote, just for you to check that I got your question right. You basically need to create a web application that:

    1. Implements some of the standard functionality of Drupal
    2. Have some custom functionality that should "blend into" the Drupal one (same users, same permissions, etc...)
    3. Be able to upload/download content (or data) from desktop applications.

    If I got you right, the short answer is: yes, you can do that with Drupal.

    Now for the extensive one: - Drupal has literally thousands of modules, so I expect you to get most of the things you want by simply installing the right combination of readily available modules. - Of course, any custom functionality can easily be implemented in form of a module too (quite standard thing these days). - The interaction with a desktop application is normally implemented via webservices rather than querying the DB directly. Drupal comes natively with a xmlrpc server and client, but you can scale up to SOAP - if you wish - via a couple of contrib modules.

    Some additional thoughts:

    At the end of the day, my advice is: if your site is going to go big / complex / with complicated business logic and lots of functionality, then Drupal is probably a good candidate. If your site is contrarily a small-scale one with standard functionality plus a few custom bits, maybe Wordpress / Joomla could fit your needs better [not because they are 'less powerful' but because Drupal strengths would be unused in this case, while Wordpress/Joomla simpler architecture would probably represent an advantage in this scenario]

    Other options would certainly be frameworks like CakePHP or Django, for example, but that - IMO - is a totally different approach to the matter, I would say.