bounswe / bounswe2018group9

Actopus - an activity social octopus
14 stars 6 forks source link

User Id in Annotation and Additional Endpoints #371

Closed srknzl closed 5 years ago

srknzl commented 5 years ago

Hi there,

1- As far as I know, I should be able to get annotations of a page when I want by giving uri of the page. So this is the first issue: Additional get endpoint is needed which will be used to retrieve annotations of a page by giving the page uri instead of backend id. 2- We need who annotated and when information in the body of the annotation. Who annotated is more important because we will give permission to change the annotation only the owner of it.

gumityolcu commented 5 years ago

I have implemented the endpoint needed for 1. I implemented it as a posr request with the url in the body because if we use a get request, we need to put a url at the end of a url which didn't look rigorous to me.

gumityolcu commented 5 years ago

1-) I have changed the code to conform to your request. Currently, GET /api/annotations endpoint takes URL param 'url' and returns annotations associated with the page identified by the parameter.

2-) I added the 'creator' and 'created' fields. I also added 'modified' field. 'created' and 'modified' are of type Date(this data type seems to conform to the xsd:dateTime standard, THIS NEEDS CHECK!) and 'creator' is of type String.

'created' and 'modified' fields represent the times the annotation is created and last modified. PUT endpoint is changed to update modified field automatically.

I have a question concerning the 'creator' field. We need to serve the annotations such that their creator field contains a URL to the creator's user page. What about creating annotations? Do you think we should directly use user ID's for POST endpoints or should the field contain URL before coming to the server? @okyksl @srknzl @kemaltulum @nazmicancalik

Currently this last point is not handled and we store in the database whatever is given inthe request for creation.

srknzl commented 5 years ago

It does not matter but lets use url ?

okyksl commented 5 years ago

@gumityolcu User ID does not mean anything to any client outside of our project. Thus, to make our annotation server usable for any client complying the protocol, we need to use url.

gumityolcu commented 5 years ago

This issue is resolved.