[owncloud-devel] ownCloud 7.0 and External API

Bernhard Posselt dev at bernhard-posselt.com
Fri Jan 30 09:15:50 GMT 2015


Symfony 1.x was considered but at that point it had multiple issues (it 
was slow, etc iirc). Those were fixed later on in 2.x. The decision was 
made before 2.x came out so they started from scratch. All the libs and 
frameworks were added later on on top of the existing code and the 
result is actually really nice imho :) All we really need is that 
someone steps up and integrates the doctrine ORM/QueryBuilder

ownCloud meanwhile uses lots of Symfony components:
* Doctrine
* Routing
* Twig templates

PS: Zend framework is not as nice as it seems, it encourages bad coding 
has stuff like global static registries and lots of static method calls 
etc. Symfony is way better from a testing and design POV

On 01/30/2015 10:07 AM, Arman Khalatyan wrote:
> This all looks prestage  of Zend framework 1.0x :)
> Why OC did not take simply ZF2.x as a core? are there any
> reason?(license,etc..?)
> ***********************************************************
>
>   Dr. Arman Khalatyan              eScience -SuperComputing
>   Leibniz-Institut für Astrophysik Potsdam (AIP)
>   An der Sternwarte 16, 14482 Potsdam, Germany
>
> ***********************************************************
>
>
> On Fri, Jan 30, 2015 at 9:44 AM, Bernhard Posselt
> <dev at bernhard-posselt.com> wrote:
>> The link to the 6 dev docs have been removed because they are mostly wrong.
>> They are basically identical with the 5 docs so you can look it up there. As
>> for the external API: For your usecase it is better to just implement a very
>> simple RESTful API like described here
>>
>> *
>> http://doc.owncloud.org/server/8.0/developer_manual/app/tutorial.html#adding-a-restful-api-optional
>> * http://doc.owncloud.org/server/8.0/developer_manual/app/api.html
>>
>>
>>
>> On 01/29/2015 07:02 PM, Ben C wrote:
>>> Hi all,
>>>
>>> I'm the developer for ownNote (Evernote replacement app for ownCloud) and
>>> am beginning to implement the Android and iOS interfaces. I've been trying
>>> to identify the best way to integrate via API calls from a PhoneGap
>>> application to the server, and I think I have found that in the 6.0
>>> documentation here:
>>> http://doc.owncloud.org/server/6.0/developer_manual/app/app/externalapi.html
>>>
>>> My two part question:
>>>
>>> 1) Is this the appropriate way to integrate in 7.0 and beyond? This
>>> docuemtnation doesn't seem to exist for 7.0, except in the EE documentation
>>> (http://doc.owncloud.com/server/7.0EE/developer_manual/app/app/externalapi.html)
>>>
>>> 2) If so, I'm running into some issues setting things up. I'm getting:
>>>
>>> ------------
>>>
>>> <ocs><meta><status>failed</status><statuscode>999</statuscode><message>Invalid
>>> query, please check the syntax. API specifications are here:
>>> http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.
>>> DEBUG OUTPUT:
>>> debug output:
>>> http request method: GET
>>> http request uri: /owncloud/ocs/v1.php/apps/ownnote
>>> </message></meta></ocs>
>>> ------------
>>>
>>> ... as a response. My query is to:
>>>
>>> ------------
>>>
>>> https://RegularNonAdminUser:Password@hostname.ext:port/owncloud/ocs/v1.php/apps/ownnote
>>> ------------
>>>
>>> My routes.php:
>>>
>>> ------------
>>> <?php
>>>
>>> namespace OCA\OwnNote\AppInfo;
>>>
>>> \OCP\API::register(
>>>      'get',
>>>      '/apps/ownnote/ajax/api_getnotes.php',
>>>      function($urlParameters) {
>>>        return new \OC_OCS_Result($data);
>>>      },
>>>      'ownnote',
>>>      \OC_API::ADMIN_AUTH
>>> );
>>>
>>> $application = new Application();
>>>
>>> $application->registerRoutes($this, array('routes' => array(
>>>          array('name' => 'page#index', 'url' => '/', 'verb' => 'GET'),
>>>      array('name' => 'page#do_echo', 'url' => '/echo', 'verb' => 'POST'),
>>> )));
>>>
>>> ------------
>>>
>>> And my ajax/api_getnotes.php, which just returns "Test" to try to get
>>> things working:
>>>
>>> ------------
>>> <?php
>>>
>>> \OCP\User::checkLoggedIn();
>>> \OCP\App::checkAppEnabled('ownnote');
>>>
>>> echo "Test";
>>>
>>> ?>
>>> ------------
>>>
>>> Can someone point me in the right direction, or to a sample of fully
>>> functioning external API code?
>>>
>>> Thanks,
>>> Ben
>>> _______________________________________________
>>> Devel mailing list
>>> Devel at owncloud.org
>>> http://mailman.owncloud.org/mailman/listinfo/devel
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at owncloud.org
>> http://mailman.owncloud.org/mailman/listinfo/devel



More information about the Devel mailing list