Extract System Screens
Objective / Overview
An extract is simply a list of partner keys that was created by using certain parameters (selection criteria). In addition each partner record in the extract also contains a link to a location record as partners can have more than one address (location) records.
Extracts and reports in Petra have some similarities. They both are created by using certain selection criteria. While an extract does not immediately have a visual output (but only a list of partner keys) a report will be presented to the user in visual format, either as printout or in Excel format or other formats. However, for some extracts it would also be beneficial to use the selection criteria not only for creating an extract but straight away to produce a report. Extracts are also often used as input for reports so a report can visualize data that exists in the database for the partner records.
Due to similarities and benefits for the user the decision has been taken to combine the efforts of reports and extracts into the same user interface style. Extracts will be simpler to produce than reports as they don't have to deal with the effort of formatting data and selecting columns for display. However, with this approach it is possible to provide the user with a user interface where - at least for some screens - it will be possible to use the same selection criteria to produce either an extract or a report.
As an example take the publication report/extract. The user will have the possibility to either create an extract of partners or a report for people having subscribed to a certain publication. This can be limited to people living in certain locations if needed or other helpful criteria.
Desired Outcome
Adding extract screens, initially from Phase 1 and in the course of doing that
- learning about our screen definition files (YAML files)
- being able to modularize screen parts where appropriate (e.g. address data entry)
- getting to know the openPETRA database structure documentation
- querying data from the database with the extract criteria as input to produce the desired list of partner records (depending on extract this will involve creating SQL queries but also processing of returned data to apply additional filters)
- learning about the client-server-programming and the project structure
- storing query data for extracts so they can be re-run in the future with the same criteria
Recommended Reading
- Getting started and familiar with Bazaar and Launchpad: How to work with bazaar through the GUI on Windows
- Get familiar with the OpenPetra Developer Assistant: OpenPetra Developer's Assistant. Ict.Tools.DevelopersAssistant.exe for this can be found in delivery\bin of your OpenPetra directory once the solution has been compiled for the first time.
- Reading about the initial prototype idea (although this has now developed further so just take this as initial input): Extracts generated from Reports
- How to produce a user interface file by using YAML files: Documentation YAML for OpenPetra Forms
- Important for referencing during development will be the database structure. This is available in either a more visual format produced through SchemaSpy or hyperlinked from HTML files (http://dbdoc.openpetra.org/)
- Probably not needed but in case somebody comes across report creation, here is how the reports are defined: Report Designer
Tasks for creating a new extract
- Create User Interface
- yaml file
- Implement server side code
- SQL file
- cs file to call sql file and process and result
Scope: Extract Screens List
Note: The column 'Complexity' is not of importance to you, but it is important for the openPETRA team to be able to assign easier screens to you as you get started.
Screen Name | 4GL files | Complexity | Phase | Comment | Assigned To | Approved |
---|---|---|---|---|---|---|
General Extract | ? | 1 | ||||
Manual Extract | ? | 1 | ||||
Publication Extract | ? | 1 | ||||
Partner Type Extract | ? | 1 | ||||
Conference Extract | ? | 1 | ||||
Outreach Extract | ? | 1 | ||||
Field Extract | ? | 1 | ||||
Commitment Extract | ? | 1 | ||||
Donor Extract by Field | ? | 1 | ||||
Donor Extract by Motivation | ? | 1 | ||||
Donor Extract by Amount | ? | 1 | ||||
Donor Extract (Miscellaneous) | ? | 1 | ||||
Recipient Extract | ? | 1 | ||||
Contact Extract | ? | 2 | ||||
Interest Extract | ? | 2 | ||||
Relationship Extract | ? | 2 | ||||
Local Partner Data Extract | ? | 2 | ||||
Local Personnel Data Extract | ? | 2 | ||||
Family Members Extract | ? | 2 | ||||
Family Extract for Persons | ? | 2 | ||||
Event Role Extract | ? | 2 | ||||
Conference Role Extract | ? | 2 | ||||
Accounts Payable Extract | ? | 2 |