Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differences to original ownnote? #5

Open
ThomasDaheim opened this issue Jul 2, 2017 · 43 comments
Open

Differences to original ownnote? #5

ThomasDaheim opened this issue Jul 2, 2017 · 43 comments

Comments

@ThomasDaheim
Copy link
Collaborator

Hi,

before moving over to this branch I would be interested to understand where this would be heading? I understand from the discussions in Fmstrat/ownnote#335 that this should become the nextnotes app?

In that case I wonder if we should take the chance to do some initial improvements :-) E.g. in order to be able to use the standard sharing features from nextcloud changing to folder-only storage of notes seems to be a good idea. Not sure if that could be done with a database in the back as well? Actually, I'm not sure what possible benefits it could have to store notes in the database at all...

Also, I once in a while check the progress of the "other" nextcloud notes app. Any ideas to bring those two closer together / make more similar?

Cheers,
Thomas

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Hi there,
Differences, at the moment:

  • Complete refactored backend, which makes uses of the Doctrine classes
  • API is kept compatible with ownnotes
  • Sharing notes still works, the noted shared will be the note in the database.
  • TinyMCE is updated to latest version
  • Nextcloud csp implemented to TinyMCE
  • A REST-full api will be added

As for renaming to Nextnotes, i'm fine with it, but this will break all existing ownNote apps due route changes, not sure if we want to do that.
If we go that route it's best to know that pretty early in the project stage.

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Also, would be nice to have someone with me working on this app.
So if you like i can add you @ThomasDaheim to this repo as maintainer.

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

As for renaming to Nextnotes, i'm fine with it, but this will break all existing ownNote apps due route changes, not sure if we want to do that.

I vote no if it breaks the Android app. I vote yes if it doesn't.

@e-alfred
Copy link

e-alfred commented Jul 2, 2017

Pubiishing to the Nextcloud app store is missing on the todo list. This app has definitely a place there. It would also improve the number of users/general awareness of this app and maybe attract people who could help out.

@ThomasDaheim
Copy link
Collaborator Author

ThomasDaheim commented Jul 2, 2017

Tough choice. Unfortunately, the Android app anyways would need a replacement in some point in time... Probably the only way to find out would be to test it by changing the name to nextnote and see what happens. Is it possible to support two app names?

As for maintaining the repo, here is what is on my wish list:

  • adding "folder only" mode since its the only one that works well with my ownNoteEditor :-)
  • sharing of notes
  • modernized android app
  • see what clever ideas the developer of the "other" notes app have and borrow as required
  • create a good test suite (note sure how that could be done but open to support an ideas)

If thats not too far away from your plans @brantje I'm happy to help where I can.

@q4z1
Copy link

q4z1 commented Jul 2, 2017

Hi brantje,

good job so far and thank you for forking it.

About the android app - I don't see any source code of it (do I miss something?). If there is some, I might offer help in adapting it to newer needs. We might also think of re-builduing it - using cordova as base, so that we can release an iOS Version too?

Regards.

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

@q4z1, @brantje posted a link to a editor here: #7 It has both Android and iOS support. Would that be something to work with?

@q4z1
Copy link

q4z1 commented Jul 2, 2017

I just saw the 2nd issue about android app - will check it out - ty :)

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

@enoch85
Yes it will break, because the route will change. No way around this.

@e-alfred
Publishing to the Nextcloud app store is missing on the todo list.
True, but do we want Nextnote or ownNote in the store?

@ThomasDaheim
Nice wishlist!

  • We can do an option to scan a dir to import notes to the db. But the current way how ownNotes handles the note sync is pretty error prone.
  • In the backend_refactor branch sharing seems to work, but it shares the database notes.
  • I'm not an android dev, so can't speak about that
  • Share me some links, we might need to check once the refactor is done.
  • Indeed, test suite would be nice. Also open for suggestions / PR's

@q4z1
This repo is just for the web app. Unfortunately i don't have the source for the Android app.

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Also who wants write access to this repo?

@ThomasDaheim
Copy link
Collaborator Author

@brantje : I would be happy with someone looking at my pull requests and adding them one in a while.

As for the "folder only" (= file only): I have already added that in my pull request Fmstrat/ownnote#346 in ownnote - would only need to migrate it to your code base. Together with some admin tool to migrate from database <-> folder we would still support any old versions.

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

file only

