yoshistabber / anymemo

Automatically exported from code.google.com/p/anymemo
GNU General Public License v2.0
0 stars 0 forks source link

Import files into existing DB #299

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
The original discussion happens here:
http://anymemo.org/forum/posting.php?mode=reply&f=3&t=2637&sid=14cc5653d333fa844
937a45552f89210

Here is the scenario in the last post
1. User select "Import Csv",
2. User confirm the name / path of the new db.
3. If user double click the text area, a file browser will pop up so the user 
can select an existing db
4. Once user click "Ok" to confirm the path to the db, anymemo will start 
converting
5. If the path exists, the new csv will be merged into the existing db. The old 
db will be backed up as ****.backup.db
6. If the path doesn't exist, a new db will be created.

Original issue reported on code.google.com by mrlhwlib...@gmail.com on 25 Jan 2014 at 6:22

GoogleCodeExporter commented 8 years ago

Original comment by mrlhwlib...@gmail.com on 25 Jan 2014 at 6:22

GoogleCodeExporter commented 8 years ago
I propose another way that is much much easier to implement and can actually be 
made into version 10.4 instead of delaying to version after 10.4 for the 
scenario mentioned in the first post.
If you import the file with the same name, it will pop up a dialog saying you 
want to merge or not. If the answer is yes, the db with the same name will be 
merged with the new db.
One advantage of this way is not complicating the import process for the 
current use cases. Any ideas?

Original comment by mrlhwlib...@gmail.com on 25 Jan 2014 at 6:28

GoogleCodeExporter commented 8 years ago
Oh, that's a really good idea. Thank for the suggestion!

Original comment by dbz....@gmail.com on 25 Jan 2014 at 10:09

GoogleCodeExporter commented 8 years ago
Am I right saying that now the scenario will look something like that:

1. User imports a file.
2. System checks the file name.
3. If the name is the same as with an existing DB, the system asks user if he 
wants to merge file content with existing DB.
3.1. If the user says 'Yes' then the system merges file content into an 
existing DB.
3.2. Go to end.
4. [User says 'No' or the file name differs] System shows the dialog where the 
user can choose name/path of the new db.
5. User completes the dialog.
6. System check entered name/path. If user selected name or path of existing DB 
then repeat from step 3.
7. System creates new DB.
8. End.

?

Please correct me.

Original comment by dbz....@gmail.com on 25 Jan 2014 at 10:31

GoogleCodeExporter commented 8 years ago
There is no file selection dialog if you say "No" to merge. It backup the old 
db and create a new db with the same name, the same behavior like before. That 
can actually save a lot of coding :) Is that OK for you?

Original comment by mrlhwlib...@gmail.com on 25 Jan 2014 at 6:38

GoogleCodeExporter commented 8 years ago
Yes, sure. I've just took your scenario and modified it :)
Seems we see things equally. So yes, it is OK for me :)

Original comment by dbz....@gmail.com on 25 Jan 2014 at 8:13

GoogleCodeExporter commented 8 years ago
Ok implemented the way we discussed before. Tomorrow's nightly build should 
have this feature:
http://anymemo.info/autobuild/job/AnyMemo/

I also created a new wiki page for help doc:
http://anymemo.org/wiki/index.php?title=Import_CSV/QA_txt_into_existing_db

Please download the 2014-01-29's build 100+ and test it out and let me know if 
it is OK. Thank you!

Original comment by mrlhwlib...@gmail.com on 29 Jan 2014 at 2:29

GoogleCodeExporter commented 8 years ago
Works as expected. Thank you very much!
When are you planning to put a stable release to the Google Play?

Original comment by dbz....@gmail.com on 31 Jan 2014 at 6:22

GoogleCodeExporter commented 8 years ago
The only issue I faced with is
- according to wiki 'If you select "No", the existing db file will be renamed 
and a new db will be created.'
- but in my case if I select "No", the existing db file is just replacing with 
a new one; no renaming.

Original comment by dbz....@gmail.com on 31 Jan 2014 at 6:27

GoogleCodeExporter commented 8 years ago
Thank you for reporting back! The "No" should back up the existing db. I 
verified it is a bug and I fill fix today and you can try out in tomorrow's 
nightly build.

AnyMemo 10.4 is currently still in beta. I will release it to Google Play when 
I consider features are well tested and translations are complete. In the 
meantime, please help us testing the nightly build and let me know the problems 
ASAP so bugs will be fixed before the official release.

Original comment by mrlhwlib...@gmail.com on 31 Jan 2014 at 6:31

GoogleCodeExporter commented 8 years ago
Thank you for the answer!
I will test your great app periodically, but can't promise I'll do it very 
frequently :)

Original comment by dbz....@gmail.com on 2 Feb 2014 at 12:07

GoogleCodeExporter commented 8 years ago
That's great. Closing this issue.
You do not need to test nightly build frequently. Just try one version and if 
you found problems, update to the latest and if the problem is still there, 
report an issue here. Thank you!

Original comment by mrlhwlib...@gmail.com on 5 Feb 2014 at 6:44

GoogleCodeExporter commented 8 years ago
Howdy. Just found this application because i was frustrated with a competitor's 
import options. 

I have searched for a little while to try to work out if the "merge" is a real 
merge or simply an "append". The few tests i have done simply append the new 
records. I can live with that - just need to edit my CSV file each time i 
update. But it would be nice if it checked for the existence of cards and only 
grabbed new ones. Or even better used an ID column if one was available.

Sorry if this is the wrong spot to ask this question...

Andrew

Original comment by rogers...@gmail.com on 11 Aug 2014 at 2:04

GoogleCodeExporter commented 8 years ago
You can do that. AnyMemo has a hidden dedup function. After importing / 
merging, go to the list and long click the db and go to "Preview/edit". Open 
the menu by clicking "..." on the top right (Android 4.x) select "Advnaced ..." 
and then select "Remove duplicates". This will remove duplicated cards.

Original comment by mrlhwlib...@gmail.com on 11 Aug 2014 at 6:12