Table of contents
- Improved exporting to CSV and JSON files
- Automate exporting using AppleScript
- More explanatory user interface
Improved exporting to CSV and JSON files
For a long time, Daily includes the ability to export data to CSV and JSON. Users rely on this to import hours tracked using Daily into 3rd party software. Examples include invoicing suits, project management tools and HR portals. If you depend on Daily's exporting capability, we have some good news for you. Based on user feedback, we introduced the following changes:
Configurable duration format
The format of the duration shown in both exported CSV and JSON files is configurable. The following formats are supported:
Total seconds (e.g. 1580)
Total minutes (e.g. 26.33)
Total hours (e.g. 0.44)
H:mm:ss (e.g. 0:26:20)
m:ss (e.g. 26:20)
H:mm (e.g. 0:26)
Text (e.g. 0h 26m)
The decimal separator used in CSV files is localized, meaning your favorite spreadsheet software can import data flawlessly.
Apply time rounding
Previously, time rounding was automatically applied, by respecting the setting in Daily's preferences. Now, time rounding can be disabled when exporting. It still respects the setting in Daily's preferences when enabled.
Automate exporting using AppleScript
Above mentioned changes are also propagated to AppleScript. Below you can find a few examples. Note that we still support the older AppleScript scripts and their resulting formats, so there's no need to update your tooling.
Summary with format "H:mm:ss" and time rounding to CSV
tell application "Daily"
set LastWeek to (current date) - (7 * days)
set Today to (current date)
set Location to choose folder with prompt "Please select a folder where you want to store the exported files:"
export csv with report "summary" from LastWeek to Today with delimiter "," with duration format "H:mm:ss" to file POSIX path of Location & "summary.csv" with time rounding
end tell
Daily overview with format "minutes" and without time rounding to CSV
tell application "Daily"
set LastWeek to (current date) - (7 * days)
set Today to (current date)
set Location to choose folder with prompt "Please select a folder where you want to store the exported files:"
export csv with report "daily" from LastWeek to Today with delimiter "," with duration format "minutes" to file POSIX path of Location & "daily.csv" without time rounding
end tell
Summary with format "text" and with time rounding to JSON
tell application "Daily"
set LastWeek to (current date) - (7 * days)
set Today to (current date)
set Location to choose folder with prompt "Please select a folder where you want to store the exported files:"
export json with report "summary" from LastWeek to Today with duration format "text" to file POSIX path of Location & "summary.json" with time rounding
end tell
Daily overview with format "seconds" and without time rounding to JSON
tell application "Daily"
set LastWeek to (current date) - (7 * days)
set Today to (current date)
set Location to choose folder with prompt "Please select a folder where you want to store the exported files:"
export json with report "daily" from LastWeek to Today with duration format "seconds" to file POSIX path of Location & "daily.json" without time rounding
end tell
Summary overview with format "minutes" and with time rounding printed as JSON
tell application "Daily"
set LastWeek to (current date) - (7 * days)
set Today to (current date)
print json with report "summary" from LastWeek to Today with duration format "minutes" with time rounding
end tell
Other AppleScript examples can be found on our Support & FAQ page.
More explanatory user interface
We've made the user interface more explanatory by adding context-aware messages and banners. This include various dismissible tips & tricks (e.g. explaining how entries can be edited) and app & license status (e.g. informing you Daily's license is soon expiring or already has expired). Many of these messages include call-to-actions to learn more or take immediate action. The goal of these messages is to make Daily easier to understand.