As I said on IRC, I vote DB only.

Files make it messy and also opens up for errors, like what if files in the path are deleted, or moved? Don't trust users to be smart (like in; "oh what is this file? never seen it, DELETE.") ;)

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Nice, i'll implement a DB backend / service first.
Later we can make a OwnNoteFileService which implements the same method as the backend service.
That way it's easy to switch between file only / db only.

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

That way it's easy to switch between file only / db only.

Is that a choice you make once, or will it be possible to change your mind later on?

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

It will be possible to change your mind later on. In that case the folder / db will be rad and the folder / db will be updated.

@ThomasDaheim
Copy link
Collaborator Author

I would support that! Since I do my note editing on my desktops on the files I don't have any need for the database - its anyways out of sync all the time. BUT the android app isn't too happy about that :-(

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Great! I've setup a Gitter for this project.
Will be added in the read me. (In fact it's already in the readme in the refactor branch).

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

I do my note editing on my desktops

@ThomasDaheim Ever heard of QownNotes?

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

-ignore this- seems that they use the ownCloud notes app.
Which means we need the 'notes' namespace.

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

Note: The notes namespace has already been taken by the nextcloud notes app.
cc @Henni as he is the maintainer of that app.
Henni, you do you feel about sliding the notes app into this one?

@ThomasDaheim
Copy link
Collaborator Author

ThomasDaheim commented Jul 2, 2017

@enoch85 Have heard of it but I hate markdown :-) Thats why I've come up with https://github.com/ThomasDaheim/ownNoteEditor :-)

@brantje nextcloud notes up uses markup as well...

@brantje
Copy link
Owner

brantje commented Jul 2, 2017

TinyMCE has a plugin that supports markdown.
Not tested it yet. But if it works, it should be possible to add *.MD to the supported list.

@enoch85
Copy link
Collaborator

enoch85 commented Jul 2, 2017

Henni, you do you feel about sliding the notes app into this one?

@brantje @Henni Fmstrat/ownnote#329 (comment)

@e-alfred
Copy link

e-alfred commented Jul 2, 2017

@brantje There are apps in the Nextcloud app store called "OwnPad", "Qownnotes", "Ownbackup", so naming shouldn't be that much of a deal.

Does saving directly into the database mean pictures are stored in it too? Or are they still saved to the file system? Inserting a picture in the Android app and then opening it up in Nextcloud does not work at the moment anyway.

Storing on the filesystem has the advantage of easy backup/move of the data. Sharing a file is also easier than having it in the database.

@brantje
Copy link
Owner

brantje commented Jul 3, 2017

@e-alfred The problem is when we rename the app to notes / Nextnotes the current ownNotes app will break.

Pictures are currently base64 encoded and then inserted to note as an image.

As mentioned above, it will be possible to switch seamlessly between Database or Files.
Building in a sync between those (as the app does currently) is asking for headache, too many case to handle it.

Personally i would use the database backend, but that will be up to choose to any one of you.

@ThomasDaheim
Copy link
Collaborator Author

@e-alfred @brantje Pictures in the file system instead of inline in the notes have their headaches as well...

  • What to do if image file gets deleted but still referenced in note -> check & error message required
  • What to do if image is used in more than one note -> reference count mechanism required
  • Support for drag & drop -> image name to be uniquely defined, ...

So I'm quite happy with base64 inline images in the notes.

As for sync database - file: that already exists (in part) in the ownnote backend! if you choose "database an folder" during ever get if the notes list a sync is done. That would need to be generalized a bit (it currently assumes database is always the master) but that didn't look impossible to me.

@ThomasDaheim
Copy link
Collaborator Author

BTW, I love how creativity suddenly spikes once we have decided to go for the fork...

@Fmstrat
Copy link

Fmstrat commented Jul 6, 2017

Hey all, just chiming in on a few things from my experience this far:

  • I would go DB only. If you want stability the file system method was a pain. It makes it hard to handle future tagging, encryption, etc. I started file system only and I wish I never had (despite preferring that).

  • Could the app be renamed and a note on the install instructions be to put a 301 redirect on the webserver for apps/ownnote to apps/nextnote? That would keep the Android app functioning.

  • Wether it be MD or HTML, stick with WYSIWYG. All of the positive feedback I got during initial dev was around that. (Also surprised by the image bug in Android, works fine on my device). Regardless, I would eliminate TinyMCE in the mobile app if you can.

@brantje
Copy link
Owner

brantje commented Jul 6, 2017

  • With structure i have implemented it should be possible to switch between file and db

  • Sorry no. the /apps/ownnote route is handled by nextcloud, so if i change the name to nextnote the route will change to /apps/nextnote.

  • Yea, i might add a filetype to the note property, that way we can support markdown in the future.

@ThomasDaheim
Copy link
Collaborator Author

I'm also highly in favor for file usage :-) Offline editing would be a bit difficult without it. Also, I would think that e.g. sharing would be easier since all features of nextcloud could be used out of the box. And encrypted file system is available as well...

@Fmstrat
Copy link

Fmstrat commented Jul 6, 2017

With structure i have implemented it should be possible to switch between file and db

I imagine you are much more familiar with the file handling than I was when I started (I.E. not at all), so great!

Sorry no. the /apps/ownnote route is handled by nextcloud, so if i change the name to nextnote the route will change.

This I understand, but until a new mobile app is released, couldn't administrators do this:

RedirectMatch 301 ^/apps/ownnote https://www.xyz.com/apps/nextnote

?

If I had time I could add a detection routine to the mobile app and push one more version. Maybe I can fit that in at some point soon. I just like the idea of a rename to keep consistent branding with Nextcloud, personally, I guess.

Yea, i might add a filetype to the note property, that way we can support markdown in the future.

Ahh, great idea.

@brantje
Copy link
Owner

brantje commented Jul 6, 2017

The rewrite rule would be possible, however, i deleted all old api endpoints, so if we go that route i need to add them, no problem.

@Fmstrat
Copy link

Fmstrat commented Jul 6, 2017

Ohhh, I hadn't realized you had removed support for the existing mobile app already in the API. In that case a rename shouldn't matter, anyway, right?

@brantje
Copy link
Owner

brantje commented Jul 6, 2017

Oh it isn't a problem to add it back, that's why we have git.
I had the old API working with the new backend, so best of both worlds(?)

@e-alfred
Copy link

e-alfred commented Jul 6, 2017

@brantje Best of both worlds would be great. Now that the Android app is Open Source too it could be rebranded too?

@enoch85
Copy link
Collaborator

enoch85 commented Jul 6, 2017

Now that the Android app is Open Source too it could be rebranded too?

I think the plan is to develop a brand new App.

@korelstar
Copy link

I think the plan is to develop a brand new App.

Before doing that, please have a look at the existing Android client for the "Nextcloud Notes" app: https://github.com/stefan-niedermann/nextcloud-notes
Maybe, we can try to work on a common app. That would bundle our resources and increase long-term maintenance, since we are doing this in our free-time.

@korelstar
Copy link

In general, you people seem to have many and good ideas. That's great, to see that you are that motivated. But since you plan to rewrite large parts of the old ownNote app, it's maybe better, to directly integrate your planned changes into the other existing notes app (https://github.com/nextcloud/notes/). Then we would have one app with all features and can bundle our resources and increase long-term maintenance also for the Web-App.

@korelstar
Copy link

I tried to figure out the main differences between these apps: nextcloud/notes#111 (comment)

@ThomasDaheim
Copy link
Collaborator Author

I must confess I'm not sure if we can bring both developments into on notes app. From the discussions it seems the target audiences are different. So we would need to be able to come up with a very flexible/generic API & backend to support that. Otherwise, we would soon have the first forks again...

@korelstar
Copy link

korelstar commented Jul 9, 2017 via email

@ThomasDaheim
Copy link
Collaborator Author

I don' really see any blocking differences. Technically it shouldn't be an issue to come up with a design and API that fits both. My only concern is that the potential users (and developers) are so different that sooner or later you'll again have a fork.

Differences I can see as a user (no idea about implementation details...):

  • notes uses folder structure (see the lengthy tags discussion there) which doesn't allow for e.g. assigning notes to multiple groups
  • different editors needed - might be possible to extend tinymce for web but not sure about Android / iOS clients
  • database vs. folders: notes uses "folder-only" approach, nextnote uses "database-only"

@brantje
Copy link
Owner

brantje commented Jul 9, 2017

Adding to: database vs. folders: notes uses "folder-only" approach, nextnote uses "database-only"

It will support file mode in the end, but for now it uses database.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants