Sidehistorik
Info |
---|
RESTfull services are done via Alfresco WebScripts - See all WebScripts for an Alfresco installation at http://alfresco.server.dk/alfresco/service/index/all My main interest is working with Document Libraries, the other Alfresco stuff I dont use - that part is in my Atlassian Confluence at www.mos-eisley.dk. So the most interesting WebScripts seems to be in http://alfresco.mos-eisley.dk/alfresco/service/index/package/org/alfresco/slingshot |
Tip |
---|
Use http://json.parser.online.fr/ to review and validate returned JSON |
Indholdsfortegnelse |
---|
Getting a list of sites
Review http://docs.alfresco.com/5.1/pra/1/concepts/pra-request-api-format.html
Do also review http://docs.alfresco.com/5.1/pra/1/concepts/pra-parameters.html in the process
Kodeblok |
---|
batman:~ bnp$ curl |
Ref: https://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference
Getting a list of sites
Kodeblok |
---|
curl -o output.json -u username:password http://alfresco.mos-eisley.dk/alfresco/servic/api/sites?nf=&spf=&size=&pos= cat output.json [ { "url": "\/alfresco\/service\/api\/sites\/familie-billeder", "sitePreset": "site-dashboard", "shortName": "familie-billeder", "title": "Familie Billeder", "description": "Private Familiebiller for Toke, Normann, Anette & Christopher", "node": "\/alfresco\/service\/api\/node\/workspace\/SpacesStore\/317e34c7-bc2f-4cd4-9083-127199718886", "tagScope": "\/alfresco\/service\/api\/tagscopes\/workspace\/SpacesStore\/317e34c7-bc2f-4cd4-9083-127199718886", "siteManagers": [ "bnp" ], "isMemberOfGroup": false, "isPublic": false, "visibility": "PRIVATE" } , { "url": "\/alfresco\/service\/api\/sites\/private", "sitePreset": "site-dashboard", "shortName": "private", "title": "Private", "description": "", "node": "\/alfresco\/service\/api\/node\/workspace\/SpacesStore\/cf74ce4d-259a-49c6-88fc-3fe36140795c", "tagScope": "\/alfresco\/service\/api\/tagscopes\/workspace\/SpacesStore\/cf74ce4d-259a-49c6-88fc-3fe36140795c", "siteManagers": [ "bnp" ], "isMemberOfGroup": false, "isPublic": false, "visibility": "PRIVATE" } ] |
Get a list of Documents
Kodeblok |
---|
|
/api/-default-/public/alfresco/versions/1/sites/ |
Produces this JSON
Kodeblok |
---|
{
"list":
{"pagination":
{"count":10,
"hasMoreItems":false,
"totalItems":10,
"skipCount":0,
"maxItems":100
},
"entries":
[{"entry":
{"role":"SiteManager",
"visibility":"PRIVATE",
"guid":"317e34c7-bc2f-4cd4-9083-127199718886",
"description":"Private Familiebiller for Toke, Normann, Anette & Christopher",
"id":"familie-billeder",
"title":"Familie Billeder"}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"55970abc-0e80-4839-bef5-0596b5d8aa76",
"id":"mc-revyen",
"title":"MC Revyen"}
},
{"entry":
{"role":"SiteManager",
"visibility":"PRIVATE",
"guid":"2ce7267b-7c0e-4a50-93e3-13d13bbad8ce",
"id":"netic-billeder",
"title":"Netic Billeder"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PRIVATE",
"guid":"cf74ce4d-259a-49c6-88fc-3fe36140795c",
"id":"private",
"title":"Private"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"b507da0a-4769-4599-a4b9-530e59f18607",
"id":"public",
"title":"Public"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"fc3fc77c-e115-4a08-90f6-bb6ec66db1ef",
"id":"sjov",
"title":"Sjov"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"7f5708b2-f299-4d4d-87fc-5e480a162f40",
"id":"slangereden",
"title":"Slangereden"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"b4cff62a-664d-4d45-9302-98723eac1319",
"description":"This is a Sample Alfresco Team site.",
"id":"swsdp",
"title":"Sample: Web Site Design Project"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PUBLIC",
"guid":"383d7ec3-8943-4bde-a23b-f468087bb70d",
"description":"Bare til tests",
"id":"test",
"title":"Test"
}
},
{"entry":
{"role":"SiteManager",
"visibility":"PRIVATE",
"guid":"2341c4bb-d5b3-4b53-8fb6-c07bd4705742",
"id":"vita-torbens-billeder",
"title":"Vita og Torbens billeder"
}
}
]
}
} |
Get a list of Documents from a "root" folder
This is for the "familie-billeder" site, the URL is
Kodeblok |
---|
curl -u bnp:username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/doclib/doclist/{type}/site/familie-billeder/{container}
type= document or folders
container = documentLibrary |
giving us
Kodeblok |
---|
curl -u bnp:username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/doclib/doclist/folders/site/sjov/documentLibrary |
Produces this JSON
Kodeblok |
---|
{
"totalRecords": 4,
"startIndex": 0,
"metadata":
{
"repositoryId": "21ea3cc1-2140-476e-a323-d1f8b066a695",
"container": "workspace://SpacesStore/dd01c075-9f85-43f3-b3c7-390d1ce67d67",
"parent":
{
"nodeRef": "workspace://SpacesStore/dd01c075-9f85-43f3-b3c7-390d1ce67d67",
"permissions":
{
"userAccess":
{
"create": true,
"edit": true,
"delete": true,
"cancel-checkout": false,
"permissions": true
}
}
},
"onlineEditing": false,
"itemCounts":
{
"folders": 4,
"documents": 0
}
},
"items":
[
{
"nodeRef": "workspace://SpacesStore/4746fb1d-8004-4000-9710-cc3c05aab5e7",
"nodeType": "cm:folder",
"type": "folder",
"mimetype": "",
"isFolder": true,
"isLink": false,
"fileName": "Papirsflyvere",
"displayName": "Papirsflyvere",
"status": "",
"title": "",
"description": "",
"author": "",
"createdOn": "2015-01-04T20:01:46.709+01:00",
"createdBy": "Normann P. Nielsen",
"createdByUser": "bnp",
"modifiedOn": "2015-01-04T20:01:47.710+01:00",
"modifiedBy": "Normann P. Nielsen",
"modifiedByUser": "bnp",
"lockedBy": "",
"lockedByUser": "",
"size": "0",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/4746fb1d-8004-4000-9710-cc3c05aab5e7/Papirsflyvere",
"webdavUrl": "\/webdav\/Sites\/sjov\/documentLibrary\/Papirsflyvere",
"actionSet": "folder",
"tags": [],
"activeWorkflows": "",
"likes":
{
"isLiked": false,
"totalLikes": 0
},
"location":
{
"repositoryId": "21ea3cc1-2140-476e-a323-d1f8b066a695",
"site": "sjov",
"siteTitle": "Sjov",
"container": "documentLibrary",
"path": "\/",
"file": "Papirsflyvere",
"parent":
{
"nodeRef": "workspace:\/\/SpacesStore\/dd01c075-9f85-43f3-b3c7-390d1ce67d67"
}
},
"permissions":
{
"inherited": true,
"roles":
[
"ALLOWED;GROUP_site_sjov_SiteContributor;SiteContributor;INHERITED",
"ALLOWED;GROUP_EVERYONE;ReadPermissions;INHERITED",
"ALLOWED;GROUP_EVERYONE;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteCollaborator;SiteCollaborator;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteConsumer;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteManager;SiteManager;INHERITED"
],
"userAccess":
{
"create": true,
"edit": true,
"delete": true,
"cancel-checkout": false,
"permissions": true
}
},
"custom": {},
"actionLabels":
{
}
},
{
"nodeRef": "workspace://SpacesStore/c7c14bde-69b6-4351-b41f-0016be053970",
"nodeType": "cm:folder",
"type": "folder",
"mimetype": "",
"isFolder": true,
"isLink": false,
"fileName": "Sjov med mad",
"displayName": "Sjov med mad",
"status": "",
"title": "",
"description": "",
"author": "",
"createdOn": "2015-01-04T19:57:00.474+01:00",
"createdBy": "Normann P. Nielsen",
"createdByUser": "bnp",
"modifiedOn": "2015-01-04T19:57:02.559+01:00",
"modifiedBy": "Normann P. Nielsen",
"modifiedByUser": "bnp",
"lockedBy": "",
"lockedByUser": "",
"size": "0",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/c7c14bde-69b6-4351-b41f-0016be053970/Sjov%20med%20mad",
"webdavUrl": "\/webdav\/Sites\/sjov\/documentLibrary\/Sjov%20med%20mad",
"actionSet": "folder",
"tags": [],
"activeWorkflows": "",
"likes":
{
"isLiked": false,
"totalLikes": 0
},
"location":
{
"repositoryId": "21ea3cc1-2140-476e-a323-d1f8b066a695",
"site": "sjov",
"siteTitle": "Sjov",
"container": "documentLibrary",
"path": "\/",
"file": "Sjov med mad",
"parent":
{
"nodeRef": "workspace:\/\/SpacesStore\/dd01c075-9f85-43f3-b3c7-390d1ce67d67"
}
},
"permissions":
{
"inherited": true,
"roles":
[
"ALLOWED;GROUP_site_sjov_SiteContributor;SiteContributor;INHERITED",
"ALLOWED;GROUP_EVERYONE;ReadPermissions;INHERITED",
"ALLOWED;GROUP_EVERYONE;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteCollaborator;SiteCollaborator;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteConsumer;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteManager;SiteManager;INHERITED"
],
"userAccess":
{
"create": true,
"edit": true,
"delete": true,
"cancel-checkout": false,
"permissions": true
}
},
"custom": {},
"actionLabels":
{
}
},
{
"nodeRef": "workspace://SpacesStore/ca079145-d204-4c5f-bd69-768e8401e1cd",
"nodeType": "cm:folder",
"type": "folder",
"mimetype": "",
"isFolder": true,
"isLink": false,
"fileName": "Sjove Dyr",
"displayName": "Sjove Dyr",
"status": "",
"title": "",
"description": "",
"author": "",
"createdOn": "2015-01-04T20:01:34.423+01:00",
"createdBy": "Normann P. Nielsen",
"createdByUser": "bnp",
"modifiedOn": "2015-01-04T20:01:44.871+01:00",
"modifiedBy": "Normann P. Nielsen",
"modifiedByUser": "bnp",
"lockedBy": "",
"lockedByUser": "",
"size": "0",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/ca079145-d204-4c5f-bd69-768e8401e1cd/Sjove%20Dyr",
"webdavUrl": "\/webdav\/Sites\/sjov\/documentLibrary\/Sjove%20Dyr",
"actionSet": "folder",
"tags": [],
"activeWorkflows": "",
"likes":
{
"isLiked": false,
"totalLikes": 0
},
"location":
{
"repositoryId": "21ea3cc1-2140-476e-a323-d1f8b066a695",
"site": "sjov",
"siteTitle": "Sjov",
"container": "documentLibrary",
"path": "\/",
"file": "Sjove Dyr",
"parent":
{
"nodeRef": "workspace:\/\/SpacesStore\/dd01c075-9f85-43f3-b3c7-390d1ce67d67"
}
},
"permissions":
{
"inherited": true,
"roles":
[
"ALLOWED;GROUP_site_sjov_SiteContributor;SiteContributor;INHERITED",
"ALLOWED;GROUP_EVERYONE;ReadPermissions;INHERITED",
"ALLOWED;GROUP_EVERYONE;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteCollaborator;SiteCollaborator;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteConsumer;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteManager;SiteManager;INHERITED"
],
"userAccess":
{
"create": true,
"edit": true,
"delete": true,
"cancel-checkout": false,
"permissions": true
}
},
"custom": {},
"actionLabels":
{
}
},
{
"nodeRef": "workspace://SpacesStore/1e0245a9-f69e-443d-a5fc-031af506b26e",
"nodeType": "cm:folder",
"type": "folder",
"mimetype": "",
"isFolder": true,
"isLink": false,
"fileName": "Tegneserieforsider",
"displayName": "Tegneserieforsider",
"status": "",
"title": "",
"description": "",
"author": "",
"createdOn": "2015-01-04T20:01:49.566+01:00",
"createdBy": "Normann P. Nielsen",
"createdByUser": "bnp",
"modifiedOn": "2015-01-04T20:01:49.566+01:00",
"modifiedBy": "Normann P. Nielsen",
"modifiedByUser": "bnp",
"lockedBy": "",
"lockedByUser": "",
"size": "0",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/1e0245a9-f69e-443d-a5fc-031af506b26e/Tegneserieforsider",
"webdavUrl": "\/webdav\/Sites\/sjov\/documentLibrary\/Tegneserieforsider",
"actionSet": "folder",
"tags": [],
"activeWorkflows": "",
"likes":
{
"isLiked": false,
"totalLikes": 0
},
"location":
{
"repositoryId": "21ea3cc1-2140-476e-a323-d1f8b066a695",
"site": "sjov",
"siteTitle": "Sjov",
"container": "documentLibrary",
"path": "\/",
"file": "Tegneserieforsider",
"parent":
{
"nodeRef": "workspace:\/\/SpacesStore\/dd01c075-9f85-43f3-b3c7-390d1ce67d67"
}
},
"permissions":
{
"inherited": true,
"roles":
[
"ALLOWED;GROUP_site_sjov_SiteContributor;SiteContributor;INHERITED",
"ALLOWED;GROUP_EVERYONE;ReadPermissions;INHERITED",
"ALLOWED;GROUP_EVERYONE;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteCollaborator;SiteCollaborator;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteConsumer;SiteConsumer;INHERITED",
"ALLOWED;GROUP_site_sjov_SiteManager;SiteManager;INHERITED"
],
"userAccess":
{
"create": true,
"edit": true,
"delete": true,
"cancel-checkout": false,
"permissions": true
}
},
"custom": {},
"actionLabels":
{
}
}
]
} |
Each "contentURL" here is a folder:
Kodeblok |
---|
curl -u username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/doclib/doclist/folders/site/sjov/documentLibrary | grep contentUrl
"contentUrl": "api/node/content/workspace/SpacesStore/4746fb1d-8004-4000-9710-cc3c05aab5e7/Papirsflyvere",
"contentUrl": "api/node/content/workspace/SpacesStore/c7c14bde-69b6-4351-b41f-0016be053970/Sjov%20med%20mad",
"contentUrl": "api/node/content/workspace/SpacesStore/ca079145-d204-4c5f-bd69-768e8401e1cd/Sjove%20Dyr",
"contentUrl": "api/node/content/workspace/SpacesStore/1e0245a9-f69e-443d-a5fc-031af506b26e/Tegneserieforsider",
|
Which is fitting to the Gui view for the 4 folders:
Get a list of Documents from a folder
The method is the same, here the folder "Tegneserieforsider"
Kodeblok |
---|
curl -u username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/doclib/doclist/folders/site/sjov/documentLibrary/Tegneserieforsider
"contentUrl": "api/node/content/workspace/SpacesStore/713d39d0-4f04-45f4-afd8-a44f1435fb04/Batman%20forsider",
"contentUrl": "api/node/content/workspace/SpacesStore/c81f6195-21a7-4114-837e-e4590d7ec4b8/Film%20Tegneserier",
"contentUrl": "api/node/content/workspace/SpacesStore/f9c86b6f-176b-4f14-b55c-d1b62cdcc944/Indiana%20Jones",
"contentUrl": "api/node/content/workspace/SpacesStore/9a4965b2-1a95-4410-bbf9-bcdec8ed714d/Jurassic%20Park%20And%20The%20Lost%20World",
"contentUrl": "api/node/content/workspace/SpacesStore/f8e9a26c-31c9-444d-9486-a2d5f89b743c/Nattens%20Ridder%20forsider",
"contentUrl": "api/node/content/workspace/SpacesStore/ea0c0413-1cb3-4793-8efc-992903e28640/Star%20Wars%201-20%20forsider",
"contentUrl": "api/node/content/workspace/SpacesStore/518bf3a9-3832-4753-8354-d1ec7e0ccb7f/Star%20Wars%20forsider",
"contentUrl": "api/node/content/workspace/SpacesStore/2d451550-795e-4860-800f-2527a7fe629e/Thriller",
"contentUrl": "api/node/content/workspace/SpacesStore/f5ecbf22-05e2-4789-8dbf-8319637ffc67/Vogterne%20forsider", |
And one step further down to "Thriller"
Kodeblok |
---|
curl -u username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/doclib/doclist/folders/site/sjov/documentLibrary/Tegneserieforsider/Thriller | grep contentUrl
"contentUrl": "api/node/content/workspace/SpacesStore/91743fb5-c967-41dd-8d90-1883922fa21c/Thriller%201.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/7e4f8a49-2446-436b-a6b0-874a2d39dea8/Thriller%2010.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/d7f4258e-b9f6-43de-a09f-debf6750cc93/Thriller%202.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/92ab41a1-3f32-4ca7-82b8-d19ad1a0fbb8/Thriller%203.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/d21501e0-37c7-4feb-8d46-547940b64794/Thriller%204.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/05f63751-61b0-4b05-aead-0ca883f8a786/Thriller%205.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/afe3169d-467d-4c0f-a88f-39b9f55af7d7/Thriller%206.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/8ab811dc-8610-49b8-ae6f-41e28b438f8f/Thriller%207.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/133301aa-d775-42d1-8381-5baa984e644d/Thriller%208.jpg",
"contentUrl": "api/node/content/workspace/SpacesStore/1d5a60eb-fa33-46bd-894f-2573a03d0ddd/Thriller%209.jpg", |
Getting Content out
Advarsel |
---|
This is Work in progress, not optimal yet...(but it does work) |
Kodeblok |
---|
curl -u username:password http://alfresco.mos-eisley.dk/alfresco/service/slingshot/node/content/workspace/SpacesStore/afe3169d-467d-4c0f-a88f-39b9f55af7d7/Thriller%206.jpg?a=true > Thriller%206.jpg |
...