Type: | Package |
Title: | Connectivity to 'Alfresco' Content Management Repositories |
Version: | 1.2.1 |
Author: | Roy Wetherall <rwetherall@gmail.com> |
Maintainer: | Roy Wetherall <rwetherall@gmail.com> |
Description: | Allows you to connect to an 'Alfresco' content management repository and interact with its contents using simple and intuitive functions. You will be able to establish a connection session to the 'Alfresco' repository, read and upload content and manage folder hierarchies. For more details on the 'Alfresco' content management repository see https://www.alfresco.com/ecm-software/document-management. |
Depends: | R (≥ 3.5.0) |
License: | GPL-3 | file LICENSE |
URL: | https://github.com/rwetherall/alfr, https://rwetherall.github.io/alfr/ |
BugReports: | https://github.com/rwetherall/alfr/issues |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 6.1.1 |
Imports: | httr, jsonlite, magrittr, stringr |
Suggests: | devtools, httptest, roxygen2, testthat, knitr, rmarkdown, covr, remotes, spelling, fs |
VignetteBuilder: | knitr |
SystemRequirements: | Alfresco Content Repository (Community or Enterprise) |
Language: | en-US |
NeedsCompilation: | no |
Packaged: | 2019-07-19 02:14:16 UTC; rwetherall |
Repository: | CRAN |
Date/Publication: | 2019-07-19 04:30:04 UTC |
alfr: A package for connecting with Alfresco
Description
The alfr
package provides a way to connect to Alfresco and interact with the contents of the repository.
Session
-
alf_session
- connection session to an Alfresco repository -
alf_session.is_valid
- determine whether the session connection to an Alfresco repository is still valid -
alf_session.invalidate
- invalidates a session so it can no longer use used to connect to an Alfresco repository
Nodes
-
alf_node
- get the details of a folder or content node -
alf_node.new
- creates a new folder or content node -
alf_node.delete
- deletes a folder or content node
Author(s)
Roy Wetherall rwetherall@gmail.com
Get Alfresco node
Description
Gets the details of an Alfresco repository node matching node_id
or, if provided, the node at relative_path
relative to node_id
.
Usage
alf_node(session, node_id = "-root-", relative_path = NULL)
Arguments
session |
valid Alfresco repository session |
node_id |
node id, defaults to |
relative_path |
relative path from |
Value
Node details
Examples
# try to establish a connection to the alfresco content repository
my_session <- tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# create document
my_new_document <- alf_node.new(my_session, node_id="-root-",
list(
name = "example.txt",
nodeType = "cm:content",
relativePath = "example"
))
# upload content
my_new_document$content$update(
system.file("extdata", "sample.txt", package="alfr"))
# get details of document node
my_document <- alf_node(my_session, relative_path = "example/example.txt")
# output the name of the document
print(my_document$name)
# output the details of documents content
print(my_document$content$mime_type)
print(my_document$content$mime_type_name)
print(my_document$content$size)
print(my_document$content$encoding)
# read document content
my_content_file <- file(my_document$content$as.file(), "r")
my_content <- readLines(my_content_file)
close(my_content_file)
print(my_content)
# upload new content
my_updated_document <- my_document$content$update(
system.file("extdata", "modified_sample.txt", package="alfr"))
# print updated content size
print(my_updated_document$content$size)
# delete document
alf_node.delete(my_session, my_document$id)
}
Deletes an Alfresco node
Description
Deletes an Alfresco node identified by node_id
. If the node is a folder then all the
delete recurses through the primary children.
Usage
alf_node.delete(session, node_id, permanent = FALSE)
Arguments
session |
valid Alfresco repository session |
node_id |
node id to delete |
permanent |
indicates whether the node is permanently deleted or places in the trashcan where
where it can be recovered from. |
Examples
# try to establish a connection to the alfresco content repository
my_session <- tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# create document
my_new_document <- alf_node.new(my_session, node_id="-root-",
list(
name = "example.txt",
nodeType = "cm:content",
relativePath = "example"
))
# upload content
my_new_document$content$update(
system.file("extdata", "sample.txt", package="alfr"))
# get details of document node
my_document <- alf_node(my_session, relative_path = "example/example.txt")
# output the name of the document
print(my_document$name)
# output the details of documents content
print(my_document$content$mime_type)
print(my_document$content$mime_type_name)
print(my_document$content$size)
print(my_document$content$encoding)
# read document content
my_content_file <- file(my_document$content$as.file(), "r")
my_content <- readLines(my_content_file)
close(my_content_file)
print(my_content)
# upload new content
my_updated_document <- my_document$content$update(
system.file("extdata", "modified_sample.txt", package="alfr"))
# print updated content size
print(my_updated_document$content$size)
# delete document
alf_node.delete(my_session, my_document$id)
}
Create a new Alfresco node
Description
Creates a new Alfresco repository node as a child of node_id
.
Usage
alf_node.new(session, node_id, node_details)
Arguments
session |
valid Alfresco repository session |
node_id |
node id |
node_details |
details of new node |
Value
node details
Examples
# try to establish a connection to the alfresco content repository
my_session <- tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# create document
my_new_document <- alf_node.new(my_session, node_id="-root-",
list(
name = "example.txt",
nodeType = "cm:content",
relativePath = "example"
))
# upload content
my_new_document$content$update(
system.file("extdata", "sample.txt", package="alfr"))
# get details of document node
my_document <- alf_node(my_session, relative_path = "example/example.txt")
# output the name of the document
print(my_document$name)
# output the details of documents content
print(my_document$content$mime_type)
print(my_document$content$mime_type_name)
print(my_document$content$size)
print(my_document$content$encoding)
# read document content
my_content_file <- file(my_document$content$as.file(), "r")
my_content <- readLines(my_content_file)
close(my_content_file)
print(my_content)
# upload new content
my_updated_document <- my_document$content$update(
system.file("extdata", "modified_sample.txt", package="alfr"))
# print updated content size
print(my_updated_document$content$size)
# delete document
alf_node.delete(my_session, my_document$id)
}
Get connection session to Alfresco content repository
Description
Validates authentication details with Alfresco content repository, returning ticket, server details and endpoints if successful.
Usage
alf_session(server, username, password)
Arguments
server |
Alfresco server URL |
username |
user name |
password |
password |
Value
Connection session to Alfresco repository
Examples
# try to establish a connection to the alfresco content repository
my_session <-
tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# output session information
print(paste("Session: [ticket = ", my_session$ticket,
", server = ", my_session$server, "]", sep=""))
# verify that the session is valid
if (alf_session.is_valid(my_session)) print("Session verified as valid.")
# invalidate the session so that it can no longer be used
alf_session.invalidate(my_session)
}
Invalidates a session.
Description
Invalidates a valid session so it can no longer be used to connect to an Alfresco repository.
Usage
alf_session.invalidate(session)
Arguments
session |
session |
Value
TRUE
if session has been successfully invalidated, FALSE
if session was
already invalid.
Examples
# try to establish a connection to the alfresco content repository
my_session <-
tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# output session information
print(paste("Session: [ticket = ", my_session$ticket,
", server = ", my_session$server, "]", sep=""))
# verify that the session is valid
if (alf_session.is_valid(my_session)) print("Session verified as valid.")
# invalidate the session so that it can no longer be used
alf_session.invalidate(my_session)
}
Determine whether a session is valid.
Description
Determines whether a given session is still valid or not.
Usage
alf_session.is_valid(session)
Arguments
session |
session |
Value
TRUE
if the session is valid, FALSE
otherwise
Examples
# try to establish a connection to the alfresco content repository
my_session <-
tryCatch(
alf_session("http://localhost:8080", "admin", "admin"),
error = function(e) NULL)
if (!is.null(my_session)) {
# output session information
print(paste("Session: [ticket = ", my_session$ticket,
", server = ", my_session$server, "]", sep=""))
# verify that the session is valid
if (alf_session.is_valid(my_session)) print("Session verified as valid.")
# invalidate the session so that it can no longer be used
alf_session.invalidate(my_session)
}