Taking inspiration from a traditional “Ideaboard”, a corkboard or wall with lots of photos, images and sketches all pasted up on it to form a collective theme, we created an online ideaboard that pulls all of its “ideas” directly from Evernote notebooks and allows Onyx to share inspiration among its employees across the country.
Using the Evernote API we developed a project called Everboard, that lets people visualize their notebooks in a unique way. One of the downsides of Evernote is that you are able to share a notebook with others, in order to effectively use it, you cannot use the client program and must use their web interface. The web interface of Evernote leaves a lot to be desired in terms of usability. In addition, both the client program and the Evernote website both lack the look and feel our team desired.
- Web/Demo: http://onyxcreates.com/everboard
- Source: http://github.com/OnyxGroup/Everboard
- Issues/Bugs: http://github.com/OnyxGroup/Everboard/issues
Setting up the config file
You will need to add/modify some of the things in the
config.php file. You will need to add the following which you can get by registering for an Evernote API key. You can get an Evernote API key here – https://www.evernote.com/about/developer/api/
- These are the username and pw for the account which holds the notebooks you wish to access
- These are the API keys
In addition, there is another
config.php file which needs to be setup. This is located under
For security purposes the writer will only grab and cache the notebooks specified in
$valid_notebooks; this is a list of notebook GUIDs, to see a list of all your notebook GUIDS, set the
DEBUG_IT flag to
config.php and then run
writer.php. You will see a list of all your notebooks along with their GUID, simply add the ones you want to sync to this list.
NOTE: Do not store any sensitive information in any of the valid_notebooks because all the information will be accessible on the web-server.
It would probably be best to keep the everboard directory outside of your web root directory. Since the call to
writer.php is a pretty heavy request you don’t want people directly accessing it. Rather the whole directory can be put outside your web root (note: you may have to configure the open_basedir) and then set up a Cron Job to run
writer.php every so often. This way it will keep your notebook in sync and not put too much strain on your server.
In order to have the color bar display above the images create a note called palette and use hex color codes for the tags.
If you are using large images you may need to up the allowed memory in your
memory_limit = 256M; Maximum amount of memory a script may consume
if you are running the code outside of your webserver (recommended) you will probably need to set up the
Some of the code needs PEAR to run, you should include the PEAR library into your include path. If you are running a cron job via command line you can use the following code to include PEAR (make sure you have the correct directory)
php -d include_path=".:/usr/share/pear" /path/to/writer.php
You might want to set the maximum execution time to something high in the config file if you are getting any timeouts. In addition, it might take a couple runs to sync all of your stuff the first time you do a sync. If you are still getting timeout, try adding only one notebook at a time to the
You can put the
cache directory wherever as long as its writable and you have web access to it
Just want to give shoutouts to all the great devs who put out code that I am using here:
Evernote team http://www.evernote.com
David DeSandro with the amazing Masonry http://desandro.com/resources/jquery-masonry
Janis Skarnelis with fancybox http://fancybox.net
George McGinley Smith jQuery easing http://gsgd.co.uk/sandbox/jquery/easing/
Brandon Aaron mousewheel http://brandonaaron.net
Please send any issues to our GitHub page http://github.com/OnyxGroup/EverBoard/issues
Copyright 2010 Adrian Mummey, Onyx Group©