Powerbase (the Progressive Technology Project's hosted CiviCRM program) provides a Drupal site for your CiviCRM database, but, even though it's in Drupal, you can't use it for your web site. Your web site must be hosted elsewhere. This approach is becoming increasingly popular as organizations move from Drupal, Wordpress and Joomla to new web site platforms, or simply don't want their web site vulnerabilities to lead to a compromise of their database. Keeping your web site and database at arms length gives you both this flexibility and security.
However, there's a problem: How do you give users a nice seamless transition from your web site to a CiviCRM contribution form?
Up to now, you have to create a theme on the CiviCRM site that mimics the theme of your web site. Sadly, this is labor intensive, imperfect, and always at risk of becoming dated.
To address this problem, we are working on Remoteform. The extension (while still very much in an alpha/testing state) currently allows you to add a profile or contribution page to a remote web site by including just a few lines of javascript code.
You can specify which web sites are allowed to post data this way, decide which profiles or contribution pages should be allowed to post data, and then you just have to add the code to the web site and you are off and running.
In addition to handling the entire transaction on the remote web site, Remoteform comes with another benefit: it gives javascript coders full control over how the form is displayed. Remoteform has a fully documented api that allows you to do anything you want with the field definitions.
Please take it for a spin and open issues if you find problems.
Currently, it only works with the simplest of Contribution Pages and is only tested with the dummy payment processor and Stripe. The goal is to extend it to include event registration, petitions and more. Feedback and patches welcome.
Comments
This sounds great Jamie. I look forward to hearing more as it develops.
Fantastic news, I had to do a lot of work to get a form from Drupal to embed onto our external site so this streamlined approach is greatly welcomed.
Just wondering if this project is going to take into account/support the work being done on the CiviCRM Form Builder?
I discussed briefly with Tim at the governance summit because we thought about holding off on Remoteform until Form builder was complete. Tim encouraged us to continue because this functionality has not yet been figured out for Form Builder (and might not even be included).
I think the best case scenario is that form builder incorporates this functionality so when it is released, we can retire this extension.
Second best is that Remoteform can be significantly simplified with the release of Form builder.
Either way we'll be watching Form Builder closely.
We (mostly SYSTOPIA and CiviCoop) have been following a similar approach with the CMRF framework for more than two years now.
The basic idea is, that we have a generic module connection to the CiviCRM REST API, and then more specialised modules to then hook into e.g. Webforms. The core is currently implemented for Drupal7 and Drupal8, with Wordpress pending.
Jaap has explained the implementation on Drupal7 with Webforms in a very comprehensive blog post HERE, it's a good read :)