In a game-changing move aimed at increasing adoption among young, hip, Internet-native developers, Alfresco today released a CMIS client library for the popular brogramming language LOLCODE.
'Everyone who follows me on Twitter knows that I spend most of my waking moments searching for the best lolcats on teh internetz.' said Peter Monks, Alfresco's Director of Hirsute Affairs. “But when I stumbled across LOLCODE and saw the enormous adoption it’s now enjoying, I realised that we needed to ensure that Alfresco’s leading content management services were fully leveragable in lulz critical applications.”
These additions to the LOLCODE language are already garnering critical acclaim from hipsters and humans alike, with powerful new constructs including:
Language Construct | CMIS Operation |
CAN HAZ LOLCIMS? | Enable the LOLCMIS capabilities |
PLZ OPEN <serverVar> '<CMIS service document URL>'? [PRETTY PLZ WIV '<username>' ['<password>']??] | Connect to a CMIS compliant repository (optionally with a user name and/or password) and retrieve the CMIS service document |
IM IN YR <serverVar> LISTING YR <repoVar> | List the repos within a CMIS Server |
IM IN YR [<repoVar>|<folderVar>] LISTING YR <contentVar> | List the contents of a repo’s root folder or folder |
GIMMEH TEH CONTNT OF <fileVar> | Download content |
MAEK [FIEL|FODLR] <contentVar> IN <folderVar> WIV <properties> [AN <contentLength>:<content>] | Create a new file or folder using the properties and (optional) content |
OOPS! FIX <contentVar> WIV <properties> [AN <contentLength>:<contentData>] | Update an existing file or folder using the properties and (optional) content |
DO NOT WANT [<folderVar>|<contentVar>] | Deletion |
IM IN YR <folderVar> KILLING YR CONTNT | Bulk deletion |
ALL YR CONTNT ARE BELONG TO US | Policy management |
Here is a sample program that lists the contents of the default repository in a CMIS server, demonstrating just how idiomatic these new capabilities are:
HAI 1.2
CAN HAZ STDIO?
BTW Load the new CMIS library
CAN HAZ LOLCIMS?
BTW Attempt to connect to the CMIS server
PLZ OPEN SERVR 'https://alfresco.kittehz.com/cmis/1.0/atom'? PRETTY PLZ WIV 'admin' 'admin'??
AWSUM THX
BTW Find the default repo
IM IN YR SERVR LISTING YR REPO
BOTH SAEM REPO['default'] AN WIN, O RLY?
YA RLY
BTW List all contents of the default repo
IM IN YR REPO LISTING YR STUFF
VISIBLE 'U HAS A ' STUFF['cm:title']
IM OUTTA YR REPO
NO WAI
VISIBLE 'U HAZ NO STUFF'
IM OUTTA YR SERVR
O NOES
VISIBLE 'TEH INTERNETZ IZ BORKED!!!1'
KTHXBYE
Alfresco is currently in discussions to contribute the code to the Apache Chemistry project - stay tuned for further announcements.