imag/doc/src/09000-todos.md

105 lines
4.5 KiB
Markdown
Raw Normal View History

2017-08-10 20:53:06 +00:00
# Todo
2017-08-25 12:04:18 +00:00
This section contains long-term todos. Some kind of roadmap, of one wants to put
it that way.
2017-08-10 20:53:06 +00:00
## Modules
2017-08-25 12:04:18 +00:00
Modules imag should offer which are not yet started or in progress, including a
short note what each module should do.
2017-08-10 20:53:06 +00:00
2017-08-25 12:04:18 +00:00
First the modules which have been implemented in some way (not necessarily
perfect or feature-complete):
2017-08-10 20:53:06 +00:00
- [x] imag-bookmark - A bookmark manager for web browsing.
- [x] imag-diary - A diary, or multiple.
- [x] imag-counter - Counting things.
- [x] imag-link - Linking imag entries to eachother
- [x] imag-notes - Note taking
- [x] imag-ref - Refering to files outside the imag store.
- [x] imag-tag - Tagging imag entries
- [x] imag-view - Viewing imag entries
Now the modules that are not yet started:
2017-08-25 12:04:18 +00:00
- [ ] imag-bibliography - For handling bibliographic references when writing
scientific papers. Like Citavi, for example.
2017-08-10 20:53:06 +00:00
- [ ] imag-borrow - If you lend something to someone.
2017-08-25 12:04:18 +00:00
- [ ] imag-calendar - Calendar tooling based on icalendar files. No sync
functionality.
- [ ] imag-category - For categorizing imag entries. Categories must exist
before an entry can have a category.
- [ ] imag-contact - Contact tooling based on vcard files. No sync
functionality.
2017-08-10 20:53:06 +00:00
- [ ] imag-cuecards - Cuecards for learning things, for example vocabulary.
2017-08-25 12:04:18 +00:00
- [ ] imag-filter - command to read the store from stdin, filter out entries
based on a predicate specified via the CLI and write the store back to stdout.
- [ ] imag-git - wrapper to call git commands on the imag store no matter
whether the current working directory is the store or not
2017-08-11 22:15:53 +00:00
- [ ] imag-gps - Adding GPS coordinates to entries
2017-08-25 12:04:18 +00:00
- [ ] imag-habit - Tracking ones habits (create habits and make sure you do what
you've planned)
2017-08-10 20:53:06 +00:00
- [ ] imag-image - Image referencing, categorizing, etc.
2017-08-11 22:15:53 +00:00
- [ ] imag-item - Creating entries for Items in the store
2017-08-10 20:53:06 +00:00
- [ ] imag-ledger - Ledger functionality like beancountcand others
2017-08-20 13:46:34 +00:00
- [ ] imag-list - Managing lists
2017-08-10 20:53:06 +00:00
- [ ] imag-mail - Mail handling tool, a CLI-mutt like tool.
- [ ] imag-movie - Movie database handling, categorization and such things
2017-08-25 12:04:18 +00:00
- [ ] imag-music - Music database handling, categorization and such things.
Possibly a scrobble server.
2017-08-10 20:53:06 +00:00
- [ ] imag-news - A RSS Reader
2017-08-25 12:04:18 +00:00
- [ ] imag-project - A project planner, integrated with imag-timetrack and
imag-todo
2017-08-11 22:15:53 +00:00
- [ ] imag-rate - Attaching a rating to an entry
2017-08-25 12:04:18 +00:00
- [ ] imag-read - Command to load the store and pipe it to stdout (usefull for
piping/ chaining commands)
2017-08-10 20:53:06 +00:00
- [ ] imag-receipt - Creating, categorizing, managing receipts
- [ ] imag-shoppinglists - Managing shopping lists
- [ ] imag-store - Low Level CLI Store interface
2017-08-25 12:04:18 +00:00
- [ ] imag-summary - Meta-command to call a set of imag commands (configurable
which) and displaying their outputs
2017-08-10 20:53:06 +00:00
- [ ] imag-timetrack - Tracking time like with timewarrior
- [ ] imag-todo - Tracking tasks like with taskwarrior
- [ ] imag-url - Extracting URLs from enties, saving URLs to the imag store
2017-08-25 12:04:18 +00:00
- [ ] imag-weather - Weather tooling for getting forecast and recording a
history of weather
2017-08-20 13:46:34 +00:00
- [ ] imag-weight - Weight tracker
2017-08-10 20:53:06 +00:00
- [ ] imag-wiki - A wiki for personal use
2017-08-25 12:04:18 +00:00
- [ ] imag-workout - Tools for tracking workouts. One sub-module will be
step-counter tracking
- [ ] imag-write - Command to read the store from stdin and write it to the
filesystem store (usefull for piping/chaining commands)
2017-08-10 20:53:06 +00:00
## Libraries
2017-08-25 12:04:18 +00:00
- [ ] Ensure all libraries are implemented as extension traits rather than
wrapping store types
- [ ] Rewrite logger to allow config/env-var based module white/blacklisting and
writing log to file
- [ ] Rewrite libimagerror to be based on `chain-error` crate. This basically
removes our error infrastructure, though existing traits and convenience
functionality should be kept (for example the `MapErrInto` or the `IntoError`
traits), as much as possible). If the switch to `chain-error` would require
too much code to be rewritten, reconsider.
2017-08-10 20:53:06 +00:00
## User Interface
- [ ] Ensure store ids are always passed as positional arguments
## Project structure and development
- [ ] Move away from github
- [ ] Have own issue tracking (possibly git-dit)
- [ ] Find a solution to having no travis-ci via github anymore
- [ ] Setup a viewer for the mailinglist archive
2017-08-20 14:24:48 +00:00
- [ ] Add maintainer scripts to repository
- [ ] To check patches for Signed-off-by lines
2017-08-25 12:04:18 +00:00
- [ ] To automatically craft a reply to a contributor about a missing
signed-off-by line
- [ ] To automatically craft a reply to a contributor about a patchset that
cannot be applied
2017-08-20 14:24:48 +00:00
- [ ] To check pull requests for GPG signatures
- [ ] To apply a patchset in a new branch