Dendro
"Open-source Dropbox" with added description features. It is a data storage and description platform designed to help researchers and other users to describe their data files, built on Linked Open Data and ontologies. Users can use Dendro to publish data to CKAN, Zenodo, DSpace or EUDAT's B2Share and others.
Install / Use
/learn @feup-infolab/DendroREADME
What is Dendro?
Dendro is the software powering INESC TEC and the University of Porto data staging platforms. It allows researchers to manage research data in preparation for deposit in any research data repository. "Upload files and fill in metadata once, deposit anywhere you like".
The user interface
<img src="https://raw.githubusercontent.com/feup-infolab/dendro/master/public/images/Screen%20Shot%202017-04-04%20at%2012.22.08.png" alt="drawing" style="width:100%;"/>Main Features
<img src="https://raw.githubusercontent.com/feup-infolab/dendro/master/public/images/dendro-tutorial/dendro_ui_2.png" alt="dendro user interface" style="width:90%;"/> <img src="https://raw.githubusercontent.com/feup-infolab/dendro/master/public/images/dendro-tutorial/dendro_ui_1.png" alt="dendro features" style="width:90%;"/>How to install
We offer three alternatives for installation: 1. Docker image (fast and easy) 2. Local code, dependencies as Docker containers (for developers) and 3. Installation using bash scripts and Vagrant (useful if you need a Virtual Machine running Dendro
1. Docker containers (for end-users)
To install Dendro using Docker, do the following:
- Install Docker for windows or run this script for installing it on Ubuntu:
source <(curl -s https://raw.githubusercontent.com/feup-infolab/dendro/master/conf/scripts/docker/install_docker.sh)
- Open a Terminal window on Linux/Mac or press Ctrl+R on Windows, type cmd.exe in the box that appears and press Enter
- Clone the Dendro repository by pasting this code
git clone https://github.com/feup-infolab/dendro
- Run the installation command in the same terminal and wait until no more text is printed. It can take several minutes.
cd dendro
docker-compose pull
docker-compose up
- Access your dendro installation at 127.0.0.1:3001 in your browser.
- When you want to stop Dendro, just press Ctrl+C at the terminal window
We provide a Docker image for getting you up and running quickly. For deployment in a production server, however, we recommend you use the Dendro install scripts.
2. Code in local folder, databases running as Docker containers (for development)
If you just want to download dendro and start developing, Dendro now supports automatic deployment using Docker containers for all dependencies (MySQL, Virtuoso and ElasticSearch).
This only in all operating systems.
- Install Docker
Here is the "just copy and paste" installations script for Docker in Ubuntu. Enjoy.
# Install dependencies
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# Add Docker repo
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
# Install Docker
sudo apt-get install -y docker-ce
# Start Docker Daemon
sudo service docker start
# Add yourself to the Docker user group, otherwise docker will complain that
# it does not know if the Docker Daemon is running
sudo usermod -aG docker ${USER}
# Install docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
source ~/.bashrc
docker-compose --version
echo "Done!"
- Open a Terminal window on Linux/Mac
- Clone the Dendro Docker installation repository by pasting this code
git clone https://github.com/feup-infolab/dendro dendro
- Run the installation command in the same terminal and wait until no more text is printed. It can take several minutes.
cd dendro
./conf/scripts/install.sh
- Start the app
npm start
- Access Dendro at
http://127.0.0.1:3001 - Start developing :-)
Description
Dendro is a collaborative file storage and description platform designed to support users in collecting and describing data, with its roots in research data management. It does not intend to replace existing research data repositories, because it is placed before the moment of deposit in a data repository.
It is designed to support the work of research groups with collaborative features such as:
- File metadata versioning
- Permissions management
- Editing and rollback
- Public/Private/Metadata Only project visibility
You start by creating a “Project”, which is like a Dropbox shared folder. Projects can be private (completely invisible to non-colaborators), metadata-only (only metadata is visible but data is not), and public (everyone can read both data and metadata). Project members can then upload files and folders and describe those resources using domain-specific and generic metadata, so it can suit a broad spectrum of data description needs. The contents of some files that contain data (Excel, CSV, for example) is automatically extracted, as well as text from others (PDF, Word, TXT, etc) to assist discovery.
Dendro provides a flexible data description framework built on Linked Open Data at the core (triple store as), scalable file storage for handling big files, BagIt-represented backups, authentication with ORCID and sharing to practically any repository platform. Currently we support the following repositories:
- CKAN
- DSpace
- Invenio
- EUDAT's B2Share,
- Figshare.
- Any repository can be added by writing small plug-ins.
We are also implementing an altmetrics module and a soclal extension that can help project members keep track of the changes made in the project.
The software will be a core component of the UPorto and INESC-TEC Research Data Management workflow by 2018 as per the TAIL project, funded by the Portuguese FCT (Fundação para a Ciência e Tecnologia). As such, we are working hard to make it production-ready. This means writing extensive automatic tests which complement the existing usage tests with actual researchers.
The code is freely available online and we welcome more user testing scenarios, user feedback and development contributions. You are free to use Dendro to build any service for your research group or institution and pull requests are welcome.
Demo instance
If it is down, please file an issue.
Who is building Dendro?
Dendro is being built by Faculdade de Engenharia da Universidade do Porto's Infolab since 2013. If you are interested in the academic foundations and innovations behind Dendro, please check out our publications at the Dendro official website.
Dependencies
Dendro relies on
- OpenLink Virtuoso for the database layer
- ElasticSearch for free text searching
- MongoDB and its GridFS system for scalable file storage
- NodeJS and ExpressJS for the server side
- Twitter Boostrap
Acknowledgements
This work was supported by project NORTE-07-0124-FEDER-000059, financed by the North Portugal Regional Operational Programme (ON.2-O Novo Norte), under the National Strategic Reference Framework (NSRF), through the European Regional Development Fund (ERDF), and by national funds, through the Portuguese funding agency, Fundação para a Ciência e a Tecnologia (FCT). João Rocha da Silva was also supported by research grant SFRH/BD/77092/2011, provided by the Portuguese funding agency, Fundação para a Ciência e a Tecnologia (FCT).
This work is financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project POCI-01-0145-FEDER-016736.
<img src="https://github.com/feup-infolab-rdm/dendro-install/raw/master/logos.jpg" alt="dendro features" style="width:90%;"/>License
All source code is freely avail
Related Skills
diffs
329.0kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
openpencil
1.2kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
ui-ux-pro-max-skill
47.6kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
ui-ux-pro-max-skill
47.6kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
