dCache View is a web application client for dCache storage system. Basically, it provide an interactive user interface to the end-users of dCache storage system, with the aim of making the usage of dCache effortlessly.
To see how dCache View looks like and to have a feel about the application, try our live test machine called Prometheus. This test machine is a small dCache instance running the latest development build of dCache with the latest released version of dCache View.
dCache View is part of dCache's frontend service. Also, it uses the frontend's RESTful API for the namespace operations and to communication with dCache. In addition to the frontend service, dCache View uses the dCache's webDAV services for generating macaroons, to perform read and write operation etc.
A running dCache instance comes with dCache View. For instant, if you are running a system-test, all the basic functionality (that will make dCache works out of the box) were already set-up for you. It worth mentioning that, the system test have quite a few frontend services, which runs on different ports. Hence, you can view dCache View at http://localhost:3880/ and https://localhost:3881/.
NOTE: You can skip the rest of this part and jump to how to build dCache View, if you are running the system-test package.
However, if you are interested in other packages apart from the system-test, enabling dCache View
is as simple as starting or adding a frontend service/door to your dCache domain. Say for example,
you have a single domain called dCacheDomain
, inside your layout file, which should be located
at /etc/dcache/layouts/<name-of-your-layout-file>.conf
. To add the frontend service just add the
following: [dCacheDomain/frontend]
. Also don't forget to add the WebDAV door, as pointed out
earlier dCache View relies on it. Finally, restart your dCache instance. Hence, your layout file
should look like this:
[dCacheDomain]
.
.
.
[dCacheDomain/webdav]
.
.
.
[dCacheDomain/frontend]
.
.
.
By default, dCache View is served from port 3880 but this is configurable (see dCache book for full details on what and how to configure all the necessary properties for both webDAV and frontend door).
Ideally, the top of all the supported branches in dCache View repository are production ready. If you are brave and want to live on the hedge or (and) fiddle around with the source code; you can run the latest version of dCache View but first you need to make sure you have the prerequisites listed here ready. Next, follow the instruction described here on how to build dCache View and lastly, deploy it to your system by doing what was highlighted here.
- A running dCache instance (see https://www.dcache.org/manuals/Book-5.0/install.shtml on how to install and start a small dCache instance)
- Git - see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git on how to install git.
Your system might have git already installed, check by running the following command:
git --version
from the terminal. If you have it installed (or successful install), the result should look similar to:git version 2.10.1 (Apple Git-78)
- Maven - see https://maven.apache.org/install.html on how to install maven.
After installation (or before installation to check if you have maven installed already), confirm
that this is successful, open a terminal and typed
mvn -v
. You should see something like:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00) Maven home: /opt/maven-3.3.9 Java version: 1.8.0_181, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre Default locale: en_GB, platform encoding: UTF-8 OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
- Get dCache View source code, use either:
or download the zip file here
git clone https://github.com/dCache/dcache-view.git
Once you've make sure all the prerequisites requirements are met, open your terminal and do the following:
- change directory to the directory where you forked/downloaded dCache View:
cd <path-to-directory>/dcache-view
- next, build with this command
mvn clean package
Ensure that the build was successful before you move to the next step, that is, update/deployment. To check if it is successful, you should something similar to what is below inside your terminal:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 58.926 s
[INFO] Finished at: 2019-01-23T15:41:07+01:00
[INFO] Final Memory: 11M/213M
[INFO] ------------------------------------------------------------------------
After a successful build, directory name target
will be created inside dcache-view
folder. We are
interested in these following generated files/directories:
- index.html
- robots.txt
- bower_components/
- elements/
- favicons/
- scripts/
- style/
How to update (or deploy) dCache View in (or into) your dCache instance will depends on where it is.
If it is a locally running dCache instance, it is as simple as copying those files/directories listed
above to /usr/share/dcache/dcache-view/
or the equivalent of this path. To copy these files and
directories from the target
directory to /usr/share/dcache/dcache-view/
, in the terminal typed:
rm -rf /usr/share/dcache/dcache-view/* && mv -v <path-to-dir>/dcache-view/target/* /usr/share/dcache/dcache-view/
Remembered, this path: /usr/share/dcache/dcache-view/
depends on your installation and the package
you installed. For example, in the system test, this is equivalent to:
<path-to-dcache-directory>/packages/system-test/target/dcache/share/dcache-view/
In the case where dCache is running on a remote machine, please use one of the method described here to deploy or replaced the files listed above with the newly generated ones.
dCache View comes with many features. Here we've highlighted several of these features that are already shipped. Also, a list of planned features and their progress will be provided. If you have any suggestions on our features, please submit feedback on our feature requests here.
For the versions available, see the tags on this repository for the prebuild and the nexus for the build ones.
dCache View is part of dCache project, which is a joint venture between Deutsches Elektronen-Synchrotron, DESY, Fermi National Accelerator Laboratory, FNAL and Nordic DataGrid Facility, NDGF.
Please read contributing instruction for details on our code of conduct, and the process for submitting pull requests to us. Also, if you hit an unknown bug, please check here for instructions on how to report a bug.
The project is licensed under AGPL v3 - see the LICENSE.md file for details
The team thank Onno Zweers from surfSARA for his contributions.