BoostIO / BoostNote-Legacy

This repository is outdated and new Boost Note app is available! We've launched a new Boost Note app which supports real-time collaborative writing. https://github.com/BoostIO/BoostNote-App
Other
17.06k stars 1.46k forks source link

Evernote integration #1595

Open pfftdammitchris opened 6 years ago

pfftdammitchris commented 6 years ago

Would you guys want an evernote feature integration with boostnote? It is a widely popular note taking application that spans across platforms (mobile, desktops, web) and is a really effective way to manage notes. I have a section on my evernote account that relates to my developer experiences but I use it to mostly for my personal life. The point is that it would be nice to sync both boostnote and evernote notes in one place so that wherever you edit it in boostnote will propagate to evernote if you choose to link them together, so that you stay on the boostnote app to quickly take notes to your personal notes while your still on the boostnote app.

Evernote has an API and uses markdown so it would integrate pretty smoothly into boostnote. I think this would bring some developers who store their code notes into evernote use boostnote to do it, so we would have more users. (Evernote is lacking heavily on code editor features and syntax highlighting, which is where boostnote will fill up that gap for them). If evernote is their favorite note taking app and they don't want to get away from it but wish they can have some nice code editor features for code notes, they could now use boostnote to make their dreams come true)

If I do this correctly I can try to provide an option when creating a note or editing the note, to link to an evernote note from the evernote api. When you make changes to the note in boostnote, it will sync + save to your note that you have on evernote. If you go on evernote and make a change to that note, then the next time you go to that note in boostnote it will automatically show the latest changes.

So when the user enables a note on boostnote to link to one of their evernote notes, the note will read the option by some boolean check and then begin operating as an observer and throttle a function that gets invoked to request the change to the evernote api

RomanKlopsch commented 6 years ago

I thinks this is a great idea and and could really make Boostnote more popular! What do you think about adding the possibility of adding a storage, that syncs with the connected Evernote account? The Evernote-notebook-structure could be mirrored by Boostnotes folders. In this case only a single action would be necessary to link a whole account. It would also be great to have the possibility of specifying, which notebooks should be synced.

pfftdammitchris commented 6 years ago

That was actually noted down in my to-do notes for this feature! A note can be linked to one evernote note, a folder can be linked to an evernote notebook/category, and a storage can be linked to an evernote notebook. The boostnote note to evernote note will be my first concern and should be the main target feature as far as my concerns are. It is definitely possible to code that.

Seeing as how the notes are stored in boostnote, syncing a batch of notes with the evernote api needs some thinking though. I'm going to work on this atm and find solutions. But first, I must map this plan out, take notes, draw charts, etc and how I am going to design this :D will submit a pull request and hopefully will get accepted.

I am a huge evernote fan so I will run the extra 20 miles to implement this

bluefuzz commented 6 years ago

No! The main reason to use apps like Boostnote and other free and open note apps is to get away from Evernote and the like. Other than a robust import of EVN files I see no reason to waste time on more Evernote integration.

pfftdammitchris commented 6 years ago

I can see where you are coming from. The thing is I'm trying to think of a solution for someone who is trying to take notes for their coding career in one app but still keep their personal notes next to them somehow without leaving the boostnote app

The way it is now for someone like me who takes a lot of personal notes down (writing down on what time I planned to go grocery shopping, etc) who decides to code notes, this is what happens every day:

-Open up boostnote, start coding -Open up evernote, leave it opened for that one (or 2 or 3) important notes that I need to have readily-available next to me just in case something personal pops up

If the user is able to keep their personal notes next to them without leaving the boostnote app (which is where my small idea of an evernote integration comes in), they can quickly glance/edit their personal notes and go straight back to coding in boostnote)

Just opening up evernote and minimizing it is a solution but now you have a separate app to put beside you

