ownNotes

Rating: 
5
Your rating: None Average: 5 (4 votes)

A markdown note-taking application with ownCloud and WebDav synchronization.
Available for Meego Harmattan (Nokia n9, Nokia n950) and Sailfish OS.
The Sailfish version is no longer being supported by its original author khertan, and so has been extended to fix some bugs and add features.

The source is available on GitHub released under the GPLv3.

Features:

  • Sync with ownCloud or other WebDav server.
  • Editor with markdown highlighting: title, bold, italics, links.
  • Files are stored as text, so can be directly edited in ownCloud or via a mounted WebDav folder.
  • Upload a note to KhtCms or Scriptogr.am
  • Categories
  • Display a note preview on the app cover.
Screenshots: 
Application versions: 
AttachmentSizeDate
ownnotes-1.8.4-1.armv7hl.rpm717.38 KB18/09/2016 - 04:30
ownnotes-1.8.4-1.i486.rpm731.92 KB19/09/2016 - 12:40
ownnotes-1.8.6-1.armv7hl.rpm740.6 KB22/09/2016 - 01:38
ownnotes-1.8.6-1.i486.rpm747.42 KB22/09/2016 - 01:38
Changelog: 

Fix syncing issues (attempting to access domain root).
Tidy 'About' page.
Fix scaling issue of cover page background image on Jolla 1.

Comments

flypig's picture

This may seem obvious, but do you have /owncloud in the "URL" or "Remote Folder Name" part of your config?

Would you mind DM-ing me your config (~/.ownnotes.conf; you should edit out your password first, or just copy the details from the config page)?

cy8aer's picture

Owncloud in the url.


{"Display": {"header": true, "covernote": "Test.txt", "fontsize": 27.0, "fontfamily": "Nokia Pure"}, "Scriptogram": {"userid": ""}, "KhtCms": {"url": "", "nosslcheck": false, "apikey": ""}, "WebDav": {"password": "blahblah", "startupsync": false, "remoteFolder": "Notes", "login": "blubb", "debug": true, "url": "https://my.serv.er/owncloud/remote.php/dav/", "nosslcheck": true, "merge": true}}

I also tried variants remote.php/dav/ or remote.php/webdav/

cy8aer's picture

Output of the reverse proxy server:


Sep 19 14:17:56 revproxserver[7796]: 63.158.171.166 - - [19/Sep/2016:12:17:56 +0000] "OPTIONS / HTTP/1.1" 404 9 "-" "python-requests/2.3.0 CPython/3.4.3 Linux/3.10.49+0.0.52.3"

... and there is the /. This will not be forwareded so the logging of the owncloud server is empty. It is forwarded to nowhere so this the reason for the 404 in my setup.

cy8aer's picture

Output of ownnotes.log:


2016-09-19 14:22:32,077 ERROR Traceback (most recent call last):
File "/usr/share/ownNotes/python/sync.py", line 368, in sync
wdc.connect()
File "/usr/share/ownNotes/python/sync.py", line 156, in connect
response = self.wc.options('/').headers.get('date')
File "/usr/share/ownNotes/python/tinydav/__init__.py", line 899, in options
return self._request("OPTIONS", uri, None, headers)
File "/usr/share/ownNotes/python/tinydav/__init__.py", line 777, in _request
raise response
tinydav.exception.HTTPUserError: HTTP/1.1 404 File Not Found

cy8aer's picture

I now gave the URL / an empty html file and get an 405 (method not allowed) though I can reach it via a standard browser.

cy8aer's picture

/usr/share/ownNotes/python/sync.py line 156/158: self.wc.options("/") <-- this is hardcoded to /. For testing purposes I coded this to my remote.php/webdav/ path and it goes further. But then it fails in line 368 (wdc.connect()) ...

File "/usr/share/ownNotes/python/sync.py", line 368, in sync
wdc.connect()
File "/usr/share/ownNotes/python/sync.py", line 166, in connect
self._check_notes_folder()
File "/usr/share/ownNotes/python/sync.py", line 192, in _check_notes_folder
with self.locktoken:
AttributeError: __exit__

cy8aer's picture

I had a /Notes for the Remote Folder Name. Removed the / and it works. So:
sync.py 156/158: Try to extract the non host part of self.url and put it into self.wc.options as path and check for leading / in Remote Folder Name.

flypig's picture

This is really useful stuff; thank you. So, the code is sending an OPTIONS request to /, when it should be sending it to /owncloud (or wherever the ownCloud path is set to).

Are you up for rolling me a patch/pull request I can merge in?

cy8aer's picture

Not now, need to analyze the code if I can get the uri (the non host path) from somewhere. Stand by...

cy8aer's picture

Github not up to date?

sync.py line 156:


response = self.wc.options(self.basepath).headers.get('date')
if response is None:
response = self.wc.options(self.basepath).headers.get('Date')

flypig's picture

self.basepath looks promising (stores the value /vapour/remote.php/webdav/ here)?

cy8aer's picture

it is and works ;-)

flypig's picture

That's excellent. Is it just the two instances of '/' to change, or did you identify any other changes needed? If it's just the two changes I can make them directly to the code, but otherwise would you be able to provide me a patch?

cy8aer's picture

Patch provided (looked at the wrong path and couldn't find the right sync.py before).

flypig's picture

I must admit I was confused by your previous GitHub comment, but all clear now.

I've merged in your changes; thank you! I'll do a bit of testing today and all going well should be able to package up and release a new version here some time today.

cy8aer's picture

No these are the two problem points.

flypig's picture

Version 1.8.6, just uploaded here, has your patch installed. I hope this does the job, and many thanks for fixing it.

Pages