Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • vilem.ded/howto-cards
  • yjarosz/labCards
  • sarah.diehl/howto-cards
  • jacek.lebioda/howto-cards
  • pinar.alper/howto-cards
  • maharshi.vyas/howto-cards
  • manuel.maidorn/howto-cards
  • roland.krause/howto-cards
  • miriam.fougeras/howto-cards
  • soraya.hezzaz/howto-cards
  • fasavanh.sanichanh/howto-cards
  • marie.fossepre/howto-cards
  • jennifer.behm/howto-cards
  • annegrat.daujeumont/howto-cards
  • jon.gales/howto-cards-jpg
  • sandy.thill/howto-cards
  • jenny.tran/howto-cards
17 results
Show changes
Commits on Source (155)
Showing
with 691 additions and 8 deletions
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
function UrlExists(url, cb){
jQuery.ajax({
url: url,
dataType: 'text',
type: 'GET',
cache: false,
complete: function(xhr){
if(typeof cb === 'function')
cb.apply(this, [xhr.status]);
}
});
}
// define URLs
var internalURL = 'https://r3-core.pages.uni.lu/howto-cards-internal';
var externalURL = 'https://r3.pages.uni.lu/howto-cards';
UrlExists(internalURL+'/index.html', function(status){
var s = window.location.href;
var pathArray = s.split('?');
// cut the query if it exists
if (pathArray.length > 1) {
sub = pathArray[1];
} else {
sub = '';
}
if(status === 200){
// internal pages
if (sub.length > 0) {
UrlExists(internalURL+'/stable/internal/'+sub, function(status){
if (status == 200) { // if sub-card is internal in the internal directory and exists
window.location.href = internalURL+'/stable/internal/'+sub;
} else {
UrlExists(internalURL+'/stable/external/'+sub, function(status){
if (status == 200) { // if sub-card is internal in the external directory and exists
window.location.href = internalURL+'/stable/external/'+sub;
} else {
window.location.href = internalURL+'/stable/404.html';
}
});
}
});
} else {
UrlExists(internalURL+'/stable', function(status){
if (status == 200) { // if card is internal and exists
window.location.href = internalURL+'/stable';
} else {
window.location.href = internalURL+'/stable/404.html';
}
});
}
// external pages
} else {
if (sub.length > 0) { sub = 'external/'+sub; }
UrlExists(externalURL+'/stable/'+sub, function(status){
if (status == 200) { // if sub-car is internal and exists
window.location.href = externalURL+'/stable/'+sub;
} else {
window.location.href = externalURL+'/stable/404.html';
}
});
}
});
</script>
</head>
<body>
<p>
Please follow to <a href="https://r3.pages.uni.lu/howto-cards/stable">https://r3.pages.uni.lu/howto-cards/stable</a>!
</p>
</body>
</html>
mkdir -p public
artefact="latest"
# loop through all the branches
for branch in $(git for-each-ref --format='%(refname:strip=3)' refs/remotes); do
echo $branch;
if [[ $branch == "master" ]]; then
artefact="stable";
elif [[ $branch == "develop" ]]; then
artefact="latest";
else
artefact="unstable";
fi
echo $artefact;
git checkout -f $branch
git reset --hard $branch
# build the website
bundle exec jekyll build --baseurl="howto-cards/$artefact" -d "public/$artefact"
if [[ $branch == "master" ]]; then
# set the 404
cp howto-cards/$artefact/404.html public/404.html
fi
done
# checkout the current branch
echo $CI_COMMIT_REF_NAME
git checkout -f $CI_COMMIT_REF_NAME
git reset --hard origin/$CI_COMMIT_REF_NAME
# set the auto redirection
cp .ci/.autoRedirect public/index.html
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
......@@ -8,4 +8,26 @@
_site
.sass-cache
.jekyll-metadata
Gemfile.lock
\ No newline at end of file
Gemfile.lock
index.html
package-lock.json
dist/
public/
node_modules/
dist
*.log
.sass-cache
.grunt
.DS_Store
yarn.lock
stable/
latest/
Gruntfile.coffee
!template/Gruntfile.coffee
package.json
!template/package.json
20*/*/theme
!./theme
./theme/package.json
__pycache__/
contribute.egg-info/
image: ruby:2.5
variables:
JEKYLL_ENV: production
before_script:
- apt-get -qq update
- apt-get install -y -qq git-lfs
- bundle install && bundle update
pages:
stage: deploy
only:
- develop
- master
script:
- bash .ci/deploy.sh
artifacts:
expire_in: 1 week
paths:
- public
......@@ -21,4 +21,9 @@ layout: default
<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
<p>All cards are available from here: <a href="https://howto.lcsb.uni.lu">https://howto.lcsb.uni.lu</a></p>
<p><i>Please note: Some cards are only available from within the university network. Please
reload the page when connected using <a href="https://vpn.uni.lu"><strong>VPN</strong></a>
(from outside the university network)
or when connected to the <strong>eduroam</strong> network while at the university.</i></p>
</div>
......@@ -15,7 +15,7 @@ gem "bundler", "> 1.16.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
gem 'jekyll-theme-primer', '~> 0.5.3'
gem 'jekyll-theme-lcsb-default', '~> 0.2.18', :git => "https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default.git", :branch => "master"
gem 'jekyll-theme-lcsb-default', '~> 0.2.23', :git => "https://git-r3lab.uni.lu/core-services/jekyll-theme-lcsb-default.git", :branch => "master"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
......@@ -25,6 +25,7 @@ gem 'jekyll-theme-lcsb-default', '~> 0.2.18', :git => "https://git-r3lab.uni.lu/
group :jekyll_plugins do
gem "jekyll-paginate-v2", "~> 1.7"
gem "jekyll-feed", "~> 0.6"
gem "jekyll-email-protect"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
......@@ -32,4 +33,3 @@ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1" if Gem.win_platform?
......@@ -12,18 +12,18 @@
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: R3 LabCards for Data Management and IT.
title: R3 howto-cards for Data Management and IT.
email: lcsb-sysadmins@uni.lu
description: >- # this means to ignore newlines until "baseurl:"
Bioinformatics Core assists LCSB researchers with the organization, management, and curation of research data through its R3 initiative.
This page is an index for lab cards that are intended to provide practical guidance in implementing Data Management, Data Protection and IT setup.
# URL settings (the most difficult part, please refer to the guide)
baseurl: "/labCards" # the subpath of your site, e.g. /gitlab-repository-name
url: "https://r3-core.pages.uni.lu" # the base hostname & protocol for your site, e.g. http://gitlab-namespace-name.pages.uni.lu/
baseurl: "/howto-cards" # the subpath of your site, e.g. /gitlab-repository-name
url: "https://r3.pages.uni.lu" # the base hostname & protocol for your site, e.g. http://gitlab-namespace-name.pages.uni.lu/
# Banner settings
banner: labcard # When you have custom images, change this setting's value to the name of the folder containing them
banner: howto-card # When you have custom images, change this setting's value to the name of the folder containing them
logo: small # Change to "big" (without quotas) in case of having broad logo
date: "2019"
......@@ -55,6 +55,18 @@ plugins:
- jekyll-feed
- jekyll-paginate-v2
# These settings are used to display share link to howto.lcsb.uni.lu
# The display logic itself is in the template
share_url: https://howto.lcsb.uni.lu/?
include_link_index: 4
defaults:
-
scope:
path: "external/*"
values:
include_link: true
# Exclude from processing. (no need to touch these)
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
......
Jekyll::Hooks.register([:pages, :posts, :documents], :pre_render) do |post|
# This will run every time the website is built
# Include a plugin (needs to be in gemfile)
include Jekyll::EmailProtect::EmailProtectionFilter
# Using a simpler version of email regexp
email_regexp = /mailto\:(?:[\'\"]*)(?:[\w+\-]\.?)+@[a-z\d\-]+(?:\.[a-z]+)*\.[a-z]+(?:[\'\"]*)/i
# Take post's content, and transform every occurence of the following regexp (an email)
post.content = post.content.gsub(email_regexp) {
# For every occurence, apply protection function:
|param| "mailto:" + Jekyll::EmailProtect::EmailProtectionFilter::encode_email(param[7..-1].delete("'").delete('"'))
}
end
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68.32 8.09"><title>banner</title><g id="Policies"><path d="M1.4,7.37V.87H2v6H5.25v.54Z" style="fill:#5d5d5d"/><path d="M10.38,2.39A1.38,1.38,0,0,0,8.85,1.27c-1.66,0-2.17,1.52-2.17,2.85S7.19,7,8.85,7a1.51,1.51,0,0,0,1.6-1.17h.63A2.16,2.16,0,0,1,8.85,7.5c-2,0-2.8-1.58-2.8-3.38S6.89.73,8.85.73A1.91,1.91,0,0,1,11,2.39Z" style="fill:#5d5d5d"/><path d="M14,7.5A1.87,1.87,0,0,1,12,5.68h.63c0,1,.75,1.28,1.63,1.28s1.56-.42,1.56-1.25c0-.65-.46-1-1-1.13-1.06-.35-2.66-.69-2.66-2.09A1.9,1.9,0,0,1,14.25.73a1.88,1.88,0,0,1,2.12,1.55h-.63c0-.8-.75-1-1.42-1s-1.51.35-1.51,1.14c0,1.84,3.67,1,3.67,3.25C16.48,7.07,15.27,7.5,14,7.5Z" style="fill:#5d5d5d"/><path d="M17.9,7.37V.87h2.34A1.66,1.66,0,0,1,22.05,2.5,1.55,1.55,0,0,1,20.84,4h0a1.61,1.61,0,0,1,1.48,1.65,1.71,1.71,0,0,1-1.94,1.74Zm2-3.64c.76,0,1.52-.29,1.52-1.18s-.78-1.13-1.54-1.14H18.49V3.73Zm-1.41,3.1h1.43c1.12,0,1.77-.28,1.77-1.28s-.9-1.28-2.12-1.28H18.49Z" style="fill:#5d5d5d"/><path d="M26.2,7.37V2.31h.46V4.53h2.76V2.31h.45V7.37h-.45V5H26.66V7.37Z" style="fill:#5d5d5d"/><path d="M34.15,5.61a1.65,1.65,0,1,1-3.28,0,1.65,1.65,0,1,1,3.28,0ZM32.51,4.13c-.85,0-1.18.83-1.18,1.48s.33,1.48,1.18,1.48,1.18-.83,1.18-1.48S33.36,4.13,32.51,4.13Z" style="fill:#5d5d5d"/><path d="M35.94,6.82h0l1.07-3h.5l1,2.94h0l1-2.94H40L38.73,7.37h-.39l-1.08-3h0l-1.1,3h-.42L34.43,3.85h.46Z" style="fill:#5d5d5d"/><path d="M40,5.29h1.76v.42H40Z" style="fill:#5d5d5d"/><path d="M42.67,4.24H42V3.85h.7V3.1l.42-.18v.93h.8v.39h-.8V6.59a.44.44,0,0,0,.49.5,1.42,1.42,0,0,0,.36,0v.36a1.54,1.54,0,0,1-.43.06c-.89,0-.84-.56-.84-1Z" style="fill:#5d5d5d"/><path d="M47.73,5.61a1.65,1.65,0,1,1-3.28,0,1.65,1.65,0,1,1,3.28,0ZM46.09,4.13c-.85,0-1.18.83-1.18,1.48s.33,1.48,1.18,1.48,1.18-.83,1.18-1.48S46.94,4.13,46.09,4.13Z" style="fill:#5d5d5d"/><path d="M53.78,3.5a1.07,1.07,0,0,0-1.19-.87c-1.3,0-1.69,1.17-1.69,2.21s.39,2.21,1.69,2.21a1.17,1.17,0,0,0,1.24-.91h.49a1.67,1.67,0,0,1-1.73,1.33c-1.54,0-2.18-1.23-2.18-2.63s.65-2.63,2.18-2.63A1.49,1.49,0,0,1,54.27,3.5Z" style="fill:#5d5d5d"/><path d="M57.2,4.89a.72.72,0,0,0-.83-.76c-.45,0-.81.14-.87.61h-.44a1.15,1.15,0,0,1,1.31-1c.78,0,1.26.36,1.25,1.16V6.58c0,.27,0,.55,0,.79h-.43V6.85h0l0,.05a1.32,1.32,0,0,1-1.1.57A1.07,1.07,0,0,1,54.9,6.39a1.09,1.09,0,0,1,.71-1,5,5,0,0,1,1.59-.16Zm-1.05,2.2c.92,0,1.09-.76,1.05-1.49-.6,0-1.84-.09-1.84.79A.7.7,0,0,0,56.15,7.09Z" style="fill:#5d5d5d"/><path d="M59.13,7.37h-.42V4.64c0-.27,0-.55,0-.79h.43l0,.52h0a.91.91,0,0,1,.8-.62,3,3,0,0,1,.42,0v.4l-.26,0c-.63,0-1,.45-1,1.12Z" style="fill:#5d5d5d"/><path d="M63.46,6.85v0a1.42,1.42,0,0,1-1.2.65c-1,0-1.45-1-1.45-1.87s.4-1.85,1.45-1.85a1.39,1.39,0,0,1,1.2.64V2.31h.42V6.58c0,.27,0,.55,0,.79h-.44ZM62.32,4.13c-.8,0-1.06.75-1.06,1.42s.19,1.54,1,1.54,1.2-.76,1.2-1.56S63.13,4.13,62.32,4.13Z" style="fill:#5d5d5d"/><path d="M66.1,3.75c.67,0,1.23.23,1.28,1h-.45c0-.44-.44-.59-.87-.59s-.79.16-.79.57.68.47,1.63.81a.85.85,0,0,1,.6.82c0,.79-.74,1.14-1.48,1.14s-1.31-.28-1.33-1.06h.46c0,.53.5.68,1,.68s.92-.21.92-.7-.55-.59-1.11-.72-1.12-.29-1.12-.94S65.49,3.75,66.1,3.75Z" style="fill:#5d5d5d"/></g></svg>
\ No newline at end of file
<svg id="LabCards" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.68903 8.09275"><defs><style>.cls-1{fill:#5d5d5d;}</style></defs><title>ul-header-with-lcsb-jekyll-labcards</title><path class="cls-1" d="M1.39849,7.36941v-6.5h.585v5.96H5.25152v.54Z"/><path class="cls-1" d="M10.3814,2.39089A1.37186,1.37186,0,0,0,8.85113,1.27468c-1.66553,0-2.16992,1.51221-2.16992,2.84473S7.1856,6.96413,8.85113,6.96413a1.51872,1.51872,0,0,0,1.60254-1.17041h.62988A2.16362,2.16362,0,0,1,8.85113,7.50466c-1.97168,0-2.79981-1.58447-2.79981-3.38525,0-1.78272.83692-3.38477,2.79981-3.38477,1.062,0,2.07031.48584,2.16064,1.65625Z"/><path class="cls-1" d="M13.96246,7.50466A1.88181,1.88181,0,0,1,12.02691,5.677h.63037c.01807.999.75635,1.28711,1.62939,1.28711.7295,0,1.56641-.42285,1.56641-1.251,0-.64844-.46777-.95459-1.01709-1.13477-1.05322-.35107-2.65576-.68408-2.65576-2.08838A1.893,1.893,0,0,1,14.25054.73464,1.86777,1.86777,0,0,1,16.36626,2.283h-.62988c-.01806-.80127-.74756-1.0083-1.41357-1.0083-.6753,0-1.5127.3418-1.5127,1.13428,0,1.8457,3.67334,1.0083,3.67334,3.25C16.48345,7.07253,15.26812,7.50466,13.96246,7.50466Z"/><path class="cls-1" d="M17.90435,7.36941v-6.5l2.33154.00927A1.6559,1.6559,0,0,1,22.04546,2.4988a1.528,1.528,0,0,1-1.20654,1.46777v.01807A1.60341,1.60341,0,0,1,22.31548,5.6321a1.70515,1.70515,0,0,1-1.93554,1.73731ZM19.90289,3.7322c.75634,0,1.5122-.29688,1.5122-1.1792,0-.94531-.77392-1.13428-1.53906-1.14355H18.48931V3.7322ZM18.48931,6.82937H19.921c1.11621.01806,1.76465-.2793,1.76465-1.27832,0-1.10742-.8916-1.27832-2.11572-1.27832H18.48931Z"/><path class="cls-1" d="M26.40923,7.36941v-6.5h.585v5.96h3.26807v.54Z"/><path class="cls-1" d="M33.7896,4.1824c-.05371-.73829-.43212-.97217-1.07128-.97217-.5669,0-1.03516.1709-1.10743.7832h-.57617a1.493,1.493,0,0,1,1.69287-1.27832c.999,0,1.62012.459,1.60254,1.49414V6.35232c-.00928.35107.02686.71093.04492,1.01709H33.817l-.01807-.666h-.01806l-.02686.063a1.69676,1.69676,0,0,1-1.41357.73828,1.39653,1.39653,0,0,1-.59424-2.70117,6.18457,6.18457,0,0,1,2.04345-.207ZM32.43951,7.00906c1.1792,0,1.40429-.97217,1.35009-1.91749-.76513.02735-2.36767-.11669-2.36767,1.01758A.90226.90226,0,0,0,32.43951,7.00906Z"/><path class="cls-1" d="M36.1563,7.36941h-.55859c.01807-.30616.04541-.666.04541-1.01709V.86941h.54v2.647l.01807.01807a1.806,1.806,0,0,1,1.54834-.81934c1.3413,0,1.85449,1.206,1.85449,2.37646,0,1.13428-.51319,2.41309-1.82764,2.41309a1.84791,1.84791,0,0,1-1.57519-.8374l-.01807.03613Zm.02686-2.34961c0,1.02636.35986,1.98926,1.53955,1.98926,1.03516,0,1.29639-1.125,1.29639-1.96241,0-.86425-.35108-1.83642-1.37744-1.83642C36.58843,3.21023,36.18316,4.10134,36.18316,5.0198Z"/><path class="cls-1" d="M44.89605,2.39089a1.37186,1.37186,0,0,0-1.53027-1.11621c-1.66553,0-2.16993,1.51221-2.16993,2.84473s.5044,2.84472,2.16993,2.84472a1.51872,1.51872,0,0,0,1.60254-1.17041h.62988a2.16362,2.16362,0,0,1-2.23242,1.71094c-1.97168,0-2.79981-1.58447-2.79981-3.38525,0-1.78272.83692-3.38477,2.79981-3.38477,1.062,0,2.07031.48584,2.16064,1.65625Z"/><path class="cls-1" d="M49.29644,4.1824c-.05371-.73829-.43213-.97217-1.07129-.97217-.56689,0-1.03515.1709-1.10742.7832h-.57617a1.493,1.493,0,0,1,1.69287-1.27832c.999,0,1.62012.459,1.60254,1.49414V6.35232c-.00928.35107.02685.71093.04492,1.01709h-.55811l-.01806-.666h-.01807l-.02685.063a1.69678,1.69678,0,0,1-1.41358.73828A1.39653,1.39653,0,0,1,47.253,4.80349a6.18463,6.18463,0,0,1,2.04346-.207Zm-1.3501,2.82666c1.1792,0,1.4043-.97217,1.3501-1.91749-.76514.02735-2.36768-.11669-2.36768,1.01758A.90227.90227,0,0,0,47.94634,7.00906Z"/><path class="cls-1" d="M51.77984,7.36941h-.54v-3.502c.00879-.35107-.02686-.71142-.04492-1.01757h.5581l.02686.6665h.01807a1.16282,1.16282,0,0,1,1.01757-.80127,5.38772,5.38772,0,0,1,.54.00879v.52246c-.10791-.00928-.2251-.03613-.333-.03613-.80126,0-1.2246.57617-1.24267,1.44043Z"/><path class="cls-1" d="M57.35162,6.70339,57.334,6.66726a1.83648,1.83648,0,0,1-1.54883.8374c-1.34131,0-1.85449-1.27881-1.85449-2.41309,0-1.17041.51318-2.37646,1.85449-2.37646a1.80681,1.80681,0,0,1,1.54883.81934l.01758-.01807V.86941h.54052V6.35232c0,.35107.02686.71093.04493,1.01709H57.379ZM55.87554,3.21023c-1.02637,0-1.35937.9541-1.35937,1.81836,0,.8374.24267,1.98047,1.27832,1.98047,1.1792,0,1.53955-.981,1.53955-2.00733C57.334,4.08327,56.92876,3.21023,55.87554,3.21023Z"/><path class="cls-1" d="M60.74419,2.71511c.85547,0,1.57569.29688,1.64747,1.25146h-.585c-.05419-.56738-.5581-.75634-1.11669-.75634-.50391,0-1.01709.19824-1.01709.729,0,.66651.873.60352,2.09765,1.03565A1.09882,1.09882,0,0,1,62.5357,6.0281c0,1.01709-.94531,1.47656-1.89942,1.47656-.7832,0-1.68359-.36914-1.70166-1.36865h.58545c.04493.67529.63916.87305,1.251.87305.57617,0,1.17969-.27,1.17969-.89991,0-.64843-.71143-.75634-1.43164-.91845-.71094-.1709-1.43116-.37793-1.43116-1.21534C59.08794,3.03933,59.9522,2.71511,60.74419,2.71511Z"/></svg>
\ No newline at end of file
# 1 DAISY at a Glance
DAISY is a tool that assists GDPR compliance by keeping a register of personal data used in research. DAISY's application menu Bar lists the main functions provided.
![Alt](../../external/img/menubar.png "DAISY Menubar")
<center>DAISY Menubar</center>
* _Project Management_ module allows for the recording of research activities as projects. Documenting projects is critical for GDPR compliance as projects constitute the purpose and the context of use of personal data. Any document supporting the legal and ethical basis for data use can be stored in DAISY. Examples are ethics approvals, consent configurations, or subject information sheets.
* _Dataset Management_ module allows for the recording of personal data held by the institution. The dataset may or may not fall in the context of a particular project. DAISY allows Datasets to be defined in a granular way; where - if desired - each data subset, called a data declaration, can be listed individually. These declarations may list data from a particular partner, data of a particular cohort or data of a particular type.
* _Contract Management_ module allows the recording and storage of legal contracts of various types that have been signed with partner institutes or suppliers. Consortium agreements, data sharing agreements, material transfer agreements are examples of contracts. For GDPR compliance contracts become useful when documenting the source of datasets received or the target datasets transferred.
* _Definitions Management_. DAISY comes pre-packed with default lookup lists; these can be changed during application deployment. Lookup lists are used when defining contracts, projects or datasets. The definitions module of the DAISY application allows the management of dynamic lookup lists, specifically those of cohorts, partner institutes and contact persons.
The dependencies between DAISY modules is given below. There are no hard dependencies between the Projects, Contracts and Datasets modules. In principle you may start using any of these modules once DAISY is deployed with pre-packed definitions.
![Alt](../../external/img/dependencies.png "DAISY module dependencies")
<center>DAISY module dependencies</center>
<mark>Our suggestion to first-time users is the following</mark>:
1. Familiarise yourself with DAISY's interface conventions by reading the [relevant section of this guide](#DIC).
2. Login to DAISY with a user that has Administrator or VIP privileges. E.g. In the demo deployment the _admin_ user has Administrator privileges and _alice.white_ has VIP privileges.
3. Use Project Management to [create a project](#PM1).
4. Use Dataset Management to [create a dataset](#PM21) within the defined project.
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />
<a name="CM"></a>
# 5 Contract Management
The Contract Management module allows recording legal documents signed in the context of research activities. Contracts are typically linked to Projects and provide the necessary traceability for the GDPR compliant provision and transfer of data.
<a name="CM1"></a>
## 5.1 Create New Contract
<mark>In order to create a new contract</mark>:
1. Click Contracts from the Menu Bar.<br />
![Alt](../../external/img/contract_menubar.png)
2. Click the add button from the Contract Search Page.<br />
![Alt](../../external/img/add_button.png)
3. You will see an empty Contract Form. The _Project_ field is optional, meanwhile, in practice most contracts are signed in the context of a research project. In the _Roles_ field, you are expected to select one or more GDPR role that identifies your institutions roles as described in the Contract. In the _Other comments_ section you may describe the nature of the document or if the document has an ID/REF e.g. from a document management system, you may put it in. Just like projects and datasets, when creating contracts you are expected to provide a local responsible in the _Local Custodians_ field. As stated before, one of the Local Custodians must be a user with VIP Privileges. E.g. in the demo deployment _alice.white_ is a research principle investigator and is a VIP user.<br />
![Alt](../../external/img/contract_add_form.png)
4. Click SUBMIT. Once you successfully save the form, you will be taken to the newly created contract's details page, as seen below.<br />
![Alt](../../external/img/contract_created.png)
<a name="CM2"></a>
## 5.2 Manage Contract Details
After initial creation the contract will be in a skeletal form and would need further input on its signatories and document attachments.
### 5.2.1 Manage Contract Partners (Signatories)
Contracts have multiple signatories. These can be managed via the **Partners (Signatories)** detail box.
1. Click the plus button on the **Partners (Signatories)** details box, as seen below.<br />
![Alt](../../external/img/contract_add_partner.png)
2. You will see the **Partner and role** addition form. In this form, you will be asked to select the _Partner_ as well as the GDPR _Roles_ that this partner assumes in the contract. You can select more than one role. It is also mandatory to provide a contact person that is with the selected partner institute. You can either select from the list or you can add a new contact if it does not already exist.
![Alt](../../external/img/contract_add_partner_form.png)
3. Once you fill in the information and click SUBMIT the partner will be added to the list of signatories, as seen below. Partners can be removed from a contract by clicking on the trash icon that will appear when hovering over the items in the **Partner and role detail box**.<br />
![Alt](../../external/img/project_ref_user_search.png)
### 5.2.2 Manage Contract Documents
You may attach PDF, word documents, scans, via the **Documents** detail box. Document management is common throughout DAISY modules. It is described [here](#PM25).
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />
\ No newline at end of file
---
layout: page
permalink: /external/daisy/
---
# <a name="top"></a>DAISY User Guide
{:.no_toc}
This howto-card is the user guide for the Data Information System (DAISY). If it is your first time with the guide then start with Section **DAISY at a Glance**.
* TOC
{:toc}
{% include_relative at_a_glance.md %}
{% include_relative interface_conventions.md %}
{% include_relative project_management.md %}
{% include_relative dataset_management.md %}
{% include_relative contract_management.md %}
{% include_relative definitions_management.md %}
{% include_relative user_management.md %}
<!--- Below fragment is needed for TOC in iAWriter PDF export
{{TOC}}
/at_a_glance.md "DAISY at a glance"
/interface_conventions.md "Interface Conventions"
/project_management.md "Project Management"
/dataset_management.md "Dataset Management"
/contract_management.md "Contract Management"
/definitions_management.md "Definitions Management"
/user_management.md "User and Permission Management"
+++
-->
<a name="DM"></a>
# 4 Dataset Management
<a name="DM1"></a>
## 4.1 Create New Dataset
In order to create a new Dataset:
1. Click Datasets from the Menu Bar.<br />
![Alt](../../external/img/dataset_menubar.png)
2. Click the add button from the Dataset Search Page.<br />
![Alt](../../external/img/add_button.png)
3. You will see the **Dataset Creation Quick Form**<br />
![Alt](../../external/img/dataset_quick_form.png)
4. Click SUBMIT. Once you successfully save the form, you will be taken to the newly created dataset's details page, as seen below. <br />
![Alt](../../external/img/dataset_details.png)
<a name="DM2"></a>
## 4.2 Declare Data within the Dataset
After initial creation the dataset will be in a skeletal form. The dataset needs to be fleshed out with further information on the characteristics of the data it contains. We do this by creating **data declarations** within the dataset, by following these steps.
1. Click the plus button on the **Data declarations** details box.<br />
![Alt](../../external/img/datadec_empty.png)
2. You will see the **Data declaration Creation Quick Form** as below. With the **Data declaration Creation Quick Form** you are asked for a **Title** for the declaration and denote where the data was **Obtained from** by selecting one of three options. For the **Title** one can use the same title you used earlier when creating the dataset. However, if you're going to have multiple declarations within a dataset you can give them names based on their source or their type (e.g. Helsinki Cohort, Parkinson Study-2, LuxPARK PARK2 Cell lines etc). It is important that the **Title** is a name that is familiar to you and your research group as it will be used in free text search over datasets. The options for the **Obtained from** field is described in detail [in the remainder of this section](#DDEC_OPTIONS). <br />
![Alt](../../external/img/datadec_quick_form.png)
3. Click SUBMIT. The data declaration will be created you will be taken to the **Data Declaration Editor Page**.
Before we describe the details of data declaration editing we will discuss the three different options for specifying the origin of data in DAISY.
<a name="DDEC_OPTIONS"></a> <mark>The <strong>Obtained from</strong> field captures important information, but, for the first-time users of DAISY it can be difficult to populate. Your choice among the three options will determine if and how your dataset will be linked to other entities in DAISY. If you are a first-time user and you're creating records for learning purposes, we suggest that you choose the option "Other" for simplicity.</mark>
<span>&#9675; </span><mark><strong>From existing data/samples:</strong></mark> When you state that the data is obtained from existing data/samples in your institution, DAISY will prompt you (as below) to search for and choose the data record which is the origin for your current declaration.
![Alt](../../external/img/datadec_from_existing.png)
You will be provided a searchable selection box, through which you can find existing data records by their Project, by responsible PI or by their title. As you will be making a selection from existing records, with this option, it is necessary that origin data had been entered into DAISY earlier.
By choosing the **from existing data/samples:** you will link the newly created data declaration to an existing data declaration in daisy, as depicted below.
![Alt](../../external/img/from_existing_topology.png)
<span>&#9675;</span><mark><strong>Newly incoming data/samples:</strong></mark> When you select this option, it means you are obtaining data from a collaborator institute or from a repository and this data is being recorded for the first time in DAISY. With this option DAISY will first ask you to select a partner (institutes and repositories are both in the partner list). Once you select a partner DAISY will then list all those contracts that are in the system involving this partner and that have local custodians overlapping with the custodians of the dataset you're detailing. If there are no such contracts or if none of the existing contracts foresee the receipt of this data, then you have to option to create an empty contract. You can later on provide the details and documentation for this empty contract. It is possible that in some DAISY deployments the _Contract Management_ module, in that case the empty contract acts as a link to the source partner for the data.
![Alt](../../external/img/datadec_newly_incoming.png)
When the **newly incoming data/samples** option is chose, DAISY will link the newly created data declaration to a Contract and and associated Partner(s), as depicted below.
![Alt](../../external/img/newly_incoming_topology.png)
<span>&#9675;</span><mark><strong>Other:</strong></mark> When you select this option, it means you do not want to create any structured DAISY records to denote the origin of data being declared. DAISY will prompt you to provide a free-text description of the origin of data as seen below.
![Alt](../../external/img/datadec_other.png)
Data declared with the **Other** option will not have links to any other records as to its origin.
![Alt](../../external/img/other_topology.png)
After selecting any one of the options and creating the data declaration, you will be taken back to the Dataset Details Page. You can see the newly added declaration listed in the **Data Declarations** detail box. This box also provides action buttons for editing, deleting, and cloning data declarations, as seen below.
![Alt](../../external/img/datadec_added.png)
Once created you're advised to edit the declaration to provide further information about the data. Data declarations have several fields in addition to the title and origin supplied during their creation.
![Alt](../../external/img/datadec_edit_1.png)
## 4.3 Manage Dataset Locations
As per GDPR, the storage of personal data is considered as a``data processing'' and needs tone recorded. The **Storage Locations detail box** allows you to do this. In order to record a new storage location:
1. click the plus button on the **Storage Locations** detail box depicted below. <br />
![Alt](../../external/img/dataset_add_location.png)
2. You will see the location creation form asking you for the _Storage Backend_ and the _Nature of data copy_ the _Stored datatypes_ (optional) and _Location of the data_ for the paper. The backends box will list storage platforms for your institution, you need to select one and in the location box you're expected to provide information on where the data can be found on the selected platform. Please note that you are not expected to document individual files. E.g. it is good practice to record the top level folder in which a certain dataset exists. The datatypes are optional and if you're not separately storing data subsets by type then there is no need to specify datatype information for a location.
![Alt](../../external/img/dataset_add_location_form.png)
3. Click SUBMIT and the new location will be listed as below. Storage locations can be deleted by clicking on the trash icon that will appear when hovering over items in the **Storage Locations detail box**. <br />
![Alt](../../external/img/dataset_remove_location.png)
## 4.4 Manage Dataset Accesses
As per GDPR, any access to personal data held in an institution needs to be recorded. The **Accesses detail box** allows you to do this. **IMPORTANT NOTE: Before recording access, make sure you have recorded storage locations of data.**
In order to add a new access record:
1. Click the plus button on the **Accesses** detail box depicted below.<br />
![Alt](../../external/img/dataset_add_access.png)
2. You will see the access creation form. Access is defined over a specific storage location, so you'd need to select one from the _Data Locations_ list. In addition you'd need to document the access control policy in the _Remarks_ section. If access is time-limited you may specify the start and end dates for its validity. By default all accesses recorded will fall under the scope of the project, which owns the dataset. It is also possible to record accesses, in the scope of other projects, to do so you must select one from the _Project_ list. We discuss access across projects later in this section.<br />
![Alt](../../external/img/dataset_add_access_form.png)
3. Click SUBMIT and the new access will be recorded and listed on the dataset's page as below. Accesses can be deleted by clicking on the trash icon that will appear when hovering over items in the **Accesses detail box**. <br />
![Alt](../../external/img/dataset_remove_access.png)
As discussed above, when data of one project is being access in the context of another project, this can be specified by in the access creation form by selecting a Project (see below left). When you create access records in this way, the dataset will be linked to the project accessing it. This dataset will be listed in the **Dat used from other projects** detail box (see below right).
![Alt](../../external/img/dataset_access_other_project.png)
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />
<a name="DEF_M"></a>
# 6 Definitions Management
With the _Definitions_ module, DAISY allows the management of _Contacts, _Cohorts_ and _Partners_. All pages within _Definitions_ operate according to the interface conventions given in the [relevant section of this guide](#DIC). In the following sections we only discuss what information is held in these definitions.
<a name="COH_M"></a>
## 6.1 Cohorts Management
Cohort is a study that collects data and/or bio-samples from a group of participants (e.g. longitudinal case-control or family studies). A cohort is linked to the creation of data and is considered its ultimate source.
In order to effectively handle data subjects' requests, as per GDPR, it is crucial that an institution keeps track of what data it keeps from which cohorts. Inline with this, DAISY allows maintaining a list of _Cohorts_ and link _Datasets_ to _Cohorts_.
The information kept on cohorts can be seen in the associated _Editor Page_ seen below. Cohorts are expected to have a _Title_ unique to them, and they are linked to one or more _Cohort Owners_, which are that are Principle Investigators, Clinicians running the study. Cohorts owners are kept as _Contacts_ in DAISY. In order to maintain a controlled list of cohorts, the administrator for the DAISY deployment may assign an accession number to the _Cohort_, which would be the unique identifier for this Cohort. <br />
![Alt](../../external/img/cohort_edit_form.png)
<a name="PAR_M"></a>
## 6.2 Partners Management
A _Partner_ is a research collaborator that is the source and/or recipient of human data. Partners are also legal entities with whom contracts are signed. Clinical entities that run longitudinal cohorts, research institutes, or data hubs are all examples of Partners.
In accordance, when maintaining _Dataset_ source info, _Dataset_ transfer info or when creating _Contract_ records, you will be asked to select Partners.
The information kept on partners can be seen in the associated _Editor Page_ seen below. <br />
![Alt](../../external/img/partner_edit_form.png)
<a name="CONN_M"></a>
## 6.3 Contacts Management
DAISY allows keeping an address book of all contact persons related to the _Projects_, _Datasets_, _Cohorts_ and _Contracts_.
The information kept on contacts is pretty standard as can be seen in the associated _Editor Page_ given below. <br />
![Alt](../../external/img/contact_edit_form.png)
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />
\ No newline at end of file
<a name="DIC"></a>
# 2 DAISY Interface Conventions
<a name="SP"></a>
## 2.1 Search Pages
DAISY provides search pages for all entities manageable via modules. Currently these are: _Projects, Contracts, Datasets_, and, under definitions, _Partners, Cohorts, Contacts_. All search pages have similar layout and operational conventions. Search pages are also the only entry point for the functions in a module. When you select a module from the menu bar, you will be taken to the search page for the entity managed by that module.
A screenshot of the search page for Projects is given below.
Each search page is headed with _help text search facets on the left hand side and search results on the right hand side.
![Alt](../../external/img/search_page.png)
<center>Search Page for Projects</center>
By default, all entities - in our example, all projects- will be listed on the search page. The list can be filtered by either selecting one or more facet from the left hand side or by typing in a keyword into the search box. Currently DAISY search does not support partial matching; instead the entire keyword will be matched in a case insensitive manner.
On the top right section of search results a few attributes will be listed. Clicking on these attributes repeatedly will respectively (1) enable the ordering either (2) change order to ascending/descending (3) disable ordering for the clicked attribute.
Each entity listed in the search results will be displayed in a shaded box are listing few of attributes; in our example the project's name and number of publications are listed. Each result box will also contain a "DETAILS" link, through which you can go to the [Entity Details Page](#EDP).
Depending on the permissions associated with your user type, you may see a **add button (denoted with a plus sign)** at the bottom right section of the search page. You can add a new entity by clicking the plus button, which will open up an empty editor form for you to fill in.
<a name="EDP"></a>
## 2.2 Entity Details Pages
Information about a single entity is provided through a Details Page. As example page for a _Project_ named ``SYSCID'' is given below.
![Alt](../../external/img/details_page.png)
<center>Details page of a Project in DAISY</center>
You may end up on an Entity Details Page in two primary ways. (1) Through the ``DETAILS'' link of a search results in a search page (2) Through links on details pages of other (linked) entities in DAISY.
Each Details Page is headed with an **overview box) listing some of the entity's attributes. Depending on the permissions associated with your user type, you may see an **edit entity button (denoted with a pencil icon)** and an **permissions button (denoted with an eye icon)**. These will take you to the Entity Editor Page and the Permissions Management Page respectively.
Beneath the overview box several information boxes will be listed displaying further details of the entity.
If you have edit permissions for the entity, then at the top right corner of some detail boxes you will see an **add detail button (denoted with a plus sign)**. Via this button you can do the following:
* create links to other entities e.g. link contacts with projects.
* create (inline) detail records to the current entity e.g. one or more publications to a project.
<a name="EEP"></a>
## 2.3 Entity Editor Pages
When you click the edit button on the Details Page of an entity, you will be taken to the Editor Page containing a form for entity update. An example is given below.
![Alt](../../external/img/editor_form.png)
<center>Editor page of a Project</center>
Each field in the form will be listed with a **Name**, a **Value** and a **Help text**. Names of fields that are required to have a value will end with a red asterisk.
Editor forms can be saved by pressing the **SUBMIT** button found at the bottom of the page. Forms will be validated upon submission. If validation fails for one or more fields, these will be highlighted with inline validation _ERROR_ messages, illustrated below.
![Alt](../../external/img/validation_error.png)
<center>Field validation error</center>
Upon successful save of a form, you will be returned to the entity details page. DAISY may give **SUCCESS** and/or **WARNING** messages upon form save; these will be displayed at the top of the page, as illustrated below.
![Alt](../../external/img/page_messages.png)
<center>Message display in DAISY</center>
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />
\ No newline at end of file
<a name="PM"></a>
# 3 Project Management
<a name="PM1"></a>
## 3.1 Create New Project
<mark>In order to create a new project</mark>:
1. Click Projects from the Menu Bar.<br />
![Alt](../../external/img/project_menubar.png)
2. Click the add button from the Project Search Page.<br />
![Alt](../../external/img/add_button.png)
3. You will see an empty Project Form. _Acronym, Title_ and _Local Custodians_ are mandatory fields, whereas others are optional. Provide values for fields. Please note that one of the Local Custodians must be a user with VIP Privileges. E.g. in the demo deployment _alice.white_ is a research principle investigator and is a VIP user.<br />
![Alt](../../external/img/project_custodians.png)
4. Click SUBMIT. Once you successfully save the form, you will be taken to the newly create project's details page, as seen below.<br />
![Alt](../../external/img/project_created.png)
<a name="PM2"></a>
## 3.2 Manage Project Details
When you first create a _Project_ in DAISY, it will be isolated, with no links to other entities. The _Project_ page provides shortcuts to create such entities, most importantly Datasets and Contracts. If you use these shortcuts the newly created entities will automatically be linked to the project. In the following section we describe how such shortcuts work.
<a name="PM21"></a>
### 3.2.1 Add Dataset to Project
When a project is created, it will have no associated Datasets. On the project's details page this situation will be highlighted in the **Data of this project** detail box as follows:
![Alt](../../external/img/project_add_dataset.png)
<mark>In order to create a Dataset and automatically link it to the project</mark>:
1. Click the **Add** button pointed by the arrow in the **Data of this project** detail box.
2. You will see the **Dataset Creation Quick Form** as below. The _Project_ field will be auto-selected, in addition you need to provide _Local Custodians_ and a _Title_ for your dataset. Typically the local custodians would be the same as the project, but you are free to choose any user as the custodian. Remember that one of the custodians needs to be a VIP User. Provide the field values and press submit.\
![Alt](../../external/img/project_add_dataset_form.png)
3. Once the dataset is created, you will be taken to the **Dataset's Details Page**, seen below. You can continue working on the data set as described in [this part of the guide](#DM). If you want to go pack to the Project that owns this dataset, then you can click the project link in the dataset's overview box, highlighted below.<br />
![Alt](../../external/img/project_add_dataset_result.png)
<a name="PM22"></a>
### 3.2.2 Add Contract to Project
TBC
<a name="PM23"></a>
### 3.2.3 Add Personnel to Project
A project's _Personnel_ refer to those persons that work on the project, we assume that these persons will all have a user account for the DAISY system. The **Personnel** detail box on the _Project_ page also allows linking DAISY _Users_ as personnel of a Project, to do so;
1. Click the plus button on the **Personnel** details box, as seen below.<br />
![Alt](../../external/img/project_ref_user.png)
2. You will be asked to select one user from a searchable list of existing users. Users will be listed with their name and surname. Make a selection and click SUBMIT. <br />
![Alt](../../external/img/project_ref_user_search.png)
Personnel can be unlinked from a Project by clicking on the trash icon that will appear when hovering over items in the **Personnel detail box**, as seen below. Note that the personnel will not be deleted from the system, it will simply be unlinked.<br />
![Alt](../../external/img/project_remove_user.png)
<a name="PM24"></a>
### 3.2.4 Manage Project Contacts
A project's _Contacts_ refer to those persons that are associated with the Project, but that are not a user of the DAISY system. Under the _Definitions Management_ module, it is possible to manage _Contacts_ and search for them. The **Contacts** detail box on the _Project_ page also allows contact management, as follows;
1. Click the plus button on the **Contacts** details box. You will be given the options to either **Create a new contact** or **Reference an existing contact** as seen below.<br />
![Alt](../../external/img/project_add_contact.png)
2. If you choose to reference, you will be asked to select one contact from a searchable list of existing contacts. Contacts will be listed with their name, surname and role as seen below. Make a selection and click SUBMIT.<br />
![Alt](../../external/img/project_ref_contact.png)
3. If you choose to create new, you will see the contact creation form. Once you fill in the details and click SUBMIT a new contact will be created and automatically linked to the project.<br />
![Alt](../../external/img/project_add_contact_form.png)
Contacts can be unlinked from a Project by clicking on the trash icon that will appear when hovering over items in the **Contacts detail box**, as seen below. Note that the contact will not be deleted from the system, it will simply be unlinked.<br />
![Alt](../../external/img/project_remove_contact.png)
<a name="PM25"></a>
### 3.2.5 Manage Project Documentation
You can attach documents to a project record in DAISY. Examples of documents are the Project Proposal, Ethics Approvals, Templates of Consent Form or the Subject Information Sheet. Documents can be in any format, PDF, Word or scans. If the document is stored already in an external system, you can also record its link in DAISY.
Document management is done via the **Documents** detail box, as follows:
1. Click the plus button on the **Documents** detail box.<br />
![Alt](../../external/img/project_add_document.png)
2. You will see the _Document_ creation form. Either select _Content_, i.e. file to upload, or paste the document link (if in external system). You will be required to provide a brief description of the document in _Document Notes_. Also you will also be required to select a _Type_ for the document. <br />
![Alt](../../external/img/project_add_document_form.png)
3. Click SUBMIT and the new document will be listed as below. Documents can be deleted by clicking on the trash icon beside each document, also document information can be edited by clicking the pencil icon.<br />
![Alt](../../external/img/project_remove_document.png)
### 3.2.6 Manage Project Publications
<a name="PM26"></a>
A project's _Publications_ can be managed via the **Publications detail box**, as follows:
1. Click the plus button on the **Publications** detail box. You will be given the options to either **Create a new publication** or **Reference an existing publication** as seen below.<br />
![Alt](../../external/img/project_add_publication.png)
2. If you choose to reference, you will be asked to select one publication from a searchable list of existing publications. Publications will be listed with their citation string. Make a selection and click SUBMIT.<br />
![Alt](../../external/img/project_ref_publication.png)
3. If you choose to create new, you will see the publication creation form asking you for the _Citation string_ and the _DOI_ for the paper. Once you fill in the details and click SUBMIT a new publication will be created and automatically linked to the project.<br />
![Alt](../../external/img/project_add_publication_form.png)
Publications can be unlinked from a Project by clicking on the trash icon that will appear when hovering over items in the **Publications detail box**, as seen below. Note that the publication will not be deleted from the system, it will simply be unlinked.<br />
![Alt](../../external/img/project_remove_publication.png)
<br />
<br />
<br />
<div style="text-align: right;"> <a href="#top">Back to top</a> </div>
<br />
<br />
<br />