Evernote Power Tool: Online ENML Editor29 Sep 2011
Recently I was contacted by Stephan Heuel about a new online application he had created. I’ve written several posts about how you might want to use Evernote files saved to a local machine (or attached storage) as the basis for template notes. These have involved editing the note files in a text editor to produce various effects. Even changing the background colour of a note in Evernote. It was this post that inspired Stephan to think - what if you could edit them in-place, online?
What is ENML and why should I care?
ENML is the language that internal structure and format of an Evernote note in a similar way to the way HTML describes the structure and format for a web page. In fact the link between HTML (or more accurately XHTML) and ENML is very close and you’ll find that a lot of tags used in ENML are identical to those found in HTML - which makes sense if you think about trying to simplify Evernote’s web clipping feature.
So by understanding and manipulating the internal structure of the ENML you can change the content and structure of the note. This allows you to do things like design note templates (without resorting to your text editor), change formatting options that are not available in the EVernote note editor or even (most importantly I think) allowing you to fix notes that are broken. By broken I don’t mean that they crash Evernote or won’t open. I mean where no matter how you edit a note in Evernote it doesn’t quite get the formatting or layout you were after. That’s the time to break out the online ENML editor.
Accessing the ENML Editor
So the first thing to do is to browse to the ENML Editor site at http://enml-editor.ping13.net. Whilst I’m an avid use of the Chrome browser I’d recommend using a different browser to access the site for reasons I’ll explain a little later.
The main page gives you a really simple, in your face guide as to how to use the editor, but I’ll include the details here with a bit more explanation.
Step 1 - Connect to Evernote
The first step is to authorise the ENML editor to have access to your Evernote account. Authorising will allow the ENML Editor application to create, read and update notes in your Evernote account.
Once authorised, you will be returned to the ENML Editor site and step 1 will be marked as completed on the page and will include your Evernote account name and an option to disconnect it. The authorisation lasts 30 days, but this gives you the option to disconnect the account any time you like.
Step 2 - Copy & Paste in your Note Link
The ENML Editor does not have an option to browse your notes and notebooks. Instead you need to provide it with the sharing URL of your note in your Evernote account. If you hadn’t guessed by now, it should be obvious that notes in local notebooks are not going to be accessible by this online editor.
Notes in Evernote that are not stored in a local notebook are sync’d to the Evernote servers. These servers provide access to your notes from a wide range of clients on desktop computers, mobile devices and even via a web client.
The ENML Editor requires the URL of the note you wish to edit in order to open it. You can get this from a desktop client or from the web client.
For the desktop clients right click on the note you want to edit from the list of notes in your notebook and select the option to Share and then the option to Copy the link to the clipboard.
For the web client, just browse to the note you want to edit and then copy the URL from your browser’s address bar.
It’s worth noting that the URLs for a note can vary. The web client has a few different views and you may have accessed a note via a public notebook link or by a desktop client shared link. The ENML Editor sifts through the URL to pick out the unique ID of the note in order to work out which to open, so any of the URLs can be used.
Once you had your URL copied, you just need to paste it into the “Copy & paste your note link” field on the ENML Editor site. Step 2 will then be marked as completed.
Step 3 - Edit Your Note
The third step is to simply click on the last step “Edit your note” and this will then take you to a new page where you can edit your note’s ENML.
The ENML Editor Bookmarklet
Stephan has also created a nice little bookmarklet (available on the main page of the ENML Editor site it’s a special bookmark) that allows you to just click straight into editing a note in the ENML editor if you are viewing the note in the web client. The one drawback is that currently there’s a bug in Chrome that doesn’t return the Evernote note ID (as well as failing similarly on non-Evernote sites). A bug report is in, but this is why I recommend using a non-Chrome browser.
So what’s the actual editing experience like? Well it’s a basic interface with no toolbars or anything much really. But in my view that’s great. The simplicity of the editor matches the style of the site and if you are someone who is getting stuck into editing the ENML then you don’t really need anything else. There are four features it does have which are nice.
The first is line numbering. Handy, but not hugely useful unless you’re trying to remember a position in a big note file.
The second is syntax colouring. This is really useful. Tags, parameters and strings are all highlighted in different colours to the text based content of the note. This makes a real difference to how you view this inner note structure and makes it much easier to amend (and keep as well formed XML).
The third and fourth features are ‘search’ and ‘replace all’. These are self explanatory but can make it quicker to carry out some of the more common tasks. Search in fact highlights all occurrences in the editor (see screen shot above) - a really nice touch.
For more information about the structure and permissible tags in ENML check out Section A of the Evernote API documentation.
At the end of the day you are granting (temporary) access to your Evernote account for this application. Whilst I don’t believe that Stephan is malicious, you should always seek to understand the security implications for your data before clicking that authorise button.
I did ask Stephan about SSL use by the ENML Editor. It uses SSL for the authorisation and authentication steps which means that the content of your note is transferred in clear text. So follow good practice when securing Evernote and make sure that you encrypt any sensitive data prior to uploading (and subsequently editing) your note.
Encryption appears as follows in the ENML Editor:
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd"> <en-note style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"> Some unencrypted content <div> <br /> </div> <div> <en-crypt cipher="RC2" length="64" hint="No hint for this one I'm afraid"> FWmGKWsLkVGNB0+U0fe/8MFw9jejaL+yNGDXu5SwSY91qPaHCnyva89TphVY39a7y7KixVYCgGKCG+uutUCTDGIvc1N9LS3189q9riKOwERRaiSSuzVzdDVZRzr+VRDdjs3tWabsxLSf7wBNbwsO75KbHWeXpBCqH7UXnoa1TSzcTMtxLHQrBS/xdCucZVKuAR+BoHyPKTz2SK4X6LUIxcAnIf3xNmfnmfBbz2oAaPkEEKfqORPFio7N7Vmm7MS0lo/QJkJI08jX3oV8L+zKsnSmil8f/tsofbPLrdlKf2izfpI4/NZBEZn2gdQAU4dMWKlI5JNLPn0GyFtA5U7SdSNaFwX2Fx8HeKrJhLy5DVhixcbJT4+K1dls38MllcPjr4u8fm3Ig9pBjGZA5McWrAn5ZparydBFl9X8f4wrRxoMKMY6e6npeksxiCVUFLXcndHMSmn/+nZkzecpaOdqB5fV/H+MK0caDCjGOnup6XpLMYglVBS13KF4wxN7PMbJdbob86lSAUe9CwXYybiy6d0bBoxA+QHue6SttfoDkqWna9C0/S6MyraFezpcu5YPFmJoR9Scdj8MKMY6e6npehOitBCh7SmPByyaKYB5MmawqyJw1Oq5FQwoxjp7qel6E6K0EKHtKY+yrauSpDDc8RGbOXO2Hn0qF6ERrF39YVcKguuI0CN/2Qdji8zOx+nZfn73ljA3D6qCysMLNggId/kpklu+nr26aJVHLWBqygw=</en-crypt> <br /> </div> <div> <br /> </div> <div> Some more unencrypted content </div> </en-note>
Further details about security and privacy can be found on the ENML Editor privacy page.
The ENML Editor is a really useful tool to have in your arsenal. It allows you to quickly tweak things such as the background colour of a note or quickly amend some note HTML for a particular layout (as I did recently using ENML Editor). A handy power tool for the Evernote power user.