Yes! This was the finishing touch. It looks like there are some issues with the MathJax equations I am testing on, but that is a problem for another topic :) Thanks Shauna and Randall,
Gareth On Mon, Mar 9, 2015 at 9:17 PM, Randall Leeds <[email protected]> wrote: > It looks like you're setup is working fine, except you need to put that > Array into the `rows` key of a result object and add a `total` count. > > On Mon, Mar 9, 2015 at 7:17 PM, Randall Leeds <[email protected]> wrote: > >> You said you were using MongoDB + Node.js for your server. Did you write >> this yourself? Have you looked at this one: >> https://github.com/hyperstudio/MIT-Annotation-Data-Store ? >> >> You need to return the totals and rows in your response to the search on >> the server. >> >> On Mon, Mar 9, 2015 at 7:11 PM, Gareth Highnam <[email protected]> >> wrote: >> >>> Do you see anything wrong with this post? If I look at the response (as >>> suggested by Shauna), this is what is returned by the loadFromSearch, but >>> nothing appears on the page itself. >>> >>> Also worth noting - there is no "totals" or "rows" object returned by >>> search, but the docs say they should be expected. >>> >>> [ { _id: 54fe3df73cd83186094364ad, >>> quote: 'are two solu', >>> uri: 'http://www.example.com/anno/anno.html', >>> id: 54fdd3ce6c8417cd71810cf9, >>> __v: 0, >>> permissions: [], >>> tags: [], >>> ranges: >>> [ { start: '/p[2]', >>> startOffset: 22, >>> end: '/p[2]', >>> endOffset: 35, >>> _id: 54fe3df73cd83186094364ae } ], >>> text: 'do this', >>> updated: Mon Mar 09 2015 20:42:31 GMT-0400 (EDT), >>> created: Mon Mar 09 2015 20:42:31 GMT-0400 (EDT) } ] >>> >>> On Mon, Mar 9, 2015 at 9:02 PM, Randall Leeds <[email protected]> >>> wrote: >>> >>>> No. Annotator will use the "id" field for substitution in the URL, >>>> though. It's important that it be accurate. Annotator will completely >>>> ignore _id. >>>> >>>> On Mon, Mar 9, 2015 at 6:47 PM, Gareth Highnam <[email protected]> >>>> wrote: >>>> >>>>> One more question - will it break things if there is both an "_id" >>>>> field and a "id" field for each entry (and they are identical)? >>>>> >>>>> >>>>> >>>>> On Mon, Mar 9, 2015 at 6:04 PM, Gareth Highnam <[email protected]> >>>>> wrote: >>>>> >>>>>> I did create a new "id" field that copied "_id", although now that I >>>>>> look at it I ended up copying _id from ranges and not the main one, which >>>>>> may be an issue. I'll see what happens if I fix that. >>>>>> >>>>>> As for the URI, it actually does match, but I changed it by hand in >>>>>> the email (because my friend is paranoid). Sorry for the confusion there, >>>>>> good catch though! >>>>>> >>>>>> On Mon, Mar 9, 2015 at 5:40 PM, Randall Leeds <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Looking good. Annotator Store expects the id key to be named "id". >>>>>>> You may need to rewrite that key in your API routes. >>>>>>> On Mar 9, 2015 3:13 PM, "Gareth Highnam" <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> This time it gave 200 and gave me some JSON about my existing >>>>>>>> entries, which are a bunch data like so: >>>>>>>> >>>>>>>> {"_id":"54fdf51f18eb23d57f4a8ca6","quote":"are two solut","uri":" >>>>>>>> http://localhost.com/inline/anno.html >>>>>>>> ","__v":0,"permissions":[],"tags":[],"ranges":[{"start":"/p[2]","startOffset":22,"end":"/p[2]","endOffset":36,"_id":"54fdf51f18eb23d57f4a8ca7"}],"text":"adsf","updated":"2015-03-09T19:31:43.016Z","created":"2015-03-09T19:31:43.016Z","id":"54fde1dbf7d884cc7862b346"},09T21:57:53.240Z","id":"54fde1dbf7d884cc7862b346"}] >>>>>>>> >>>>>>>> I'm not really sure if these posts are created correctly in first >>>>>>>> place, which could be a big issue but there are no explicit errors from >>>>>>>> Annotator about it. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Gareth >>>>>>>> >>>>>>>> On Mon, Mar 9, 2015 at 5:00 PM, Shauna Gordon-McKeon < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> I missed that Annotator is successfully POSTing entries. That >>>>>>>>> narrows things down. >>>>>>>>> >>>>>>>>> What url is it GETing from? When it returns 200 or 304, can you >>>>>>>>> use the "Network -> Response" element of the developer console to >>>>>>>>> inspect >>>>>>>>> what it's returning? >>>>>>>>> >>>>>>>>> On Mon, Mar 9, 2015 at 5:55 PM, Gareth Highnam < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Thanks Shauna, >>>>>>>>>> >>>>>>>>>> When the loadFromSearch runs, it returns either a 304 or 200 type >>>>>>>>>> error. Because of this, it does not report anything to the developer >>>>>>>>>> console. Why it does one or the other I still don't know... You may >>>>>>>>>> be >>>>>>>>>> onto something with the port issues though. >>>>>>>>>> >>>>>>>>>> The confusing part is the lack of obvious errors. Store seems to >>>>>>>>>> POST fine, but does not GET from search even with a 200 error. >>>>>>>>>> >>>>>>>>>> Gareth >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Mar 9, 2015 at 4:40 PM, Shauna Gordon-McKeon < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> I'm an Annotator newb too, but a few things I notice: >>>>>>>>>>> >>>>>>>>>>> - You've given a full path when specifying the endpoint. In my >>>>>>>>>>> (working) version I just specify the prefix, in my case '/api' >>>>>>>>>>> >>>>>>>>>>> - You've specified :3000 for the api endpoint but not for the >>>>>>>>>>> URIs. If the whole app is accessed via port 3000 this may cause >>>>>>>>>>> problems. >>>>>>>>>>> >>>>>>>>>>> - You've got a term search: '/search' here which I don't >>>>>>>>>>> have. This could totally be a working different implementation >>>>>>>>>>> from mine, >>>>>>>>>>> but I thought I'd flag it as a potential problem. I've put my >>>>>>>>>>> code here in case it's helpful to look through: >>>>>>>>>>> https://pastebin.mozilla.org/8824977 >>>>>>>>>>> >>>>>>>>>>> Maybe try switching the above things around and see if it starts >>>>>>>>>>> working? >>>>>>>>>>> >>>>>>>>>>> When debugging problems, I use the developer console that >>>>>>>>>>> Chrome/Firefox provide. You can see network requests there. >>>>>>>>>>> Annotator >>>>>>>>>>> should be making a request to the API store -- what is the response >>>>>>>>>>> from >>>>>>>>>>> the API? 404 (not found)? 403 (forbidden)? Or is it breaking >>>>>>>>>>> before it >>>>>>>>>>> even makes a request? >>>>>>>>>>> >>>>>>>>>>> best >>>>>>>>>>> Shauna >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Mar 9, 2015 at 5:09 PM, Gareth Highnam < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> I've been tying to set up local storage with the storage >>>>>>>>>>>> plugin, using Node.js+MongoDB. My end goal is for anyone visiting >>>>>>>>>>>> my page >>>>>>>>>>>> to be able to annotate it and view any existing annotations >>>>>>>>>>>> previously >>>>>>>>>>>> made, when the page loads. I don't need any authentication for this >>>>>>>>>>>> purpose. >>>>>>>>>>>> >>>>>>>>>>>> Disclaimer: (I am a noob) >>>>>>>>>>>> >>>>>>>>>>>> Here is where I am: >>>>>>>>>>>> 1. Page loads, annotator can highlight, create, edit, delete >>>>>>>>>>>> comments on front end. >>>>>>>>>>>> 2. Annotator POST can create entries in back end. >>>>>>>>>>>> >>>>>>>>>>>> When I reload page, no stored annotations are brought up, >>>>>>>>>>>> despite existing in backend. Here is the code for the storage set >>>>>>>>>>>> up: >>>>>>>>>>>> >>>>>>>>>>>> var content = $('div').annotator(); >>>>>>>>>>>> >>>>>>>>>>>> content.annotator('addPlugin', 'Store', { >>>>>>>>>>>> >>>>>>>>>>>> // The endpoint of the store on your server. >>>>>>>>>>>> prefix: ' >>>>>>>>>>>> http://www.nofeveryone.com:3000/inline', >>>>>>>>>>>> >>>>>>>>>>>> // Attach the uri of the current page to all >>>>>>>>>>>> annotations to allow search. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> annotationData: { >>>>>>>>>>>> >>>>>>>>>>>> 'uri': 'http://www.nofeveryone.com/anno/anno.html' >>>>>>>>>>>> >>>>>>>>>>>> }, >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> // This will perform a "search" action when the >>>>>>>>>>>> plugin loads. Will >>>>>>>>>>>> >>>>>>>>>>>> // request the last 20 annotations for the current >>>>>>>>>>>> url. // eg. >>>>>>>>>>>> /store/endpoint/search?limit=20&uri=http://this/document/only >>>>>>>>>>>> loadFromSearch: { >>>>>>>>>>>> >>>>>>>>>>>> 'limit': 20, >>>>>>>>>>>> >>>>>>>>>>>> 'uri': ' >>>>>>>>>>>> http://www.nofeveryone.com/anno/anno.html' >>>>>>>>>>>> >>>>>>>>>>>> }, >>>>>>>>>>>> >>>>>>>>>>>> urls: { >>>>>>>>>>>> >>>>>>>>>>>> search: '/search' >>>>>>>>>>>> >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> }); >>>>>>>>>>>> >>>>>>>>>>>> The API endpoints appear fully functional. When I test the same >>>>>>>>>>>> http requests from my URI using curl, I get my posts back in JSON. >>>>>>>>>>>> >>>>>>>>>>>> I've been pretty stumped for why it's not loading them with >>>>>>>>>>>> "loadFromSearch", so if anyone thinks they can help I would greatly >>>>>>>>>>>> appreciate it. I'm happy to give any other info about my code. >>>>>>>>>>>> >>>>>>>>>>>> Gareth >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> annotator-dev mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> https://lists.okfn.org/mailman/listinfo/annotator-dev >>>>>>>>>>>> Unsubscribe: >>>>>>>>>>>> https://lists.okfn.org/mailman/options/annotator-dev >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> annotator-dev mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.okfn.org/mailman/listinfo/annotator-dev >>>>>>>> Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev >>>>>>>> >>>>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ annotator-dev mailing list [email protected] https://lists.okfn.org/mailman/listinfo/annotator-dev Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev
