Challenge Overview
This challenge is the first in a series of Drupal challenges that we’ll be launching over the next few weeks. The first challenge focuses on extending the existing Entity Form Drupal module with the following features mentioned below.
If you’re a Drupal developer, you’ve probably frequently used Entity Form to build things like Contact Us pages, survey forms, etc. The Entity Form module is popular as it allows using standard Drupal node fields on a form. A simple example as shown below is available here
However, it does have the following limitation which we’d like to address
Custom Export & Import
Though EntityForm provides basic export capabilities using the View Data Export feature, it is fairly limited. We would like to enhance this as per the following
- Allow users to export a set of modified reports made using the Entity forms admin interface to an Excel spreadsheet for management purposes, potentially modifying this, and re-importing the modified form definition to a Drupal website.
- The client uses about 800 of these forms, therefore, the export/ import feature should be easy to use - allowing forms to be modified easily, exported and reimported into the system.
- The preferred export/ import format is CSV. However, if there are any compelling issues (should be discussed in forums with co-pilot), we can allow using JSON/ XML as the metadata format as well.
A crude visualisation for export is as follows
- If the export is successful, it should generate the CSV (or XML/JSON) output file
- If the export fails, it should show an appropriate error message
Similarly, for import, the user can click a button, choose a file and then be able to view the imported form contents.
- If the import is successful, the user should be able to preview the imported form
- If the import fails, it should show an appropriate error message
Important!
- The extension needs to be developed for Drupal 7
- The implementation must follow Drupal best practices
- All code must be well commented and must follow Drupal coding standards
- Ensure that admin privileges are respected and the implementation does not have any security loopholes.
- The extension should be scalable, so it works with a large number of form fields
Useful References
Views Data Export and Feed Import modules
Hosting
- Please use the Acquia Cloud Free Tier for hosting/ testing
Note for Submitters & Participants
Please note that all submissions should be judged based on the following criterias provided by the client
- Adherence to Drupal coding standards
- Adherence to PHP coding standards
- Use of unit testing
- Use of Drupal’s standard administration functionality for configuration
- Innovative use of functionality including functionality beyond what is asked for.
- Ease of installation using Drupal standards for module installation.
Final Submission Guidelines
- Submit the Drupal extension zip
- Submit a detailed Deployment and Verification Guide with screenshots explaining how to deploy your extension and how to verify the export, import features
- Submit a demo video (hosted on YouTube as unlisted video)
- Provide access to your demo Acquia Cloud account for verification