[aerogear-dev] iOS API cookbook examples
Christos Vasilakis
cvasilak at gmail.com
Tue Mar 19 09:04:08 EDT 2013
Hi
I have updated the doc with the comments
thanks for reviewing it!
-
Christos
On Mar 19, 2013, at 2:36 PM, Matthias Wessendorf <matzew at apache.org> wrote:
> On Tue, Mar 19, 2013 at 1:25 PM, Christos Vasilakis <cvasilak at gmail.com> wrote:
>> Hi
>>
>> thanks for reviewing it
>>
>> answers inline
>>
>> On Mar 19, 2013, at 9:42 AM, Matthias Wessendorf <matzew at apache.org> wrote:
>>
>>> Nice document!
>>>
>>> A few comments on the content of the cookbook !
>>>
>>>
>>>
>>> * different iOS subsystems
>>> -> not sure I like 'subsystem' part in the document
>>
>> I changed the description a bit removing the 'subsystem' part.
>>
>>
>>> * "Pipe and Pipeline with Paging"
>>> -> not sure, at this point, it's clear what Pipe/Pipeline is - and how
>>> that could have to do with paging
>>> Not sure... but I'd use "HTTP REST abstraction + Pagination"
>>>
>>
>> I removed 'with Paging' part and replaced it with plus, so that not be confused paging with the Pipeline concept.
>> Since we do some introductory description on the concepts (Pipe, Pipeline, Data Manager, Auth.) I think we can stick to these name
>
>
> Datamanager + Auth has a more generic meaning - What's wrong with
> using ""HTTP REST abstraction + Pagination"" as the header?
> After that header we do (and should) use the Pipe/Pipeline..
>
>
>
>
>>
>>> * "The save method is also responsible for updating an object. However
>>> this happens only when there is an id property/field available:"
>>> -> the "id" is wrong; it should say recordId (since it's
>>> configurable), adding a link to that property would be nice
>>> ----> similar for the remove case
>>>
>>
>> I created a NOTE describing the 'id' - recordId relationship and link to it from the respective methods. I think it's better now
>
> I think that "Before performing save, ensure that the object you are
> trying to save, has the id property set." is actually a bit wrong,
> since the property on the API is actually called recordId...... Would
> be better to stick with those names (similar on remove)
>
>
>
>
>>
>>
>>> * Read all data from the server
>>> --> let's move that to the top - before the save
>> ok
>
>
> Can you move the "Read a specific object" to the top?
> -Read a specific object
> -Read all
> -save
> etc
>
> :-)
>
>
>
>>
>>> --> reading a specific entry (with a given id/recordID) would be a
>>> nice example too
>> ok
>>
>>>
>>> * Since we are pointing to a RESTful endpoint, the API issues a HTTP
>>> GET request. The JSON output of the above NSLog() call looks like
>>> this:
>>> ==> Do you htink it makes sense to give the trace for the
>>> NSDictionary? IMO we can just get rid of it - since JSON is only the
>>> output if the backend generates JSON…
>>>
>>
>> ok i got rid of it.
>>
>>>
>>> * Paging header -> I'd use 'Pagination'
>>>
>>> * (either in the headers by webLinking or custom headers,
>>> -> either in the headers via WebLinking RFC or custom headers,
>> ok
>>
>>>
>>>
>>> * For example, in Twitter case, paging metadata are located in the
>>> body of the response, using next_page or previous_page to identify the
>>> next or previous result set respectively.
>>> ---> For example, Twitter's paging metadata is located in the body of
>>> the response.
>>>
>>> ==> Just link to their API - no need to explain their (current)
>>> pagination API :)
>>> https://dev.twitter.com/docs/api/1/get/search
>>> NOTE: Their 1.1 API version is DIFFERENT…
>>>
>> ok
>
>
> For example, the Twitter search paging metadata is located in the body
> of the response;
>
>
>>
>>>
>>>
>>> * === Move Forward in the result set || === Move Backward in the result set
>>> ----> Can you make this not code - just the actual paging should be code?!
>>>
>>>
>>
>> ok
>>>
>>>
>>> * Persistent Storage system
>>> ==> Not sure the "OTP" example fits the context - there is nothing
>>> mentioned on OTP here - perhaps some more detailed example here
>>> (referencing the OTP lib) would be a bit more helpful
>>>
>>
>> ok, I added a small description for OTP so it's more relevant.
>>>
>>
>>>
>>> Again, nice work!
>>
>> Thanks for reviewing!
>
>
> Thanks for taking care - Oh... :) one more question: should we add a
> sentence (at the begining) Click here for the full API doc ?
>
> -Matthias
>
>
>
>>
>> -
>> Christos
>>
>>>
>>> On Mon, Mar 18, 2013 at 10:03 AM, Christos Vasilakis <cvasilak at gmail.com> wrote:
>>>> On Mar 18, 2013, at 10:33 AM, Daniel Bevenius <daniel.bevenius at gmail.com>
>>>> wrote:
>>>>
>>>> Nice work!
>>>>
>>>> Was wondering about this sentence:
>>>> Paging metadata located in the server response (either in the headers, in
>>>> the body or using [webLinking are used to identify the next or the previous
>>>> result set.
>>>> Could that perhaps be changed to something like (either in the headers by
>>>> webLinking or custom headers, or in the body).
>>>>
>>>>
>>>> I changed to your suggestion, it sounds better!
>>>>
>>>>
>>>> I noticed a few character that are not being represented properly:
>>>> A Pipeline object represents a ‘collection’ of server connections (aka
>>>> Pipes).
>>>> The class offers simple APIs to add, remove or get access to a ‘data
>>>> store’
>>>> The class offers simple APIs to add, remove, or get access to a
>>>> ‘authentication module’.
>>>>
>>>>
>>>> fixed, (missed it cause the locally generated html didn't have these weird
>>>> chars appended)
>>>>
>>>>
>>>> /Dan
>>>>
>>>>
>>>> Thanks for reviewing it!
>>>>
>>>> -
>>>> Christos
>>>>
>>>>
>>>>
>>>>
>>>> On 18 March 2013 09:11, Christos Vasilakis <cvasilak at gmail.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> for the needs of [1] we created a page that collectively has code examples
>>>>> for all the different subsystems available in iOS. Much of the content used
>>>>> to reside in API.md [2], but now that we have moved it inside the API
>>>>> documentation, we though it would be better instead of removing the file
>>>>> completely, to convert it to a web page that will be hosted on our web site.
>>>>>
>>>>> I have converted to asciidoc and added some more content for the basic
>>>>> concept of the available iOS subsystems. The result can be found here [3]
>>>>>
>>>>> Wdyt?
>>>>>
>>>>> Thanks
>>>>> Christos
>>>>>
>>>>> [1] https://issues.jboss.org/browse/AEROGEAR-1007
>>>>> [2] https://github.com/aerogear/aerogear-ios/blob/master/API.md
>>>>> [3] http://tinyurl.com/cnvb6e6
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>>
>>>
>>> --
>>> Matthias Wessendorf
>>>
>>> blog: http://matthiaswessendorf.wordpress.com/
>>> sessions: http://www.slideshare.net/mwessendorf
>>> twitter: http://twitter.com/mwessendorf
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
More information about the aerogear-dev
mailing list