Hello Daphne ![]()
Iām Baptiste, alias zak39, and Iām a developer at Arawa.
We have created the Workspace app which is a plug-in for the Groupfolders app.
You can look up the GitHub repository with a presentation on its working : GitHub - arawa/workspace: Create shared workspaces and delegate management of their members and groups .
I donāt know if answer your question. But, I motivate to create Nextcloud apps to meet customerās needs of my company.
But on the other side creating Nextcloud app, itās to be able to create extensions for existing apps. For example, with our Workspace app for Groupfolders.
What motivate me to want to create a Nextcloud app, itās if there is an important community and with who can share our skills, knowledge and so on.
Today, Frameworks and technos succeed in creating a community by doing :
-
Tutorial videos : How to do a CRUD (Create, Read, Update and Delete) on folders, users, files, the fileās path, and so on. Via API or API/REST. How to code the front-end side ? How to do the translating of Nextcloud apps or Nextcloud ?
-
A clear documentation and precise, like the Laravelās documentation (Installation - Laravel 9.x - The PHP Framework For Web Artisans)
-
A discord server or equivalent (Mattermost, and so on.) : This allows for efficient exchange and mutual support with different channels. Today, we have Laravel, Vue, React, EsLint, Deno, etc. which use this kind of tool so that their devs and community devs can exchange each other.
-
In the case of Nextcloud, we could have for example, a channel on :
- #dev-frontend : To exchange/help each other on the front-end (JS, Reat, Vue, CSS and so on.)
- #dev-backend : Like for the front-end but on the PHP
- #dev-ci : To exchange on our different CIs to have a quality app
- #ux : To exchange on the UX-Design of Nextcloud and its apps
Regarding the point on the Documentation, I agree with @dugite-code . The Nextcloud Documentation (Nextcloud developer documentation ā Nextcloud latest Developer Manual latest documentation) is really written for developers who already know how Nextcloud works.
It took me a while to find out where is the tutorial page is to start developing a Nextcloud app, how the admin and simple user system works (with the @NoAdminRequired annotation), how to create migration files (create database table), etc.
One more, Nextcloud uses Symfony and I think itās very pity that as a developer of Nextcloud or an application for Nextcloud, we cannot use Doctrine to create migration files to create a databases or seed files to feed those tables to have a dataset. I have to feed the database manually from the interface of my app.
Another reason that motivates me to create apps for Nextcloud, itās to be able to write pretty code in the same way that Laravel or Symfony.
What stops me from publishing my apps in the app store is first of all knowing how to do it ^^
Today, I donāt know how to publish my app. I know that it is normally possible to publish our app with the āmake appstoreā command after creating the skeleton of my app. But, this command doesnāt work, it just creates a .tar.gz archive for me.
This picks up on the points in the first question.
What slows me down in the creating of my Nextcloud app are :
-
The lack of clarity of the documentation (see the point of @dugite-code)
- How to create migration files ? How to seed our database table ?
- How does the system of admin and no-admin users work ?
- How to limit access to apps to groups ?
- How to use the debugger for Nextcloud whether it be for back-end or front-end code ?
- Does it is a documentation on the API/REST of Nextcloud ? If yes, where is it ?
- Etc.
- The documentation, itās very not readable and understanding. You really need to know how Nextcloud code works to read the documentation. I have the impression that there is a huge gap between the back-end documentation (Nextcloud developer documentation ā Nextcloud latest Developer Manual latest documentation ) and the front-end documentation (https://nextcloud-vue-components.netlify.app/).
The front-end documentation is clearer than back-end documentation.
-
Lacks a server Discord or equivalent (Mattermost, etc.) to exchange between the Nextcloud developers and / or its community dev
-
Lacks tutorial videos to understand how to work this or that library PHP for Nextcloud, how to work on the Front-End, etc.
-
Julius created a docker-compose that looks strong. But, very complicated to use so that we can work on it with Nextcloud in local : GitHub - juliushaertl/nextcloud-docker-dev: Nextcloud development environment using docker-compose . I had trouble getting it to work, to be able to work on my machine locally.
So, I create my docker-compose simpler than Julius. But, probably less efficient than his own. It should be simplified or git some examples of commands to be able to use it and that serves as a basis for all developers.
VoilĆ , thatās it for me. I will not hesitate to edit my comment if I forgot a few points ^^