Cliffs:
- PAPA stands for "Pen And Paper Application"
- a Java Application, needs MySQL server (and Connector/J) to run properly
- see some screens in next posting for program features
- download version 1.3 from: http://hochladen.to/files/gnNggWB1424397228.html
change log v1.3:
- added features to backup and restore databases
- adapted the tutorial page to reflect the added features
- TPSR: changed overview sort order to "1. Shiptype name asc, 2. Port name asc"
- TGVM: added "Colony", "Prison Colony", "Theocracy" and "Imperial" as pre-populated data
- some minor tweaks and layout changes
change log v1.2:
- TPIR: added filtering for Demand and Supply indicators
- TSYS: added filtering for Economy and Security
- TSFR: added plausi-check on Influence (must be between 0 and 100)
- TGVM: added "Cooperative" to table's pre-population
- TITM: adjusted pre-defined Global Avg. Prices to recent server changes
- TPSR: adjusted OV layout
change log v1.1:
- enhanced handling of SQL statements for all tables (saving special characters like apostrophs in names and notes is now possible and potential SQL injection attacks are not possible anymore)
- TITM: fixed filtering by name
- TSFR: corrected header label
From the programs "About-Page":
Pen and Paper Application (PAPA) is written by Commander Mafi, beginning with the release of the Computer Space Simulation "Elite: Dangerous"(*). All copyrights of this program belong to the author. As the program's name suggests, it is an enhanced digital version of physical pen&paper notices used to store all kind of information a successful Elite commander comes across and might want to use at a later time.
The program is delivered "as is". The author takes no responsibilty for anything that is caused by the program. The program might be used and distributed free of charge and without changes only, as long as credits are given to the author.
The program was written in Java using Netbeans IDE on a Windows 7 computer. To run this program properly a MySQL Server must be correctly configured and accessible by the program. MySQL is a popular open source database and can be downloaded from mysql.com.
From the programs "Tutorial-Page":
Introduction
This program provides a graphics user interface to store and manipulate data a commander comes across the space simulation game "Elite: Dangerous". The data is stored in a MySQL database. Therefore a MySQL server must be accessible using an account with sufficient privileges/grants to access and manipulate the database. The program starts with default MySQL access data, which can be viewed and manipulated under the menu program->configuration
As to date the program is able to keep track of 16 different logical entities. Each is stored in it's own database table. The tables are put together in two different menu groups, the basic tables and the advanced tables. The basic tables have a predefined and more or less constant set of data records. New records will be added just occasionally, if at all. The group of the advanced tables consists of all tables which will potentially grow rapidly over time. New records will be added very often to these tables.
To access the table data you need first to connect to the database management system via the DBMS menu. Next step is to either select an existing database or create a new database. If a new database is created the basic tables are populated with a predefined set of records, for example all the known items for the commodity marktet.
A database can be exported and imported using the backup and restore features in the database menu. To restore a database the database must already exist, then the restore feature will replace it's content with the content from the backup file used for restoring. That way you can also copy one into another database or transfer a database from one computer to another. For the backup and restore features to work properly the operating system's global path variable must contain the path to the bin folder of your MySQL installation. Also before upgrading from on program version to a new version a database backup should be performed and the old program version should be saved to have a fallback strategy in case something goes wrong when updating the program.
Working with the database tables:
For every table a Graphics User Interface (GUI) exists, consisting of a tabbed pane in 3 parts: 1st Filterview (FV), 2nd Overview (OV) and 3rd Detailview (DV).
1. Filterview tasks:
The FV gives the user a way to define conditions for a "where" clause when trying to perform a "select" statement on the database table, limiting the result set to certain or a single record(s). If no changes on the initial FV's contents are made a "select" statement with no "where" clause is performed. The number of records resulting from the filter operation can be limited by setting a number of "max. Records". If the value of max records is set to 0, all available records will be selected.
1. a) The user may change the content of the FV's fields and/or execute the Filter operation. When the Filter operation was successful a resultset will be displayed in the OV. The user may perform tasks in the OV or switch back to the FV and rerun the Filter operation with different filter settings.
1. b) The user may create a new table record by directly switching to an initialized DV by pressing the "New" button.
2. Overview tasks:
The OV displays a number of records, one per row, resulting from previous operations performed in FV or DV. Currently the OV is non-editable. This may or may not change in a later program version.
2. a) Refreshing the OV will simply (re)run the Filter operation with the current FV settings. It's basically the same as executing the Filter again, just more convenient, because the user don't need to switch back to the FV.
2. b) The user may select one row from the OV and switch to DV, performing DV tasks with the selected row.
3. Detailview tasks:
The DV displays one record at a time. Depending on how the user accessed the DV, different tasks may be performed. Coming with a selected record from the OV, that record will be displayed in the DV and can be changed or deleted. Coming directly from the FV only creating a new record or reading and modifying single existing records will be possible.
3. a) Pressing the "Read" button will perform a "select" on the database using the given contents of the DV primary key fields (the rest of the DV will be ignored) and display the result in the DV.
3. b) Pressing the "Save" button will create a new record with the current contents of the DV or update the record if it already existed. Special checks may be performed prior to executing this operation to make sure the content of the DV is plausible. The OV will be updated accordingly.
3. c) Pressing the "Delete" button will delete the current DV's record after a successful plausi check. If the current record is still used by other table's records due to some foreign key constraints, the deletion will not be possible. Cascading deletion is not supported in the current program version. This may or may not change later. After successful deletion the OV will be updated accordingly and the DV will be re-initialized.
3. d) Pressing the "Init" button is basically the same as coming directly from FV. The DV will be re-initialized and the user may continue creating a new record or reading a single record in the DV.
3. e) Whenever the user changes the primary key the "Save" operation will be disabled until a "Read" operation was performed. This is to prevent accidently overwriting existing records with data from other records.
Commander Mafi
- PAPA stands for "Pen And Paper Application"
- a Java Application, needs MySQL server (and Connector/J) to run properly
- see some screens in next posting for program features
- download version 1.3 from: http://hochladen.to/files/gnNggWB1424397228.html
change log v1.3:
- added features to backup and restore databases
- adapted the tutorial page to reflect the added features
- TPSR: changed overview sort order to "1. Shiptype name asc, 2. Port name asc"
- TGVM: added "Colony", "Prison Colony", "Theocracy" and "Imperial" as pre-populated data
- some minor tweaks and layout changes
change log v1.2:
- TPIR: added filtering for Demand and Supply indicators
- TSYS: added filtering for Economy and Security
- TSFR: added plausi-check on Influence (must be between 0 and 100)
- TGVM: added "Cooperative" to table's pre-population
- TITM: adjusted pre-defined Global Avg. Prices to recent server changes
- TPSR: adjusted OV layout
change log v1.1:
- enhanced handling of SQL statements for all tables (saving special characters like apostrophs in names and notes is now possible and potential SQL injection attacks are not possible anymore)
- TITM: fixed filtering by name
- TSFR: corrected header label
From the programs "About-Page":
Pen and Paper Application (PAPA) is written by Commander Mafi, beginning with the release of the Computer Space Simulation "Elite: Dangerous"(*). All copyrights of this program belong to the author. As the program's name suggests, it is an enhanced digital version of physical pen&paper notices used to store all kind of information a successful Elite commander comes across and might want to use at a later time.
The program is delivered "as is". The author takes no responsibilty for anything that is caused by the program. The program might be used and distributed free of charge and without changes only, as long as credits are given to the author.
The program was written in Java using Netbeans IDE on a Windows 7 computer. To run this program properly a MySQL Server must be correctly configured and accessible by the program. MySQL is a popular open source database and can be downloaded from mysql.com.
From the programs "Tutorial-Page":
Introduction
This program provides a graphics user interface to store and manipulate data a commander comes across the space simulation game "Elite: Dangerous". The data is stored in a MySQL database. Therefore a MySQL server must be accessible using an account with sufficient privileges/grants to access and manipulate the database. The program starts with default MySQL access data, which can be viewed and manipulated under the menu program->configuration
As to date the program is able to keep track of 16 different logical entities. Each is stored in it's own database table. The tables are put together in two different menu groups, the basic tables and the advanced tables. The basic tables have a predefined and more or less constant set of data records. New records will be added just occasionally, if at all. The group of the advanced tables consists of all tables which will potentially grow rapidly over time. New records will be added very often to these tables.
To access the table data you need first to connect to the database management system via the DBMS menu. Next step is to either select an existing database or create a new database. If a new database is created the basic tables are populated with a predefined set of records, for example all the known items for the commodity marktet.
A database can be exported and imported using the backup and restore features in the database menu. To restore a database the database must already exist, then the restore feature will replace it's content with the content from the backup file used for restoring. That way you can also copy one into another database or transfer a database from one computer to another. For the backup and restore features to work properly the operating system's global path variable must contain the path to the bin folder of your MySQL installation. Also before upgrading from on program version to a new version a database backup should be performed and the old program version should be saved to have a fallback strategy in case something goes wrong when updating the program.
Working with the database tables:
For every table a Graphics User Interface (GUI) exists, consisting of a tabbed pane in 3 parts: 1st Filterview (FV), 2nd Overview (OV) and 3rd Detailview (DV).
1. Filterview tasks:
The FV gives the user a way to define conditions for a "where" clause when trying to perform a "select" statement on the database table, limiting the result set to certain or a single record(s). If no changes on the initial FV's contents are made a "select" statement with no "where" clause is performed. The number of records resulting from the filter operation can be limited by setting a number of "max. Records". If the value of max records is set to 0, all available records will be selected.
1. a) The user may change the content of the FV's fields and/or execute the Filter operation. When the Filter operation was successful a resultset will be displayed in the OV. The user may perform tasks in the OV or switch back to the FV and rerun the Filter operation with different filter settings.
1. b) The user may create a new table record by directly switching to an initialized DV by pressing the "New" button.
2. Overview tasks:
The OV displays a number of records, one per row, resulting from previous operations performed in FV or DV. Currently the OV is non-editable. This may or may not change in a later program version.
2. a) Refreshing the OV will simply (re)run the Filter operation with the current FV settings. It's basically the same as executing the Filter again, just more convenient, because the user don't need to switch back to the FV.
2. b) The user may select one row from the OV and switch to DV, performing DV tasks with the selected row.
3. Detailview tasks:
The DV displays one record at a time. Depending on how the user accessed the DV, different tasks may be performed. Coming with a selected record from the OV, that record will be displayed in the DV and can be changed or deleted. Coming directly from the FV only creating a new record or reading and modifying single existing records will be possible.
3. a) Pressing the "Read" button will perform a "select" on the database using the given contents of the DV primary key fields (the rest of the DV will be ignored) and display the result in the DV.
3. b) Pressing the "Save" button will create a new record with the current contents of the DV or update the record if it already existed. Special checks may be performed prior to executing this operation to make sure the content of the DV is plausible. The OV will be updated accordingly.
3. c) Pressing the "Delete" button will delete the current DV's record after a successful plausi check. If the current record is still used by other table's records due to some foreign key constraints, the deletion will not be possible. Cascading deletion is not supported in the current program version. This may or may not change later. After successful deletion the OV will be updated accordingly and the DV will be re-initialized.
3. d) Pressing the "Init" button is basically the same as coming directly from FV. The DV will be re-initialized and the user may continue creating a new record or reading a single record in the DV.
3. e) Whenever the user changes the primary key the "Save" operation will be disabled until a "Read" operation was performed. This is to prevent accidently overwriting existing records with data from other records.
Commander Mafi
Last edited: