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:
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>
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>]
IM IN YR <folderVar> KILLING YR CONTNT
ALL YR CONTNT ARE BELONG TO US
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:
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'??
BTW Find the default repo
IM IN YR SERVR LISTING YR REPO
BOTH SAEM REPO['default'] AN WIN, O 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
VISIBLE 'U HAZ NO STUFF'
IM OUTTA YR SERVR
VISIBLE 'TEH INTERNETZ IZ BORKED!!!1'
Alfresco is currently in discussions to contribute the code to the Apache Chemistry project - stay tuned for further announcements.