The Appstore is an important part of the vision behind Nextcloud: building a healthy ecosystem around our project. The store makes it easy for users to discover and install new applications while it enables developers to reach a wider audience. In this blog we go over the main improvements as well as some plans for the future.
As we’d like to encourage developers to contribute to the Nextcloud ecosystem, making it easy to distribute applications was a major goal for the updated app store.
Parsing, validating and REST API
To avoid having to enter details twice, the info.xml is parsed after upload and validated. We catch mistakes in folder structure or naming and other issues. Then, from the xml we generate the details of the app store entry like app name, description and more. A special XML Schema will be provided so developers can validate their info.xml offline, which also enables IDEs such as PHPStorm to provide autocompletion and validation. And very cool: descriptions support Markdown so you can finally include proper looking links and markup!
Log in with OAuth
Another really cool improvement is our REST API for publishing apps, enabling developers to automate everything even more. The new app store also makes it easy to offer ‘nightly’ versions and in the future we might also add alpha, beta or rc support in the store.
OAuth, multiple versions and security
Developers can now choose to log in with GitHub or BitBucket (no need for ANOTHER account) and multiple app developers can publish new versions. GUI support for co-maintainers isn’t finished yet, but coming soon!
Note that we do not host the archives on our server (for now), we only download and parse the archive’s info.xml. That allows us to easily host more than one release, especially as we recommend to ‘just’ link to a github-generated zip file of a release branch.
Since we also provide all dependencies in the API the built in app store (the one in the apps section) can actually let you install the latest working version instead of marking the app as incompatible because the newest version added dependencies which you can’t satisfy. We also might make it possible to explicitly install an older version of an app.
As for security: download URLs have to be HTTPS and we also create sha256 sums over the downloaded archive. Additionally you can sign your app using a certificate. We’re still very much looking for feedback on the security of the app store; while the new store is a big step forward there is much to do.
Easy to host and contribute to
A community isn’t really open if it doesn’t encourage people to fork, self-host and contribute! We want to make running and working on this app store easy and we’ve already made some big steps.
The API is designed in a way that we could also dump JSON files on a webserver and it would still work fine, so it should scale very well. This also means that people can just create two JSON files on their own server and deliver a fully fledged custom app store repo for their users. The store code is documented here.
We use Python and Django in the app store, giving access to quite a large number of libraries on a stable infrastructure. Contributions welcome!
On the user side, changes are done in such a way that those using the built in app store in Nextcloud 11 should not notice a thing. Of course, if you visit apps.nextcloud.com you will see a nice, modern interface with many improvements!
This includes multi language support (not yet finished), a much more mobile-friendly web UI thanks to Twitter’s Bootstrap and a more visual experience with screenshots and such much more prominently visible. Thanks to recaptcha we make it harder to spam the app store or abuse the rating system.
The UI has gotten a overhaul with a cleanup of features and abilities. Commenting is integrated in our community forums’ app section, we direct people to the proper places for comments or bug reports and we have plenty of toughts on how to further improve the user experience.
The web store is Native ES6, meaning it supports the latest Edge, Safari (10, beta for upcoming OSX release), the latest Firefox and Chrome. However, older versions of these browsers or IE don’t work that well.
The new app store needs testing, feedback and several improvements are still planned. A neat example would be changelog support which enables Nextcloud to show the change log before the user approves updating to a new version. Another work-in-progress is rating; we’re thinking about a Steam like rating system so you can see both overall and recent ratings.
Today, US-based file sync & share vendor Kiteworks announced their acquisition of ownCloud and Dracoon. Kiteworks points out that their customers now have access to their file-sharing application. It is to be expected they will not maintain 3 similar products, but customers will have to migrate to the US firms’ platform or look for another […]
As part of Schleswig-Holstein's state digitization strategy, the state chancellery has announced they will work with Nextcloud to develop AI for working with government documents. This comes just after we announced the first private AI assistant last weekend with Hub 6. The German state already uses Nextcloud and their AI strategy aligns with our work on ethical, local AI technologies.
Over the last year, AI has become a popular topic. Some is hype, some is substance. Some is good, some is bad. We want to give you the good, not the bad, and ignore the hype! AI has a ton of opportunity – but also risk. So we put you in control – off by […]
The serious security flaws in ownCloud (now owned by Kiteworks) do NOT affect Nextcloud. We have strict security processes in place, and do not ship test data from libraries that can cause security breaches.