Nextcloud Login Plugin for PlaMo

With the completion of my first milestone for my GSoC project: Nextcloud Integration on Plasma Mobile, plasma mobile accounts settings now enables the users to add their nextcloud accounts via webview.

Well! didn’t accounts setting already provide the method to add nextcloud/owncloud accounts? Yes, this functionality was already implemented by the owncloud plugin in kaccounts-providers project. Then, why did I re-implement the same thing?
As I mentioned, now accounts can be added via webview.

Why using WebView approach for login is better?
This approach is not only more convenient to implement but, it also makes sure that the application never stores the user’s password. The users can be ensured that their credentials can’t be misused.

Work Flow
Clicking on Add new Account button shows all the accounts plugin options declared by .provider.in files in providers folder of kaccounts-providers.


On choosing nextcloud option, Nextcloud Wizard shows up. On clicking the login option, the server address entered by user is checked and then the WebView is initiated.


On the final login the server redirects to a url of the following format:
nc://login/server:<server>&user:<loginname>&password:<password>
From this URL login name and password that the application must use to login and store securely is fetched. The control is passed back to the wizard. The user is given option to choose whether or not (s)he wants to synchronize the contacts from the server. This is further facilitated and managed by kaccounts-mobile. Once the login is complete, the username, the password and the other data stored in json object is passed to kaccounts-integration. It manages storing all the accounts and displaying saved accounts on plasma-settings Accounts.

Advertisements

My First impression at PlaMo

How Plasma Mobile got my attention?
I remember how my admiration for android turned into disappointment when I got into android development. The realisation, with every new release the patches are built on the broken pieces of android was disheartening. And the water crossed the line when the whole system started disrespecting the users privacy!
Then, I fine day (mid-January 2019) I came to know about Plasma Mobile. When every other attempt at creating an open source mobile platform on the horizon failed, KDE came along with Plasma Mobile. So how could have I resisted to not to using it!
I purchased refurbished Nexus 5X, and here we are today:D

Installation
Currently Plasma Mobile is supported by very small number of devices. It works quite well on Nexus 5x (Bullhead). For installing PlaMo on Bullhead you can follow instructions at docs.plasma-mobile.org/Installation.html.

My asseveration
Operating Plasma Mobile at console level is just like working on Ubuntu/Kubuntu terminal on desktop, and I usually prefer using my PlaMo using Command-line Interface (CLI) because most of the functions work well when controlling via CLI.
Either you can use ‘Konsole’ app for that or control your phone remotely from the computer.Since the Konsole app isn’t very handy as for now, I prefer the second option.
ssh phablet@10.15.19.82
Plasma Mobile is very much an alpha-level product. It can’t be used for daily purpose as of now. But, it is really appreciable that the KDE developers have managed to take a Linux desktop, re-frame it around mobile hardware, and make it work quite well.
This could be something special!

PS: I do not intend to say Plasma Mobile is a full operating system itself (just like Plasma on desktop is not a complete distro). It needs an underlying OS.