Issue with nested containers after update
After updating to djangoldp version 0.6.6 I encountered an issue with sib-core unable to display/load any data coming from nested containers.
I went from getting this list when calling the URI http://localhost:8000/users/1/resources/
:
{
"@id": "",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/resources/1/",
"name": "Value proposition design",
"description": "Pellentesque urna neque, posuere ac vulputate et, rhoncus ut nisi. Etiam at ligula eget orci viverra fermentum id pellentesque ante.",
"skills": "Is vulputate. Aliquam mollis consectetur enim, et aliquet lorem. Fusce quis placerat urna. Vestibulum pharetra rhoncus felis at mollis. Mauris purus diam, iaculis at massa vel, lacinia sollicitudin mauris. Nullam ultricies, ligula quis varius aliquam, eros mi ultric",
"author": "Alex Osterwalder",
"target": "public",
"uri": "https://www.strategyzer.com/books/value-proposition-design",
"publication_year": 2000,
"format": {
"@id": "http://localhost:8000/resources/1/format/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/formats/2/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"conversations": {
"@id": "http://localhost:8000/resources/1/conversations/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"steps": {
"@id": "http://localhost:8000/resources/1/steps/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"language": {
"@id": "http://localhost:8000/languages/1/"
},
"fields": {
"@id": "http://localhost:8000/resources/1/fields/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/fields/7/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"type": {
"@id": "http://localhost:8000/types/1/"
},
"related": {
"@id": "http://localhost:8000/resources/1/related/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/resources/2/"
},
{
"@id": "http://localhost:8000/resources/2/"
},
{
"@id": "http://localhost:8000/resources/2/"
}
],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"likes": {
"@id": "http://localhost:8000/resources/1/likes/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"review": {
"@id": "http://localhost:8000/reviews/37/"
},
"sharing": "public",
"@type": "coopstarter:resource",
"permissions": [
{
"mode": {
"@type": "view"
}
},
{
"mode": {
"@type": "change"
}
},
{
"mode": {
"@type": "control"
}
},
{
"mode": {
"@type": "delete"
}
}
]
},
{
"@id": "http://localhost:8000/resources/2/",
"name": "Business Plan Spreadsheet",
"description": "Mauris malesuada lacus non arcu interdum tincidunt. Etiam consequat, purus id interdum blandit, odio ex interdum felis, ut aliquet metus turpis id tellus.",
"skills": "Etiam a hendrerit leo. In fermentum quis libero quis vulputate. Aliquam mollis consectetur enim, et aliquet lorem. Fusce quis placerat urna. Vestibulum pharetra rhoncus",
"author": "Blaise Balaise",
"target": "public",
"uri": "https://docs.google.com/spreadsheets/d/1VYNmqo7lm07q5JyKNw5NFf6QMhmhH9osIPjFwjaMipM/",
"publication_year": 2018,
"format": {
"@id": "http://localhost:8000/resources/2/format/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/formats/3/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"conversations": {
"@id": "http://localhost:8000/resources/2/conversations/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"steps": {
"@id": "http://localhost:8000/resources/2/steps/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/steps/4/"
},
{
"@id": "http://localhost:8000/steps/4/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"language": {
"@id": "http://localhost:8000/languages/1/"
},
"fields": {
"@id": "http://localhost:8000/resources/2/fields/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/fields/7/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"type": {
"@id": "http://localhost:8000/types/1/"
},
"related": {
"@id": "http://localhost:8000/resources/2/related/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/resources/1/"
},
{
"@id": "http://localhost:8000/resources/1/"
},
{
"@id": "http://localhost:8000/resources/5/"
},
{
"@id": "http://localhost:8000/resources/1/"
},
{
"@id": "http://localhost:8000/resources/4/"
},
{
"@id": "http://localhost:8000/resources/5/"
}
],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"likes": {
"@id": "http://localhost:8000/resources/2/likes/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"review": null,
"sharing": "public",
"@type": "coopstarter:resource",
"permissions": [
{
"mode": {
"@type": "view"
}
},
{
"mode": {
"@type": "change"
}
},
{
"mode": {
"@type": "control"
}
},
{
"mode": {
"@type": "delete"
}
}
]
},
{
"@id": "http://localhost:8000/resources/11/",
"name": "Another resource",
"description": "Description toto.",
"skills": "Learning outcomes",
"author": "Resource Author",
"target": "public",
"uri": "https://www.google.com",
"publication_year": 2003,
"format": {
"@id": "http://localhost:8000/resources/11/format/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/formats/2/"
},
{
"@id": "http://localhost:8000/formats/3/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"conversations": {
"@id": "http://localhost:8000/resources/11/conversations/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"steps": {
"@id": "http://localhost:8000/resources/11/steps/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/steps/2/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"language": {
"@id": "http://localhost:8000/languages/1/"
},
"fields": {
"@id": "http://localhost:8000/resources/11/fields/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/fields/3/"
}
],
"permissions": [
{
"mode": {
"@type": "view"
}
}
]
},
"type": {
"@id": "http://localhost:8000/types/1/"
},
"related": {
"@id": "http://localhost:8000/resources/11/related/",
"@type": "ldp:Container",
"ldp:contains": [
{
"@id": "http://localhost:8000/resources/5/"
}
],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"likes": {
"@id": "http://localhost:8000/resources/11/likes/",
"@type": "ldp:Container",
"ldp:contains": [],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
]
},
"review": {
"@id": "http://localhost:8000/reviews/39/"
},
"sharing": "public",
"@type": "coopstarter:resource",
"permissions": [
{
"mode": {
"@type": "view"
}
},
{
"mode": {
"@type": "change"
}
},
{
"mode": {
"@type": "control"
}
},
{
"mode": {
"@type": "delete"
}
}
]
}
],
"permissions": [
{
"mode": {
"@type": "add"
}
},
{
"mode": {
"@type": "view"
}
}
],
"@context": "https://cdn.happy-dev.fr/owl/hdcontext.jsonld"
}
To getting this one (same URI):
{
"@id":"http://localhost:8000/users/1/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/resources/1/",
"name":"Value proposition design",
"description":"Pellentesque urna neque, posuere ac vulputate et, rhoncus ut nisi. Etiam at ligula eget orci viverra fermentum id pellentesque ante.",
"skills":"Is vulputate. Aliquam mollis consectetur enim, et aliquet lorem. Fusce quis placerat urna. Vestibulum pharetra rhoncus felis at mollis. Mauris purus diam, iaculis at massa vel, lacinia sollicitudin mauris. Nullam ultricies, ligula quis varius aliquam, eros mi ultric",
"author":"Alex Osterwalder",
"target":"public",
"uri":"https://www.strategyzer.com/books/value-proposition-design",
"publication_year":2000,
"format":{
"@id":"http://localhost:8000/resources/1/format/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/formats/2/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"conversations":{
"@id":"http://localhost:8000/resources/1/conversations/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"steps":{
"@id":"http://localhost:8000/resources/1/steps/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"language":{
"@id":"http://localhost:8000/languages/1/"
},
"fields":{
"@id":"http://localhost:8000/resources/1/fields/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/fields/7/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"type":{
"@id":"http://localhost:8000/types/1/"
},
"related":{
"@id":"http://localhost:8000/resources/1/related/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/resources/2/"
},
{
"@id":"http://localhost:8000/resources/2/"
},
{
"@id":"http://localhost:8000/resources/2/"
}
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"likes":{
"@id":"http://localhost:8000/resources/1/likes/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"review":{
"@id":"http://localhost:8000/reviews/37/"
},
"sharing":"public",
"@type":"coopstarter:resource",
"permissions":[
{
"mode":{
"@type":"view"
}
},
{
"mode":{
"@type":"change"
}
},
{
"mode":{
"@type":"control"
}
},
{
"mode":{
"@type":"delete"
}
}
]
},
{
"@id":"http://localhost:8000/resources/2/",
"name":"Business Plan Spreadsheet",
"description":"Mauris malesuada lacus non arcu interdum tincidunt. Etiam consequat, purus id interdum blandit, odio ex interdum felis, ut aliquet metus turpis id tellus.",
"skills":"Etiam a hendrerit leo. In fermentum quis libero quis vulputate. Aliquam mollis consectetur enim, et aliquet lorem. Fusce quis placerat urna. Vestibulum pharetra rhoncus",
"author":"Blaise Balaise",
"target":"public",
"uri":"https://docs.google.com/spreadsheets/d/1VYNmqo7lm07q5JyKNw5NFf6QMhmhH9osIPjFwjaMipM/",
"publication_year":2018,
"format":{
"@id":"http://localhost:8000/resources/2/format/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/formats/3/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"conversations":{
"@id":"http://localhost:8000/resources/2/conversations/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"steps":{
"@id":"http://localhost:8000/resources/2/steps/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/steps/4/"
},
{
"@id":"http://localhost:8000/steps/4/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"language":{
"@id":"http://localhost:8000/languages/1/"
},
"fields":{
"@id":"http://localhost:8000/resources/2/fields/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/fields/7/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"type":{
"@id":"http://localhost:8000/types/1/"
},
"related":{
"@id":"http://localhost:8000/resources/2/related/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/resources/1/"
},
{
"@id":"http://localhost:8000/resources/1/"
},
{
"@id":"http://localhost:8000/resources/5/"
},
{
"@id":"http://localhost:8000/resources/1/"
},
{
"@id":"http://localhost:8000/resources/4/"
},
{
"@id":"http://localhost:8000/resources/5/"
}
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"likes":{
"@id":"http://localhost:8000/resources/2/likes/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"review":null,
"sharing":"public",
"@type":"coopstarter:resource",
"permissions":[
{
"mode":{
"@type":"view"
}
},
{
"mode":{
"@type":"change"
}
},
{
"mode":{
"@type":"control"
}
},
{
"mode":{
"@type":"delete"
}
}
]
},
{
"@id":"http://localhost:8000/resources/11/",
"name":"Another resource",
"description":"Description toto.",
"skills":"Learning outcomes",
"author":"Resource Author",
"target":"public",
"uri":"https://www.google.com",
"publication_year":2003,
"format":{
"@id":"http://localhost:8000/resources/11/format/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/formats/2/"
},
{
"@id":"http://localhost:8000/formats/3/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"conversations":{
"@id":"http://localhost:8000/resources/11/conversations/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"steps":{
"@id":"http://localhost:8000/resources/11/steps/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/steps/2/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"language":{
"@id":"http://localhost:8000/languages/1/"
},
"fields":{
"@id":"http://localhost:8000/resources/11/fields/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/fields/3/"
}
],
"permissions":[
{
"mode":{
"@type":"view"
}
}
]
},
"type":{
"@id":"http://localhost:8000/types/1/"
},
"related":{
"@id":"http://localhost:8000/resources/11/related/",
"@type":"ldp:Container",
"ldp:contains":[
{
"@id":"http://localhost:8000/resources/5/"
}
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"likes":{
"@id":"http://localhost:8000/resources/11/likes/",
"@type":"ldp:Container",
"ldp:contains":[
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
]
},
"review":{
"@id":"http://localhost:8000/reviews/39/"
},
"sharing":"public",
"@type":"coopstarter:resource",
"permissions":[
{
"mode":{
"@type":"view"
}
},
{
"mode":{
"@type":"change"
}
},
{
"mode":{
"@type":"control"
}
},
{
"mode":{
"@type":"delete"
}
}
]
}
],
"permissions":[
{
"mode":{
"@type":"add"
}
},
{
"mode":{
"@type":"view"
}
}
],
"@context":"https://cdn.happy-dev.fr/owl/hdcontext.jsonld"
}
The only difference I can see being the definition of the @id of the nested container, from ''
while working to http://localhost:8000/users/1/
presenting an issue. Issue being I am getting no item displayed in my sib-display. I can see the @id should probably be http://localhost:8000/users/1/resources/
instead of ''
or http://localhost:8000/users/1/
.
Big regression to me as the framework is failing now. Downgrading to 0.6.4 fixed it, but not a solution. Looks like it has been introduced in the 0.6.5 release, as I tested it too and could reproduce then.