In recent months we have worked on a project which we are proud of the product that we have developed. We used Drupal 7 to create a system of importing, viewieng financial reports and download them later in excel in multiple formats with macros.
Conducted an extensive planning project to create an structure suitable content and the project can easily grow over time.
- To import the data, we developed a form that took xml's multiple records to create n nodes in each import for each record that is in the XML (DATA) for the data in each record we draw in the declaration of fields used in the xsd structure that was previously conducted for each financial report.
- Before reports can be imported and be as used as nodes, the process goes through three stages of validation: the first is to compare the statement of the xsd's for each report, the second is comparing the code numbers that were put in the xml's against code fields in terms of different taxonomies (Example Panama has a code and if the data in the report has the bracket Country defined, it will compare it against the taxonomy of countries and if it is between the codes then it will pass validation) and the third is creating a logic sum-subtraction of amounts in conjunction with a taxonomy we handle with parent-child hierarchy.
- All these reports keep error messages and success in watchdog thus create a log of validations.
- Also included in the import is the module that gives versions, thus creating historical reports that can be reversed.
- A lot of work with field collections were made to create versions, as we had to detect whether they had new records or some have been removed in order to compare or to create new versions.
- To view the reports we created formats for each type of content modifying the TPL's and processing data before printing the information on the tp'ls, being each report different and also because it had to interact with the data using formulas or having to rearrange information.
- Develop a form depending on the choices you call different views that are in code, decided to use views for easy future administration since it is very likely that these consultations with time grow, we use views php with static variables, this we It allows use php code to interact with the data of these consultations.
- To download reports in excel format, we use a library called PHPExcel, which lets you interact with data and inject it into Excel, therefore we use macros to interact with the data of certain sheets and print formats. We had some problems with the library using macros but we make certain arrangements and ready.
Here is a brief synopsis of a very special kind of development with Drupal, the project has more features such as delegation of roles used by role hierarchy between users, elimination of mass data, a management console, etc., but most importantly the project mentioned above.