[Owncloud] Missing methods in public namespace
Christian Reiner
foss at christian-reiner.info
Mon Sep 16 13:26:26 UTC 2013
Hi Thomas,
this is a good action you take, thanks!
On Monday 16 September 2013 02:18:58 Thomas Tanghus wrote:
> I'm trying to collect what we need to get in the public namespace, and the
> ones listed below are what I've found so far, and my suggestion for
> placement, or questions on the same:
* Please add some version formats to be queried.
This includes two aspects:
1.) I usually implement all my apps such that they can be installed in
multiple OC versions. So unlike the apps written by the OC team itself my apps
are backwards compatible. The main motivation for this is that the store at
apps.owncloud.com still (after two years...) is not able to support multiple
versions of an app, depending for example on the OC version a user has
installed. However to do this my apps have to know the OC version. Currently I
have to use string operations to handle this! So I suggest to publish
OC::getVersionString() next to OCP\Util::getVersion().
2.) And another thing that absolutely would ease version comparisions would be
if you could stop call pre versions of upcoming releases still by the major
version of the current release. Example: pre releases of OC-5 were called
verison 4.8.96 for example. This is pretty annoying if you try to implement
backwards compatibility, since a) you cannot simply test for the major version
(we are talking about runtime checks here!) and b) you have to *guess* what a
version actually means.
* Since there still is no dependency management (or at least dependency check)
for apps implemented (why not?) all apps have to perform all checks by itself
(or take the risk...). My Shorty-Tracking app for example only makes sense
when the main Shorty app is installed. If not, what is to be done? Exactly:
the app disables itself again leaving a log entry. This is obviously done
using OC_App::disable(). So I suggest to publish this method, or, preferable,
finally implement a requirements check for apps.
* I miss basic things like OC_Appconfig::getValue() in the public interface...
* the current paradigm that apps are only loaded for session based requests
(so for authenticated users) is much to strict in my eyes.
I have to use OC_App::loadApps() in one case to be able to track requests via
the public service to the Shorty app. You mention this app, but perfect would
be a variant to load specific apps, so something like OCP\loadApp(...).
The same is true for other situations: I still think it would be a great thing
to implement apps offered to users NOT logged in. So for guests, stuff like a
homepage app inside owncloud. I mean if you offer a personal cloud and think
of sharing stuff with people that way, then it is an absolute natural thing
that I should also be able to use this cloud (whatever a cloud is in this, I
still don't really know...) to present information about myself. I mean isn't
that what a cloud is all about? Keeping and offering information? Currently
this is not possible, since for non-authenticated requests no apps are loaded.
Period. Why?
Probably it does not make sense to load all apps. That is why I suggested an
additional app category more than a year ago: "public"...
* OC_Group::inGroup() is something I miss too...
(this is just what comes to my mind without actually checking my code)
Christian Reiner (arkascha)
More information about the Owncloud
mailing list