New version for KC 16.1.0 version and themes added into JAR (starting as *DISABLED*)
|
@ -63,7 +63,7 @@ public class DeleteAccountResource {
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.debug("Finding user model and setting it as not enabled in realm");
|
logger.debug("Finding user model and setting it as not enabled in realm");
|
||||||
session.users().getUserById(user.getId(), realm).setEnabled(false);
|
session.users().getUserById(realm, user.getId()).setEnabled(false);
|
||||||
|
|
||||||
if (session.getTransactionManager().isActive()) {
|
if (session.getTransactionManager().isActive()) {
|
||||||
logger.debug("Committing the transaction on transaction manager");
|
logger.debug("Committing the transaction on transaction manager");
|
||||||
|
|
|
@ -86,7 +86,7 @@ public class KeycloakEvent extends Event {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static OffsetDateTime convertEventDate(long millis) {
|
private static OffsetDateTime convertEventDate(long millis) {
|
||||||
OrchestratorEventPublisherProvider.logger.infof("Creating offset date time from millis: %l", millis);
|
OrchestratorEventPublisherProvider.logger.debugf("Creating offset date time from millis %d -> %t", millis, millis);
|
||||||
return Instant.ofEpochMilli(millis).atZone(ZoneOffset.systemDefault()).toOffsetDateTime();
|
return Instant.ofEpochMilli(millis).atZone(ZoneOffset.systemDefault()).toOffsetDateTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ public class OrchestratorEventPublisherProviderFactory implements EventListenerP
|
||||||
logger.trace("Not found.");
|
logger.trace("Not found.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.debugf("Client '%f' found", clientId);
|
logger.debugf("Client '%s' found", clientId);
|
||||||
return client;
|
return client;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,13 @@
|
||||||
<artifactId>identity-provider-mapper</artifactId>
|
<artifactId>identity-provider-mapper</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!--
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.iam</groupId>
|
||||||
|
<artifactId>keycloak-d4science-theme</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.iam</groupId>
|
<groupId>org.gcube.iam</groupId>
|
||||||
<artifactId>ldap-storage-mapper</artifactId>
|
<artifactId>ldap-storage-mapper</artifactId>
|
||||||
|
@ -109,6 +116,15 @@
|
||||||
<bundleFileName>identity-provider-mapper.jar</bundleFileName>
|
<bundleFileName>identity-provider-mapper.jar</bundleFileName>
|
||||||
<bundleDir>/</bundleDir>
|
<bundleDir>/</bundleDir>
|
||||||
</jarModule>
|
</jarModule>
|
||||||
|
<!--
|
||||||
|
<jarModule>
|
||||||
|
<groupId>org.gcube.iam</groupId>
|
||||||
|
<artifactId>keycloak-d4science-theme</artifactId>
|
||||||
|
<includeInApplicationXml>true</includeInApplicationXml>
|
||||||
|
<bundleFileName>keycloak-d4science-theme.jar</bundleFileName>
|
||||||
|
<bundleDir>/</bundleDir>
|
||||||
|
</jarModule>
|
||||||
|
-->
|
||||||
<jarModule>
|
<jarModule>
|
||||||
<groupId>org.gcube.iam</groupId>
|
<groupId>org.gcube.iam</groupId>
|
||||||
<artifactId>ldap-storage-mapper</artifactId>
|
<artifactId>ldap-storage-mapper</artifactId>
|
||||||
|
|
|
@ -70,6 +70,11 @@
|
||||||
<module name="org.slf4j" />
|
<module name="org.slf4j" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</sub-deployment>
|
</sub-deployment>
|
||||||
|
<!-- <sub-deployment name="keycloak-d4science-theme.jar"> -->
|
||||||
|
<!-- <dependencies> -->
|
||||||
|
<!-- <module name="org.keycloak.keycloak-core" /> -->
|
||||||
|
<!-- </dependencies> -->
|
||||||
|
<!-- </sub-deployment> -->
|
||||||
<sub-deployment name="ldap-storage-mapper.jar">
|
<sub-deployment name="ldap-storage-mapper.jar">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<module name="org.keycloak.keycloak-core" />
|
<module name="org.keycloak.keycloak-core" />
|
||||||
|
|
|
@ -2,5 +2,5 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||||
|
|
||||||
# Changelog for "keycloak-d4science-theme"
|
# Changelog for "keycloak-d4science-theme"
|
||||||
|
|
||||||
## [Unreleased]
|
## [v2.0.0-SNAPSHOT]
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
# Keycloak D4Science Theme
|
# Keycloak D4Science Theme
|
||||||
|
|
||||||
**Keycloak D4Science Theme**
|
**Keycloak D4Science Theme** repository collects the implementations of base D4Science theme and a set of specific per gateway themes implementations.
|
||||||
|
|
||||||
|
Each Keycloak theme is made of a set of [Freemarker](https://freemarker.apache.org/) templates.
|
||||||
|
|
||||||
## Structure of the project
|
## Structure of the project
|
||||||
|
|
||||||
The theme source is contained in `src/main/resources` folder.
|
The themes sources are contained in `src/main/resources` folder.
|
||||||
|
|
||||||
## Built With
|
## Built With
|
||||||
|
|
||||||
|
@ -16,14 +18,20 @@ To build the theme JAR it is sufficient to type
|
||||||
|
|
||||||
mvn clean package
|
mvn clean package
|
||||||
|
|
||||||
|
For details see [Theme section](https://www.keycloak.org/docs/latest/server_development/#_themes) of Keycloak developer docs.
|
||||||
|
|
||||||
|
As specified in [Deploying Themes](https://www.keycloak.org/docs/latest/server_development/#deploying-themes) section of the documentation, *themes can be deployed to Keycloak by copying the theme directory to themes or it can be deployed as an archive.*
|
||||||
|
|
||||||
|
During the development phase, themes caching in Keycloak configuration file has to be disabled. To do this edit `standalone.xml`. For `theme` set `staticMaxAge` to `-1` and both `cacheTemplates` and `cacheThemes` to `false`.
|
||||||
|
|
||||||
## Change log
|
## Change log
|
||||||
|
|
||||||
See [CHANGELOG.md](CHANGELOG.md).
|
See [CHANGELOG.md](CHANGELOG.md).
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
* **Mauro Mugnaini** ([Nubisware S.r.l.](http://www.nubisware.com))
|
* **Vincenzo Cestone** ([Nubisware S.r.l.](http://www.nubisware.com)) for themes preparing/testing.
|
||||||
* **Vincenzo Cestone** ([Nubisware S.r.l.](http://www.nubisware.com))
|
* **Mauro Mugnaini** ([Nubisware S.r.l.](http://www.nubisware.com)) for archive building/maven automation.
|
||||||
|
|
||||||
## How to Cite this Software
|
## How to Cite this Software
|
||||||
[Intentionally left blank]
|
[Intentionally left blank]
|
||||||
|
|
|
@ -1,9 +1,228 @@
|
||||||
{
|
{
|
||||||
"themes": [
|
"themes": [
|
||||||
|
{
|
||||||
|
"name": "aginfra.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ariadne.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bluecloud",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "blue-cloud.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "d4science",
|
"name": "d4science",
|
||||||
"types": [
|
"types": [
|
||||||
"account"
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dante.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "desira.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dev4.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "eosc-pillar.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "eoscsecretariat.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "example_theme",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "gemex.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "i-gene.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "i-marine.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "moving.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "next.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "openaire-connect.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "parthenos.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "performfish.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "risis2.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "secomlab.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "services.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sobigdata.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "territoriaperti.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test-theme.d4science.org",
|
||||||
|
"types": [
|
||||||
|
"account",
|
||||||
|
"admin",
|
||||||
|
"email",
|
||||||
|
"login"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=AGINFRAPlus Gateway
|
||||||
|
favicon=https://aginfra.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://aginfra.d4science.org/image/layout_set_logo?img_id=26845094&t=1610441736518
|
||||||
|
logoAlt=AGINFRAPlus Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://aginfra.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://aginfra.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=http://plus.aginfra.eu/
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=AGINFRA PLUS receives funding from the European Unions Horizon 2020 research and innovation programme under grant agreement No. 731001 <br/> The views and opinions expressed in this website are the sole responsibility of the author and do not necessarily reflect the views of the European Commission.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=ARIADNEPlus Gateway
|
||||||
|
favicon=https://ariadne.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://ariadne.d4science.org/image/layout_set_logo?img_id=164305244&t=1610441736528
|
||||||
|
logoAlt=ARIADNEPlus Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://ariadne.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://ariadne.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=http://ariadne-infrastructure.eu
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=ARIADNEplus is funded by the European Commission under the H2020 Programme, contract no. H2020-INFRAIA-2018-1-823914. <br/>The views and opinions expressed in this publication are the sole responsibility of the author and do not necessarily reflect the views of the European Commission.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=Blue-Cloud Gateway
|
||||||
|
favicon=https://blue-cloud.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
contentBgImg=
|
||||||
|
contentStyle=background: url("https://blue-cloud.d4science.org/generic-configurable-theme/images/custom/bb_background.jpg") no-repeat center center fixed; background-size: cover;
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://blue-cloud.d4science.org/image/layout_set_logo?img_id=199274286&t=1610441455783
|
||||||
|
logoAlt=Blue-Cloud Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://blue-cloud.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://blue-cloud.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=https://www.blue-cloud.org
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=Blue-Cloud has received funding from the European Unions Horizon programme call BG-07-2019-2020, topic: [A] 2019 - Blue Cloud services, Grant Agreement n.862409
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,33 @@
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
#styles=
|
||||||
|
|
||||||
|
titleTag=Blue-Cloud Login
|
||||||
|
favicon=https://blue-cloud.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
contentBgImg=img/blue-triangles.png
|
||||||
|
#contentStyle=background: url("https://url-of-background-img");
|
||||||
|
|
||||||
|
#logoHeaderStyle=
|
||||||
|
|
||||||
|
logoSrc=https://blue-cloud.d4science.org/image/layout_set_logo?img_id=199274286&t=1591610863691
|
||||||
|
logoAlt=Blue-Cloud Gateway
|
||||||
|
logoStyle=height: 40px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
#infrastructureLogoStyle=height: 40px;
|
||||||
|
|
||||||
|
#footerStyle=
|
||||||
|
|
||||||
|
linkTerms=https://blue-cloud.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://blue-cloud.d4science.org/cookie-policy
|
||||||
|
#linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
linkProject=https://www.blue-cloud.org/
|
||||||
|
descrProject=Blue-Cloud Project Website
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoSrc=https://blue-cloud.d4science.org/generic-configurable-theme/images/custom/logo-ec.jpg
|
||||||
|
#ECLogoStyle=max-width: 35px;
|
||||||
|
#ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=Blue-Cloud has received funding from the European Union's Horizon programme call BG-07-2019-2020, topic: [A] 2019 - Blue Cloud services, Grant Agreement n.862409
|
|
@ -0,0 +1,191 @@
|
||||||
|
<#import "template.ftl" as layout>
|
||||||
|
<@layout.mainLayout active='account' bodyClass='user'; section>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-10">
|
||||||
|
<h2>${msg("editAccountHtmlTitle")}</h2>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 subtitle">
|
||||||
|
<span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form action="${url.accountUrl}" class="form-horizontal" method="post">
|
||||||
|
|
||||||
|
<input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}">
|
||||||
|
|
||||||
|
<#if !realm.registrationEmailAsUsername>
|
||||||
|
<div class="form-group ${messagesPerField.printIfExists('username','has-error')}">
|
||||||
|
<div class="col-sm-2 col-md-2">
|
||||||
|
<label for="username" class="control-label">${msg("username")}</label> <#if realm.editUsernameAllowed><span class="required">*</span></#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-10 col-md-10">
|
||||||
|
<input type="text" class="form-control" id="username" name="username" <#if !realm.editUsernameAllowed>disabled="disabled"</#if> value="${(account.username!'')}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<div class="form-group ${messagesPerField.printIfExists('email','has-error')}">
|
||||||
|
<div class="col-sm-2 col-md-2">
|
||||||
|
<label for="email" class="control-label">${msg("email")}</label> <span class="required">*</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-10 col-md-10">
|
||||||
|
<input type="text" class="form-control" id="email" name="email" autofocus value="${(account.email!'')}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group ${messagesPerField.printIfExists('firstName','has-error')}">
|
||||||
|
<div class="col-sm-2 col-md-2">
|
||||||
|
<label for="firstName" class="control-label">${msg("firstName")}</label> <span class="required">*</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-10 col-md-10">
|
||||||
|
<input type="text" class="form-control" id="firstName" name="firstName" value="${(account.firstName!'')}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group ${messagesPerField.printIfExists('lastName','has-error')}">
|
||||||
|
<div class="col-sm-2 col-md-2">
|
||||||
|
<label for="lastName" class="control-label">${msg("lastName")}</label> <span class="required">*</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-10 col-md-10">
|
||||||
|
<input type="text" class="form-control" id="lastName" name="lastName" value="${(account.lastName!'')}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit">
|
||||||
|
<div class="">
|
||||||
|
<#if url.referrerURI??><a href="${url.referrerURI}">${kcSanitize(msg("backToApplication")?no_esc)}</a></#if>
|
||||||
|
<button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Save">${msg("doSave")}</button>
|
||||||
|
<button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Cancel">${msg("doCancel")}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-10">
|
||||||
|
<h2>${msg("changeAvatarHtmlTitle")}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<#assign avatarUrl = url.accountUrl?replace("^(.*)(/account/?)(\\?(.*))?$", "$1/avatar-provider/?account&$4", 'r') />
|
||||||
|
<form id="theForm" action="${avatarUrl}" class="form-horizontal" method="post" enctype="multipart/form-data">
|
||||||
|
|
||||||
|
<img src="${avatarUrl}" style="max-width: 200px;"
|
||||||
|
onerror="let div=document.createElement('div');div.id='avatarInfo';div.innerHTML='${msg("noAvatarSet")}<br/>${msg("avatarFileSizeMessage")}';this.replaceWith(div)" />
|
||||||
|
|
||||||
|
<div id="avatarError" class="alert alert-danger" style="margin-top: 0; display: none;">
|
||||||
|
<span class="pficon pficon-error-circle-o"></span>
|
||||||
|
<strong>${msg("avatarFileTooBig")}</strong> ${msg("avatarFileSizeMessage")}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input style="margin-top: 1em;" type="file" id="avatar" name="imageSelector">
|
||||||
|
|
||||||
|
<input type="hidden" name="stateChecker" value="${stateChecker}">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit">
|
||||||
|
<div class="">
|
||||||
|
<button type="button" onClick="sendAvatar()" class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Save">${msg("doSave")}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function sendAvatar() {
|
||||||
|
var filesToUpload = avatar.files;
|
||||||
|
var file = filesToUpload[0];
|
||||||
|
|
||||||
|
// Create an image
|
||||||
|
var img = document.createElement("img");
|
||||||
|
// Create a file reader
|
||||||
|
var reader = new FileReader();
|
||||||
|
// Set the image once loaded into file reader
|
||||||
|
reader.onload = function(e) {
|
||||||
|
img.src = e.target.result;
|
||||||
|
|
||||||
|
img.onload = function () {
|
||||||
|
var canvas = document.createElement("canvas");
|
||||||
|
var ctx = canvas.getContext("2d");
|
||||||
|
ctx.drawImage(img, 0, 0);
|
||||||
|
|
||||||
|
var MAX_WIDTH = 250;
|
||||||
|
var MAX_HEIGHT = 250;
|
||||||
|
var width = img.width;
|
||||||
|
var height = img.height;
|
||||||
|
|
||||||
|
if (width > height) {
|
||||||
|
if (width > MAX_WIDTH) {
|
||||||
|
height *= MAX_WIDTH / width;
|
||||||
|
width = MAX_WIDTH;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (height > MAX_HEIGHT) {
|
||||||
|
width *= MAX_HEIGHT / height;
|
||||||
|
height = MAX_HEIGHT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
canvas.width = width;
|
||||||
|
canvas.height = height;
|
||||||
|
ctx = canvas.getContext("2d");
|
||||||
|
ctx.drawImage(img, 0, 0, width, height);
|
||||||
|
|
||||||
|
canvas.toBlob(function(blob) {
|
||||||
|
var form = document.getElementById('theForm')
|
||||||
|
var formData = new FormData(form)
|
||||||
|
// Deleting the big image from the form data to prevent send
|
||||||
|
formData.delete('imageSelector')
|
||||||
|
// Adding new blob with new image with right size
|
||||||
|
formData.append("image", blob);
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.onreadystatechange = function() {
|
||||||
|
if (xhr.readyState == 4 && xhr.status == 200) {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.open(form.method, form.action, true);
|
||||||
|
xhr.send(formData);
|
||||||
|
});
|
||||||
|
} // img.onload
|
||||||
|
}
|
||||||
|
// Load files into file reader
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-10">
|
||||||
|
<h2>${msg("deleteAccountHtmlTitle")}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<#assign deleteUrl = url.accountUrl?replace("^(.*)(/account/?)(\\?(.*))?$", "$1/delete-account/delete?$4", 'r') />
|
||||||
|
<form action="${deleteUrl}" class="form-horizontal" method="post" onsubmit="return confirm('${msg("deleteAccountConfirmDeleteMessage")}');" >
|
||||||
|
|
||||||
|
<input type="hidden" name="stateChecker" value="${stateChecker}">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12">${msg("deleteAccountMessage")}</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" style="border: 1px solid #f1d875; background: #fffbdc">
|
||||||
|
<div class="col-md-1" style="font-weight: bold; color: #bf7900;">${msg("deleteAccountWarningTitle")}</div>
|
||||||
|
<div class="col-md-11">${msg("deleteAccountWarningMessage")}</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit">
|
||||||
|
<div class="">
|
||||||
|
<button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="${msg("deleteAccountSubmitButton")}">${msg("deleteAccountSubmitButton")}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</@layout.mainLayout>
|
|
@ -0,0 +1 @@
|
||||||
|
accountManagementTitle=Gesti\u00F3 de Compte D4Science
|
|
@ -0,0 +1,10 @@
|
||||||
|
accountManagementTitle=D4Science Benutzerkontoverwaltung
|
||||||
|
|
||||||
|
changeAvatarHtmlTitle=Profilbild bearbeiten
|
||||||
|
|
||||||
|
deleteAccountHtmlTitle=Account löschen
|
||||||
|
deleteAccountSubmitButton=Das Löschen des Account bestätigen
|
||||||
|
deleteAccountMessage=Das Löschen ihres Account deaktiviert ihren Profil und löscht ihren Namen und Profilbild dass Sie auf dem D4Science Gateway mitgeteilt haben. Einige Informationen weredn immer noch sichtbar bleiben wie zum Beispiel ihr Name auf Posts oder privaten Mitteilungen. Alle Files und Ordnern das Sie auf ihrem workspace kreiert haben werden gelöscht.
|
||||||
|
deleteAccountWarningTitle=Achtung
|
||||||
|
deleteAccountWarningMessage=Das Klicken auf dem "Das Löschen des Account bestätigen" Knopf is nicht rückgängig, ihr Account wird gelöscht und Sie werden automatisch aus allen ihren Sessionen aus-geloggt.
|
||||||
|
deleteAccountConfirmDeleteMessage=\\nWollen Sie wirklich ihren Account löschen?\\n\\n[Hinweis: Diese Operation ist nicht rückgängig]
|
|
@ -0,0 +1,18 @@
|
||||||
|
accountManagementTitle=D4Science Account Management
|
||||||
|
|
||||||
|
accountManagementWelcomeMessage=Welcome to D4Science Account Management
|
||||||
|
|
||||||
|
authenticatorFinishSetUpMessage=Each time you sign in to your D4Science account, you will be asked to provide a two-factor authentication code.
|
||||||
|
authenticatorSMSMessage=D4Science will send the Verification code to your phone as the two-factor authentication.
|
||||||
|
|
||||||
|
changeAvatarHtmlTitle=Edit Avatar
|
||||||
|
noAvatarSet=Please upload an image (100x100px size is suggested, images exceding 250x250px will be resized to 250px width or height mantaining their ratio) choosing a file and clicking on Save button.
|
||||||
|
avatarFileSizeMessage=The maximum file size permitted is 1MB.
|
||||||
|
avatarFileTooBig=File too big error!
|
||||||
|
|
||||||
|
deleteAccountHtmlTitle=Delete your Account
|
||||||
|
deleteAccountSubmitButton=Confirm delete account
|
||||||
|
deleteAccountMessage=Deleting your account will disable your profile and remove your name and photo you''ve shared on D4Science gateway(s). Some information may still be visible to others, such as your name in the posts and private messages you sent. All files and folders you created of your workspace will be removed.
|
||||||
|
deleteAccountWarningTitle=Warning
|
||||||
|
deleteAccountWarningMessage=Clicking on the "Confirm delete account" button is an undoable operation, your account will be removed and you'll be automatically logged out from all your sessions.
|
||||||
|
deleteAccountConfirmDeleteMessage=\\nDo you really want to remove your account?\\n\\n[NOTE: This action is irreversible]
|
|
@ -0,0 +1 @@
|
||||||
|
accountManagementTitle=Gesti\u00F3n de Cuenta D4Science
|
|
@ -0,0 +1,11 @@
|
||||||
|
# TIPS to encode UTF-8 to ISO
|
||||||
|
# native2ascii -encoding ISO8859_1 srcFile > dstFile
|
||||||
|
|
||||||
|
accountManagementTitle=Gestion du compte D4Science
|
||||||
|
|
||||||
|
deleteAccountHtmlTitle=Suppression de compte
|
||||||
|
deleteAccountSubmitButton=Confirmer la suppression du compte
|
||||||
|
deleteAccountMessage=La suppression de votre compte désactivera le profil et supprimera le nom et les photos partagés sur le(s) gateway D4Science. Certaines informations peuvent toujours être visibles aux autres utilisateurs, telles que le nom dans les publications et les messages privés envoyés. Tous les fichiers et dossiers créés dans l'espace de travail (worksapce) personnel seront supprimés.
|
||||||
|
deleteAccountWarningTitle=Attention
|
||||||
|
deleteAccountWarningMessage=En cliquant sur le bouton "Confirmer la suppression du compte" lancera une opération irréversible, le compte personnel sera supprimé et toutes les sessions ouvertes sur les différents sites seront fermé.
|
||||||
|
deleteAccountConfirmDeleteMessage=\\nVous voulez vraiment annuler votre compte?\\n\\n[Remarque: Cette action est irréversible]
|
|
@ -0,0 +1,13 @@
|
||||||
|
accountManagementTitle=D4Science Account Management
|
||||||
|
|
||||||
|
changeAvatarHtmlTitle=Modifica Avatar
|
||||||
|
noAvatarSet=Caricare un'immagine (si consiglia una dimensione di 100x100 px, le immagini che eccedono 250x250px saranno ridimensionate a 250px di larchezza o altezza mantenendo il loro rapporto) con Scegli file e premendo quindi su Salva
|
||||||
|
avatarFileSizeMessage=La massima dimensione consentita del file è di 1MB.
|
||||||
|
avatarFileTooBig=Dimensione file eccessiva!
|
||||||
|
|
||||||
|
deleteAccountHtmlTitle=Cancellazione Account
|
||||||
|
deleteAccountSubmitButton=Conferma cancellazione account
|
||||||
|
deleteAccountMessage=La cancellazione del proprio account disabiliterà il profilo e rimuoverà il nome e le foto condivise sul/sui gateway D4Science. Alcune informazioni potrebbero risultare ancora visibili agli altri utenti, come il nome nei post e nei messaggi privati inviati. Tutti i file e le cartelle create nel workspace personale saranno rimosse.
|
||||||
|
deleteAccountWarningTitle=Attenzione
|
||||||
|
deleteAccountWarningMessage=Cliccando sul bottone "Conferma cancellazione account" si avvierà un''operazione irreversibile, l''account personale sarà rimosso e saranno terminate tutte le sessioni aperte nei vari siti.
|
||||||
|
deleteAccountConfirmDeleteMessage=\\nSi vuole veramente cancellare il proprio account?\\n\\n[NB: Questa azione è irreversible]
|
|
@ -0,0 +1,5 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
accountManagementWelcomeMessage=D4Science アカウント管理へようこそ
|
||||||
|
|
||||||
|
authenticatorFinishSetUpMessage=D4Scienceアカウントにサインインするたびに、2要素認証コードを入力するように求められます。
|
||||||
|
authenticatorSMSMessage=D4Scienceは、2要素認証として確認コードを携帯電話に送信します。
|
|
@ -0,0 +1,2 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
accountManagementTitle=D4Science Naudotojų Administravimas
|
|
@ -0,0 +1 @@
|
||||||
|
accountManagementTitle=D4Science Accountbeheer
|
|
@ -0,0 +1 @@
|
||||||
|
accountManagementTitle=D4Science kontoadministrasjon
|
|
@ -0,0 +1,2 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
accountManagementTitle=Správa účtu D4Science
|
|
@ -0,0 +1,2 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
accountManagementTitle=Kontohantering för D4Science
|
|
@ -0,0 +1,6 @@
|
||||||
|
accountManagementTitle=D4Science Kullan\u0131c\u0131 Hesab\u0131 Y\u00F6netimi
|
||||||
|
|
||||||
|
accountManagementWelcomeMessage=D4Science Hesap Y\u00F6netimine Ho\u015F Geldiniz
|
||||||
|
|
||||||
|
authenticatorFinishSetUpMessage=D4Science hesab\u0131n\u0131zda her oturum a\u00E7t\u0131\u011F\u0131n\u0131zda, iki fakt\u00F6rl\u00FC bir do\u011Frulama kodu girmeniz istenecektir.
|
||||||
|
authenticatorSMSMessage=D4Science, do\u011Frulama kodunu telefonunuza iki fakt\u00F6rl\u00FC kimlik do\u011Frulamas\u0131 olarak g\u00F6nderecektir.
|
|
@ -0,0 +1,2 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
accountManagementTitle=D4Science账户管理
|
|
@ -0,0 +1,286 @@
|
||||||
|
html {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #F9F9F9;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .navbar {
|
||||||
|
margin-bottom: 0;
|
||||||
|
min-height: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .container {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-title {
|
||||||
|
background-image: url('../img/logo.png');
|
||||||
|
height: 36px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
width: 180px;
|
||||||
|
margin: 3px 10px 5px;
|
||||||
|
text-indent: -99999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-pf {
|
||||||
|
background: #585858;
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-pf .navbar-header {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-pf .navbar-utility {
|
||||||
|
right: 20px;
|
||||||
|
top: -34px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-pf .navbar-utility > li > a {
|
||||||
|
color: #fff !important;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
padding-top: 11px;
|
||||||
|
border-left: medium none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-area {
|
||||||
|
background-color: #fff;
|
||||||
|
border-color: #CECECE;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 1px;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.margin-bottom {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sidebar */
|
||||||
|
|
||||||
|
.bs-sidebar {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
padding-top: 44px;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
.bs-sidebar ul {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar ul li {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
margin-left: -1em;
|
||||||
|
}
|
||||||
|
.bs-sidebar ul li a {
|
||||||
|
font-size: 14px;
|
||||||
|
padding-left: 25px;
|
||||||
|
color: #4d5258;
|
||||||
|
line-height: 28px;
|
||||||
|
display: block;
|
||||||
|
border-width: 1px 0 1px 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
.bs-sidebar ul li a:hover,
|
||||||
|
.bs-sidebar ul li a:focus {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #777777;
|
||||||
|
border-right: 2px solid #aaa;
|
||||||
|
}
|
||||||
|
.bs-sidebar ul li.active a {
|
||||||
|
background-color: #c7e5f0;
|
||||||
|
border-color: #56bae0;
|
||||||
|
font-weight: bold;
|
||||||
|
background-image: url(../img/icon-sidebar-active.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: right center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-sidebar ul li.active a:hover {
|
||||||
|
border-right: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.content-area h2 {
|
||||||
|
font-family: "Open Sans", sans-serif;
|
||||||
|
font-weight: 100;
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 30px;
|
||||||
|
color: #909090;
|
||||||
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: #CB2915;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.alert {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feedback-aligner .alert {
|
||||||
|
background-position: 1.27273em center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
border-radius: 2px;
|
||||||
|
border-width: 1px;
|
||||||
|
color: #4D5258;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 1.1em;
|
||||||
|
line-height: 1.4em;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.909091em 3.63636em;
|
||||||
|
position: relative;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.alert.alert-success {
|
||||||
|
background-color: #E4F1E1;
|
||||||
|
border-color: #4B9E39;
|
||||||
|
}
|
||||||
|
.alert.alert-error {
|
||||||
|
background-color: #F8E7E7;
|
||||||
|
border-color: #B91415;
|
||||||
|
}
|
||||||
|
.alert.alert-warning {
|
||||||
|
background-color: #FEF1E9;
|
||||||
|
border-color: #F17528;
|
||||||
|
}
|
||||||
|
.alert.alert-info {
|
||||||
|
background-color: #E4F3FA;
|
||||||
|
border-color: #5994B2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-horizontal {
|
||||||
|
border-top: 1px solid #E9E8E8;
|
||||||
|
padding-top: 23px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-horizontal .control-label {
|
||||||
|
color: #909090;
|
||||||
|
line-height: 1.4em;
|
||||||
|
padding-top: 5px;
|
||||||
|
position: relative;
|
||||||
|
text-align: right;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-group {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-label + .required {
|
||||||
|
position: absolute;
|
||||||
|
right: -2px;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-buttons {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-buttons .btn-primary {
|
||||||
|
float: right;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Authenticator page */
|
||||||
|
|
||||||
|
ol {
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
font-size: 13px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li img {
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr + .form-horizontal {
|
||||||
|
border: none;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kc-dropdown{
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.kc-dropdown > a{
|
||||||
|
display:block;
|
||||||
|
padding: 11px 10px 12px;
|
||||||
|
line-height: 12px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #fff !important;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.kc-dropdown > a::after{
|
||||||
|
content: "\2c5";
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
.kc-dropdown:hover > a{
|
||||||
|
background-color: rgba(0,0,0,0.2);
|
||||||
|
}
|
||||||
|
.kc-dropdown ul li a{
|
||||||
|
padding: 1px 11px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #000 !important;
|
||||||
|
border: 1px solid #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
display:block;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
.kc-dropdown ul li a:hover{
|
||||||
|
color: #4d5258;
|
||||||
|
background-color: #d4edfa;
|
||||||
|
border-color: #b3d3e7;
|
||||||
|
}
|
||||||
|
.kc-dropdown ul{
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2000;
|
||||||
|
list-style:none;
|
||||||
|
display:none;
|
||||||
|
padding: 5px 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: #fff !important;
|
||||||
|
border: 1px solid #b6b6b6;
|
||||||
|
border-radius: 1px;
|
||||||
|
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||||
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||||
|
background-clip: padding-box;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
.kc-dropdown:hover ul{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#kc-totp-secret-key {
|
||||||
|
border: 1px solid #eee;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 50px 0;
|
||||||
|
}
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 6.1 KiB |
|
@ -0,0 +1 @@
|
||||||
|
parent=keycloak.v2
|
|
@ -0,0 +1,26 @@
|
||||||
|
module.service('UserAvatar', function(Auth) {
|
||||||
|
this.url = function(user, realm) {
|
||||||
|
return authUrl + '/realms/' + realm.realm + '/avatar-provider/admin/' + user.id + "?access_token=" + Auth.authz.token + "&" + + new Date().getTime();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
module.controller('UserAvatarCtrl', function($scope, $http, Notifications, UserAvatar) {
|
||||||
|
$scope.avatarUrl = UserAvatar.url($scope.user, $scope.realm);
|
||||||
|
|
||||||
|
$scope.uploadAvatar = function(files) {
|
||||||
|
var fd = new FormData();
|
||||||
|
//Take the first selected file
|
||||||
|
fd.append("image", files[0]);
|
||||||
|
|
||||||
|
$http.post($scope.avatarUrl, fd, {
|
||||||
|
headers: {'Content-Type': undefined },
|
||||||
|
transformRequest: angular.identity
|
||||||
|
}).then(function() {
|
||||||
|
Notifications.success("Your changes have been saved to the user.");
|
||||||
|
$scope.avatarUrl = UserAvatar.url($scope.user, $scope.realm);
|
||||||
|
}, function(error) {
|
||||||
|
console.error(error);
|
||||||
|
Notifications.error("Could not save the avatar");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
|
@ -0,0 +1,169 @@
|
||||||
|
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="#/realms/{{realm.realm}}/users">{{:: 'users' | translate}}</a></li>
|
||||||
|
<li data-ng-hide="create">{{user.username}}</li>
|
||||||
|
<li data-ng-show="create">{{:: 'add-user' | translate}}</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<kc-tabs-user></kc-tabs-user>
|
||||||
|
|
||||||
|
<form class="form-horizontal" name="userForm" novalidate kc-read-only="!create && !user.access.manage">
|
||||||
|
|
||||||
|
<fieldset class="border-top">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label"for="id">{{:: 'id' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input class="form-control" type="text" id="id" name="id" data-ng-model="user.id" autofocus data-ng-readonly="true">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label"for="id">{{:: 'created-at' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
{{user.createdTimestamp|date:'shortDate'}} {{user.createdTimestamp|date:'mediumTime'}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" data-ng-hide="emailAsUsername">
|
||||||
|
<label class="col-md-2 control-label"for="username">{{:: 'username' | translate}} <span class="required" data-ng-show="create">*</span></label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<!-- Characters >,<,/,\ are forbidden in username -->
|
||||||
|
<input class="form-control" type="text" id="username" name="username" data-ng-model="user.username" autofocus
|
||||||
|
data-ng-required="!emailAsUsername" ng-pattern="/^[^\<\>\\\/]*$/" data-ng-readonly="!editUsername">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label" for="email">{{:: 'email' | translate}}</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input class="form-control" type="email" name="email" id="email"
|
||||||
|
data-ng-model="user.email">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label" for="firstName">{{:: 'first-name' | translate}}</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input class="form-control" type="text" name="firstName" id="firstName"
|
||||||
|
data-ng-model="user.firstName">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label" for="lastName">{{:: 'last-name' | translate}}</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input class="form-control" type="text" name="lastName" id="lastName"
|
||||||
|
data-ng-model="user.lastName">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group clearfix block">
|
||||||
|
<label class="col-md-2 control-label" for="userEnabled">{{:: 'user-enabled' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input ng-model="user.enabled" name="userEnabled" id="userEnabled" ng-disabled="!create && !user.access.manage" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'user-enabled.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix block" data-ng-show="realm.bruteForceProtected && !create">
|
||||||
|
<label class="col-md-2 control-label" for="temporarilyDisabled">{{:: 'user-temporarily-locked' | translate}}</label>
|
||||||
|
<div class="col-md-1">
|
||||||
|
<input ng-model="temporarilyDisabled" name="temporarilyDisabled" id="temporarilyDisabled" data-ng-readonly="true" data-ng-disabled="true" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'user-temporarily-locked.tooltip' | translate}}</kc-tooltip>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<button type="submit" data-ng-click="unlockUser()" data-ng-show="temporarilyDisabled" class="btn btn-default">{{:: 'unlock-user' | translate}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix block" data-ng-show="!create && user.federationLink">
|
||||||
|
<label class="col-md-2 control-label">{{:: 'federation-link' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<a href="{{federationLink}}">{{federationLinkName}}</a>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'user-link.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix block" data-ng-show="!create && user.origin">
|
||||||
|
<label class="col-md-2 control-label">{{:: 'user-origin-link' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<a href="{{originLink}}">{{originName}}</a>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'user-origin.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix block">
|
||||||
|
<label class="col-md-2 control-label" for="emailVerified">{{:: 'email-verified' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input ng-model="user.emailVerified" name="emailVerified" id="emailVerified" ng-disabled="!create && !user.access.manage" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'email-verified.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix">
|
||||||
|
<label class="col-md-2 control-label" for="reqActions">{{:: 'required-user-actions' | translate}}</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<select ui-select2 id="reqActions" ng-model="user.requiredActions" data-placeholder="{{:: 'select-an-action.placeholder' | translate}}" multiple>
|
||||||
|
<option ng-repeat="action in userReqActionList" value="{{action.alias}}">{{action.name}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'required-user-actions.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group clearfix" data-ng-if="realm.internationalizationEnabled">
|
||||||
|
<label class="col-md-2 control-label" for="locale">{{:: 'locale' | translate}}</label>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div>
|
||||||
|
<select class="form-control" id="locale"
|
||||||
|
ng-model="user.attributes.locale"
|
||||||
|
ng-options="o as o for o in realm.supportedLocales">
|
||||||
|
<option value="" disabled selected>{{:: 'select-one.placeholder' | translate}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group clearfix" data-ng-hide="create || !access.impersonation">
|
||||||
|
<label class="col-md-2 control-label" for="impersonate">{{:: 'impersonate-user' | translate}}</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<button id="impersonate" data-ng-show="access.impersonation" kc-read-only-ignore class="btn btn-default" data-ng-click="impersonate()">{{:: 'impersonate' | translate}}</button>
|
||||||
|
</div>
|
||||||
|
<kc-tooltip>{{:: 'impersonate-user.tooltip' | translate}}</kc-tooltip>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-10 col-md-offset-2" data-ng-show="create && access.manageUsers">
|
||||||
|
<button kc-save data-ng-show="changed">{{:: 'save' | translate}}</button>
|
||||||
|
<button kc-cancel data-ng-click="cancel()">{{:: 'cancel' | translate}}</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-10 col-md-offset-2" data-ng-show="!create && user.access.manage">
|
||||||
|
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||||
|
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<form class="form-horizontal" ng-controller="UserAvatarCtrl" novalidate>
|
||||||
|
<fieldset class="border-top">
|
||||||
|
<legend><span class="text">Avatar</span></legend>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-10 col-md-offset-2">
|
||||||
|
<img style="max-width:600px;" src="{{ avatarUrl }}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-2 control-label" for="image">Upload</label>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<input class="form-control" type="file" name="image" id="image" onchange="angular.element(this).scope().uploadAvatar(this.files)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<kc-menu></kc-menu>
|
|
@ -0,0 +1,2 @@
|
||||||
|
parent=keycloak
|
||||||
|
scripts=js/user-avatar.js
|
|
@ -0,0 +1 @@
|
||||||
|
parent=keycloak.v2
|
|
@ -0,0 +1,61 @@
|
||||||
|
<#import "template.ftl" as layout>
|
||||||
|
<@layout.registrationLayout; section>
|
||||||
|
<#if section = "header">
|
||||||
|
${msg("loginProfileTitle")}
|
||||||
|
<#elseif section = "form">
|
||||||
|
<form id="kc-update-profile-form" class="${properties.kcFormClass!}" action="${url.loginAction}" method="post">
|
||||||
|
<#if user.editUsernameAllowed>
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('username',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="username" class="${properties.kcLabelClass!}">${msg("username")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="username" name="username" value="${(user.username!'')}" class="${properties.kcInputClass!}" pattern="^(?!postfix$)(?!cyrus$)[a-zA-Z0-9\.]+$" title='${msg("usernameValidityMsg")}' />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('email',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="email" class="${properties.kcLabelClass!}">${msg("email")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="email" name="email" value="${(user.email!'')}" class="${properties.kcInputClass!}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('firstName',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="firstName" class="${properties.kcLabelClass!}">${msg("firstName")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="firstName" name="firstName" value="${(user.firstName!'')}" class="${properties.kcInputClass!}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('lastName',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="lastName" class="${properties.kcLabelClass!}">${msg("lastName")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="lastName" name="lastName" value="${(user.lastName!'')}" class="${properties.kcInputClass!}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!}">
|
||||||
|
<div id="kc-form-options" class="${properties.kcFormOptionsClass!}">
|
||||||
|
<div class="${properties.kcFormOptionsWrapperClass!}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
|
||||||
|
<#if isAppInitiatedAction??>
|
||||||
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
|
||||||
|
<button class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" type="submit" name="cancel-aia" value="true" />${msg("doCancel")}</button>
|
||||||
|
<#else>
|
||||||
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</#if>
|
||||||
|
</@layout.registrationLayout>
|
|
@ -0,0 +1 @@
|
||||||
|
confirmLinkIdpReviewProfile=Informationen für neues Profil überprüfen
|
|
@ -0,0 +1,5 @@
|
||||||
|
confirmLinkIdpReviewProfile=Review information for new profile
|
||||||
|
|
||||||
|
termsAcceptMsg=You have to scroll down to read and then accept the terms
|
||||||
|
|
||||||
|
usernameValidityMsg=Only letters, numbers and dots are permitted
|
|
@ -0,0 +1 @@
|
||||||
|
confirmLinkIdpReviewProfile=Revisar información para nuevo perfil
|
|
@ -0,0 +1 @@
|
||||||
|
confirmLinkIdpReviewProfile=Examiner les informations pour le nouveau profil
|
|
@ -0,0 +1,3 @@
|
||||||
|
confirmLinkIdpReviewProfile=Rivedi le informazioni del nuovo profilo
|
||||||
|
|
||||||
|
usernameValidityMsg=Sono consentiti solo lettere, numeri e punti
|
|
@ -0,0 +1,110 @@
|
||||||
|
<#import "template.ftl" as layout>
|
||||||
|
<@layout.registrationLayout; section>
|
||||||
|
<#if section = "header">
|
||||||
|
${msg("registerTitle")}
|
||||||
|
<#elseif section = "form">
|
||||||
|
<form id="kc-register-form" class="${properties.kcFormClass!}" action="${url.registrationAction}" method="post">
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('firstName',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="firstName" class="${properties.kcLabelClass!}">${msg("firstName")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="firstName" class="${properties.kcInputClass!}" name="firstName" value="${(register.formData.firstName!'')}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('lastName',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="lastName" class="${properties.kcLabelClass!}">${msg("lastName")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="lastName" class="${properties.kcInputClass!}" name="lastName" value="${(register.formData.lastName!'')}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('email',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="email" class="${properties.kcLabelClass!}">${msg("email")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="email" class="${properties.kcInputClass!}" name="email" value="${(register.formData.email!'')}" autocomplete="email" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<#if !realm.registrationEmailAsUsername>
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('username',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="username" class="${properties.kcLabelClass!}">${msg("username")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="text" id="username" class="${properties.kcInputClass!}" name="username" value="${(register.formData.username!'')}" pattern="^(?!postfix$)(?!cyrus$)[a-zA-Z0-9\.]+$" title='${msg("usernameValidityMsg")}' autocomplete="username" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if passwordRequired??>
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('password',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="password" class="${properties.kcLabelClass!}">${msg("password")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="password" id="password" class="${properties.kcInputClass!}" name="password" autocomplete="new-password"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('password-confirm',properties.kcFormGroupErrorClass!)}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!}">
|
||||||
|
<label for="password-confirm" class="${properties.kcLabelClass!}">${msg("passwordConfirm")}</label>
|
||||||
|
</div>
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<input type="password" id="password-confirm" class="${properties.kcInputClass!}" name="password-confirm" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if recaptchaRequired??>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="${properties.kcInputWrapperClass!}">
|
||||||
|
<div class="g-recaptcha" data-size="compact" data-sitekey="${recaptchaSiteKey}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<div class="${properties.kcFormGroupClass!}">
|
||||||
|
<div id="kc-form-options" class="${properties.kcFormOptionsClass!}">
|
||||||
|
<div class="${properties.kcFormOptionsWrapperClass!}">
|
||||||
|
<span><a href="${url.loginUrl}">${kcSanitize(msg("backToLogin"))?no_esc}</a></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
|
||||||
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" name="submitBtn" type="submit" value="${msg("doRegister")}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var screenname = document.getElementById("username")
|
||||||
|
if (screenname) {
|
||||||
|
screenname.addEventListener("input", function(ev) {
|
||||||
|
if (screenname.validity.patternMismatch) {
|
||||||
|
screenname.setCustomValidity('${msg("usernameValidityMsg")}')
|
||||||
|
screenname.reportValidity()
|
||||||
|
} else {
|
||||||
|
screenname.setCustomValidity('')
|
||||||
|
screenname.reportValidity()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var kcRegisterForm = document.getElementById("kc-register-form")
|
||||||
|
kcRegisterForm.submitBtn.addEventListener("click", function(ev) {
|
||||||
|
if (!kcRegisterForm.checkValidity()) {
|
||||||
|
ev.preventDefault()
|
||||||
|
ev.stopPropagation()
|
||||||
|
kcRegisterForm.reportValidity()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</#if>
|
||||||
|
</@layout.registrationLayout>
|
|
@ -0,0 +1,568 @@
|
||||||
|
.login-pf body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
flex: 1 0 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-error {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-color: #cc0000;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale ul {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: #fff;
|
||||||
|
list-style: none;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
min-width: 100px;
|
||||||
|
padding: 2px 0;
|
||||||
|
border: solid 1px #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale:hover ul {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale ul li a {
|
||||||
|
display: block;
|
||||||
|
padding: 5px 14px;
|
||||||
|
color: #000 !important;
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale ul li a:hover {
|
||||||
|
color: #4d5258;
|
||||||
|
background-color: #d4edfa;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale-dropdown a {
|
||||||
|
color: #4d5258;
|
||||||
|
background: 0 0;
|
||||||
|
padding: 0 15px 0 0;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale-dropdown a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a#kc-current-locale-link {
|
||||||
|
display: block;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* a#kc-current-locale-link:hover {
|
||||||
|
background-color: rgba(0,0,0,0.2);
|
||||||
|
} */
|
||||||
|
|
||||||
|
a#kc-current-locale-link::after {
|
||||||
|
content: "\2c5";
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf .container {
|
||||||
|
padding-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf a:hover {
|
||||||
|
color: #0099d3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-logo {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-logo-wrapper {
|
||||||
|
background-image: url(../img/keycloak-logo-2.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
height: 63px;
|
||||||
|
width: 300px;
|
||||||
|
margin: 62px auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.kc-logo-text {
|
||||||
|
background-image: url(../img/keycloak-logo-text.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
height: 63px;
|
||||||
|
width: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.kc-logo-text span {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-header {
|
||||||
|
color: #ededed;
|
||||||
|
overflow: visible;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-header-wrapper {
|
||||||
|
font-size: 29px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
line-height: 1.2em;
|
||||||
|
padding: 62px 10px 20px;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-content {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-attempted-username{
|
||||||
|
font-size: 20px;
|
||||||
|
font-family:inherit;
|
||||||
|
font-weight: normal;
|
||||||
|
padding-right:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-username{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-webauthn-settings-form{
|
||||||
|
padding-top:8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #kc-content-wrapper {
|
||||||
|
overflow-y: hidden;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* #kc-info {
|
||||||
|
padding-bottom: 200px;
|
||||||
|
margin-bottom: -200px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
#kc-info-wrapper {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-options span {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-options .checkbox {
|
||||||
|
margin-top: 0;
|
||||||
|
color: #72767b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-terms-text {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-registration {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TOTP */
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 30px;
|
||||||
|
color: #909090;
|
||||||
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: #CB2915;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol#kc-totp-settings {
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul#kc-totp-supported-apps {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-totp-secret-qr-code {
|
||||||
|
max-width:150px;
|
||||||
|
max-height:150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-totp-secret-key {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #333333;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OAuth */
|
||||||
|
|
||||||
|
#kc-oauth h3 {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-oauth ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-oauth ul li {
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-oauth ul li:first-of-type {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-oauth .kc-role {
|
||||||
|
display: inline-block;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code */
|
||||||
|
#kc-code textarea {
|
||||||
|
width: 100%;
|
||||||
|
height: 8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Social */
|
||||||
|
|
||||||
|
#kc-social-providers ul {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-social-providers li {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-social-providers li:first-of-type {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kc-login-tooltip{
|
||||||
|
position:relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kc-login-tooltip .kc-tooltip-text{
|
||||||
|
top:-3px;
|
||||||
|
left:160%;
|
||||||
|
background-color: black;
|
||||||
|
visibility: hidden;
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
min-width:130px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow:0 1px 8px rgba(0,0,0,0.6);
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
opacity:0;
|
||||||
|
transition:opacity 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Show tooltip */
|
||||||
|
.kc-login-tooltip:hover .kc-tooltip-text {
|
||||||
|
visibility: visible;
|
||||||
|
opacity:0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Arrow for tooltip */
|
||||||
|
.kc-login-tooltip .kc-tooltip-text::after {
|
||||||
|
content: " ";
|
||||||
|
position: absolute;
|
||||||
|
top: 15px;
|
||||||
|
right: 100%;
|
||||||
|
margin-top: -5px;
|
||||||
|
border-width: 5px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: transparent black transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zocial,
|
||||||
|
a.zocial {
|
||||||
|
width: 100%;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 14px;
|
||||||
|
text-shadow: none;
|
||||||
|
border: 0;
|
||||||
|
background: #f5f5f5;
|
||||||
|
color: #72767b;
|
||||||
|
border-radius: 0;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
.zocial:before {
|
||||||
|
border-right: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.zocial span:before {
|
||||||
|
padding: 7px 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.zocial:hover {
|
||||||
|
background: #ededed !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zocial.facebook,
|
||||||
|
.zocial.github,
|
||||||
|
.zocial.google,
|
||||||
|
.zocial.microsoft,
|
||||||
|
.zocial.stackoverflow,
|
||||||
|
.zocial.linkedin,
|
||||||
|
.zocial.twitter {
|
||||||
|
background-image: none;
|
||||||
|
border: 0;
|
||||||
|
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy of zocial windows classes to be used for microsoft's social provider button */
|
||||||
|
.zocial.microsoft:before{ content: "\f15d"; }
|
||||||
|
.zocial.stackoverflow:before{ color: inherit; }
|
||||||
|
|
||||||
|
.zocial.oidc:before{
|
||||||
|
content: " ";
|
||||||
|
background: url(../img/academic.png);
|
||||||
|
height: 25px;
|
||||||
|
width: 25px;
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
margin: 3px 3px 3px 7px;
|
||||||
|
}
|
||||||
|
.zocial.google:before{
|
||||||
|
content: " ";
|
||||||
|
background: url(../img/google.png);
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
margin: 6px 8px 8px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
#kc-container-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf .container {
|
||||||
|
padding-right: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale {
|
||||||
|
position: relative;
|
||||||
|
text-align: right;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
|
||||||
|
.login-pf body {
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-header {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
float: none;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-header-wrapper {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 20px 60px 0 0;
|
||||||
|
color: #72767b;
|
||||||
|
letter-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.kc-logo-text {
|
||||||
|
margin: 0;
|
||||||
|
width: 150px;
|
||||||
|
height: 32px;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-info-wrapper {
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
margin-top: 15px;
|
||||||
|
padding-top: 15px;
|
||||||
|
padding-left: 0px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-social-providers li {
|
||||||
|
display: block;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf .container {
|
||||||
|
padding-top: 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-locale {
|
||||||
|
position: absolute;
|
||||||
|
width: 200px;
|
||||||
|
top: 20px;
|
||||||
|
right: 20px;
|
||||||
|
text-align: right;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-logo-wrapper {
|
||||||
|
background-size: 100px 21px;
|
||||||
|
height: 21px;
|
||||||
|
width: 100px;
|
||||||
|
margin: 20px 0 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 646px) {
|
||||||
|
#kc-container-wrapper {
|
||||||
|
bottom: 12%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-height: 645px) {
|
||||||
|
#kc-container-wrapper {
|
||||||
|
padding-top: 50px;
|
||||||
|
top: 20%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-pf form.form-actions .btn {
|
||||||
|
float: right;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-buttons {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .login-pf-brand {
|
||||||
|
margin-top: 20px;
|
||||||
|
max-width: 360px;
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-pf {
|
||||||
|
background: #fff;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px;
|
||||||
|
max-width: 500px;
|
||||||
|
border-top: 0;
|
||||||
|
box-shadow: 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .card-pf{
|
||||||
|
padding: 20px 20px 20px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*tablet*/
|
||||||
|
@media (max-width: 840px) {
|
||||||
|
.login-pf-page .card-pf{
|
||||||
|
max-width: none;
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 20px 20px 20px 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.login-pf-page .card-pf{
|
||||||
|
max-width: none;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
.card-pf.login-pf-accounts{
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .login-pf-signup {
|
||||||
|
font-size: 15px;
|
||||||
|
color: #72767b;
|
||||||
|
}
|
||||||
|
#kc-content-wrapper .row {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.login-pf-page .login-pf-social-section:first-of-type {
|
||||||
|
padding-right: 39px;
|
||||||
|
border-right: 1px solid #d1d1d1;
|
||||||
|
margin-right: -1px;
|
||||||
|
}
|
||||||
|
.login-pf-page .login-pf-social-section:last-of-type {
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
|
.login-pf-page .login-pf-social-section .login-pf-social-link:last-of-type {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.login-pf-page .login-pf-social-double-col .login-pf-social-link {
|
||||||
|
-ms-flex-preferred-size: 100%;
|
||||||
|
flex-basis: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .login-pf-social-link {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.login-pf-page .login-pf-social-link a {
|
||||||
|
padding: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page.login-pf-page-accounts {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .btn-primary {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .list-view-pf .list-group-item {
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .list-view-pf-description {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-pf-page .card-pf{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-form-login div.form-group:last-of-type,
|
||||||
|
#kc-register-form div.form-group:last-of-type,
|
||||||
|
#kc-update-profile-form div.form-group:last-of-type {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#kc-back {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form#kc-select-back-form div.login-pf-social-section {
|
||||||
|
padding-left: 0px;
|
||||||
|
border-left: 0px;
|
||||||
|
}
|
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 439 KiB |
After Width: | Height: | Size: 482 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 786 B |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 313 KiB |
After Width: | Height: | Size: 550 KiB |
|
@ -0,0 +1,201 @@
|
||||||
|
<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true displayRequiredFields=false displayWide=false showAnotherWayIfPresent=true>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" class="${properties.kcHtmlClass!}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<meta name="robots" content="noindex, nofollow"><!-- base -->
|
||||||
|
|
||||||
|
<#if properties.meta?has_content>
|
||||||
|
<#list properties.meta?split(' ') as meta>
|
||||||
|
<meta name="${meta?split('==')[0]}" content="${meta?split('==')[1]}"/>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<title><#if properties.titleTag?has_content>${properties.titleTag}<#else>${msg("loginTitle",(realm.displayName!''))}</#if></title>
|
||||||
|
<link rel="icon" href="<#if properties.favicon?has_content>${properties.favicon}<#else>${url.resourcesPath}/img/favicon.ico</#if>" />
|
||||||
|
<#if properties.styles?has_content>
|
||||||
|
<#list properties.styles?split(' ') as style>
|
||||||
|
<link href="${url.resourcesPath}/${style}" rel="stylesheet" />
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<#if properties.scripts?has_content>
|
||||||
|
<#list properties.scripts?split(' ') as script>
|
||||||
|
<script src="${url.resourcesPath}/${script}" type="text/javascript"></script>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<#if scripts??>
|
||||||
|
<#list scripts as script>
|
||||||
|
<script src="${script}" type="text/javascript"></script>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="${properties.kcBodyClass!}">
|
||||||
|
<div id="content" style="<#if properties.contentBgImg?has_content>background: url('${url.resourcesPath}/${properties.contentBgImg!}') no-repeat center center fixed; background-size: cover;</#if> ${properties.contentStyle!}">
|
||||||
|
|
||||||
|
<div class="${properties.kcLoginClass!}">
|
||||||
|
<!--
|
||||||
|
<div id="kc-header" class="${properties.kcHeaderClass!}">
|
||||||
|
<div id="kc-header-wrapper" class="${properties.kcHeaderWrapperClass!}">${kcSanitize(msg("loginTitleHtml",(realm.displayNameHtml!'')))?no_esc}</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<div class="${properties.kcFormCardClass!} <#if displayWide>${properties.kcFormCardAccountClass!}</#if>">
|
||||||
|
|
||||||
|
<div style="${properties.logoHeaderStyle!}">
|
||||||
|
<div>
|
||||||
|
<#if client?? && client.getClientId()!='account'>
|
||||||
|
<a href="<#if client.getBaseUrl()?has_content>${client.getBaseUrl()}<#else>${"https://" + client.getClientId()}</#if>">
|
||||||
|
<#if properties.logoSrc?has_content>
|
||||||
|
<img class="img-fluid float-left" alt="${properties.logoAlt!}" src="${properties.logoSrc!}" style="${properties.logoStyle!}">
|
||||||
|
<#else>
|
||||||
|
<h1>
|
||||||
|
<#if client.getName()?has_content && client.getName()?starts_with("${")>${kcSanitize(msg(client.getName()?keep_after("{")?keep_before("}")))}
|
||||||
|
<#else>${(client.getName()!client.getClientId()!"undefined client")?capitalize?keep_before('.')}</#if>
|
||||||
|
</h1>
|
||||||
|
</#if>
|
||||||
|
</a>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
<#if properties.infrastructureLogo?has_content && properties.infrastructureLogo='yes'>
|
||||||
|
<div>
|
||||||
|
<a target="_blank" href="http://www.d4science.org">
|
||||||
|
<img class="img-fluid float-right" alt="D4Science Infrastructure" src="${url.resourcesPath}/img/PoweredByD4Science.png" style="${properties.infrastructureLogoStyle!}">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<header class="${properties.kcFormHeaderClass!}">
|
||||||
|
<#if realm.internationalizationEnabled && locale.supported?size gt 1>
|
||||||
|
<div id="kc-locale">
|
||||||
|
<div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
|
||||||
|
<div class="kc-dropdown" id="kc-locale-dropdown">
|
||||||
|
<a href="#" id="kc-current-locale-link">${locale.current}</a>
|
||||||
|
<ul>
|
||||||
|
<#list locale.supported as l>
|
||||||
|
<li class="kc-dropdown-item"><a href="${l.url}">${l.label}</a></li>
|
||||||
|
</#list>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
<#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())>
|
||||||
|
<#if displayRequiredFields>
|
||||||
|
<div class="${properties.kcContentWrapperClass!}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!} subtitle">
|
||||||
|
<span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<h1 id="kc-page-title"><#nested "header"></h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<#else>
|
||||||
|
<h1 id="kc-page-title"><#nested "header"></h1>
|
||||||
|
</#if>
|
||||||
|
<#else>
|
||||||
|
<#if displayRequiredFields>
|
||||||
|
<div class="${properties.kcContentWrapperClass!}">
|
||||||
|
<div class="${properties.kcLabelWrapperClass!} subtitle">
|
||||||
|
<span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<#nested "show-username">
|
||||||
|
<div class="${properties.kcFormGroupClass!}">
|
||||||
|
<div id="kc-username">
|
||||||
|
<label id="kc-attempted-username">${auth.attemptedUsername}</label>
|
||||||
|
<a id="reset-login" href="${url.loginRestartFlowUrl}">
|
||||||
|
<div class="kc-login-tooltip">
|
||||||
|
<i class="${properties.kcResetFlowIcon!}"></i>
|
||||||
|
<span class="kc-tooltip-text">${msg("restartLoginTooltip")}</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<#else>
|
||||||
|
<#nested "show-username">
|
||||||
|
<div class="${properties.kcFormGroupClass!}">
|
||||||
|
<div id="kc-username">
|
||||||
|
<label id="kc-attempted-username">${auth.attemptedUsername}</label>
|
||||||
|
<a id="reset-login" href="${url.loginRestartFlowUrl}">
|
||||||
|
<div class="kc-login-tooltip">
|
||||||
|
<i class="${properties.kcResetFlowIcon!}"></i>
|
||||||
|
<span class="kc-tooltip-text">${msg("restartLoginTooltip")}</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</header>
|
||||||
|
<div id="kc-content">
|
||||||
|
<div id="kc-content-wrapper">
|
||||||
|
|
||||||
|
<#-- App-initiated actions should not see warning messages about the need to complete the action -->
|
||||||
|
<#-- during login. -->
|
||||||
|
<#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)>
|
||||||
|
<div class="alert alert-${message.type}">
|
||||||
|
<#if message.type = 'success'><span class="${properties.kcFeedbackSuccessIcon!}"></span></#if>
|
||||||
|
<#if message.type = 'warning'><span class="${properties.kcFeedbackWarningIcon!}"></span></#if>
|
||||||
|
<#if message.type = 'error'><span class="${properties.kcFeedbackErrorIcon!}"></span></#if>
|
||||||
|
<#if message.type = 'info'><span class="${properties.kcFeedbackInfoIcon!}"></span></#if>
|
||||||
|
<span class="kc-feedback-text">${kcSanitize(message.summary)?no_esc}</span>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#nested "form">
|
||||||
|
|
||||||
|
<#if auth?has_content && auth.showTryAnotherWayLink() && showAnotherWayIfPresent>
|
||||||
|
<form id="kc-select-try-another-way-form" action="${url.loginAction}" method="post" <#if displayWide>class="${properties.kcContentWrapperClass!}"</#if>>
|
||||||
|
<div <#if displayWide>class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}"</#if>>
|
||||||
|
<div class="${properties.kcFormGroupClass!}">
|
||||||
|
<input type="hidden" name="tryAnotherWay" value="on" />
|
||||||
|
<a href="#" id="try-another-way" onclick="document.forms['kc-select-try-another-way-form'].submit();return false;">${msg("doTryAnotherWay")}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if displayInfo>
|
||||||
|
<div id="kc-info" class="${properties.kcSignUpClass!}">
|
||||||
|
<div id="kc-info-wrapper" class="${properties.kcInfoAreaWrapperClass!}">
|
||||||
|
<#nested "info">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer style="${properties.footerStyle!}">
|
||||||
|
<div>
|
||||||
|
<a href="${properties.linkTerms!}">Terms of Use</a> |
|
||||||
|
<a href="${properties.linkCookies!'#'}">Cookies Policy</a> |
|
||||||
|
<a href="${properties.linkPrivacy!'#'}" target="_blank">Privacy Policy</a> |
|
||||||
|
<#if properties.linkProject?has_content><a href="${properties.linkProject!}" target="_blank">${properties.descrProject!}</a></#if>
|
||||||
|
</div>
|
||||||
|
<#if properties.ECLogo?has_content && properties.ECLogo='yes'>
|
||||||
|
<div style="display: flex; padding-top: 10px; justify-content: space-between;">
|
||||||
|
<#if properties.footerRow?has_content><div>${kcSanitize(properties.footerRow)?no_esc}</div></#if>
|
||||||
|
<div style="align-self: center;">
|
||||||
|
<a href="http://ec.europa.eu/programmes/horizon2020/" target="_blank">
|
||||||
|
<img class="float-right" alt="${properties.ECLogoAlt!}" src="${url.resourcesPath}/img/logo-ec.jpg" style="${properties.ECLogoStyle!}">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<#else>
|
||||||
|
<#if properties.footerRow?has_content><div style="padding-top: 10px;">${kcSanitize(properties.footerRow)?no_esc}</div></#if>
|
||||||
|
</#if>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div><!-- end form card -->
|
||||||
|
</div><!-- end login -->
|
||||||
|
|
||||||
|
</div><!-- end content -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</#macro>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<#import "template.ftl" as layout>
|
||||||
|
<@layout.registrationLayout displayMessage=false displayWide=true; section>
|
||||||
|
<#if section = "header">
|
||||||
|
${msg("termsTitle")}
|
||||||
|
<#elseif section = "form">
|
||||||
|
<div id="kc-terms-text" style="max-height: 40vh; overflow-y: auto; padding: 0 10px 10px 0;">
|
||||||
|
<#include "terms.html" parse=false>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: right; font-weight: bold; font-variant: small-caps;"><p>${msg("termsAcceptMsg")}</p></div>
|
||||||
|
<form class="form-actions" action="${url.loginAction}" method="POST">
|
||||||
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="accept" id="kc-accept" type="submit" value="${msg("doAccept")}" disabled />
|
||||||
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" name="cancel" id="kc-decline" type="submit" value="${msg("doDecline")}"/>
|
||||||
|
</form>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById("kc-terms-text").addEventListener("scroll", checkKcTermsScrollHeight, false);
|
||||||
|
|
||||||
|
function checkKcTermsScrollHeight(){
|
||||||
|
var kcTermsTextElement = document.getElementById("kc-terms-text")
|
||||||
|
if ((kcTermsTextElement.scrollTop + kcTermsTextElement.offsetHeight + 5) >= kcTermsTextElement.scrollHeight){
|
||||||
|
document.getElementById("kc-accept").disabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</#if>
|
||||||
|
</@layout.registrationLayout>
|
|
@ -0,0 +1,143 @@
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<p align="right" class="MsoNormal" style="text-align: right"><strong><span lang="EN-GB">Last revised on December 10<sup>th</sup>, 2019 </span></strong></p>
|
||||||
|
|
||||||
|
<h2 class="MsoSubtitle"><strong><span lang="EN-GB" style="font-family: & quot; Calibri Light&quot; , sans-serif; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-bidi-font-family: &quot; Times New Roman&quot;; mso-bidi-theme-font: major-bidi">Disclaimer</span></strong></h2>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">This Gateway is operated by D4Science.org. Some of the technologies, services, and procedures, hereafter referred as Content of the Gateway, powering it have been produced with the co-funding of the European Commission. The content of the Gateway is the sole responsibility of the D4Science.org Team and cannot be considered to reflect the views of the European Commission.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">Information and content accessible through the Gateway are provided on an "as is" and "as available" basis. The D4Science.org Team makes every effort to ensure, but does not guarantee, the accuracy, completeness or authenticity of the information on this Gateway. The D4Science.org Team reserves the right to alter, limit or discontinue any part of this service at its discretion. Under no circumstances shall the D4Science.org Team be liable for any loss, damage, liability or expense suffered that is claimed to result from the use of information posted on this site or through its web services, including without limitation, any fault, error, omission, interruption or delay.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">Hyperlinks to non-D4Science.org websites do not imply any official endorsement of or responsibility on the part of D4Science.org for the opinions, ideas, content or products presented at these locations, or guarantee the validity of the information provided. The sole purpose of links to non-D4Science.org sites is to indicate further information available on related topics. The information is provided on the basis that users accessing this Gateway assume responsibility for assessing its relevance, accuracy and suitability for application.</span></p>
|
||||||
|
|
||||||
|
<h2 class="MsoSubtitle"><strong><span lang="EN-GB" style="font-family: & quot; Calibri Light&quot; , sans-serif; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-bidi-font-family: &quot; Times New Roman&quot;; mso-bidi-theme-font: major-bidi">Copyright</span></strong></h2>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">The content and information made available through this Gateway are available under terms described in the metadata accompanying each product (e.g. “license” or "constraints" field). Except where otherwise noted (i.e. in case of primary requirement to comply with the content provider’s policy) this is the <a href="http://creativecommons.org/"><b style="mso-bidi-font-weight: normal"><span style="color: #1155CC">Creative Commons License</span></b></a>. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">All derivative products produced and made publicly available through this Gateway are licensed under the <a href="http://creativecommons.org/licenses/by-sa/3.0/"><b style="mso-bidi-font-weight: normal"><span style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial">Creative Commons License</span></b> <b style="mso-bidi-font-weight: normal">CC BY-SA</b></a><span class="MsoHyperlink"><b style="mso-bidi-font-weight: normal"> </b></span>except where otherwise noted. </span></p>
|
||||||
|
|
||||||
|
<h2 class="MsoSubtitle"><strong><span lang="EN-GB" style="font-family: & quot; Calibri Light&quot; , sans-serif; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-bidi-font-family: &quot; Times New Roman&quot;; mso-bidi-theme-font: major-bidi">How to Cite or Acknowledge D4Science</span></strong></h2>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">Any work produced by making use of assets made available by the D4Science infrastructure should acknowledge the support received and give credits. Please include the following reference: </p>
|
||||||
|
|
||||||
|
<p class="MsoNormal">
|
||||||
|
<span id="docs-internal-guid-6eb89756-7fff-022a-6344-d9f2d198ad4e" style="font-style:italic;">M. Assante et al. (2019) Enacting open science by D4Science. Future Gener. Comput. Syst. 101: 555-563
|
||||||
|
<a href="https://doi.org/10.1016/j.future.2019.05.063" target="_blank">10.1016/j.future.2019.05.063</a>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="MsoNormal">Furthermore, if you wish to cite / acknowledge a A Virtual Research Environment, a Service, a Dataset or Method please refer to the following
|
||||||
|
<strong><a href="https://www.d4science.org/how-to-cite-or-acknowledge" target="_blank">table</a></strong>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 class="MsoSubtitle"><strong><span lang="EN-GB" style="font-family: & quot; Calibri Light&quot; , sans-serif; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-bidi-font-family: &quot; Times New Roman&quot;; mso-bidi-theme-font: major-bidi">Your Agreement to the Terms</span></strong></h2>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">YOUR ACCESS OR USE OF THE GATEWAY, A VIRTUAL RESEARCH ENVIRONMENT OR A SERVICE IN ANY WAY SIGNIFIES THAT YOU HAVE READ, UNDERSTAND AND AGREE TO BE BOUND BY THE TERMS.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US">Our Services are very diverse, so additional terms or requirements apply. Additional terms are available with the relevant Services, and those additional terms become part of your agreement with us if you use those Services.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">By accessing or using the Gateway, a Virtual Research Environment or a Service you also declare that you have the legal authority to accept the Terms on behalf of yourself and any party you represent in connection with your use of the Gateway, a Virtual Research Environment or a Service. If you do not agree to the Terms, you are not authorized to use the Gateway, a Virtual Research Environment or a Service. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><strong>Please read them carefully.</strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="WordSection2">
|
||||||
|
<h1><strong><span lang="EN-GB" style="font-family: & quot; Calibri Light&quot; , sans-serif; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-bidi-font-family: &quot; Times New Roman&quot;; mso-bidi-theme-font: major-bidi">Gateway </span></strong></h1>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">Any Gateway exploiting resources of the D4Science Infrastructure and operated by D4Science.org is the access point to products and services identified by the community requesting it. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">Upon registration to the <b>Gateway Service</b>, the user can immediately use the storage space via the <b style="mso-bidi-font-weight: normal">Workspace Service</b>, the </span><b><span lang="EN-US" style="mso-ansi-language: EN-US">Social Netwroking Collaborative Platform </span></b><span lang="EN-US" style="mso-ansi-language: EN-US">including the </span><b style="mso-bidi-font-weight: normal"><i><span lang="EN-GB">Email Service</span></i></b><span lang="EN-GB"> to send/receive content <span style="mso-spacerun: yes"> </span>to other registered users, the <b style="mso-bidi-font-weight: normal"><i>Social Service</i></b> to share and read news and posts with your connections and the <b style="mso-bidi-font-weight: normal"><i>Notification</i> <i>Service</i></b> for user notifications, and the <b style="mso-bidi-font-weight: normal">Catalogue Service</b> to browse available datasets, methods, and services therein published. You can also apply to one or more moderated or public <b style="mso-bidi-font-weight: normal">Virtual Research Environments</b> offering one or more additional services. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">All the Services made accessible through this Gateway are also accessible through APIs by specifying the secure token generated with the registration and specialised for each Virtual Research Environment the user is member of. Starting from January 1<sup>st</sup> 2020 the APIs are exploitable only by using the secure and encrypted communication protocol over a computer network, HTTPS, while the support for the deprecated communication protocol over a computer network, HTTP, is definitely terminated December 31<sup>st</sup> 2019. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">You own the information, content, and method you provide to the D4Science Infrastructure through this Gateway under this Agreement, and may request its deletion at any time, unless you have shared information content, or method with others and they have not deleted it, or it was copied or stored by other users. Additionally, you grant D4Science.org a nonexclusive, worldwide, assignable, sublicensable, fully paid up and royalty-free right to us to copy, prepare derivative works of, improve, distribute, publish, remove, retain, add, process, analyse, and use in any way now known or in the future discovered, any information, content, or method you explicitly share or publish, directly or indirectly to D4Science.org, including, but not limited to, any user generated content, techniques or data to the services without any further consent, notice and/or compensation to you or to any third parties to </span><span lang="EN-US" style="mso-ansi-language: EN-US">serve the purpose of providing the service required by the User</span><span lang="EN-GB">. Any information you submit to us is at your own risk of loss as noted in the following sections of this Agreement.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">By sharing information, content, or method to us, you represent and warrant that you are entitled to share the information, content, or method and that the information, content, or method is accurate, not confidential, and not in violation of any contractual restrictions or other third-party rights. </span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">You must promptly notify the D4Science.org Team of any breach of security related to the Services, including but not limited to unauthorized use of your password or account. To help ensure the security of your password or account, please sign out from your account at the end of each session.</span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal"><span lang="EN-GB">The D4Science.org Team, hereafter referred ad D4Science.org, may terminate your account in accordance with the terms of service if you fail to login to your account for a period of SIX months. Moreover, if you are found to be in violation of our policies at any time, as determined by the D4Science.org in its sole discretion, we may warn you or suspend or terminate your account.</span></p>
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<table border="1" cellpadding="0" cellspacing="0" class="MsoTable15List3Accent1" style="border-collapse: collapse; border: none; mso-border-alt: solid #4472C4 .5pt; mso-border-themecolor: accent1; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt">
|
||||||
|
<tbody>
|
||||||
|
<tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes; mso-yfti-lastfirstrow: yes">
|
||||||
|
<td style="width: 63.55pt; border-top: solid #4472C4 1.0pt; mso-border-top-themecolor: accent1; border-left: solid #4472C4 1.0pt; mso-border-left-themecolor: accent1; border-bottom: none; border-right: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; background: #4472C4; mso-background-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<h2 align="center" style="margin-top: 0cm; text-align: center; mso-outline-level: 2; mso-yfti-cnfc: 517"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; color: white; mso-themecolor: background1; mso-ansi-language: EN-US; font-weight: normal">Action</span></span></span></h2>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border-top: solid #4472C4 1.0pt; mso-border-top-themecolor: accent1; border-left: none; border-bottom: none; border-right: solid #4472C4 1.0pt; mso-border-right-themecolor: accent1; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; background: #4472C4; mso-background-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<h2 align="center" style="margin-top: 0cm; text-align: center; mso-outline-level: 2; mso-yfti-cnfc: 1"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt; color: white; mso-themecolor: background1; font-weight: normal">Conditions of use</span></span></span></h2>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="mso-yfti-irow: 0">
|
||||||
|
<td style="width: 63.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-right: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; background: white; mso-background-themecolor: background1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<div style="margin-top: 0cm; mso-outline-level: 2; mso-yfti-cnfc: 68"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; mso-ansi-language: EN-US; font-weight: normal">Posting Content or Method</span></span></span></div>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-left: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">You can post content or method to any service made accessible through this Gateway only if (a) you created and own the rights to the content or method or you have the owner’s express permission to post the content or method; and (b) the content or method does not infringe any other person’s or entity’s rights (including the copyrights, trademarks, or privacy rights) or violate any applicable laws, this Terms of Use, Privacy Policy, our Community Best Practices, or any other posted policies. D4Science.org can remove content or method for any infringing reason.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">When you use a service to upload content or register a method into a VRE, you retain the irrevocable, exclusive, worldwide right and license to use, reproduce, modify, display, remix, re-distribute, create derivative works, and syndicate your content or method in any medium and through any service. Only where you have specifically shared, or used a specialized service for sharing content, will your content become part of a derivative work to be licensed under a schema selected by the owner. </span></span></span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="mso-yfti-irow: 1">
|
||||||
|
<td style="width: 63.55pt; border: none; border-left: solid #4472C4 1.0pt; mso-border-left-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; background: white; mso-background-themecolor: background1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<div style="margin-top: 0cm; mso-outline-level: 2; mso-yfti-cnfc: 4"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; mso-ansi-language: EN-US; font-weight: normal">Sharing Content or Method</span></span></span></div>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border: none; border-right: solid #4472C4 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">D4Science.org offers sharing and publication at different levels: within a VRE, among different VREs and by publication to data repositories that may be accessible to external users. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; color: black">Each shared content is associated to a copyright license.</span></span></span><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt"> A </span></span></span><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; color: black">CC</span></span></span><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt"> BY-SA</span></span></span><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; color: black"> license</span></span></span><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt"> is proposed if the dataset is obtained with a mash up process from different sources (a true derivative product), any other license (not technically supported by the D4Science Infrastructure) in case of unaltered product shared with other Users/VREs. In both cases the metadata must be filled (if not automatically compiled) and a preferred citation must be indicated. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">You are responsible for any content or method you post to our Services and the consequences of sharing such content or method with others or the general public. This includes, for example, any personal information, any confidential data or any unofficial data. D4Science.org is not responsible for the consequences of sharing or posting any personal or other information on its services.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">When you use a Service that allows users to share, transform, readapt, modify, or combine the content or method with other content or methods, you grant D4Science.org and our Users a non-exclusive, royalty free, worldwide right and license to [use, reproduce, modify, display, remix, perform, distribute, redistribute, adapt, promote, create derivative works, and syndicate] your content or method [in any medium and through any form of technology or distribution] and to permit any derivative works to be licensed under these same license terms.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Any user accessing shared content must behave according to the copyright license of the dataset. However, the D4Science Infrastructure does not control or audit access to and / or audit use of shared content. It can therefore not impose a shared policy, but can encourage sharing according to best practices. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Sharing content or method within the D4Science infrastructure (i.e. sharing through one or more VREs) will make them accessible only to authorized users, and cannot be accessed from outside.<span style="mso-spacerun: yes"> </span> </span></span></span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="mso-yfti-irow: 2">
|
||||||
|
<td style="width: 63.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-right: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; background: white; mso-background-themecolor: background1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<div style="margin-top: 0cm; mso-outline-level: 2; mso-yfti-cnfc: 68"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; mso-ansi-language: EN-US; font-weight: normal">Publishing Content </span></span></span></div>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-left: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">The VRE authorized Users can publish content and make it available to the public exposing to general view with no restrictions except for a registration procedure that may be required. Each published set of content is associated to a copyright license. <span style="mso-spacerun: yes"> </span>Published content can be accessed by the general public through this Gateway and through dedicated web applications (e.g. web services). </span></span></span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="mso-yfti-irow: 3">
|
||||||
|
<td style="width: 63.55pt; border: none; border-left: solid #4472C4 1.0pt; mso-border-left-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; background: white; mso-background-themecolor: background1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<div style="margin-top: 0cm; mso-outline-level: 2; mso-yfti-cnfc: 4"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; mso-ansi-language: EN-US; font-weight: normal">Secondary Use of the Content</span></span></span></div>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border: none; border-right: solid #4472C4 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Data accessed through this Gateway do not, and should not, include controls over its end use. However, the content owner or authoritative source for the content must retain version control of content accessed. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Once the content has been downloaded from the Gateway, D4Science.org cannot vouch for their quality and timeliness. D4Science.org cannot vouch for any analyses conducted with the content retrieved from the Gateway.</span></span></span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes">
|
||||||
|
<td style="width: 63.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-right: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-left-alt: solid #4472C4 .5pt; mso-border-left-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; background: white; mso-background-themecolor: background1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="85">
|
||||||
|
<div style="margin-top: 0cm; mso-outline-level: 2; mso-yfti-cnfc: 68"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-US" style="font-size: 9.0pt; mso-ansi-language: EN-US; font-weight: normal">Derivative Work and Data Citation </span></span></span></div>
|
||||||
|
</td>
|
||||||
|
<td style="width: 434.55pt; border: solid #4472C4 1.0pt; mso-border-themecolor: accent1; border-left: none; mso-border-top-alt: solid #4472C4 .5pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4472C4 .5pt; mso-border-bottom-themecolor: accent1; mso-border-right-alt: solid #4472C4 .5pt; mso-border-right-themecolor: accent1; padding: 0cm 5.4pt 0cm 5.4pt" valign="top" width="579">
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Derivative work should only be produced by complying with the terms and conditions established in the license of the used content. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">The derivative work is owned by the legitimate copyright holder identified among the contributors co-owning the new product and is the contact point for any use, re-use/re-distribute request.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Derivative work may contain content retrieved from the D4Science Infrastructure.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">Every content should include in its metadata at least a preferred citation, a reference to the infrastructure source dataset and its generation date, and the date that content was accessed or retrieved from the Gateway or any of its services. If the content was a composition of multiple datasets with different citations, the owner of the content should have added that to the relevant metadata. </span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">If such derivative work is produced through VREs, the D4Science Infrastructure generates a default provenance metadata, which matches references to sources used for the derivative work and their respective citations.</span></span></span></p>
|
||||||
|
|
||||||
|
<p class="MsoNormal" style="margin-top: 0cm; mso-yfti-cnfc: 64"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB" style="font-size: 9.0pt">You must clearly state that “D4Science.org cannot vouch for the analyses derived from this content after it has been retrieved from the D4Science Infrastructure”.</span></span></span></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p align="center" class="MsoCaption" style="text-align: center"><span style="mso-bookmark: _Toc19196483"><span style="mso-bookmark: _Toc20313381"><span lang="EN-GB">Table 1: Conditions of Use Summary Table</span></span></span></p>
|
||||||
|
|
||||||
|
</div>
|
|
@ -0,0 +1,34 @@
|
||||||
|
parent=keycloak
|
||||||
|
import=common/keycloak
|
||||||
|
|
||||||
|
styles=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/zocial/zocial.css css/d4science.css
|
||||||
|
|
||||||
|
#titleTag=
|
||||||
|
#favicon=https://services.d4science.org/favicon.ico
|
||||||
|
contentBgImg=img/color-triangles.png
|
||||||
|
#contentStyle=background: url("https://url-of-background-img");
|
||||||
|
|
||||||
|
logoHeaderStyle=display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc=
|
||||||
|
logoAlt=gCubeDev Gateway
|
||||||
|
logoStyle=height: 60px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
infrastructureLogoStyle=height: 40px;
|
||||||
|
|
||||||
|
footerStyle=display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
|
||||||
|
#linkTerms=
|
||||||
|
#linkCookies=
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject=
|
||||||
|
descrProject=Project Home
|
||||||
|
|
||||||
|
ECLogo=no
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=Project has received funding from the European Union's Horizon programme ...
|
||||||
|
|
||||||
|
#kcLogoIdP-eosc-oidc=
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=HDN Gateway
|
||||||
|
favicon=https://dante.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://dante.d4science.org/image/layout_set_logo?img_id=213136654&t=1610442043643
|
||||||
|
logoAlt=HDN Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://dante.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://dante.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=
|
||||||
|
|
||||||
|
ECLogo=no
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=Hypermedia Dante Network (HDN) is a National Project funded by the Italian National Research project (PRIN) funded by the Italian Ministry of Education, University and Research (MIUR)
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,53 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=DESIRA Gateway
|
||||||
|
favicon=https://desira.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://desira.d4science.org/image/layout_set_logo?img_id=186037762&t=1610442043621
|
||||||
|
logoAlt=DESIRA Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://desira.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://desira.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=
|
||||||
|
descrProject=
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=DESIRA is a Horizon 2020 project funded by the European Commission. The views and opinions expressed in this publication are the sole responsibility of the author and do not necessarily reflect the views of the European Commission
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1 @@
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,32 @@
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
#styles=
|
||||||
|
|
||||||
|
titleTag=gCube Snapshot Gateway - Sign in
|
||||||
|
favicon=https://dev4.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
contentBgImg=img/color-triangles.png
|
||||||
|
#contentStyle=background: url("https://url-of-background-img");
|
||||||
|
|
||||||
|
#logoHeaderStyle=
|
||||||
|
|
||||||
|
logoSrc=https://dev4.d4science.org/image/company_logo?img_id=0&t=1590160581995
|
||||||
|
logoAlt=gCube Snapshot Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=no
|
||||||
|
#infrastructureLogoStyle=
|
||||||
|
|
||||||
|
#footerStyle=
|
||||||
|
|
||||||
|
linkTerms=https://dev4.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://dev4.d4science.org/cookie-policy
|
||||||
|
#linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
linkProject=https://dev4.d4science.org
|
||||||
|
descrProject=Go to D4Science Gateway
|
||||||
|
|
||||||
|
ECLogo=no
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=EOSC-Pillar Gateway
|
||||||
|
favicon=https://eosc-pillar.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://eosc-pillar.d4science.org/image/layout_set_logo?img_id=193750956&t=1610442043626
|
||||||
|
logoAlt=EOSC-Pillar Gateway
|
||||||
|
logoStyle=height: 50px;background-color: lightgray;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://eosc-pillar.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://eosc-pillar.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=https://www.eosc-pillar.eu
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=EOSC Pillar has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 857650. <br/>The views and opinions expressed in this publication are the sole responsibility of the author and do not necessarily reflect the views of the European Commission.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=EOSC-Secretariat Gateway
|
||||||
|
favicon=https://eoscsecretariat.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://eoscsecretariat.d4science.org/image/layout_set_logo?img_id=182778502&t=1610442043632
|
||||||
|
logoAlt=EOSC-Secretariat Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://eoscsecretariat.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://eoscsecretariat.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=https://www.eoscsecretariat.eu
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=EOSCsecretariat.eu has received funding from the European Unions Horizon Programme call H2020-INFRAEOSC-2018-4, grant Agreement number 831644. <br/>The views and opinions expressed in this publication are the sole responsibility of the author and do not necessarily reflect the views of the European Commission.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,28 @@
|
||||||
|
parent= d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=Gateway - Sign in
|
||||||
|
favicon=https://aginfra.d4science.org/generic-configurable-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://aginfra.d4science.org/image/layout_set_logo?img_id=26845094&t=1610388639499
|
||||||
|
logoAlt=AGINFRAPlus Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=no
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://aginfra.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://aginfra.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=http://plus.aginfra.eu/
|
||||||
|
descrProject=
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=AGINFRA PLUS receives funding from the European Unions Horizon 2020 research and innovation programme under grant agreement No. 731001 <br/> The views and opinions expressed in this website are the sole responsibility of the author and do not necessarily reflect the views of the European Commission.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,52 @@
|
||||||
|
#parent= the parent then defaults to d4science
|
||||||
|
#titleTag= the page title is mandatory
|
||||||
|
#favicon= absolute url to favicon defaults to https://services.d4science.org/favicon.ico
|
||||||
|
#contentBgImg= relative path to bg image defaults to img/color-triangles.png
|
||||||
|
#contentStyle= define custom styles. Note: use this for overriding BG image when pointing to external resource such as background: url("https://url-of-background-img"i no-repeat center center fixed); background-size: cover;
|
||||||
|
|
||||||
|
#logoHeaderStyle= custom style for logoHeader defaults to display: flex; justify-content: space-between; width: 100%;
|
||||||
|
|
||||||
|
#logoSrc= url for logo image is mandatory
|
||||||
|
#logoAlt= alt text for logo gCubeDev Gateway
|
||||||
|
#logoStyle= custom style for logo defautls to height: 60px;
|
||||||
|
#infrastructureLogo= yes (default) if "powered for d4science has to be included". no otherwise
|
||||||
|
#infrastructureLogoStyle= custom style for infrastructureLogo defaults to height: 40px;
|
||||||
|
#footerStyle= custom style for footer defaults to: display: flex; flex-direction: column; width: 100%; padding-top: 10px;
|
||||||
|
#linkTerms= absolute url to terms of use
|
||||||
|
#linkCookies= absolute link to cookie policy
|
||||||
|
#linkPrivacy= absolute link to privacy policiy defaults to: https://www.iubenda.com/privacy-policy/441050
|
||||||
|
#linkProject= absolute link to project home site
|
||||||
|
#descrProject= description of project
|
||||||
|
|
||||||
|
#ECLogo= include EC logo defaults to no
|
||||||
|
#ECLogoStyle= custom style for EC logo defaults to max-width: 35px;
|
||||||
|
#ECLogoAlt= alt text for EC logo defaults to EU H2020 programme
|
||||||
|
#footerRow= custom HTML text for footer content
|
||||||
|
|
||||||
|
parent=d4science
|
||||||
|
|
||||||
|
|
||||||
|
titleTag=GEMex Gateway
|
||||||
|
favicon=https://gemex.d4science.org/GEMex-site-theme/images/favicon.ico
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logoSrc=https://gemex.d4science.org/image/layout_set_logo?img_id=14003058&t=1610442043637
|
||||||
|
logoAlt=GEMex Gateway
|
||||||
|
logoStyle=height: 50px;
|
||||||
|
|
||||||
|
infrastructureLogo=yes
|
||||||
|
|
||||||
|
|
||||||
|
linkTerms=https://gemex.d4science.org/terms-of-use
|
||||||
|
linkCookies=https://gemex.d4science.org/cookie-policy
|
||||||
|
linkPrivacy=https://www.iubenda.com/privacy-policy/441050
|
||||||
|
|
||||||
|
linkProject=http://www.gemex-h2020.eu/index.php
|
||||||
|
|
||||||
|
ECLogo=yes
|
||||||
|
ECLogoStyle=max-width: 35px;
|
||||||
|
ECLogoAlt=EU H2020 programme
|
||||||
|
|
||||||
|
footerRow=This project has received funding from the European Union's Horizon 2020 Framework Programme for Research and Innovation (H2020-LCE-2016-23) under grant agreement No. 727550. This publication/multimedia product/presentation reflects the views of the author, and the European Union cannot be held responsible for any use which might be made of the information contained therein.
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
parent=d4science
|