anchr icon indicating copy to clipboard operation
anchr copied to clipboard

Chrome/Firefox bookmark import

Open itsmehemant123 opened this issue 6 years ago • 9 comments

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.

itsmehemant123 avatar Jan 18 '18 19:01 itsmehemant123

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.

muety avatar Jan 18 '18 20:01 muety

@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?

itsmehemant123 avatar Jan 19 '18 18:01 itsmehemant123

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.

muety avatar Jan 19 '18 19:01 muety

Gotcha, I want to pick up this task this weekend. I'll flatten the hierarchy to just 1 level.

itsmehemant123 avatar Jan 19 '18 19:01 itsmehemant123

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.

itsmehemant123 avatar Jan 19 '18 19:01 itsmehemant123

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.

muety avatar Jan 19 '18 19:01 muety

True, I won't build the tagging as a part of this task.

Gotcha, I'll see what I can come up with.

itsmehemant123 avatar Jan 19 '18 19:01 itsmehemant123

@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.

itsmehemant123 avatar Jan 21 '18 23:01 itsmehemant123

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

muety avatar Jan 23 '18 16:01 muety