Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement and document flexible CSV import & merge feature (for previously stranded Revelation users) #85

Open
nekohayo opened this issue Mar 2, 2021 · 1 comment

Comments

@nekohayo
Copy link

nekohayo commented Mar 2, 2021

Context

I was a Revelation user for 15 years, and I had over 500 passwords/credentials in it. There was nothing that matched Revelation in terms of usability and the ability to have per-password-type UIs that made sense.

When Revelation was dropped from major distros in 2019 during the great Python2 purge, and I could no longer use the app, and since all the other apps sucked (and/or couldn't handle anything but CSV as an interchange format anyway), I had no choice but to reluctantly migrate to... a big spreadsheet. So I exported from Revelation to CSV, and created a password-protected OpenDocument spreadsheet (ODS) file with a couple of tabs to try to categorize the madness.

Fast-forward to 2021, I'm super happy to discover that Revelation has been being revived (big thanks! I was not expecting that to happen when it had been abandoned for years by the original author)... but I'm stuck with my data now being in a spreadsheet, and obviously having diverged since then :/

Request

I'd like to be able to somehow re-export that as a CSV and reimport into the new Revelation, preserving/merging the existing data. I still have the old revelation data file from 2019, but my data in the spreadsheet obviously diverged quite a bit in the meantime.

So for me to be able to use Revelation again, I'm thinking it would need to have:

  • CSV (if not ODS) import support, and either some UI to "map" columns to the particular fields of each password type, and to say "this batch of passwords I'm importing now are of this type of password)
  • A well-documented specification of what Revelation expects as its CSV import format's syntax (ex: what are column separators/delimiters, do strings need to be encased in a character like ", if there needs to be a particular column order, etc.), as currently I have no idea what would be an "acceptable" CSV file to Revelation.
  • Some sort of duplicate detection? (maybe based on the "name" of the entry and the last-modified timestamp and a combination of factors?)
  • Ideally support for date parsing to retain the old last modified dates (yep, I still have that data in a column in my spreadsheet!)
  • Ideally support reimporting into the correct folders using folder names specified in one of the columns?

I think this would be useful not just for Revelation expats, but also for any CSV password import in general.

@mikelolasagasti
Copy link
Owner

Hi Jeff, nice to see you here also :)

Your use case is interesting and as you mention it can be useful for someone else also.

I think the second bullet would be the MVP, with bullet 4 and 5 as nice features. Bullet 1 would be interesting but maybe too complex/overkill. Bullet 3 would be interesting as a feature of Revelation, not only for importing.

I wrote something to import KeePassXC CSV format that can be use as a base in case someone wants to write the importer or I can try to do it myself. It would be to analyze every possible field with current per-password-type options (username, password, url, port, command, ...), document the order and write the importer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants