Alfresco User Notes

The link for our Alfresco server is http://alfrescologin.com/ or http://vbiostat.alfrescologin.com/ or https://biostats.mc.vanderbilt.edu.

ALERT!Do not try to use Internet Explorer with Alfresco. It is incompatible in various ways and sometimes just won't work. Use Firefox or Chrome instead. Note that dragging and dropping images into Alfresco discussions does not work with Chrome (and Chromium) but does work with Firefox.


Alfresco

Alfresco is a free/libre enterprise content management system for Microsoft Windows and Unix-like operating systems. The Alfresco Community Edition is free software, LGPL licensed open source and open standards. See http://www.alfresco.com/.

Here is a helpful user manual from The Royal College of Physicians and Surgeons of Canada (pdf). Also see the official Alfresco Community Documentation.

Notes

Setup Conventions

  • According to the Alfresco Documentation
    • An Alfresco site is a project area where you can share content and collaborate with other site members.
    • Any user can create a site. The site creator becomes the Site Manager by default, though additional or alternate managers can be added after this.
    • Each site has a visibility setting that marks the site as public or private. This setting controls who can see the site and how users become site members.
  • There are two areas to chose between when creating content: sites and user-specific file repositories. Our current thinking of what distinguishes the two is:
    • site: A group of people under the same data use agreement
    • A site represents a long-term project with well-defined project team members. You can also have a site for a general methodologic area such as "R Programming" although the wiki is perhaps better for that. Sites can have their own discussion board and top-level wiki page to describe the team and activities.
    • Current thinking is that a site be defined as a "big" project. For example, for collaborations a site would pertain to a defined group of investigators working on related research/grants/papers. A department or division containing many such investigator groups would have multiple site. There may be some benefit to having a department/division prefix to the site names, e.g., Cardiology:Atrial Fibrillation. Or we should develop a fixed set of prefixes so that we can easily find all sites related to a division, department, or center, e.g. sites related to Cardiovascular Medicine could be named "CV: Atrial Fibrillation", "CV: Left Ventricular Assist Devices" and sites related to VICC could have prefixes of VICC, Ca, or CC.
    • folders vs spaces vs sites? A more complete discussion of "spaces": http://wiki.alfresco.com/wiki/Space. I find helpful the notion of spaces as "smart or rich folders".
    • Site naming: site names, when pooled over all users, must be unique and the names should be descriptive. It is not wise to use a generic site name that might overlap with the name another user may wish to create in the future.
  • A user's file repository typically crosses project boundaries or contains general-purpose files for administrative and other activities (e.g., "To-Do" lists) and personal tips and hints (e.g., programming tips not documented well enough to share with other users)
  • We need to determine the appropriate level for a site. Suppose that a statistician is working in a large collaborative area related to a Division within a School of Medicine Department. Should there be a site for that Division or should each project or lead investigator constitute a site?

How to create a profile for a user with VU/VUMC credentials

  • Navigate to alfrescologin.com
  • Enter VU credentials
  • Navigate to and click on name in upper right hand corner
  • Select "My Profile"
  • Click on "Edit Profile"
  • Navigate to "email address" and add your email address.
  • (optional) Edit other fields like name, address, and number.
  • Click "Save changes" at the bottom of page

  • newuser.gif

Site Dashboard

The dashboard can easily be customized. One section of it is a manager-specified list of important links. When a site represents a long series of projects for one group, it is recommended that a site wiki be created. The wiki can contain a large table with names of projects, PIs, and links to the directory in the site's document repository for each project, plus more. When a site is for one large project, the list of links may suffice and a wiki may not be needed.
  • Example: dashboard for organizational site. Project titles are links to project specific sites.
    screenshot-nephrology.png

  • Example: dashboard for project site
    khaled-project-page.png

Where can I find Alfresco documentation?

Can I protect files in sites from world read access?

Yes. When creating the site, be sure to set the visibility to "private". Beyond that one may set further restrictions to manage access to sites, folders, and files. See http://blog.teaminformatics.com/2015/02/10/content-security-in-alfresco-one/ for a nice discussion of Alfresco content security.

Why a new tool? What does Alfresco give us that other tools don't?

  • The best answer I have is that Alfresco is the only one that puts together all the things we would like to have for project management. In particular, the ability to share a mountable folder appears unique. Box and Dropbox can do that but they are external to Vanderbilt.
  • It might be that we want to use Rocket for data files containing PHI and Alfresco for everything else. I expect that the IRB would approve Rocket as a repository since it is operated by VU. It might be more difficult to get Alfresco certified to do so. But it will probably work just fine.
  • Rocket looks like a fairly simple repository. It holds files but I don't see a way to preview the files in the app. The choices I have for a file is to download, delete, or upload a new copy of the file. Rocket does not have a way to create a hierarchical file structure we so often need (sub-directories, sub-sub directories, etc.).
  • Alfresco has a large number of plug-ins for handling different file types such as zip files.

Accessing Alfresco Directory Tree using Linux

WebDAV

WebDAV is used to mount the network file system regardless of the method used to authenticate (Active Directory or local to the Alfresco server).

Make sure you have davfs2 installed.
sudo apt-get install davfs2

Set permissions on the mount command so that regular users can mount the alfresco share
sudo chmod u+s /sbin/mount.davfs

Decide where you want your Alfresco mount point to be located. In these notes we assume the location is in your Linux home directory. In all the notes below substitute "vunetid" with your real VUnetID. If you choose a different location then make the appropriate changes.

Create a directory to be the mount point for the Alfresco share.
sudo mkdir ~/alfresco

Put the following line to the /etc/fstab file.
# for Alfresco
http://biostats.emp.vumc.io:8080/alfresco/webdav  /home/vunetid/alfresco davfs rw,user,noauto 0 0

Make a directory in your home area to hold the davds2 configuration files.
mkdir ~/.davfs2/

Make a file called ~/.davfs2/secrets. Add a line like the below where "username" is the name you use to log on to Alfresco and "password" is the password you use to log on to Alfresco. These are most likely your vunetid and epassword, but could be something else.
/home/vunetid/alfresco username password

Set permissions on the ~/.davfs2/secrets file so that only you can see it.
chmod 0600 ~/.davfs2/secrets

Mount the Alfresco share. (Note: When mount.davfs is invoked by root, only the system wide configuration file is read. When invoked by an ordinary user, the user configuration file is read in addition.)
mount ~/alfresco

Go to the Alfresco directory and confirm it is working ( cd ~/alfresco ).

If you are storing large data files on alfresco and want to be able to load them very fast after the first time they are loaded in a session, use a large davfs2 cache by editing ~/.davfs2/davfs2.conf and including a line such as cache_size 100. This will allow a 100MB cache.

The Android Total Commander app and its webdav plugin work well for accessing Alfresco folders via webdav. Specified server name biostats.mc.vanderbilt.edu:8080/alfresco/webdav/User Homes/myalfrescoID (where "myalfrescoID" is the user name you use to log on to Alfresco)

You may see the error "/sbin/mount.davfs: program is not setuid root" when you try to mount /alfresco. This is because the mount program requires root privileges. Execute the command sudo dpkg-reconfigure davfs2 to change that behavior.

You may also see an error like "sbin/mount.davfs: user username must be member of group davfs2". Your user account must be in the davfs2 group in order to complete the mount.
  • to see your group membership use this command: groups
  • to add your account to the davfs2 group: sudo usermod -aG davfs2 username where "username" is your Linux username
  • log out and back in to complete the group membership

FTP

Have your file manager (nemo is one that works very well for this) connect to server ftp://biostats.mc.vanderbilt.edu:8021
You can past in whole directories to copy from your local file system into an alfresco site. Also try using this URL: ftp://id:pw@biostats.mc.vanderbilt.edu/alfresco/User%20Homes/yourafrescoID.

A sample ftp session on a Windows computer: click here

Drag and drop

A linux file manager can drag a .docx file into a new alfresco folder very quickly. Such a file can be edited with google docs - works like a charm.

Sync vs. Remote Mount

When using a remote mount such as the webdav approach described earlier, there is only one copy of a file -- on the Alfresco server. If you want to be able to work offline you can create files locally and sync them to the server when needed without installing any special software if you create a batch command file such as the following one in Linux bash.

cp -uvp report.pdf report.Rnw data.rda /alfresco/Sites/MYSITE/documentLibrary/MYDIRECTORY
This will copy any of the three references files that have changed since last stored on the server, preserve file date/time, and print information about which files are being copied.

For each project directory that you wish to sync with Alfresco, it is helpful to create an executable file update that will execute the above cp command. Edit update then issue the linux command chmod +x update to make it executable. Then run it from with the project directory by typing ./update .


Accessing Alfresco Directory Tree using Windows 7

The Alfresco file server can be mounted to a drive letter on Windows 7 systems. The process for making the network mount varies depending on how one authenticates to the Alfresco server. If you use your Vanderbilt vunetid/epassword credentials then the authentication is performed using Vanderbilt's Active Directory services. In this case the WebDAV protocol is used to mount the Alfresco share. If a different username and password is used then the authentication is performed by the Alfresco server itself. In this case the Common Internet File System (CIFS) is used.

WebDAV (use these instructions if you log on to Alfresco using your vunetid and epassword)

N.B. These instructions are for Windows 7. I expect Windows 10 will work the same but this hasn't been tested.

Windows 10 note: I had to set the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel registry key to 2 to get mapping of the drive to work. I hesitated to do this because I'm not sure what it does to security, but it is the only way I found to get mapping to work.

Another N.B.: On some systems, the WebClient Services might not be turned on. Also, there is a registry setting that might need to be changed to enable Windows to accept basic authentication for SSL and non-SSL shares. See http://www.yeehawup.com/2011/07/mapping-a-network-drive-to-webdav-share-in-windows-7/ for a good description of what to do. If you system is relatively up to date then there is no need to install the patch mentioned in this article.

From the file manager click on Tools and "Map network drive..."

In the Map network drive dialog, enter "http://biostats.emp.vumc.io:8080/alfresco/webdav" for the Folder.
Clipboard02.png

If you are prompted for a username and password, enter the vunetid and epassword. Check the "Remember my credentials" box if desired.

CIFS
(use these steps if you use credentials other than your vunetid/epassword to log on to Alfresco)

Accessing Alfresco Directory Tree using Mac

The Alfresco file server can be mounted as a Shared Drive on Mac systems following the Apple Support directions for mounting to a WebDAV server. The server address is: http://biostats.emp.vumc.io:8080/alfresco/webdav. You'll be required to enter your Alfresco username and password to complete the mount.

The Alfresco directly likely mounts to /Volumes/webdav/.

Mobile device apps

There is an exceptional android app for Alfresco - not just for the cloud version but for customized servers like ours.
  • Specify server name (hostname) biostats.mc.vanderbilt.edu
  • Check HTTPS.
  • Port is 443.
  • Leave service url as \alfresco.

Alfresco Mobile Apps
Setup guide for Android

Authentication issues

We need to check if the person we are inviting to something already has an account. If so, make sure we are not inviting them with the “…Add External Users” link.

A wrinkle to look out for is that we have a “hybrid” authentication scheme. Authentication is attempted in the following order:
  1. The username and password are checked against the Alfresco server’s database. If a match is found then the user is authenticated. Otherwise…
  2. The username and password are checked against the Vanderbilt Active directory.

Note that one can have a username in the local database AND in the active directory. This is how we handle non-Vanderbilt users. It is not a technical problem but might be confusing.

Right now, when inviting a Vanderbilt person, I think the thing to do is to make sure they have logged on Alfresco BEFORE making the invitation. You would have to send them a “pre-invitation” email. That way they can be invited as an existing user and no confusion arises. Plus they get to use their vunetid and epassword and don’t have to remember another set of credentials.

On the other hand, we should probably leave well enough alone for the people who are already registered and using Alfresco.

What I need to do is make the active directory searchable from Alfresco so that Vanderbilt people show up when one does a “Search for People” on the invitation screen, regardless of whether or not they have ever logged on before. But I haven’t figured out how to do that yet. I only recently came to understand the authentication flow.

Links

Topic attachments
I Attachment Action Size Date Who Comment
Clipboard02.pngpng Clipboard02.png manage 54.5 K 11 Dec 2015 - 11:07 DalePlummer  
alfresconew.gifgif alfresconew.gif manage 8196.5 K 27 Apr 2017 - 15:31 ThomasStewart gif for folks with VU credentials
fptsession.pngpng fptsession.png manage 67.5 K 23 Sep 2014 - 09:47 DalePlummer a sample Alfresco ftp session
khaled-project-page.pngpng khaled-project-page.png manage 101.2 K 24 Jun 2016 - 13:17 ThomasStewart  
mapalfrescoshare.pdfpdf mapalfrescoshare.pdf manage 225.8 K 09 Jul 2014 - 15:19 DalePlummer  
screenshot-nephrology.pngpng screenshot-nephrology.png manage 104.5 K 24 Jun 2016 - 13:17 ThomasStewart  
Topic revision: r65 - 16 Aug 2017, DalePlummer
 

This site is powered by FoswikiCopyright © 2013-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback