anchr
anchr copied to clipboard
Chrome/Firefox bookmark import
This would be a lifesaver! I'm been on the look out for a bookmark server so that i can import my chrome bookmarks (I have ~5000). Anchr does just that, except for the bookmark import.
Is chrome/firefox bookmark import on the horizon? This would also entail folder capability for the bookmarks.
- [ ] Import netscape compatible bookmarks (chrome/firefox).
- [ ] Flatten folder hierarchy to 1 level.
- [ ] Tags.
Thanks for your feedback! That'd be a nice feature and I'd definitely like to have that in Anchr. Unfortunately I don't have enough time for the implementation, currently. But PRs are always welcome. I'd be glad if someone would attend to that matter.
@n1try I was looking at how I'd preserve the hierarchical structure when you import from chrome/firefox.
https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-materialized-paths/
I'm thinking this would be a good method to do that, all the while giving us the ability to search. What do you think? Any objections?
Could be a way to model nested collections in the database, yes. But a general issue is that Anchr currently does only support one level of "folders" at all and to be honest, I wouldn't like to have nested hierarchies. If someone writes a browser importer then I'd suggest the restriction that the hierarchy is flattened to only the top folder / collection level.
Gotcha, I want to pick up this task this weekend. I'll flatten the hierarchy to just 1 level.
What about tagging support for links? It'll be adding one more string array to each link object. Tagging would help with search too - and it could be added to images and short links as a global search.
However, if you think it doesn't fit with that overall idea you had with anchr, I'll drop it.
In principle, tagging is a good idea, but that'd be a larger modification, so I'd at least think about that in a separate issue.
Concerning the importer: you don't necessarily have to deeply integrate that with the core application, including UI controls etc. For me, a simple command-line script that puts links from a bookmark file into Anchr's database would be perfectly fine and way less effort.
True, I won't build the tagging as a part of this task.
Gotcha, I'll see what I can come up with.
@n1try When you find time, look at my branch - https://github.com/itsmehemant123/anchr/tree/BookmarkImport
I've added the UI for uploading the bookmarks, and then it flattens the bookmarks to 1 level, and adds them as collections.
Its still rough around the edges, so needs cleanup, but the functionality is working. I'd have to add a progress indicator to show the current status of import while its happening, handle any possible errors while adding the collections.
First of all: congratulations for even getting this messy project set up and running 😄 I like your implementation and really want to thank you for your effort. However, I still got a few points:
- [ ] Looks like you broke the table. Table header as well as description- and date column is gone (see http://prntscr.com/i4iezf)
- [ ] The import-related UI is too prominent. Instead of the whole drag & drop thing, I'd rather add a small icon + text (analogously to the + New button in the left bar), which directly opens a file picker. Roughly like this: http://prntscr.com/i4ii4m. You don't necessarily need to add a progress indicator in my opinion.
- [ ] Auto-reload collections after import is complete, so that the user gets feedback on success and immediately can see his bookmarks.
- [ ] I'd suggest to rather use bookmarks-parser (instead of bookmark-parser) since it has fewer dependencies and doesn't require Python and stuff for compilation (which makes it easier to be installed especially on Windows)
- [ ] As you said, correctly handle corner cases and possible errors
Thank you for that work! Please open a PR so we can carry on this discussion right there.
EDIT:
- [ ] Please also remove this comment: http://prntscr.com/i4ilhf