GSoC Idea - Web client for Nextcloud

this is the topic in regard to the above-mentioned topic.
Anything on how to do this, how it shall be done, what features in shell include etc. is discussed here if an existing topic hasn’t been created yet, see idea description below.
Your interest in this idea shall be announced here, otherwise, it gets easily lost as we would need to remember each introduction.

This topic is used to update the specification of the idea as well, even if there is an existing topic, so interested students, watch it!
Anything that shell be discussed privately as e.g. if it involves your proposal will be discussed through a private channel what is currently in discussion.

As of the moment, I’m writing this, the idea’s description of https://joplinapp.org/gsoc2020/ideas.html#5-web-client-for-nextcloud is:

There is the community's wish to have the notes integrated Nextcloud, so that Notes can be sought by Nextcloud itself. Although this idea focuses on Nextcloud it shall allow to extend it to other collaboration applications going beyond the current scope of Synchronisation. There is already the web application what may used as a starting point, but it is also fine to start from scratch.
Feature parity with the desktop client is not needed and would be out of scope. These are the features that would be needed to create a minimal web client:

  • Ability to list the notebooks in a hierarchy
  • Ability to view a note and render the Markdown to HTML
  • Ability to edit the Markdown note and save it
  • Handle conflicts when, for example, a note is modified in the web client and, at the same time, it is modified via sync.

Expected Outcome: Viewing and editing notes and notebooks from a Nextcloud-based web client

Difficulty Level: High
Skills Required: PHP (for the Nextcloud app). For the front-end it can be plain HTML (no JS), or React.
Potential Mentor(s): Roeland Jago Douma, laurent22
More info: GitHub: Nextcloud notes integration (Web client)

1 Like

Hello. I am Imran. My full intro is here Imran Khan - GSOC 2020 Introduction - " Web client for Nextcloud" . I am interested in this project.

I’d like to start from scratch. Any pointers?

you may start first with fixing a issue, so that we get know you :slight_smile:

Hello Sir, I am interested in this project. Right now, I am trying to finalize the features and how I am gonna do it. I will present to you my thoughts as soon as possible. Just to be sure, I don’t miss anything, I am trying to understand current Joplin structure and most required features from the community posts.
Thanks

1 Like
  1. For the project named Web Client for Next Cloud where should I should start contributing regarding that in the Joplin main repository but there is no such code for the web client .
  2. I have found a repository named Joplin-Web.But the code written there is in vuejs and python but the requirement mentioned that the client should be in reactjs and php.

So what is the plan ? Since I have to show PR in my proposal … though I have started working by making a frontend using tinymce and setting up a private server in digital cloud

the web companion, web application, is spin-off made by @foxmask
You can go either way, improve or create a new one whatever is best in this situation.

  1. I would like to point out that Nextcloud is heavily using vue. Hence there are already components available (side bar, app navigation etc) that you could then use right away. This will then directly look an feel like all of the other Nextcloud apps. So this might be something to consider
  2. Fetching the notes can be done writing a small customer API should not be hard.
    a simple web search

    nextcloud api authentication - Qwant Search got me to User Authentication and Group Assignment with External REST API - dev / app dev - Nextcloud community so I found User Provisioning API — Nextcloud 11 Server Administration Manual 11 alpha documentation and eventually I ended up at Client APIs — Nextcloud latest Developer Manual latest documentation what is properly what your are looking for.

  3. it is a trade off between the frameworks and it is up to you if you want to create a standalone app. like the web application or improve the current one to uses the API of the groupware such as nextcloud to communicate with them or you are going to write nextcloud app.
  4. you can also think about how to improve the backend as there has to be a server what hopefully going to allow to query multiple profiles as you don't want to run a server per profile (think of families)
  5. another thing you can think about, how to make the notes available to the search engine of the groupware

read also here

2 Likes

there is server PR what is on hold but it might help

Yes it’s meant to support multiple users and could potentially be used to share data between them.