Comments (3)
On second thought... instead of pasting the backlog into the Mattermost bot, we could add a page (e.g. civicrm/timetrack/import?reset=1
) with a big TEXTAREA. Then paste the backlog of !pi
statements in there. Then the patch could be entirely written as part of the extension (without needing access to the bot...). That might also make it easier to test locally (during development)...
from coop.symbiotic.timetrack.
This kind of ties into a lot of "batch data entry" requirements that we often encounter. I'd like to develop something more generic.
I would like to do this with advimport, which started out mostly as an importer for Excel files, but has a batch data updater that I find is evolving nicely, and could be used for batch data entry.
I'm mostly pondering how to make the UX quick, without having to click through multiple wizard steps to enter data.
Ex:
- User copy-pastes data into a text field
- Advimport timetrack helper parses the data, directly imports it
- If there are errors, the user can go to the screen for reviewing errors and fix/update values as necessary.
Advimport is normally a 3 step wizard, which would be annoying for timetracking data entry, but we can use URL presets to make the first step "copy-paste data", second screen is the field mapper, which would be empty, but we can show some stats to confirm what we are importing, ex: "you are about to punch X hours for the period of 2019-02-01 to 2019-02-05", then run the import (runs the queue), to then go to the final import status page (and from there, if there are errors, you can view/fix them).
(In the second wizard step, I would avoid displaying the data, because there can be a lot of data, and it's not directly actionable unless we go to the batch-data-updated screen, which would be another annoying wizard step, although it could be a wizard checkbox at some point, i.e. "Load data, but do not import yet").
from coop.symbiotic.timetrack.
Ah, I haven't used AdvImporter, but agree that it sounds like a reasonable thing to adapt. Will try to take a look at it the next time I get my head here.
FWIW... I didn't see your last comment until a bit too late. I binged and wrote a PR which defines (1) an API entity Timetrackpunchlist
(actions for preview
and import
) and (2) an AJAX UI which just connects a textarea to the new API. It's not as a general, but I do like the live-editing/fixing experience. Seems worthwhile to see what you think of it...
from coop.symbiotic.timetrack.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coop.symbiotic.timetrack.