[annotator-dev] Trouble setting up local storage

Randall Leeds tilgovi at hypothes.is
Tue Mar 10 02:02:39 UTC 2015


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 <gareth862 at gmail.com> 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 <gareth862 at gmail.com>
> 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 <tilgovi at hypothes.is>
>> 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" <gareth862 at gmail.com> 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 <
>>>> shaunagm at gmail.com> 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 <gareth862 at gmail.com>
>>>>> 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 <
>>>>>> shaunagm at gmail.com> 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 <gareth862 at gmail.com>
>>>>>>> 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
>>>>>>>> annotator-dev at lists.okfn.org
>>>>>>>> https://lists.okfn.org/mailman/listinfo/annotator-dev
>>>>>>>> Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> annotator-dev mailing list
>>>> annotator-dev at lists.okfn.org
>>>> https://lists.okfn.org/mailman/listinfo/annotator-dev
>>>> Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev
>>>>
>>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/annotator-dev/attachments/20150309/f587d691/attachment-0004.html>


More information about the annotator-dev mailing list