[Base, Python] Todo and Done lists

Some examples to be used directly
Forum rules
No question in this section please
For any question related to a topic, create a new thread in the relevant section.
Post Reply
User avatar
Villeroy
Volunteer
Posts: 31279
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

[Base, Python] Todo and Done lists

Post by Villeroy »

Database for tasks that need to be done by someone every X days.
Download link: https://www.mediafire.com/file/k2t123io ... e.zip/file

Requirements
Full installation of LibreOffice (you may try OpenOffice, I can't right now) with Python macros and Java enabled.

Installation
1) Extract the attached zip to some trusted directory. See Tools>Options>Security>[Macro Security...]> tab "Trusted Sources".
2) Open the two text documents Macro_AutoRefresh.odt and Macro_DoneForm.odt. Click the push buttons therein. These documents show and install the required Python code to the user profile.
3) Open the database document Todo.odb. It automatically starts a Basic macro embedded in that document which connects the database document with the external HSQLDB in subdirectory "database" using the driver in subdirectory "driver". In addition, the install macro registers the database as "Todo".
Now you have a local installation on a single PC. For simultanious multi-user access across a local network you would need to set up a HSQL server. A database server is a constantly running program waiting for database requests and coordinating simultanious requests. Me and my co-workers use this since 2012 with a local server-client setup. With a local single--user setup like this you have to include the database folder in your backup strategy.

Playing with demo data
Close the database document. It is not required as a user interface.
The form you will be using most of the time is DONE.odt. It is a stand-alone form document. You may access it through a desktop link or similar means provided by your desktop environment.
The green controls on the top-left corner let you choose a user name (who done it?) and a date in the past. An empty date control refers to today's date.
The yellow table control shows all tasks that have not been performed today. The column labeled "Due" shows how many days a task is due or overdue (red negative values).

A double-click on a task marks a task as done and moves it to the right side. On the right side you see a list of all done tasks, latest on top. You can enter any comment there. Tomorrow the double-clicked task will reappear in the yellow todo list.

The list of tasks to be done on a regular basis is layed out in the form Todo.odt.
The list of users appearing in the green users box of the main form is layed out in the form Users.odt. Users where the "Active" checkbox is unchecked will not appear in the green list box of current users.
There is a spreadsheet Report.ods as a most simple printable report on spreadsheet. When you open this document, you will be prompted to refresh the database link and for a start date, so you don't have to import all the data. The imported data are not stored in the spreadsheet document. Every time you open the document the current data will be imported.
There is also a database report embbedded in the database document. It will also prompt for a start date.

Removing my demo data and prepare for your own tasks
1) Open DONE.odt and click the top-left corner of the white list in order to select all records. Right-click>Delete...
2) Repeat the same with the users in form Users.odt and with the tasks in Todo.odt.
Notice that you can not delete any users or tasks referenced in the done tasks. Therefore you need to remove all done tasks before you can delete all users and all tasks.

Now enter your own user(s), your own tasks and open DONE.odt.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04 with LibreOffice 6.0, latest OpenOffice and LibreOffice
Post Reply