Reto,

I'm copying the developers' list, since that's really where any discussion 
should take place. I appreciate the effort you're making to get this functional 
again; I've always found SOAP services painful to deal with, especially using 
Cocoa. Great job on making things functional!

I'm not maintaining this code anymore, as there's pretty much none of my 
original code left after various rewrites :-). I'll make the following 
comments, and you guys can take them or leave them.

  1) I am frankly pissed that CitedReferences/CitingArticles/etc is not 
documented in the code or the online help, if the comment is still correct. 
This accounts for a huge amount of boilerplate-looking code, which in my 
experience is a disaster for testing after rewriting/refactoring. I suggest 
removing them in your rewrite.

  2) BDSKISISourceXMLTagPriorityKey is apparently an array of fields. No idea 
what the hell it does, as it's not documented in the code or on the wiki. I 
suggest removing it in your rewrite.

  3) Style: is testing isKindOfClass: really the only way to distinguish the 
body parts? It's generally frowned on in Obj-C.

  4) Style: as far as I know, the remainder of BibDesk does not use the Obj-C 
dot syntax for accessors, but it looks like that was used in the previous 
iteration of this class. Personally, I detest it and would prefer square 
brackets, but this isn't your fault.

  5) Style: downloadWithSearchTerm:database:options: is >300 lines, and 
createPublicationInfoWithRecord() is >460 lines. This is really unfortunate, as 
they are both unmaintainably long.

  6) There's a hardcoded date of "2020-01-01" in there. This needs to be 
+[NSDate distantFuture] or +[NSDate date]. 2020 is only 6 years away, and I've 
been contributing code to BibDesk for the past 12 years :-).


The chief points are really the last two. Can Xpath queries be used to avoid 
walking the tree(s) so many times? The multiple nested while() loops make me 
really nervous from a readability standpoint.

thanks again,
Adam

On Mar 22, 2014, at 13:30 , Reto Stöckli <reto.stoc...@gmail.com> wrote:

> Adam,
> 
> CC to you without the App due to e-mail size violation error.
> Reto
> 
> Begin forwarded message:
> 
>> From: Reto Stöckli <reto.stoc...@gmail.com>
>> Date: March 22, 2014 9:22:59 PM GMT+01:00
>> To: "Smith, Colin" <colin.sm...@mpibpc.mpg.de>
>> Cc: Adam Maxwell <amaxw...@users.sf.net>
>> Subject: Re: Web of Science
>> 
>> Colin (CC Adam),
>> 
>> I have implemented around 95% of the WOKsearch V3 interface. And it works 
>> for me. Since this is my first Objective C Code it might be rather lengthy, 
>> but I've tried to stay in a strictly logic coding scheme. 
>> 
>> Some things to note:
>> - Compared to V2 the XML schema is much more nested
>> - no more cited reference id' returned
>> - I've removed the query for a specific Collection / Edition since searching 
>> all WOS databases is what you get when you search the web version. Cross 
>> check number of entries
>> - Searching for count=1 does not work anymore, so I've set the count=100 in 
>> the first search
>> - I've only adapted the search operation (and not the citedReferences etc.)
>> - still missing implementation of fields include the isiURL and pub_url 
>> fields
>> - There are some remaining questions in the code, please check the // Reto: 
>> comments in BDSKISIGroupServer.m
>> 
>> I've cross-checked with Andreas Fischlin and he confirms the stuff is 
>> working for him as a power user of WOKSearch.
>> 
>> Please let me know if something is missing. The three codes are compatible 
>> with the SVN version from March 6. I also attach the Debug version of the 
>> App.
>> 
>> Reto
>> 
>> 
>> 
> <BDSKISIGroupServer.m><WOKMWSAuthenticateService.m><WokSearchService.m>
>> 
> 


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Bibdesk-develop mailing list
Bibdesk-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-develop

Reply via email to