Installation
Pour jouer cette même requête avec ruby, et l’intégrer par exemple dans un développement basé sur RoR, il faut installer une librairie cmis, par exemple :
- https://github.com/UP-nxt/cmis-ruby.git
Configuration
Après installation, il faut saisir les informations correspondantes à votre GED, en l’occurrence Alfresco, dans spec/config.yml :
server: service_url: http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser username: admin password: admin repository: -default-
Lancez alors les tests avec la commande suivante :
rake
Récupération d’une liste de documents
Pour vous aider à faire vos premiers pas avec cette librairie, vous pouvez tester le script suivant adapté depuis le readme du projet :
[code language=”ruby”] $LOAD_PATH.unshift ‘lib’require ‘cmis’
# get the repository object
server = CMIS::Server.new(service_url: ‘http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser’,
username: ‘admin’, password: ‘admin’)
repository = server.repository(‘-default-‘)
# query for first 50 documents where the property ‘cmis:name’ is ‘%DAT%’
# and stored in sites/test directory
cmisq = <<eos
select * from cmis:document
where cmis:name like ‘%DAT%’
and contains (‘PATH:\”//app:company_home/st:sites/cm:test//*\”‘)
eos
#query = repository.query(“select * from cmis:document where cmis:name like ‘GED%'”)
query = repository.query(cmisq)
query.each_result(limit: 50) { |document|
puts “-New item ——————————”
puts “Name: ” + document.name
puts “CMIS ObjectId: ” + document.cmis_object_id
puts “Mime-Type: ” + document.content_stream_mime_type
puts “Last Modification Date: ” + document.last_modification_date.to_s
}
[/code]
En exécutant ce code, on obtient la sortie suivante :
Conclusion
Pour étudier les autres possibilités de la librairie, je vous invite à consulter les fichiers de tests dans le répertoire spec/cmis-ruby, et plus particulièrement :
- document_spec.rb : pour la création/lecture/mise à jour/suppression de document
- folder_spec.rb : pour la création/lecture/mise à jour/suppression de dossier