My main goal is to integrate a one to one sync of a note, not syncing a user's entire evernote notes that they stored into their account over there (syncing their entire notes from evernote might be too much to build into boostnote) - syncing evernote notes to a boostnote folder/storage was just an idea that sounded cool but syncing one boostnote to one evernote note is my main proposition and a really cool sounding feature

pfftdammitchris commented 6 years ago

Trust me the feature I want to build will not be a big deal. It will probably just be a simple icon on top of a note item where a user can click and provide details to sync that into their evernote note

If you have an evernote note to look after or put beside you and you want to stay in the boostnote app, you can choose to sync it with a boostnote note

eitland commented 6 years ago

I'll try to be a little more nuanced than @bluefuzz :

Personally I left Evernote years ago and won't need it but I can understand if others want it.

I don't know how far away #1018 is, but IMO this seems like a good candidate for a plugin.

csotiriou commented 6 years ago

+1 for Evernote.

For all who oppose, I can understand if one doesn’t care about this feature. What I cannot comprehend is how some people confuse “adding support for X” with “polluting the open source community and succumbing to the corporate needs”.

I for one would love Evernote integration. I was using Apple products everywhere, therefore Bear was the ideal solution for me. Now, I changed jobs, and I am using Linux. But my home computer is OS X, and my phone is an iPhone. boostnote has covered my needs in Linux, but the mobile apps are really lagging behind anything else in terms of usability. So I was forced to turn to Evernote since it has at least a great web version, and very good mobile apps.

Evernote integration in Boostnote would be great for people like me. On the other hand, Evernote is a wysiwyg note editor. Boostnote is a markdown editor. How can these two worlds coexist in an efficient manner inside the same app without supporting two completely different notes formats?

IssueHuntBot commented 6 years ago

@kazup01 cancelled funding, $100, of this issue. Visit this issue on Issuehunt

IssueHuntBot commented 6 years ago

@boostio funded this issue with $140. Visit this issue on Issuehunt

IssueHuntBot commented 6 years ago

@jvik funded this issue with $5. See it on IssueHunt

IssueHuntBot commented 5 years ago

@dylhack has funded $2.00 to this issue.


adelinaenache commented 5 years ago

Hey, I stumbled by this issue on issueHunt, and I want to contribute. I like the idea of syncing separate notes, and not the entire notebook/folder.

For this feature, a simple "sync" icon near the top right menu seems enough. When the user clicks this for the first time, a modal asking for the user's notebook & note title should pop up. The problem appears when the note already exists in Evernote. In this case, I see the following options.

1) Display modal (or pop-up) asking the user if he wants to override the Evernote note with the Boostnote one or if he wants to import the Evernote note over the current one

2) In "make a note" menu, add another option with "import from evernote" - and keep this the only way of importing an evernote note, so the sync button from the top right menu would be only used for creating/overriding the note from evernote with the note from Boostnode, and eventually returning an error when the note from evernote already exists .

These are only scenarios for the first "sync" click interaction. After this step, we can sync the notes using webhooks. Evernote has some docs around full synchronization here: https://dev.evernote.com/media/pdf/edam-sync.pdf

If it's the first time when using Evernote from Boostnote, the user will be prompted to log in with Evernote - the mechanism is OAuth and I think I'll use the electron-oauth2 module (https://github.com/chamerling/electron-oauth2) .

For notes formatting, Evernote uses the ENML format, which is a modified version of XHTML. We can transform Markdown in XHTML and then adjust it according to ENML standard for keeping about the same doc format

I'll start working on this and hopefully will submit a PR soon. Let me know if there's any other suggestion about the flow

latimercaleb commented 5 years ago

Hi, I'm currently an evernote user and I'm looking for another app to use that is: 1) Markdown or JAM friendly 2) Can import all my old notes 3) Can save locally and back up somewhere (dropbox, google drive etc).

It seems like boostnote would be great but I don't think it can do notebook imports right now. I have notebooks with hundreds of notes that I'd like to migrate and continue to write on.