diff --git a/CHANGELOG.md b/CHANGELOG.md index 2778a2997f2..6e364a50a17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,159 @@ +## v2.44.7 - 2023-11-09 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.6...v2.44.7) + +- [#6927](https://github.com/ORCID/ORCID-Source/pull/6927): Add more logging for when the request changes during oauth + +## v2.44.6 - 2023-11-08 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.5...v2.44.6) + +- [#6926](https://github.com/ORCID/ORCID-Source/pull/6926): fix: Add create event to ShibbolethController and Add missing member … + +### Fix + +- Add create event to ShibbolethController and Add missing member name + +## v2.44.5 - 2023-11-03 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.4...v2.44.5) + +- [#6925](https://github.com/ORCID/ORCID-Source/pull/6925): Is there is more than one org with no parent, we should not suggest a… + +## v2.44.4 - 2023-11-02 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.3...v2.44.4) + +- [#6923](https://github.com/ORCID/ORCID-Source/pull/6923): Welcome email ready to go + +## v2.44.3 - 2023-11-01 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.2...v2.44.3) + +- [#6924](https://github.com/ORCID/ORCID-Source/pull/6924): fix: Add missing `last_modified` in events view so panoply can run su… + +### Fix + +- Add missing `last_modified` in events view so panoply can run successfully + +## v2.44.2 - 2023-10-31 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.1...v2.44.2) + +- [#6922](https://github.com/ORCID/ORCID-Source/pull/6922): fix: Add missing create event method for social sign in + +### Fix + +- Add missing togglz for events in social sign in +- Add missing create event method for social sign in + +## v2.44.1 - 2023-10-31 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.44.0...v2.44.1) + +- [#6921](https://github.com/ORCID/ORCID-Source/pull/6921): Send the reminders at different time by default + +## v2.44.0 - 2023-10-30 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.6...v2.44.0) + +## v2.43.6 - 2023-10-30 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.5...v2.43.6) + +- [#6908](https://github.com/ORCID/ORCID-Source/pull/6908): Bump @babel/traverse from 7.17.9 to 7.23.2 in /orcid-web/src/main/webapp/static/javascript/ng1Orcid + +## v2.43.5 - 2023-10-30 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.4...v2.43.5) + +## v2.43.4 - 2023-10-30 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.3...v2.43.4) + +- [#6915](https://github.com/ORCID/ORCID-Source/pull/6915): 8875 update the email verification schedule to send emails 2 7 and 28 days after email creation +- [#6917](https://github.com/ORCID/ORCID-Source/pull/6917): fix: Add indexes to event table +- [#6919](https://github.com/ORCID/ORCID-Source/pull/6919): Bump browserify-sign from 4.2.1 to 4.2.2 in /orcid-web/src/main/webapp/static/javascript/ng1Orcid + +### Fix + +- Add indexes to event table + +## v2.43.3 - 2023-10-30 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.2...v2.43.3) + +- [#6918](https://github.com/ORCID/ORCID-Source/pull/6918): 8889 prod looks like the ror loader is broken + +## v2.43.2 - 2023-10-25 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.1...v2.43.2) + +- [#6916](https://github.com/ORCID/ORCID-Source/pull/6916): fix: Invert selfAsserted and validated in sort by source + +### Fix + +- Invert selfAsserted and validated in sort by source + +## v2.43.1 - 2023-10-25 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.43.0...v2.43.1) + +- [#6914](https://github.com/ORCID/ORCID-Source/pull/6914): Shorter id + +## v2.43.0 - 2023-10-25 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.6...v2.43.0) + +- [#6913](https://github.com/ORCID/ORCID-Source/pull/6913): feature: Add functionality to capture user events in the database and… + +### Fix + +- Add missing label and fix test + +### Feature + +- Add functionality to capture user events in the database and create views to display info in panoply + +## v2.42.6 - 2023-10-24 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.5...v2.42.6) + +- [#6912](https://github.com/ORCID/ORCID-Source/pull/6912): add an option to configure timeout + +## v2.42.5 - 2023-10-23 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.4...v2.42.5) + +- [#6909](https://github.com/ORCID/ORCID-Source/pull/6909): fix: Update sort by source functionality to sort also alphabetically + +### Fix + +- Update external identifier is validates method +- Update sort by source functionality to sort also alphabetically + +## v2.42.4 - 2023-10-20 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.3...v2.42.4) + +- [#6907](https://github.com/ORCID/ORCID-Source/pull/6907): fix/remove-fundingSubType-core-details-from-codebase + +### Fix + +- remove fundingSubType core config manually removed from prod + +## v2.42.3 - 2023-10-20 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.2...v2.42.3) + +- [#6911](https://github.com/ORCID/ORCID-Source/pull/6911): Initial commit + +## v2.42.2 - 2023-10-20 + +[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.1...v2.42.2) + +- [#6910](https://github.com/ORCID/ORCID-Source/pull/6910): 8855 duplicate isni external identifiers for same disambiguated organisation + ## v2.42.1 - 2023-10-13 [Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.42.0...v2.42.1) diff --git a/orcid-api-common/src/main/resources/orcid-oauth2-api-common-config.xml b/orcid-api-common/src/main/resources/orcid-oauth2-api-common-config.xml index a97fca78480..89682ff1873 100644 --- a/orcid-api-common/src/main/resources/orcid-oauth2-api-common-config.xml +++ b/orcid-api-common/src/main/resources/orcid-oauth2-api-common-config.xml @@ -131,5 +131,6 @@ + \ No newline at end of file diff --git a/orcid-core/src/main/java/org/orcid/core/common/manager/EmailDomainManager.java b/orcid-core/src/main/java/org/orcid/core/common/manager/EmailDomainManager.java index b6c7e310adb..167e25e2d2f 100644 --- a/orcid-core/src/main/java/org/orcid/core/common/manager/EmailDomainManager.java +++ b/orcid-core/src/main/java/org/orcid/core/common/manager/EmailDomainManager.java @@ -2,14 +2,17 @@ import java.util.List; +import org.orcid.core.common.manager.impl.EmailDomainManagerImpl.STATUS; import org.orcid.persistence.jpa.entities.EmailDomainEntity; public interface EmailDomainManager { EmailDomainEntity createEmailDomain(String emailDomain, EmailDomainEntity.DomainCategory category); - + boolean updateCategory(long id, EmailDomainEntity.DomainCategory category); EmailDomainEntity findByEmailDoman(String emailDomain); List findByCategory(EmailDomainEntity.DomainCategory category); + + STATUS createOrUpdateEmailDomain(String emailDomain, String rorId); } diff --git a/orcid-core/src/main/java/org/orcid/core/common/manager/EventManager.java b/orcid-core/src/main/java/org/orcid/core/common/manager/EventManager.java new file mode 100644 index 00000000000..323f76a9534 --- /dev/null +++ b/orcid-core/src/main/java/org/orcid/core/common/manager/EventManager.java @@ -0,0 +1,19 @@ +package org.orcid.core.common.manager; + +import org.orcid.core.utils.EventType; +import org.orcid.pojo.ajaxForm.RequestInfoForm; + +import javax.servlet.http.HttpServletRequest; + +/** + * + * @author Daniel Palafox + * + */ +public interface EventManager { + + boolean removeEvents(String orcid); + + void createEvent(String orcid, EventType eventType, HttpServletRequest request); + +} diff --git a/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EmailDomainManagerImpl.java b/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EmailDomainManagerImpl.java index b5950fb9f91..dcfe88f952b 100644 --- a/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EmailDomainManagerImpl.java +++ b/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EmailDomainManagerImpl.java @@ -13,20 +13,26 @@ public class EmailDomainManagerImpl implements EmailDomainManager { + public enum STATUS {CREATED, UPDATED}; + @Resource(name = "emailDomainDao") private EmailDomainDao emailDomainDao; @Resource(name = "emailDomainDaoReadOnly") private EmailDomainDao emailDomainDaoReadOnly; - @Override - public EmailDomainEntity createEmailDomain(String emailDomain, DomainCategory category) { + private void validateEmailDomain(String emailDomain) { if (emailDomain == null || emailDomain.isBlank()) { throw new IllegalArgumentException("Email Domain must not be empty"); } if(!InternetDomainName.isValid(emailDomain)) { throw new IllegalArgumentException("Email Domain '" + emailDomain + "' is invalid"); } + } + + @Override + public EmailDomainEntity createEmailDomain(String emailDomain, DomainCategory category) { + validateEmailDomain(emailDomain); if (category == null) { throw new IllegalArgumentException("Category must not be empty"); } @@ -57,4 +63,22 @@ public List findByCategory(DomainCategory category) { return emailDomainDaoReadOnly.findByCategory(category); } + @Override + public STATUS createOrUpdateEmailDomain(String emailDomain, String rorId) { + EmailDomainEntity existingEntity = emailDomainDaoReadOnly.findByEmailDoman(emailDomain); + if(existingEntity != null) { + if(!rorId.equals(existingEntity.getRorId())) { + boolean updated = emailDomainDao.updateRorId(existingEntity.getId(), rorId); + if(updated) + return STATUS.UPDATED; + } + } else { + EmailDomainEntity newEntity = emailDomainDao.createEmailDomain(emailDomain, DomainCategory.PROFESSIONAL, rorId); + if (newEntity != null) { + return STATUS.CREATED; + } + } + return null; + } + } diff --git a/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EventManagerImpl.java b/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EventManagerImpl.java new file mode 100644 index 00000000000..96b6b540bf9 --- /dev/null +++ b/orcid-core/src/main/java/org/orcid/core/common/manager/impl/EventManagerImpl.java @@ -0,0 +1,124 @@ +package org.orcid.core.common.manager.impl; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang.StringUtils; +import org.orcid.core.common.manager.EventManager; +import org.orcid.core.constants.OrcidOauth2Constants; +import org.orcid.core.manager.ClientDetailsEntityCacheManager; +import org.orcid.core.manager.v3.read_only.RecordNameManagerReadOnly; +import org.orcid.core.utils.EventType; +import org.orcid.jaxb.model.clientgroup.ClientType; +import org.orcid.jaxb.model.v3.release.record.Name; +import org.orcid.persistence.dao.EventDao; +import org.orcid.persistence.jpa.entities.ClientDetailsEntity; +import org.orcid.persistence.jpa.entities.EventEntity; +import org.orcid.pojo.ajaxForm.PojoUtil; +import org.orcid.pojo.ajaxForm.RequestInfoForm; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; + +/** + * + * @author Daniel Palafox + * + */ +public class EventManagerImpl implements EventManager { + + @Resource + private EventDao eventDao; + + @Resource + private ClientDetailsEntityCacheManager clientDetailsEntityCacheManager; + + @Resource(name = "recordNameManagerReadOnlyV3") + private RecordNameManagerReadOnly recordNameManagerReadOnly; + + @Override + public boolean removeEvents(String orcid) { + return eventDao.removeEvents(orcid); + } + + @Override + public void createEvent(String orcid, EventType eventType, HttpServletRequest request) { + String label = "Website"; + String clientId = null; + String redirectUrl = null; + String publicPage = null; + + if (eventType == EventType.PUBLIC_PAGE) { + publicPage = orcid; + orcid = null; + } else { + if (request != null) { + Boolean isOauth2ScreensRequest = (Boolean) request.getSession().getAttribute(OrcidOauth2Constants.OAUTH_2SCREENS); + RequestInfoForm requestInfoForm = (RequestInfoForm) request.getSession().getAttribute("requestInfoForm"); + if (requestInfoForm != null) { + clientId = requestInfoForm.getClientId(); + redirectUrl = removeAttributesFromUrl(requestInfoForm.getRedirectUrl()); + label = "OAuth " + requestInfoForm.getMemberName() + " " + requestInfoForm.getClientName(); + } else if (isOauth2ScreensRequest != null && isOauth2ScreensRequest) { + String queryString = (String) request.getSession().getAttribute(OrcidOauth2Constants.OAUTH_QUERY_STRING); + clientId = getParameterValue(queryString, "client_id"); + redirectUrl = getParameterValue(queryString, "redirect_uri"); + ClientDetailsEntity clientDetailsEntity = clientDetailsEntityCacheManager.retrieve(clientId); + String memberName = ""; + String clientName = clientDetailsEntity.getClientName(); + + if (ClientType.PUBLIC_CLIENT.equals(clientDetailsEntity.getClientType())) { + memberName = "PubApp"; + } else if (!PojoUtil.isEmpty(clientDetailsEntity.getGroupProfileId())) { + Name name = recordNameManagerReadOnly.getRecordName(clientDetailsEntity.getGroupProfileId()); + if (name != null) { + memberName = name.getCreditName() != null ? name.getCreditName().getContent() : ""; + } + } + + if (StringUtils.isBlank(memberName)) { + memberName = clientName; + } + label = "OAuth " + memberName + " " + clientName; + } + } + } + + EventEntity eventEntity = new EventEntity(); + + eventEntity.setOrcid(orcid); + eventEntity.setEventType(eventType.getValue()); + eventEntity.setClientId(clientId); + eventEntity.setRedirectUrl(redirectUrl); + eventEntity.setLabel(label); + eventEntity.setPublicPage(publicPage); + + eventDao.createEvent(eventEntity); + } + + private String getParameterValue(String queryString, String parameter) { + if (StringUtils.isNotEmpty(queryString)) { + try { + queryString = URLDecoder.decode(queryString, StandardCharsets.UTF_8.toString()); + } catch (UnsupportedEncodingException u) { + // l + } + String[] parameters = queryString.split("&"); + for (String p : parameters) { + String[] keyValuePair = p.split("="); + if (parameter.equals(keyValuePair[0])) { + return keyValuePair[1]; + } + } + } + return null; + } + + private String removeAttributesFromUrl(String url) { + if (url.contains("?")) { + return url.substring(0, url.indexOf("?")); + } + return url; + } +} diff --git a/orcid-core/src/main/java/org/orcid/core/manager/OrgDisambiguatedManager.java b/orcid-core/src/main/java/org/orcid/core/manager/OrgDisambiguatedManager.java index 3dd8c72cad0..76851b41b23 100644 --- a/orcid-core/src/main/java/org/orcid/core/manager/OrgDisambiguatedManager.java +++ b/orcid-core/src/main/java/org/orcid/core/manager/OrgDisambiguatedManager.java @@ -36,5 +36,7 @@ public interface OrgDisambiguatedManager { void createOrgDisambiguatedExternalIdentifier(OrgDisambiguatedExternalIdentifierEntity identifier); public List findOrgDisambiguatedIdsForSameExternalIdentifier(String identifier, String type); + + public void cleanDuplicatedExternalIdentifiersForOrgDisambiguated(OrgDisambiguatedEntity orgDisambiguatedEntity); } diff --git a/orcid-core/src/main/java/org/orcid/core/manager/impl/OrgDisambiguatedManagerImpl.java b/orcid-core/src/main/java/org/orcid/core/manager/impl/OrgDisambiguatedManagerImpl.java index 2a074b34149..03faaeb9208 100644 --- a/orcid-core/src/main/java/org/orcid/core/manager/impl/OrgDisambiguatedManagerImpl.java +++ b/orcid-core/src/main/java/org/orcid/core/manager/impl/OrgDisambiguatedManagerImpl.java @@ -11,6 +11,7 @@ import javax.annotation.Resource; import javax.transaction.Transactional; +import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.orcid.core.manager.OrgDisambiguatedManager; import org.orcid.core.messaging.JmsMessageSender; @@ -52,7 +53,7 @@ public class OrgDisambiguatedManagerImpl implements OrgDisambiguatedManager { @Resource private OrgDao orgDao; - + @Resource private OrgDisambiguatedExternalIdentifierDao orgDisambiguatedExternalIdentifierDao; @@ -68,6 +69,9 @@ public class OrgDisambiguatedManagerImpl implements OrgDisambiguatedManager { @Value("${org.orcid.persistence.messaging.updated.disambiguated_org.solr:indexDisambiguatedOrgs}") private String updateSolrQueueName; + @Value("${org.orcid.core.cleanExtIdsForOrg:false}") + private boolean cleanDuplicateExtIdForOrg; + @Resource(name = "jmsMessageSender") private JmsMessageSender messaging; @@ -76,7 +80,7 @@ public class OrgDisambiguatedManagerImpl implements OrgDisambiguatedManager { @Value("${org.orcid.persistence.messaging.updated.disambiguated_org.indexing.batchSize:1000}") private int indexingBatchSize; - + @Override synchronized public void processOrgsForIndexing() { LOGGER.info("About to process disambiguated orgs for indexing"); @@ -103,7 +107,7 @@ synchronized public void markOrgsForIndexingAsGroup() { entities = orgDisambiguatedDaoReadOnly.findOrgsToGroup(startIndex, indexingBatchSize); LOGGER.info("GROUP: Found chunk of {} disambiguated orgs for indexing as group", entities.size()); for (OrgDisambiguatedEntity entity : entities) { - + new OrgGrouping(entity, this).markGroupForIndexing(orgDisambiguatedDao); } startIndex = startIndex + indexingBatchSize; @@ -147,7 +151,7 @@ private OrgDisambiguatedSolrDocument convertEntityToDocument(OrgDisambiguatedEnt document.setOrgDisambiguatedPopularity(entity.getPopularity()); Set orgNames = new HashSet<>(); orgNames.add(entity.getName()); - + List orgs = orgDao.findByOrgDisambiguatedId(entity.getId()); if (orgs != null) { for (OrgEntity org : orgs) { @@ -219,6 +223,9 @@ public List searchOrgsFromSolrForSelfService(String searchTerm @Override public OrgDisambiguatedEntity updateOrgDisambiguated(OrgDisambiguatedEntity orgDisambiguatedEntity) { normalizeExternalIdentifiers(orgDisambiguatedEntity); + if (cleanDuplicateExtIdForOrg) { + cleanDuplicatedExternalIdentifiersForOrgDisambiguated(orgDisambiguatedEntity); + } return orgDisambiguatedDao.merge(orgDisambiguatedEntity); } @@ -262,7 +269,27 @@ public OrgDisambiguated findInDB(String idValue, String idType) { @Override public void createOrgDisambiguatedExternalIdentifier(OrgDisambiguatedExternalIdentifierEntity identifier) { normalizeExternalIdentifier(identifier); - orgDisambiguatedExternalIdentifierDao.persist(identifier); + boolean toPersist = true; + OrgDisambiguatedEntity orgDisambiguatedEntity = identifier.getOrgDisambiguated(); + if (orgDisambiguatedEntity != null && orgDisambiguatedEntity.getExternalIdentifiers() != null) { + String extIdentifierKeyToAdd = identifier.getIdentifierType() + "::" + identifier.getIdentifier(); + String extIdentifierKey; + for (OrgDisambiguatedExternalIdentifierEntity identifier1 : orgDisambiguatedEntity.getExternalIdentifiers()) { + extIdentifierKey = identifier1.getIdentifierType() + "::" + identifier1.getIdentifier(); + if (StringUtils.equals(extIdentifierKeyToAdd, extIdentifierKey)) { + toPersist = false; + break; + } + } + } + if (cleanDuplicateExtIdForOrg) { + cleanDuplicatedExternalIdentifiersForOrgDisambiguated(orgDisambiguatedEntity); + } + // check if in the current external id list the identifier already + if (toPersist) { + orgDisambiguatedExternalIdentifierDao.persist(identifier); + } + } @Override @@ -271,17 +298,16 @@ public void updateOrgDisambiguatedExternalIdentifier(OrgDisambiguatedExternalIde orgDisambiguatedExternalIdentifierDao.merge(identifier); } - public List findOrgDisambiguatedIdsForSameExternalIdentifier( String identifier, String type ) { + public List findOrgDisambiguatedIdsForSameExternalIdentifier(String identifier, String type) { List orgDisambiguatedIds = new ArrayList(); List extIds = orgDisambiguatedExternalIdentifierDao.findByIdentifierIdAndType(identifier, type); - extIds.stream().forEach((e) -> - { - OrgDisambiguatedEntity de = e.getOrgDisambiguated(); - // Group only if it is not a RINGGOLD org - if(de != null && !OrgDisambiguatedSourceType.RINGGOLD.name().equals(de.getSourceType())) { - orgDisambiguatedIds.add(convertEntity(de)); - } - }); + extIds.stream().forEach((e) -> { + OrgDisambiguatedEntity de = e.getOrgDisambiguated(); + // Group only if it is not a RINGGOLD org + if (de != null && !OrgDisambiguatedSourceType.RINGGOLD.name().equals(de.getSourceType())) { + orgDisambiguatedIds.add(convertEntity(de)); + } + }); return orgDisambiguatedIds; } @@ -347,4 +373,39 @@ private void normalizeExternalIdentifiers(OrgDisambiguatedEntity orgDisambiguate } } + public void cleanDuplicatedExternalIdentifiersForOrgDisambiguated(OrgDisambiguatedEntity orgDisambiguatedEntity) { + if (orgDisambiguatedEntity.getExternalIdentifiers() != null) { + HashMap extIdsMapping = new HashMap(); + String extIdentifierKey; + OrgDisambiguatedExternalIdentifierEntity mappedExtIdentifier; + List duplicatedExtIdentifiersToBeRemoved = new ArrayList(); + for (OrgDisambiguatedExternalIdentifierEntity identifier : orgDisambiguatedEntity.getExternalIdentifiers()) { + extIdentifierKey = identifier.getIdentifierType() + "::" + identifier.getIdentifier(); + if (extIdsMapping.containsKey(extIdentifierKey)) { + + if (!identifier.getPreferred()) { + duplicatedExtIdentifiersToBeRemoved.add(identifier); + } else { + mappedExtIdentifier = extIdsMapping.get(extIdentifierKey); + duplicatedExtIdentifiersToBeRemoved.add(mappedExtIdentifier); + extIdsMapping.put(extIdentifierKey, identifier); + } + + } + } + // remove the duplicates from DB + + LOGGER.info( + "About to remove " + duplicatedExtIdentifiersToBeRemoved.size() + " duplicate external Ids for Disambiguated Org " + orgDisambiguatedEntity.getId()); + duplicatedExtIdentifiersToBeRemoved.stream().forEach((e) -> { + try { + orgDisambiguatedExternalIdentifierDao.remove(e); + LOGGER.debug("Removed ext id " + e.getIdentifierType() + "::" + e.getIdentifier() + "::" + e.getId()); + } catch (Exception ex) { + LOGGER.error("Exception when removing duplicate external ids for Disambiguated Org " + orgDisambiguatedEntity.getId(), ex); + } + }); + + } + } } diff --git a/orcid-core/src/main/java/org/orcid/core/solr/OrcidSolrOrgsClient.java b/orcid-core/src/main/java/org/orcid/core/solr/OrcidSolrOrgsClient.java index e30eaf806fb..be4c57fa21a 100644 --- a/orcid-core/src/main/java/org/orcid/core/solr/OrcidSolrOrgsClient.java +++ b/orcid-core/src/main/java/org/orcid/core/solr/OrcidSolrOrgsClient.java @@ -33,7 +33,7 @@ public class OrcidSolrOrgsClient { private static final String SOLR_SELF_SERVICE_ORGS_QUERY = "(org-disambiguated-id-from-source:%s)^50.0 (org-disambiguated-name%s)^50.0 (org-disambiguated-name-string:%s)^25.0"; - + private static final String SOLR_ORG_BY_ROR_ID_QUERY = "org-disambiguated-id-from-source:%s"; public OrgDisambiguatedSolrDocument findById(Long id) { SolrQuery query = new SolrQuery(); @@ -93,4 +93,19 @@ public List getOrgsForSelfService(String searchTer throw new NonTransientDataAccessResourceException(errorMessage, se); } } + + public OrgDisambiguatedSolrDocument getOrgByRorId(String rorId) { + SolrQuery query = new SolrQuery(); + // Escape the : on the email domain to be able to search in solr + query.setQuery(SOLR_ORG_BY_ROR_ID_QUERY.replace("%s", rorId.replace(":", "\\:"))); + query.addOrUpdateSort("score", ORDER.desc); + try { + QueryResponse queryResponse = solrReadOnlyOrgsClient.query(query); + List result = queryResponse.getBeans(OrgDisambiguatedSolrDocument.class); + return (result == null || result.isEmpty()) ? null : result.get(0); + } catch (SolrServerException | IOException se) { + String errorMessage = MessageFormat.format("Error when attempting to search for orgs by ror id, with ror id {0}", new Object[] { rorId }); + throw new NonTransientDataAccessResourceException(errorMessage, se); + } + } } diff --git a/orcid-core/src/main/java/org/orcid/core/togglz/Features.java b/orcid-core/src/main/java/org/orcid/core/togglz/Features.java index df17060321d..dbb655fab98 100644 --- a/orcid-core/src/main/java/org/orcid/core/togglz/Features.java +++ b/orcid-core/src/main/java/org/orcid/core/togglz/Features.java @@ -5,6 +5,9 @@ import org.togglz.core.context.FeatureContext; public enum Features implements Feature { + @Label("Track user events") + EVENTS, + @Label("Source sorting") SOURCE_SORTING, diff --git a/orcid-core/src/main/java/org/orcid/core/utils/EventType.java b/orcid-core/src/main/java/org/orcid/core/utils/EventType.java new file mode 100644 index 00000000000..d5c248dd171 --- /dev/null +++ b/orcid-core/src/main/java/org/orcid/core/utils/EventType.java @@ -0,0 +1,20 @@ +package org.orcid.core.utils; + +public enum EventType { + SIGN_IN("Sign-In"), + NEW_REGISTRATION("New-Registration"), + AUTHORIZE("Authorize"), + AUTHORIZE_DENY("Authorize-Deny"), + REAUTHORIZE("Reauthorize"), + PUBLIC_PAGE("Public-Page"); + + private final String value; + + EventType(String v) { + value = v; + } + + public String getValue() { + return value; + } +} diff --git a/orcid-core/src/main/java/org/orcid/core/utils/VerifyEmailUtils.java b/orcid-core/src/main/java/org/orcid/core/utils/VerifyEmailUtils.java index 523900c3f62..d1abc34709c 100644 --- a/orcid-core/src/main/java/org/orcid/core/utils/VerifyEmailUtils.java +++ b/orcid-core/src/main/java/org/orcid/core/utils/VerifyEmailUtils.java @@ -29,21 +29,14 @@ public class VerifyEmailUtils { @Resource private EncryptionManager encryptionManager; - public Map createParamsForVerificationEmail(String emailFriendlyName, String orcid, String email, String primaryEmail, Locale locale) { + public Map createParamsForVerificationEmail(String emailFriendlyName, String orcid, String email, boolean isPrimary, Locale locale) { Map templateParams = new HashMap(); - - String subject = getSubject(primaryEmail.equalsIgnoreCase(email) ? "email.subject.verify_reminder_primary" : "email.subject.verify_reminder", locale); - - templateParams.put("primaryEmail", primaryEmail); - templateParams.put("isPrimary", primaryEmail.equalsIgnoreCase(email)); - templateParams.put("emailName", emailFriendlyName); - String verificationUrl = createVerificationUrl(email, orcidUrlManager.getBaseUrl()); - templateParams.put("verificationUrl", verificationUrl); - templateParams.put("orcid", orcid); - templateParams.put("email", email); - templateParams.put("subject", subject); - templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); - templateParams.put("baseUriHttp", orcidUrlManager.getBaseUriHttp()); + templateParams.put("isPrimary", isPrimary); + templateParams.put("userName", emailFriendlyName); + templateParams.put("verificationUrl", createVerificationUrl(email, orcidUrlManager.getBaseUrl())); + templateParams.put("orcidId", orcid); + templateParams.put("subject", getSubject((isPrimary ? "email.subject.verify_reminder_primary_address" : "email.subject.verify_reminder"), locale)); + templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); addMessageParams(templateParams, locale); return templateParams; } diff --git a/orcid-core/src/main/java/org/orcid/core/utils/cache/redis/RedisClient.java b/orcid-core/src/main/java/org/orcid/core/utils/cache/redis/RedisClient.java index 42affcf8f47..bc09b7f234d 100644 --- a/orcid-core/src/main/java/org/orcid/core/utils/cache/redis/RedisClient.java +++ b/orcid-core/src/main/java/org/orcid/core/utils/cache/redis/RedisClient.java @@ -11,6 +11,7 @@ import org.orcid.utils.alerting.SlackManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import redis.clients.jedis.DefaultJedisClientConfig; import redis.clients.jedis.HostAndPort; @@ -24,7 +25,7 @@ public class RedisClient { private static final Logger LOG = LoggerFactory.getLogger(RedisClient.class); private static final int DEFAULT_CACHE_EXPIRY = 60; - private static final int DEFAULT_TIMEOUT = 5000; + private static final int DEFAULT_TIMEOUT = 10000; private final String redisHost; private final int redisPort; @@ -37,7 +38,7 @@ public class RedisClient { @Resource private SlackManager slackManager; - // Assume the connection to Redis is disabled by default + // Assume the connection to Redis is disabled by default private boolean enabled = false; public RedisClient(String redisHost, int redisPort, String password) { @@ -66,10 +67,6 @@ public RedisClient(String redisHost, int redisPort, String password, int cacheEx @PostConstruct private void init() { - if(!enabled) { - LOG.debug("Redis is not enabled, so, it will not be initilized"); - return; - } try { JedisClientConfig config = DefaultJedisClientConfig.builder().connectionTimeoutMillis(this.clientTimeoutInMillis).timeoutMillis(this.clientTimeoutInMillis) .socketTimeoutMillis(this.clientTimeoutInMillis).password(this.redisPassword).ssl(true).build(); diff --git a/orcid-core/src/main/java/org/orcid/core/utils/v3/SourceUtils.java b/orcid-core/src/main/java/org/orcid/core/utils/v3/SourceUtils.java index 04f10cac2bc..35c8dc4dc1d 100644 --- a/orcid-core/src/main/java/org/orcid/core/utils/v3/SourceUtils.java +++ b/orcid-core/src/main/java/org/orcid/core/utils/v3/SourceUtils.java @@ -316,11 +316,7 @@ public static boolean isSelfAsserted(Source source, String orcid) { assertionOriginOrcid = source.getAssertionOriginOrcid().getPath(); } // If the affiliation source is the user himself or any member with OBO, then, it is considered self asserted - if(orcid.equals(sourceId) || orcid.equals(assertionOriginOrcid)) { - return false; - } else { - return true; - } + return orcid.equals(sourceId) || orcid.equals(assertionOriginOrcid); } public static boolean isSelfAsserted(AffiliationForm af, String orcid) { diff --git a/orcid-core/src/main/java/org/orcid/core/utils/v3/activities/FundingComparators.java b/orcid-core/src/main/java/org/orcid/core/utils/v3/activities/FundingComparators.java index 3f24dce975d..ae0864cd3ab 100644 --- a/orcid-core/src/main/java/org/orcid/core/utils/v3/activities/FundingComparators.java +++ b/orcid-core/src/main/java/org/orcid/core/utils/v3/activities/FundingComparators.java @@ -2,6 +2,9 @@ import java.util.Collections; import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.orcid.core.utils.v3.SourceUtils; import org.orcid.pojo.ajaxForm.FundingForm; @@ -15,16 +18,8 @@ public class FundingComparators { private final String TYPE_SORT_KEY = "type"; - private final String SOURCE_SORT_KEY = "source"; - - private String orcid = null; - public FundingComparators() {} - public FundingComparators(String orcid) { - this.orcid = orcid; - } - public Comparator getInstance(String key, boolean sortAsc, String orcid) { Comparator comparator = null; if (DATE_SORT_KEY.equals(key)) { @@ -33,8 +28,6 @@ public Comparator getInstance(String key, boolean sortAsc, String comparator = new FundingComparators().TITLE_COMPARATOR; } else if (TYPE_SORT_KEY.equals(key)) { comparator = new FundingComparators().TYPE_COMPARATOR; - } else if (SOURCE_SORT_KEY.equals(key)) { - comparator = new FundingComparators(orcid).SOURCE_COMPARATOR; } if (sortAsc) { @@ -107,9 +100,19 @@ public Comparator getInstance(String key, boolean sortAsc, String return g1.getStartDate().compareTo(g2.getStartDate()); }; - public Comparator SOURCE_COMPARATOR = (g1, g2) -> Boolean.compare(isSelfAsserted(g1), isSelfAsserted(g2)); + public List sortBySource(List fundingGroups, boolean sortAsc, String orcid) { + List selfAsserted = fundingGroups.stream() + .filter(fundingGroup -> SourceUtils.isSelfAsserted(fundingGroup.getDefaultFunding(), orcid)) + .collect(Collectors.toList()); + + List validated = fundingGroups.stream() + .filter(fundingGroup -> !SourceUtils.isSelfAsserted(fundingGroup.getDefaultFunding(), orcid)) + .collect(Collectors.toList()); + + selfAsserted.sort(new FundingComparators().TITLE_COMPARATOR); + validated.sort(new FundingComparators().TITLE_COMPARATOR); - private boolean isSelfAsserted(FundingGroup fundingGroup) { - return SourceUtils.isSelfAsserted(fundingGroup.getDefaultFunding(), orcid); + return (sortAsc ? Stream.concat(validated.stream(), selfAsserted.stream()) : Stream.concat(selfAsserted.stream(), validated.stream())) + .collect(Collectors.toList()); } } diff --git a/orcid-core/src/main/java/org/orcid/pojo/summary/ExternalIdentifiersSummary.java b/orcid-core/src/main/java/org/orcid/pojo/summary/ExternalIdentifiersSummary.java index d4593ba47a7..61fab224d86 100644 --- a/orcid-core/src/main/java/org/orcid/pojo/summary/ExternalIdentifiersSummary.java +++ b/orcid-core/src/main/java/org/orcid/pojo/summary/ExternalIdentifiersSummary.java @@ -86,7 +86,7 @@ public static ExternalIdentifiersSummary valueOf(PersonExternalIdentifier person } if (personExternalIdentifier.getSource() != null) { - form.setValidated(SourceUtils.isSelfAsserted(personExternalIdentifier.getSource(), orcid)); + form.setValidated(!SourceUtils.isSelfAsserted(personExternalIdentifier.getSource(), orcid)); } } return form; diff --git a/orcid-core/src/main/resources/i18n/email_common_en.properties b/orcid-core/src/main/resources/i18n/email_common_en.properties index 4f684ba6c2f..f53bb0cd213 100644 --- a/orcid-core/src/main/resources/i18n/email_common_en.properties +++ b/orcid-core/src/main/resources/i18n/email_common_en.properties @@ -66,3 +66,6 @@ email.common.privacy_policy=privacy policy email.common.address1=ORCID, Inc. email.common.address2=10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA email.common.received_email_as_service=You have received this email as a service announcement related to your ORCID Account. + +email.welcome.your_id.id=Your ORCID iD: +email.welcome.your_id.link=Your ORCID record is diff --git a/orcid-core/src/main/resources/i18n/email_subject_ar.properties b/orcid-core/src/main/resources/i18n/email_subject_ar.properties index 885c36e3cdb..975f2b7aba6 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_ar.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_ar.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[أوركيد] تحقّق من عنوان بريدك الإلكتروني -email.subject.verify_reminder_primary=[أوركيد] رسالة تذكير للتحقّق من عنوان بريدك الإلكتروني الأساسي email.subject.reset=[أوركيد] حول طلبك لإعادة تعيين كلمة المرور email.subject.forgotten_id=[أوركيد] معرّف أوركيد الخاص بك email.subject.reset_not_found=[أوركيد] لم يُعثرعلى عنوان البريد الإلكتروني diff --git a/orcid-core/src/main/resources/i18n/email_subject_ca.properties b/orcid-core/src/main/resources/i18n/email_subject_ca.properties index 6b48d4fa518..0b5a5d9a0a1 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_ca.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_ca.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verify your email address -email.subject.verify_reminder_primary=[ORCID] Reminder to verify your primary email address email.subject.reset=[ORCID] About your password reset request email.subject.forgotten_id=[ORCID] Your ORCID iD email.subject.reset_not_found=[ORCID] Email address not found diff --git a/orcid-core/src/main/resources/i18n/email_subject_cs.properties b/orcid-core/src/main/resources/i18n/email_subject_cs.properties index 2becbef9fc6..3e555be3c83 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_cs.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_cs.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Ověřte svou e-mailovou adresu -email.subject.verify_reminder_primary=[ORCID] Připomenutí k ověření vaší primární e-mailové adresy email.subject.reset=[ORCID] Ohledně vaší žádosti na obnovení hesla email.subject.forgotten_id=[ORCID] Vaše ORCID iD email.subject.reset_not_found=[ORCID] E-mailová adresa nenalezena diff --git a/orcid-core/src/main/resources/i18n/email_subject_de.properties b/orcid-core/src/main/resources/i18n/email_subject_de.properties index 16883e5108e..b554ad831bc 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_de.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_de.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Bestätigen Sie Ihre E-Mail-Adresse -email.subject.verify_reminder_primary=[ORCID] Erinnerung zur Bestätigung Ihrer primären E-Mail-Adresse email.subject.reset=[ORCID] Zu Ihrer Anfrage zum Zurücksetzen des Passworts email.subject.forgotten_id=[ORCID] Ihre ORCID-iD email.subject.reset_not_found=[ORCID] E-Mail-Adresse nicht gefunden diff --git a/orcid-core/src/main/resources/i18n/email_subject_en.properties b/orcid-core/src/main/resources/i18n/email_subject_en.properties index b517db4da7f..a9f3f3188b5 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_en.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_en.properties @@ -2,7 +2,7 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verify your email address -email.subject.verify_reminder_primary=[ORCID] Reminder to verify your primary email address +email.subject.verify_reminder_primary_address=[ORCID] Don't forget to verify your email address email.subject.reset=[ORCID] About your password reset request email.subject.forgotten_id=[ORCID] Your ORCID iD email.subject.reset_not_found=[ORCID] Email address not found @@ -17,5 +17,5 @@ email.subject.admin_as_delegate=[ORCID] Trusting {0} with your ORCID Record email.subject.locked=[ORCID] Your account has been locked email.subject.auto_deprecate=[ORCID] An account has been deprecated email.subject.reactivation=[ORCID] Reactivating your ORCID record -email.subject.register.welcome=[ORCID] Welcome to ORCID - verify your email address +email.subject.register.welcome=[ORCID] Welcome to ORCID email.subject.delegate.recipient=[ORCID] You've made an Account Delegate! diff --git a/orcid-core/src/main/resources/i18n/email_subject_es.properties b/orcid-core/src/main/resources/i18n/email_subject_es.properties index 7c796365225..0ba53f7eb5f 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_es.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_es.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verifique su dirección de correo electrónico -email.subject.verify_reminder_primary=[ORCID] Recordatorio para verificar su dirección de correo electrónico principal email.subject.reset=[ORCID] Acerca de su solicitud de restablecimiento de contraseña email.subject.forgotten_id=[ORCID] Su ORCID iD email.subject.reset_not_found=[ORCID] Dirección de correo electrónico no encontrada diff --git a/orcid-core/src/main/resources/i18n/email_subject_fr.properties b/orcid-core/src/main/resources/i18n/email_subject_fr.properties index f2bd3993513..bac67ff7443 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_fr.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_fr.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Vérifiez votre adresse e-mail\n -email.subject.verify_reminder_primary=[ORCID] Rappel de la vérification de votre adresse e-mail principale email.subject.reset=[ORCID] À propos de votre demande de réinitialisation de mot de passe\n email.subject.forgotten_id=[ORCID] Votre iD d'ORCID\n email.subject.reset_not_found=[ORCID] Adresse e-mail non trouvée diff --git a/orcid-core/src/main/resources/i18n/email_subject_id.properties b/orcid-core/src/main/resources/i18n/email_subject_id.properties index 6b48d4fa518..0b5a5d9a0a1 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_id.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_id.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verify your email address -email.subject.verify_reminder_primary=[ORCID] Reminder to verify your primary email address email.subject.reset=[ORCID] About your password reset request email.subject.forgotten_id=[ORCID] Your ORCID iD email.subject.reset_not_found=[ORCID] Email address not found diff --git a/orcid-core/src/main/resources/i18n/email_subject_it.properties b/orcid-core/src/main/resources/i18n/email_subject_it.properties index 6ed321079a4..5754f682579 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_it.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_it.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verifica il tuo indirizzo email\n -email.subject.verify_reminder_primary=[ORCID] Promemoria per verificare il tuo indirizzo e-mail primario\n email.subject.reset=[ORCID] Riguardo alla tua richiesta di reimpostazione della password\n email.subject.forgotten_id=[ORCID] Il tuo ORCID iD email.subject.reset_not_found=[ORCID] Indirizzo e-mail non trovato\n diff --git a/orcid-core/src/main/resources/i18n/email_subject_ja.properties b/orcid-core/src/main/resources/i18n/email_subject_ja.properties index ccfbfafacc6..4a6d4cfdfa3 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_ja.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_ja.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] メールアドレスを認証してください -email.subject.verify_reminder_primary=[ORCID] あなたのメインのメールアドレスを認証するためのリマインダー email.subject.reset=[ORCID] パスワードリセットのリクエストについて email.subject.forgotten_id=[ORCID] あなたのORCID iD email.subject.reset_not_found=[ORCID]メールアドレスが見つかりません diff --git a/orcid-core/src/main/resources/i18n/email_subject_ko.properties b/orcid-core/src/main/resources/i18n/email_subject_ko.properties index 3701a53688d..d33abacfade 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_ko.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_ko.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] 이메일 주소 확인 -email.subject.verify_reminder_primary=[ORCID] 귀하의 기본 이메일 주소 확인 알림 email.subject.reset=[ORCID] 귀하의 비밀번호 초기화 요청 email.subject.forgotten_id=[ORCID] 귀하의 ORCID iD email.subject.reset_not_found=[ORCID] 이메일 주소를 찾을 수 없습니다 diff --git a/orcid-core/src/main/resources/i18n/email_subject_lr.properties b/orcid-core/src/main/resources/i18n/email_subject_lr.properties index fc93ef4a484..50d0def7de4 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_lr.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_lr.properties @@ -1,6 +1,5 @@ email.subject.verification=LR email.subject.verify_reminder=LR -email.subject.verify_reminder_primary=LR email.subject.reset=LR email.subject.forgotten_id=LR email.subject.reset_not_found=LR diff --git a/orcid-core/src/main/resources/i18n/email_subject_pl.properties b/orcid-core/src/main/resources/i18n/email_subject_pl.properties index ed46eb6c333..34d238b0e47 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_pl.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_pl.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Zweryfikuj swój adres e-mail -email.subject.verify_reminder_primary=[ORCID] Przypomnienie o zweryfikowaniu podstawowego adresu e-mail email.subject.reset=[ORCID] Informacje o prośbie o zresetowanie hasła email.subject.forgotten_id=[ORCID] Twój ORCID ID email.subject.reset_not_found=[ORCID] Nie znaleziono adresu e-mail diff --git a/orcid-core/src/main/resources/i18n/email_subject_pt.properties b/orcid-core/src/main/resources/i18n/email_subject_pt.properties index e5aeb6bbf1c..f3fb41da3f2 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_pt.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_pt.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verifique o seu endereço de e-mail -email.subject.verify_reminder_primary=[ORCID] Lembrete para verificar o seu endereço de correio eletrónico principal email.subject.reset=[ORCID] A respeito do seu pedido de redefinição da palavra-passe email.subject.forgotten_id=[ORCID] O seu iD ORCID email.subject.reset_not_found=[ORCID] Endereço de e-mail não encontrado diff --git a/orcid-core/src/main/resources/i18n/email_subject_rl.properties b/orcid-core/src/main/resources/i18n/email_subject_rl.properties index af169e63093..e00536230e5 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_rl.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_rl.properties @@ -1,6 +1,5 @@ email.subject.verification=RL email.subject.verify_reminder=RL -email.subject.verify_reminder_primary=RL email.subject.reset=RL email.subject.forgotten_id=RL email.subject.reset_not_found=RL diff --git a/orcid-core/src/main/resources/i18n/email_subject_ru.properties b/orcid-core/src/main/resources/i18n/email_subject_ru.properties index b4257fccb9e..9b21a4a82b0 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_ru.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_ru.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Подтвердите ваш адрес электронной почты -email.subject.verify_reminder_primary=[ORCID] Напоминание подтвердить Ваш основной адрес эл. почты email.subject.reset=[ORCID] Касательно Вашего запроса на сброс пароля email.subject.forgotten_id=[ORCID] Ваш идентификатор ORCID email.subject.reset_not_found=[ORCID] Адрес эл. почты не найден diff --git a/orcid-core/src/main/resources/i18n/email_subject_tr.properties b/orcid-core/src/main/resources/i18n/email_subject_tr.properties index b08f84fb77e..a111f048d57 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_tr.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_tr.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] E-posta adresinizi doğrulayın -email.subject.verify_reminder_primary=[ORCID] Birincil e-posta adresinizi doğrulamanız için anımsatıcı email.subject.reset=[ORCID] Parola sıfırlama isteğiniz hakkında email.subject.forgotten_id=[ORCID] ORCID kimliğiniz email.subject.reset_not_found=[ORCID] E-posta adresi bulunamadı diff --git a/orcid-core/src/main/resources/i18n/email_subject_uk.properties b/orcid-core/src/main/resources/i18n/email_subject_uk.properties index 6b48d4fa518..0b5a5d9a0a1 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_uk.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_uk.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] Verify your email address -email.subject.verify_reminder_primary=[ORCID] Reminder to verify your primary email address email.subject.reset=[ORCID] About your password reset request email.subject.forgotten_id=[ORCID] Your ORCID iD email.subject.reset_not_found=[ORCID] Email address not found diff --git a/orcid-core/src/main/resources/i18n/email_subject_xx.properties b/orcid-core/src/main/resources/i18n/email_subject_xx.properties index 5303c506111..aa44675208a 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_xx.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_xx.properties @@ -1,6 +1,5 @@ email.subject.verification=X email.subject.verify_reminder=X -email.subject.verify_reminder_primary=X email.subject.reset=X email.subject.forgotten_id=X email.subject.reset_not_found=X diff --git a/orcid-core/src/main/resources/i18n/email_subject_zh_CN.properties b/orcid-core/src/main/resources/i18n/email_subject_zh_CN.properties index a517af6f11d..d93446cb9b7 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_zh_CN.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_zh_CN.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] 验证您的电子邮箱地址 -email.subject.verify_reminder_primary=[ORCID] 验证主电子邮箱地址提醒 email.subject.reset=[ORCID] 关于您的密码重置请求 email.subject.forgotten_id=[ORCID] 您的 ORCID iD 号 email.subject.reset_not_found=[ORCID] 未找到电子邮箱地址 diff --git a/orcid-core/src/main/resources/i18n/email_subject_zh_TW.properties b/orcid-core/src/main/resources/i18n/email_subject_zh_TW.properties index 8db12c5555e..8ccc5cf783f 100644 --- a/orcid-core/src/main/resources/i18n/email_subject_zh_TW.properties +++ b/orcid-core/src/main/resources/i18n/email_subject_zh_TW.properties @@ -2,7 +2,6 @@ # NotificaionManager.java email.subject.verify_reminder=[ORCID] 驗證您的電子郵件地址 -email.subject.verify_reminder_primary=[ORCID] 提醒您驗證您的主要電子郵件地址 email.subject.reset=[ORCID] 關於您的密碼重設請求 email.subject.forgotten_id=[ORCID] 您的 ORCID iD email.subject.reset_not_found=[ORCID] 找不到電子郵件地址 diff --git a/orcid-core/src/main/resources/i18n/email_verify_ar.properties b/orcid-core/src/main/resources/i18n/email_verify_ar.properties index 886e70839cc..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_ar.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_ar.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=هذا تذكير بأنك بحاجة إلى التحقق من عنوان بريدك الإلكتروني الأساسي قبل أن تتمكن من البدء في إضافة معلومات مثل الانتماء أو السيرة الذاتية أو الكلمات الرئيسية يدويًا إلى سجل أوركيد الخاص بك. -email.verify.primary_reminder=هذا تذكير بأنك بحاجة إلى التحقق من عنوان بريدك الإلكتروني الأساسي قبل أن تتمكن من البدء في إضافة المعلومات يدويًا إلى سجِّل أوركيد الخاصة بك. -email.verify.thank_you=للتحقّق من عنوان بريدك الإلكتروني، انقر فوق الرابط التالي وسجّلْ الدخول إلى سجلّ أوركيد الخاص بك. إذا لم تتمكن من النقر فوق الرابط، فقم بنسخه ولصقه في شريط عنوان المتصفح: -email.verify.thank_you_button=للتحقق من عنوان بريدك الإلكتروني، انقر فوق الزر التالي وقم بتسجيل الدخول إلى سجل أوركيد الخاص بك. إذا لم تتمكن من النقر فوق الزر، فانسخ الرابط أدناه والصقه في شريط عنوان المتصفح الخاص بك: -#${verificationUrl} -email.verify.1=معرِّف أوركيد المكوَّن من 16 رقمًا هو -#${orcid} -email.verify.2=، ومعرِّف أوركيد الكامل الخاص بك والرابط إلى سجلّك العام هو -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(عنوان البريد الإلكتروني الرئيسي: -email.verify.primary_email_2=) -email.verify.if_you_did_not=إذا لم تضف عنوان البريد الإلكتروني هذا إلى سجل أوركيد الخاص بك، فيرجى الاتصال بنا على الفور من خلال الرد على هذا البريد الإلكتروني. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_ca.properties b/orcid-core/src/main/resources/i18n/email_verify_ca.properties index 69a2151878f..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_ca.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_ca.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=This is a reminder that you need to verify your primary email address before you can begin adding information such as your affiliation, biography, or keywords manually to your ORCID record. -email.verify.primary_reminder=This is a reminder that you need to verify your primary email address before you can begin adding information manually to your ORCID record. -email.verify.thank_you=To verify your email address, click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar: -email.verify.thank_you_button=To verify your email address, click the following button and sign into your ORCID record. If you can't click the button, copy and paste the link below into your browser's address bar: -#${verificationUrl} -email.verify.1=Your 16-digit ORCID identifier is -#${orcid} -email.verify.2=, and your full ORCID iD and the link to your public record is -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primary email address: -email.verify.primary_email_2=) -email.verify.if_you_did_not=If you did not add this email address to your ORCID record, please contact us immediately by replying to this email. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_cs.properties b/orcid-core/src/main/resources/i18n/email_verify_cs.properties index 01afd37d8ef..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_cs.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_cs.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Toto je připomenutí, že je třeba ověřit vaši primární e-mailovou adresu, než budete moci do svého ORCID záznamu začít ručně přidávat informace, jako je vaše přidružení, životopis nebo klíčová slova. -email.verify.primary_reminder=Toto je připomenutí, že je třeba ověřit vaši primární e-mailovou adresu, než budete moci začít manuálně přidávat informace do svého ORCID záznamu. -email.verify.thank_you=Chcete-li ověřit svou e-mailovou adresu, klikněte na následující odkaz a přihlaste se do svého ORCID záznamu. Pokud nemůžete kliknout na odkaz, zkopírujte jej a vložte do adresního řádku svého prohlížeče: -email.verify.thank_you_button=Abyste ověřili svou e-mailovou adresu, klikněte na následující tlačítko a přihlaste se do svého záznamu ORCID. Pokud nemůžete na tlačítko kliknout, zkopírujte si odkaz níže a vložte jej do adresního řádu svého prohlížeče: -#${verificationUrl} -email.verify.1=Váš 16místný identifikátor ORCID je -#${orcid} -email.verify.2=, a svým úplným ORCID iD a odkaz na váš veřejný záznam je -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primární e-mailová adresa: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Pokud jste tuto e-mailovou adresu do svého ORCID záznamu nepřidali, ihned nás prosím kontaktujte odpovědí na tento e-mail. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_de.properties b/orcid-core/src/main/resources/i18n/email_verify_de.properties index e237f68eb9e..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_de.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_de.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Dies ist eine Erinnerung, dass Sie Ihre primäre E-Mail-Adresse bestätigen müssen, bevor Sie Informationen wie Ihre Zugehörigkeit, Biografie oder Schlüsselwörter manuell zu Ihrem ORCID-Eintrag hinzufügen können. -email.verify.primary_reminder=Denken Sie daran, dass Sie Ihre primäre E-Mail-Adresse bestätigen müssen, bevor Sie Informationen manuell zu Ihrem ORCID-Eintrag hinzufügen können. -email.verify.thank_you=Um Ihre E-Mail-Adresse zu bestätigen, klicken Sie auf den folgenden Link und melden Sie sich bei Ihrem ORCID-Eintrag an. Wenn Sie nicht auf den Link klicken können, kopieren Sie ihn in die Adressleiste Ihres Browsers: -email.verify.thank_you_button=Um Ihre E-Mail-Adresse zu bestätigen, klicken Sie auf die folgende Schaltfläche und melden Sie sich bei Ihrem ORCID-Eintrag an. Wenn Sie nicht auf die Schaltfläche klicken können, kopieren Sie den folgenden Link in die Adressleiste Ihres Browsers: -#${verificationUrl} -email.verify.1=Ihre 16-stellige ORCID-Kennung lautet -#${orcid} -email.verify.2=und Ihre vollständige ORCID-iD und der Link zu Ihrem öffentlichen Eintrag -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primäre E-Mail-Adresse: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Wenn Sie diese E-Mail-Adresse nicht zu Ihrem ORCID-Eintrag hinzugefügt haben, kontaktieren Sie uns bitte umgehend, indem Sie auf diese E-Mail antworten. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_en.properties b/orcid-core/src/main/resources/i18n/email_verify_en.properties index 89ccf28065e..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_en.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_en.properties @@ -3,15 +3,6 @@ ## Used on: # verification_email -email.verify.primary_reminder_v2=This is a reminder that you need to verify your primary email address before you can begin adding information such as your affiliation, biography, or keywords manually to your ORCID record. -email.verify.primary_reminder=This is a reminder that you need to verify your primary email address before you can begin adding information manually to your ORCID record. -email.verify.thank_you=To verify your email address, click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar: -email.verify.thank_you_button=To verify your email address, click the following button and sign into your ORCID record. If you can't click the button, copy and paste the link below into your browser's address bar: -#${verificationUrl} -email.verify.1=Your 16-digit ORCID identifier is -#${orcid} -email.verify.2=, and your full ORCID iD and the link to your public record is -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primary email address: -email.verify.primary_email_2=) -email.verify.if_you_did_not=If you did not add this email address to your ORCID record, please contact us immediately by replying to this email. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_es.properties b/orcid-core/src/main/resources/i18n/email_verify_es.properties index 426b17ebc99..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_es.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_es.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Este es un recordatorio de que necesitas verificar tu dirección de correo electrónico principal antes de poder empezar a añadir manualmente información como tu afiliación, biografía o palabras clave a tu registro ORCID. -email.verify.primary_reminder=Esto es un recordatorio de que necesitas verificar tu dirección de correo electrónico principal para poder comenzar a añadir información manualmente a tu registro ORCID. -email.verify.thank_you=Para verificar tu dirección de correo electrónico, has clic en el siguiente enlace y accede a tu registro ORCID. Si no puedes hacer clic en el enlace, cópialo y pégalo en la barra de direcciones de tu navegador: -email.verify.thank_you_button=Para verificar tu dirección de correo electrónico, has clic en el siguiente botón y accede a tu registro ORCID. Si no puedes hacer clic en el botón, copia y pega el siguiente enlace en la barra de direcciones de tu navegador: -#${verificationUrl} -email.verify.1=Tu identificador ORCID de 16 dígitos es -#${orcid} -email.verify.2=, y tu ORCID iD completo y el enlace a tu registro público es -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(dirección de correo electrónico principal: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Si no añadiste esta dirección de correo electrónico a tu cuenta ORCID ponte en contacto con nosotros inmediatamente contestando a este mensaje. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_fr.properties b/orcid-core/src/main/resources/i18n/email_verify_fr.properties index 1d0c2cbe530..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_fr.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_fr.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Nous vous rappelons que vous devez vérifier votre adresse e-mail principale avant de pouvoir commencer à ajouter manuellement des informations telles que votre affiliation, votre biographie ou vos mots-clés à votre dossier ORCID. -email.verify.primary_reminder=Voici un rappel que vous devez vérifier votre adresse e-mail principale avant de pouvoir commencer à ajouter manuellement des informations à votre dossier ORCID.\n -email.verify.thank_you=Pour vérifier votre adresse e-mail, cliquez sur le lien suivant et connectez-vous à votre dossier ORCID. Si vous ne pouvez pas cliquer sur le lien, copiez et collez-le dans la barre d'adresse de votre navigateur : -email.verify.thank_you_button=Pour vérifier votre adresse e-mail, cliquez sur le bouton suivant et connectez-vous à votre dossier ORCID. Si vous ne pouvez pas cliquer sur le bouton, copiez et collez le lien ci-dessous dans la barre d'adresse de votre navigateur :\n -#${verificationUrl} -email.verify.1=Votre identifiant ORCID à 16 chiffres est\n -#${orcid} -email.verify.2=, et votre identifiant ORCID complet ainsi que le lien vers votre dossier public sont -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(adresse e-mail principale :\n -email.verify.primary_email_2=) -email.verify.if_you_did_not=Si vous n'avez pas ajouté cette adresse e-mail à votre dossier ORCID, veuillez nous contacter immédiatement en répondant à cet e-mail.\n +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_id.properties b/orcid-core/src/main/resources/i18n/email_verify_id.properties index 69a2151878f..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_id.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_id.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=This is a reminder that you need to verify your primary email address before you can begin adding information such as your affiliation, biography, or keywords manually to your ORCID record. -email.verify.primary_reminder=This is a reminder that you need to verify your primary email address before you can begin adding information manually to your ORCID record. -email.verify.thank_you=To verify your email address, click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar: -email.verify.thank_you_button=To verify your email address, click the following button and sign into your ORCID record. If you can't click the button, copy and paste the link below into your browser's address bar: -#${verificationUrl} -email.verify.1=Your 16-digit ORCID identifier is -#${orcid} -email.verify.2=, and your full ORCID iD and the link to your public record is -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primary email address: -email.verify.primary_email_2=) -email.verify.if_you_did_not=If you did not add this email address to your ORCID record, please contact us immediately by replying to this email. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_it.properties b/orcid-core/src/main/resources/i18n/email_verify_it.properties index 1d24250ee7c..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_it.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_it.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Questo è un promemoria per ricordarti che devi verificare il tuo indirizzo email principale prima di poter iniziare ad aggiungere manualmente informazioni come affiliazione, biografia o parole chiave al tuo record ORCID. -email.verify.primary_reminder=Questo è un promemoria per ricordarti che devi verificare il tuo indirizzo email principale prima di poter iniziare ad aggiungere manualmente le informazioni al tuo record ORCID. -email.verify.thank_you=Per verificare il tuo indirizzo e-mail, clicca sul seguente link e accedi al tuo record ORCID. Se non riesci a cliccare il link, copialo e incollalo nella barra degli indirizzi del tuo browser:\n -email.verify.thank_you_button=Per verificare il tuo indirizzo email, fai clic sul pulsante seguente e accedi al tuo record ORCID. Se non riesci a fare clic sul pulsante, copia e incolla il collegamento sottostante nella barra degli indirizzi del browser: -#${verificationUrl} -email.verify.1=Il tuo identificatore ORCID di 16 cifre è -#${orcid} -email.verify.2=, e il tuo ORCID iD completo e il link al tuo record pubblico è\n -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(indirizzo email primario:\n -email.verify.primary_email_2=)\n -email.verify.if_you_did_not=Se non hai aggiunto questo indirizzo email al tuo record ORCID, contattaci immediatamente rispondendo a questa email. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_ja.properties b/orcid-core/src/main/resources/i18n/email_verify_ja.properties index 0667b1e0d35..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_ja.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_ja.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=これは、所属、経歴、キーワードなどの情報をORCIDレコードに手動で追加できるようにするには、メインのメールアドレスを認証する必要があることを知らせるリマインダーです。 -email.verify.primary_reminder=これは、ORCIDレコードに手動で情報を追加できるようにするには、メインのメールアドレスを認証する必要があることを知らせるリマインダーです。 -email.verify.thank_you=メールアドレスを確認するには、以下のリンクをクリックしてORCIDレコードにサインインしてください。リンクをクリックできない場合は、リンクをコピーしてブラウザのアドレスバーに貼り付けてください。 -email.verify.thank_you_button=メールアドレスを確認するには、以下のボタンをクリックしてORCIDレコードにサインインしてください。ボタンをクリックできない場合は、以下のリンクをコピーしてブラウザのアドレスバーに貼り付けてください: -#${verificationUrl} -email.verify.1=あなたの16桁のORCID識別子: -#${orcid} -email.verify.2=、および完全なORCID iDと公開記録へのリンクは -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(プライマリメールアドレス: -email.verify.primary_email_2=) -email.verify.if_you_did_not=このメールアドレスをORCIDレコードに追加しなかった場合は、ただちにこのメールに返信してご連絡ください。 +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_ko.properties b/orcid-core/src/main/resources/i18n/email_verify_ko.properties index 6514c2fd91d..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_ko.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_ko.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=귀하의 소속기관, 바이오그래피, 키워드를 ORCID 레코드에 수동으로 더하기 전에 기본 이메일을 확인해야 한다는 것을 알려드립니다. -email.verify.primary_reminder=ORCID 레코드에 귀하의 정보를 수동으로 입력하기 전에 귀하의 기본 메일 주소를 확인해야한다는 알림입니다. -email.verify.thank_you=귀하의 이메일 주소를 확인하기 위해 다음의 링크를 클릭해 ORCID 레코드에 로그인하십시오. 링크를 클릭할 수 없는 경우에는 브라우저의 주소창에 링크를 복사 붙여넣기 하십시오. -email.verify.thank_you_button=이메일 주소를 확인하려면 다음 버튼을 클릭하여 ORCID 레코드에 로그인하십시오. 버튼을 클릭할 수 없는 경우 아래 링크를 복사하여 브라우저의 주소표시줄에 붙여넣으십시오. -#${verificationUrl} -email.verify.1=귀하의 16자리 ORCID 식별자는 -#${orcid} -email.verify.2=, 전체 ORCID iD 및 공개 기록에 대한 링크는 -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(기본 이메일 주소: -email.verify.primary_email_2=) -email.verify.if_you_did_not=이 이메일 주소를 ORCID 레코드에 추가하지 않은 경우 이 이메일에 회신하여 즉시 저희에게 연락주시기 바랍니다. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_lr.properties b/orcid-core/src/main/resources/i18n/email_verify_lr.properties index 725fa9a2a91..bf0f0c8b9c4 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_lr.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_lr.properties @@ -1,9 +1,3 @@ -email.verify.primary_reminder_v2=LR -email.verify.primary_reminder=LR -email.verify.thank_you=LR -email.verify.thank_you_button=LR -email.verify.1=LR -email.verify.2=LR -email.verify.primary_email_1=LR -email.verify.primary_email_2=LR -email.verify.if_you_did_not=LR +email.verify.hi=LR +email.verify.primary.reminder=LR +email.verify.alternate.reminder=LR \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_pl.properties b/orcid-core/src/main/resources/i18n/email_verify_pl.properties index ca8fe288eb0..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_pl.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_pl.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Przypominamy, że musisz zweryfikować swój podstawowy adres e-mail, zanim zaczniesz ręcznie dodawać informacje, takie jak Twoje powiązania, biografia lub słowa kluczowe, do rekordu ORCID. -email.verify.primary_reminder=Przypominamy, że musisz zweryfikować swój podstawowy adres e-mail, zanim zaczniesz ręcznie dodawać informacje do swojego rekordu ORCID. -email.verify.thank_you=Aby zweryfikować swój adres e-mail, kliknij poniższe łącze i zaloguj się do swojego rekordu ORCID. Jeśli nie możesz kliknąć łącza , skopiuj je i wklej w pasku adresu przeglądarki: -email.verify.thank_you_button=Aby zweryfikować swój adres e-mail, kliknij poniższy przycisk i zaloguj się do swojego rekordu ORCID. Jeśli nie możesz kliknąć przycisku, skopiuj poniższe łącze i wklej je w pasku adresu przeglądarki: -#${verificationUrl} -email.verify.1=Twój 16-cyfrowy identyfikator ORCID to -#${orcid} -email.verify.2=, a Twój pełny identyfikator ORCID i łącze do Twojego rekordu publicznego to -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(podstawowy adres e-mail: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Jeśli nie dodałeś(-aś) tego adresu e-mail do swojego rekordu ORCID, skontaktuj się z nami niezwłocznie, odpowiadając na ten e-mail. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_pt.properties b/orcid-core/src/main/resources/i18n/email_verify_pt.properties index ec6f150517a..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_pt.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_pt.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Recordamos que é necessário verificar o seu endereço de correio eletrónico principal antes de poder começar a adicionar manualmente informações como a sua instituição, biografia ou palavras-chave ao seu registo ORCID. -email.verify.primary_reminder=Recordamos que é necessário verificar o seu endereço de correio eletrónico principal antes de poder começar a adicionar manualmente informações ao seu registo ORCID. -email.verify.thank_you=Para verificar o seu endereço de correio eletrónico, clique na seguinte ligação e inicie sessão no seu registo ORCID. Caso não consiga clicar na ligação, copie-a e cole-a na barra de endereços do seu navegador: -email.verify.thank_you_button=Para verificar o seu endereço de e-mail, clique no seguinte botão e conecte-se ao seu registo ORCID. Se não conseguir clicar no botão, copie e insira a ligação na barra de endereços do seu navegador: -#${verificationUrl} -email.verify.1=O seu identificador ORCID de 16 dígitos é -#${orcid} -email.verify.2=, e o seu ORCID iD completo e a ligação para o seu registo público está -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(endereço de correio eletrónico principal: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Se não adicionou este endereço de e-mail ao seu registo ORCID, entre imediatamente em contacto connosco respondendo a este e-mail. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_rl.properties b/orcid-core/src/main/resources/i18n/email_verify_rl.properties index af17c8f3f83..4b5246c7ccd 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_rl.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_rl.properties @@ -1,9 +1,3 @@ -email.verify.primary_reminder_v2=RL -email.verify.primary_reminder=RL -email.verify.thank_you=RL -email.verify.thank_you_button=RL -email.verify.1=RL -email.verify.2=RL -email.verify.primary_email_1=RL -email.verify.primary_email_2=RL -email.verify.if_you_did_not=RL +email.verify.hi=RL +email.verify.primary.reminder=RL +email.verify.alternate.reminder=RL \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_ru.properties b/orcid-core/src/main/resources/i18n/email_verify_ru.properties index 11df1e72799..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_ru.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_ru.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=Это напоминание о том, что Вам нужно подтвердить Ваш основной адрес электронной почты, прежде чем Вы сможете вносить изменения в Вашу учетную запись ORCID. -email.verify.primary_reminder=Напоминаем, что Вам необходимо подтвердить свой основной адрес эл. почты, чтобы получить возможность самостоятельно добавлять информацию в свою запись ORCID. -email.verify.thank_you=Для подтверждения Вашего адреса электронной почты перейдите по следующей ссылке и войдите в Ваш профиль ORCID. Если Вы не можете перейти по ссылке, то скопируйте и вставьте её в адресную строку Вашего браузера: -email.verify.thank_you_button=Для подтверждения своего адреса эл. почты нажмите на следующую кнопку и войдите в свою запись ORCID. Если Вам не удается нажать на кнопку, тогда скопируйте и вставьте нижеприведенную ссылку в адресную строку своего браузера: -#${verificationUrl} -email.verify.1=Ваш 16-значный идентификатор ORCID: -#${orcid} -email.verify.2=и Ваш полный идентификатор ORCID и ссылка на Ваш публичный профиль: -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(основной адрес эл. почты: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Если Вы не добавляли этот адрес эл. почты в свою запись ORCID, тогда немедленно обратитесь к нам, ответив на это эл. письмо. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_tr.properties b/orcid-core/src/main/resources/i18n/email_verify_tr.properties index 47486268420..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_tr.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_tr.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=ORCID kaydınıza bağlantınız, biyografiniz veya anahtar kelimeleriniz gibi bilgileri manuel olarak eklemeye başlamadan önce birincil e-posta adresinizi doğrulamanız gerektiğini hatırlatır. -email.verify.primary_reminder=Bu, ORCID kaydınıza manuel olarak bilgi eklemeye başlamadan önce birincil e-posta adresinizi doğrulamanız gerektiğini hatırlatır. -email.verify.thank_you=E-posta adresinizi doğrulamak için aşağıdaki bağlantıya tıklayın ve ORCID kaydınızda oturum açın. Bağlantıya tıklayamıyorsanız kopyalayıp tarayıcınızın adres çubuğuna yapıştırın: -email.verify.thank_you_button=E-posta adresinizi doğrulamak için aşağıdaki düğmeye tıklayın ve ORCID kaydınızda oturum açın. Düğmeyi tıklayamıyorsanız aşağıdaki bağlantıyı kopyalayıp tarayıcınızın adres çubuğuna yapıştırın: -#${verificationUrl} -email.verify.1=16 haneli ORCID tanımlayıcınız -#${orcid} -email.verify.2=ve ORCID kimliğinizin tamamı ve genel kaydınızın bağlantısı: -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(birincil e-posta adresi: -email.verify.primary_email_2=) -email.verify.if_you_did_not=Bu e-posta adresini ORCID kaydınıza eklemediyseniz lütfen bu e-postayı yanıtlayarak hemen bizimle iletişime geçin. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_uk.properties b/orcid-core/src/main/resources/i18n/email_verify_uk.properties index 69a2151878f..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_uk.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_uk.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=This is a reminder that you need to verify your primary email address before you can begin adding information such as your affiliation, biography, or keywords manually to your ORCID record. -email.verify.primary_reminder=This is a reminder that you need to verify your primary email address before you can begin adding information manually to your ORCID record. -email.verify.thank_you=To verify your email address, click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar: -email.verify.thank_you_button=To verify your email address, click the following button and sign into your ORCID record. If you can't click the button, copy and paste the link below into your browser's address bar: -#${verificationUrl} -email.verify.1=Your 16-digit ORCID identifier is -#${orcid} -email.verify.2=, and your full ORCID iD and the link to your public record is -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(primary email address: -email.verify.primary_email_2=) -email.verify.if_you_did_not=If you did not add this email address to your ORCID record, please contact us immediately by replying to this email. +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_xx.properties b/orcid-core/src/main/resources/i18n/email_verify_xx.properties index 77724dad145..622ade0700a 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_xx.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_xx.properties @@ -1,9 +1,3 @@ -email.verify.primary_reminder_v2=X -email.verify.primary_reminder=X -email.verify.thank_you=X -email.verify.thank_you_button=X -email.verify.1=X -email.verify.2=X -email.verify.primary_email_1=X -email.verify.primary_email_2=X -email.verify.if_you_did_not=X +email.verify.hi=X +email.verify.primary.reminder=X +email.verify.alternate.reminder=X \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_zh_CN.properties b/orcid-core/src/main/resources/i18n/email_verify_zh_CN.properties index ca1d157c28c..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_zh_CN.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_zh_CN.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=此邮件提醒您,需要先验证主邮箱地址,然后才能开始手动将所属机构、经历、关键字等信息添加到您的 ORCID 记录。 -email.verify.primary_reminder=此邮件提醒您,需要先验证主邮箱地址,然后才能开始手动将信息添加到您的 ORCID 记录。 -email.verify.thank_you=要验证您的邮箱地址,请使用以下链接并登录您的 ORCID 记录,如果无法单击该链接,请将其复制并粘贴到浏览器地址栏: -email.verify.thank_you_button=要验证您的电子邮箱地址,请单击以下按钮并登录到您的 ORCID 记录。如果您无法单击该按钮,请将其复制并粘贴到浏览器的地址栏: -#${verificationUrl} -email.verify.1=您的 16 位 ORCID 标识符是 -#${orcid} -email.verify.2=,您的完整 ORCID iD 号以及指向公开记录的链接是 -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(主要电子邮箱地址: -email.verify.primary_email_2=) -email.verify.if_you_did_not=如果您没有将此电子邮箱地址添加到您的 ORCID 记录,请立即通过回复此电子邮件与我们联系。 +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_verify_zh_TW.properties b/orcid-core/src/main/resources/i18n/email_verify_zh_TW.properties index d876335d9e3..330dbba7088 100644 --- a/orcid-core/src/main/resources/i18n/email_verify_zh_TW.properties +++ b/orcid-core/src/main/resources/i18n/email_verify_zh_TW.properties @@ -1,17 +1,8 @@ #verification_email.ftl ################################################# -## Used on: +## Used on: # verification_email -email.verify.primary_reminder_v2=提醒您,您需要先驗證您的主要電子郵件地址,然後才能開始將資訊(如您的從屬機構、簡介或關鍵字)手動添加到您的 ORCID 記錄。 -email.verify.primary_reminder=提醒您,您需要先驗證您的主要電子郵件地址,然後才能開始手動添加資訊到您的 ORCID 記錄。 -email.verify.thank_you=欲驗證您的電子郵件地址,請點擊以下連結並登入您的 ORCID 記錄。如果您無法點擊該連結,請將其複製並貼到瀏覽器的網址列上: -email.verify.thank_you_button=欲驗證您的電子郵件地址,請點擊下方的按鈕並且登入您的 ORCID 記錄。如果您無法點擊該按鈕,請將下面的連結複製並貼到瀏覽器上的網址列上: -#${verificationUrl} -email.verify.1=您的 16 位數 ORCID 識別碼為 -#${orcid} -email.verify.2=,而您的完整 ORCID iD 和連結至您的公開記錄之連結為 -#${pubBaseUri}/${orcid} -email.verify.primary_email_1=(主要電子郵件地址: -email.verify.primary_email_2=) -email.verify.if_you_did_not=如果您並未將本電子郵件地址添加到您的 ORCID 記錄,請立即回覆本電子郵件以聯絡我們。 +email.verify.hi=Hi +email.verify.primary.reminder=This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. +email.verify.alternate.reminder=You need to verify your email address. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_ar.properties b/orcid-core/src/main/resources/i18n/email_welcome_ar.properties index 5525e705b0b..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_ar.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_ar.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=شكرًا لك على إنشاء معرِّف أوركيد الخاص بك. يرجى التحقق من عنوان بريدك الإلكتروني لإكمال التسجيل والحصول على حق الوصول لتعديل السجل يدويًا: انقر فوق الرابط التالي وقم بتسجيل الدخول إلى سجل أوركيد الخاص بك. إذا لم تتمكن من النقر فوق الرابط، فقم بنسخه ولصقه في شريط عنوان المتصفح. -email.button=تحقق من عنوان بريدك الإلكتروني -email.welcome.your_id.id=معرِّف أوركيد المكون من 16 رقمًا هو -email.welcome.your_id.link=، ومعرِّف أوركيد الكامل الخاص بك والرابط إلى سجلك العام هو -email.welcome.next_steps=الخطوات التالية: -email.welcome.next_steps.1=1. أضف المزيد من المعلومات إلى سجل أوركيد الخاص بك -email.welcome.next_steps.1.description.1.1=قم بالوصول إلى سجل أوركيد الخاص بك على -email.welcome.next_steps.1.description.1.2=وإضافة المزيد من المعلومات إلى سجلك. إذا لم تكن قد قمت بذلك بالفعل، فإننا نوصي بشدة بإضافة أكثر من عنوان بريد إلكتروني إلى حسابك، نظرًا لأن نظامنا يتحقق من الأسماء وعناوين البريد الإلكتروني لمنع إنشاء سجلات مكررة. -email.welcome.next_steps.1.description.2=يستخدم المموّلون والناشرون والجامعات وغيرهم المعلومات الموجودة في سجل أوركيد للمساعدة في تقليل حفظ السجلات التي يطلبونها منك. قم بزيادة المعلومات التي يمكنك مشاركتها عن طريق إضافة أسماء أخرى معروفة لديك، والمعلومات المهنية مثل الانتماء، والسيرة الذاتية، والكلمات المفتاحية، والتمويل الذي تلقيته، والأعمال التي قمت بإنشائها أو ساهمت فيها إلى سجلك. -email.welcome.next_steps.1.description.tips=للحصول على نصائح حول إضافة معلومات إلى سجل أوركيد، انظر: -email.welcome.next_steps.1.description.tips.1=اطلعْ على نصائحنا بشأن -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you٪E2٪80٪99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=ستة أشياء يجب القيام بها الآن بعد أن أصبح لديك معرِّف أوركيد -email.welcome.next_steps.1.description.tips.2=. للحصول على نصائح حول إضافة معلومات إلى سجلّ أوركيد الخاص بك، انظرْ: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894\n -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. استخدم معرّف أوركيد الخاص بك عند النشر والتقدم بطلب للحصول على منح وغير ذلك -email.welcome.next_steps.2.description=تطلب العديد من الأنظمة معرِّف أوركيد الخاص بك من أجل إنشاء رابط بينك وبين مخرجات بحثك وارتباطاتك. سيساعدك استخدام معرِّف أوركيد الخاص بك، ومنح المنظمات الإذن لتحديث سجلك متى طلبوا ذلك، على الحصول على التقدير مقابل عملك وتقليل الوقت الذي تقضيه في حفظ السجلات في المستقبل. -email.welcome.need_help=تحتاج مساعدة؟ - -email.welcome.thank_you_for_creating=شكرًا لك على إنشاء معرّف ORCID. معرّف ORCID المكوّن من 16 رقمًا هو -email.welcome.full_orcid_and_link_public=، ومعرِّف أوركيد الكامل الخاص بك والرابط إلى سجلك العام هو -email.welcome.please_verify_your_email=يُرجى مراجعة عنوان بريدك الإلكتروني لاستكمال التسجيل والدخول لتحرير السجل يدويًا: انقر فوق الرابط التالي وقم بتسجيل الدخول إلى سجلك على ORCID. إذا لم تتمكن من النقر فوق الرابط، فانسخه والصقه في شريط عنوان المتصفح. -email.welcome.please_visit_your=يُرجى زيارة -email.welcome.researcher_homepage=الصفحة الرئيسية للباحث -email.welcome.for_more_information=للحصول على مزيد من المعلومات حول كيفية تحقيق أقصى استفادة من سجلك على ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_ca.properties b/orcid-core/src/main/resources/i18n/email_welcome_ca.properties index c0d7e66c198..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_ca.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_ca.properties @@ -1,54 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Thank you for creating your ORCID identifier. Please verify your email address to complete your registration and gain access to manually edit your record: click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar. email.button=Verify your email address -email.welcome.your_id.id=Your 16-digit ORCID identifier is -email.welcome.your_id.link=, and your full ORCID iD and the link to your public record is -email.welcome.next_steps=Next steps: -email.welcome.next_steps.1=1. Add more information to your ORCID Record -email.welcome.next_steps.1.description.1.1=Access your ORCID record at -email.welcome.next_steps.1.description.1.2=and add more information to your record. If you haven't already done so, we strongly recommend that you add more than one email address to your account, since our system checks names and email addresses to prevent the creation of duplicate records. -email.welcome.next_steps.1.description.2=Funders, publishers, universities, and others use the information contained in your ORCID record to help reduce the record-keeping they ask from you. Increase the information you can share by adding other names you are known by, professional information such as your affiliation, biography, and keywords, funding you have received, and works you have created or contributed to your record. -email.welcome.next_steps.1.description.tips=For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.tips.1=See our tips for -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=six things to do now that you have an ORCID iD -email.welcome.next_steps.1.description.tips.2=. For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Use your ORCID iD when publishing, applying for grants, and more -email.welcome.next_steps.2.description=Many systems ask for your ORCID iD in order to create a link between you and your research outputs and affiliations. Using your ORCID iD, and granting organizations permission to update your record whenever they request this will help you get credit for your work and reduce time spent on future record-keeping. -email.welcome.need_help=Need Help? +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_cs.properties b/orcid-core/src/main/resources/i18n/email_welcome_cs.properties index b57f931bc29..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_cs.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_cs.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Děkujeme, že jste vytvořili svůj ORCID identifikátor. Chcete-li dokončit registraci a získat přístup k manuální úpravě záznamu, ověřte prosím svou e-mailovou adresu: klikněte na následující odkaz a přihlaste se do svého ORCID záznamu. Pokud na odkaz nemůžete kliknout, zkopírujte jej a vložte do adresního řádku vašeho prohlížeče. -email.button=Ověřte svou e-mailovou adresu -email.welcome.your_id.id=Váš 16místný identifikátor ORCID je -email.welcome.your_id.link=a váš kompletní ORCID iD a odkaz na váš veřejný záznam je -email.welcome.next_steps=Další kroky: -email.welcome.next_steps.1=1. Přidejte více informací do svého ORCID záznamu -email.welcome.next_steps.1.description.1.1=Získejte přístup ke svému ORCID záznamu na adrese -email.welcome.next_steps.1.description.1.2=a přidat do záznamu další informace. Pokud jste tak dosud neučinili, důrazně doporučujeme, abyste ke svému účtu přidali více než jednu e-mailovou adresu, protože náš systém kontroluje jména a e-mailové adresy, aby zabránil vytváření duplicitních záznamů. -email.welcome.next_steps.1.description.2=Financující subjekty, vydavatelé, univerzity a další používají informace obsažené ve vašem záznamu ORCID ke snížení počtu záznamů, které od vás vyžadují. Zvyšte objem informací, které můžete sdílet, přidáním dalších jmen, pod kterými jste známí, profesionálních informací, jako jsou vaše afiliace, biografie a klíčová slova, financování, které jste obdrželi, a publikací, které jste vytvořili nebo k nimž jste přispěli. -email.welcome.next_steps.1.description.tips=Tipy pro přidávání informací do vašeho ORCID záznamu najdete na: -email.welcome.next_steps.1.description.tips.1=Podívejte se na naše tipy pro -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=Šest věcí, které musíte udělat, když máte ORCID iD -email.welcome.next_steps.1.description.tips.2=Pro tipy, jak přidat informace do svého záznamu ORCID, se podívejte na: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Používejte své ORCID iD při vydávání publikací, žádostech o granty a dalších úkonech -email.welcome.next_steps.2.description=Mnoho systémů žádá o váš ORCID iD, aby vytvořilo spojení mezi vámi a vašimi výzkumnými výstupy a přidruženími. Používání vašeho ORCID iD a udělení oprávnění organizacím aktualizovat váš záznam, kdykoli o to požádají, vám pomůže získat uznání za vaši práci a zkrátit čas strávený budoucím vedením záznamů. -email.welcome.need_help=Potřebujete pomoc? - -email.welcome.thank_you_for_creating=Děkujeme vám za vytvoření identifikátoru ORCID. Váš 16místný identifikátor ORCID je -email.welcome.full_orcid_and_link_public=, a svým úplným ORCID iD a odkaz na váš veřejný záznam je -email.welcome.please_verify_your_email=Chcete-li dokončit registraci a získat přístup k úpravám svého účtu, ověřte svou e-mailovou adresu: klikněte na následující odkaz a přihlaste se do svého účtu ORCID. Pokud na odkaz nemůžete kliknout, zkopírujte jej a vložte do adresního řádku vašeho prohlížeče. -email.welcome.please_visit_your=Navštivte naši -email.welcome.researcher_homepage=domovskou stránku pro vědecké pracovníky -email.welcome.for_more_information=pro další informace o tom, jak svůj účet ORCID co nejlépe využít. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_de.properties b/orcid-core/src/main/resources/i18n/email_welcome_de.properties index 8f1352e5a87..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_de.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_de.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Vielen Dank für die Erstellung Ihrer ORCID-Kennung. Bitte bestätigen Sie Ihre E-Mail-Adresse, um Ihre Registrierung abzuschließen und Ihren Eintrag manuell bearbeiten zu können: Klicken Sie auf den folgenden Link und melden Sie sich bei Ihrem ORCID-Eintrag an. Wenn Sie nicht auf den Link klicken können, kopieren Sie ihn in die Adressleiste Ihres Browsers. -email.button=Bestätigen Sie Ihre E-Mail-Adresse -email.welcome.your_id.id=Ihre 16-stellige ORCID-Kennung lautet -email.welcome.your_id.link=und Ihre vollständige ORCID-iD und der Link zu Ihrem öffentlichen Eintrag -email.welcome.next_steps=Nächste Schritte: -email.welcome.next_steps.1=1. Fügen Sie Ihrem ORCID-Eintrag weitere Informationen hinzu -email.welcome.next_steps.1.description.1.1=Auf Ihren ORCID-Eintrag zugreifen können Sie unter -email.welcome.next_steps.1.description.1.2=und Ihrem Eintrag weitere Informationen hinzuzufügen. Falls Sie dies noch nicht getan haben, empfehlen wir Ihnen dringend, Ihrem Konto mehr als eine E-Mail-Adresse hinzuzufügen, da unser System Namen und E-Mail-Adressen überprüft, um die Erstellung doppelter Einträge zu verhindern. -email.welcome.next_steps.1.description.2=Finanzierer, Verlage, Universitäten und andere verwenden die in Ihrem ORCID-Eintrag enthaltenen Informationen, um die von Ihnen verlangte Dokumentation zu reduzieren. Erweitern Sie die Informationen, die Sie teilen können, indem Sie andere Namen hinzufügen, unter denen Sie bekannt sind, sowie berufliche Informationen wie Ihre Zugehörigkeit, Biografie und Schlüsselwörter, erhaltene Finanzierung und Werke, die Sie erstellt oder zu denen Sie beigetragen haben. -email.welcome.next_steps.1.description.tips=Tipps zum Hinzufügen von Informationen zu Ihrem ORCID-Eintrag finden Sie hier:\n -email.welcome.next_steps.1.description.tips.1=Lesen Sie unsere Tipps zu -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=sechs Dingen, die Sie jetzt tun sollten, da Sie nun eine ORCID iD haben -email.welcome.next_steps.1.description.tips.2=. Tipps zum Hinzufügen von Informationen zu Ihrem ORCID-Eintrag finden Sie hier:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Verwenden Sie Ihre ORCID iD, wenn Sie etwas veröffentlichen, sich auf Fördermittel bewerben und mehr -email.welcome.next_steps.2.description=Viele Systeme fragen nach Ihrer ORCID-iD, um eine Verbindung zwischen Ihnen und Ihren Forschungsergebnissen und Zugehörigkeiten herzustellen. Wenn Sie Ihre ORCID-iD verwenden und Organisationen die Erlaubnis erteilen, Ihre Aufzeichnungen zu aktualisieren, wann immer sie dies verlangen, können Sie Ihre Werk zugeschrieben bekommen und den Zeitaufwand für zukünftige Aufzeichnungen reduzieren. -email.welcome.need_help=Brauchen Sie Hilfe? - -email.welcome.thank_you_for_creating=Vielen Dank für die Erstellung Ihrer ORCID-Kennung. Ihre 16-stellige ORCID-Kennung lautet -email.welcome.full_orcid_and_link_public=und Ihre vollständige ORCID-iD und der Link zu Ihrem öffentlichen Eintrag -email.welcome.please_verify_your_email=Bitte bestätigen Sie Ihre E-Mail-Adresse, um Ihre Registrierung abzuschließen und Zugang zur manuellen Bearbeitung Ihres Eintrags zu erhalten: Klicken Sie auf den folgenden Link und melden Sie sich bei Ihrem ORCID-Eintrag an. Wenn Sie den Link nicht anklicken können, kopieren Sie ihn und fügen Sie ihn in die Adressleiste Ihres Browsers ein. -email.welcome.please_visit_your=Bitte besuchen Sie unsere -email.welcome.researcher_homepage=Forscher-Homepage, -email.welcome.for_more_information=um weitere Informationen darüber zu erhalten, wie Sie das Maximum aus Ihrem ORCID-Eintrag herausholen können. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_en.properties b/orcid-core/src/main/resources/i18n/email_welcome_en.properties index cd9ffc14be1..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_en.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_en.properties @@ -6,56 +6,14 @@ # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Thank you for creating your ORCID identifier. Please verify your email address to complete your registration and gain access to manually edit your record: click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar. email.button=Verify your email address -email.welcome.your_id.id=Your 16-digit ORCID identifier is -email.welcome.your_id.link=, and your full ORCID iD and the link to your public record is -email.welcome.next_steps=Next steps: -email.welcome.next_steps.1=1. Add more information to your ORCID Record -email.welcome.next_steps.1.description.1.1=Access your ORCID record at -email.welcome.next_steps.1.description.1.2=and add more information to your record. If you haven't already done so, we strongly recommend that you add more than one email address to your account, since our system checks names and email addresses to prevent the creation of duplicate records. -email.welcome.next_steps.1.description.2=Funders, publishers, universities, and others use the information contained in your ORCID record to help reduce the record-keeping they ask from you. Increase the information you can share by adding other names you are known by, professional information such as your affiliation, biography, and keywords, funding you have received, and works you have created or contributed to your record. -email.welcome.next_steps.1.description.tips=For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.tips.1=See our tips for -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=six things to do now that you have an ORCID iD -email.welcome.next_steps.1.description.tips.2=. For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Use your ORCID iD when publishing, applying for grants, and more -email.welcome.next_steps.2.description=Many systems ask for your ORCID iD in order to create a link between you and your research outputs and affiliations. Using your ORCID iD, and granting organizations permission to update your record whenever they request this will help you get credit for your work and reduce time spent on future record-keeping. -email.welcome.need_help=Need Help? - -email.welcome.thank_you_for_creating=Thank you for creating your ORCID identifier. Your 16-digit ORCID identifier is -email.welcome.full_orcid_and_link_public=, and your full ORCID iD and the link to your public record is -email.welcome.please_verify_your_email=Please verify your email address to complete your registration and gain access to manually edit your record: click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar. -email.welcome.please_visit_your=Please visit our -email.welcome.researcher_homepage=researcher homepage +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_es.properties b/orcid-core/src/main/resources/i18n/email_welcome_es.properties index 066ea385559..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_es.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_es.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Gracias por crear tu identificador ORCID. Verifique tu dirección de correo electrónico para completar tu registro y obtener acceso para editar tu registro manualmente: has clic en el enlace a continuación e inicia sesión en tu registro ORCID. Si no puede hacer clic en el enlace, copia y pégalo en la barra de direcciones de tu navegador. -email.button=Verifica tu dirección de correo electrónico -email.welcome.your_id.id=Tu identificador ORCID de 16 dígitos es -email.welcome.your_id.link=, y tu ORCID iD completo y el enlace a tu registro público es -email.welcome.next_steps=Próximos pasos: -email.welcome.next_steps.1=1. Añade más información a tu Registro ORCID -email.welcome.next_steps.1.description.1.1=Accede a tu registro ORCID en -email.welcome.next_steps.1.description.1.2=y añade más información a tu registro. Si no lo has hecho todavía, recomendamos encarecidamente que añadas más de una dirección de correo electrónico a tu cuenta, ya que nuestro sistema comprueba nombres y direcciones de correo electrónico para evitar la creación de registros duplicados. -email.welcome.next_steps.1.description.2=Los financiadores, las editoriales, las universidades y otras entidades utilizan la información contenida en tu registro ORCID para ayudar a reducir el llenado de formatos que ellos te solicitan. Aumenta la información que puedes compartir al añadir a tu registro otros nombres por los que te le conoce, información profesional como afiliación, biografía y palabras clave, el financiamiento que has recibido y los trabajos que has creado o en los que has contribuido. -email.welcome.next_steps.1.description.tips=Para obtener sugerencias sobre cómo añadir información a tu registro ORCID, consulta: -email.welcome.next_steps.1.description.tips.1=Consulta nuestras sugerencias para -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=seis cosas que debes hacer ahora que tienes un ORCID iD -email.welcome.next_steps.1.description.tips.2=. Para ver consejos sobre cómo añadir información a tu registro ORCID, ve: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Utiliza tu ORCID iD al publicar, solicitar financiamiento y más -email.welcome.next_steps.2.description=Muchos sistemas piden tu ORCID iD para crear un vínculo entre tú y tus trabajos de investigación así como tus afiliaciones. Utiliza tu ORCID iD y otorga a los diferentes organismos permiso para actualizar tu registro cada vez que lo soliciten, te ayudará a conseguir crédito por tu trabajo y ayudará a reducir el tiempo que invertirás llenando formatos en diferentes sistemas en el futuro. -email.welcome.need_help=¿Necesitas ayuda? - -email.welcome.thank_you_for_creating=Gracias por crear su identificador ORCID. Su identificador ORCID de 16 dígitos es -email.welcome.full_orcid_and_link_public=, y tu ORCID iD completo y el enlace a tu registro público es -email.welcome.please_verify_your_email=Verifique su dirección de correo electrónico para terminar de registrarse y poder editar el registro manualmente. Para ello, haga clic en el enlace que aparece a continuación e inicie sesión en su registro ORCID. Si no puede hacer clic en el enlace, cópielo y péguelo en la barra de direcciones del navegador. -email.welcome.please_visit_your=Visite nuestra -email.welcome.researcher_homepage=página de inicio para investigadores -email.welcome.for_more_information=para obtener más información sobre cómo sacarle el máximo partido a su registro ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_fr.properties b/orcid-core/src/main/resources/i18n/email_welcome_fr.properties index e82a0a5f17f..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_fr.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_fr.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Merci d'avoir créé votre identifiant ORCID. Veuillez vérifier votre adresse e-mail pour terminer votre inscription et obtenir l'accès pour modifier manuellement votre dossier : cliquez sur le lien suivant et connectez-vous à votre dossier ORCID. Si vous ne pouvez pas cliquer sur le lien, copiez et collez-le dans la barre d'adresse de votre navigateur.\n -email.button=Vérifier votre adresse e-mail\n -email.welcome.your_id.id=Votre identifiant ORCID à 16 chiffres est -email.welcome.your_id.link=, et votre iD d'ORCID complet ainsi que le lien vers votre dossier public est\n -email.welcome.next_steps=Prochaines étapes :\n -email.welcome.next_steps.1=1. Ajouter plus d'informations à votre dossier ORCID\n -email.welcome.next_steps.1.description.1.1=Accédez à votre dossier ORCID à\n -email.welcome.next_steps.1.description.1.2=et ajouter des informations supplémentaires à votre dossier. Si vous ne l'avez pas encore fait, nous vous recommandons vivement d'ajouter plus d'une adresse e-mail à votre compte, car notre système vérifie les noms et les adresses e-mail pour éviter la création de dossiers en double.\n -email.welcome.next_steps.1.description.2=Les bailleurs de fonds, les éditeurs, les universités et autres utilisent les informations contenues dans votre dossier ORCID pour réduire le nombre de dossiers qu'ils vous demandent. Augmentez les informations que vous pouvez partager en ajoutant à votre dossier d'autres noms sous lesquels vous êtes connu, des informations professionnelles telles que votre affiliation, votre biographie et vos mots-clés, les financements que vous avez reçus et les travaux que vous avez créés ou auxquels vous avez contribué. -email.welcome.next_steps.1.description.tips=Pour obtenir des conseils sur l'ajout d'informations à votre dossier ORCID, consultez :\n -email.welcome.next_steps.1.description.tips.1=Consultez nos conseils pour -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id\n -email.welcome.next_steps.1.description.tips.1.link.text=six choses à faire maintenant que vous avez un iD d'ORCID\n -email.welcome.next_steps.1.description.tips.2=. Pour obtenir des conseils sur l'ajout d'informations à votre dossier ORCID, consultez :\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Utilisez votre iD d'ORCID pour publier, demander des subventions, etc.\n -email.welcome.next_steps.2.description=De nombreux systèmes demandent votre identifiant ORCID afin de créer un lien entre vous et vos résultats de recherche et affiliations. En utilisant votre iD d'ORCID et en autorisant les organisations à mettre à jour votre dossier chaque fois qu'elles en font la demande, vous pourrez être récompensé pour votre travail et réduire le temps consacré à la tenue des dossiers. -email.welcome.need_help=Besoin d'aide ? - -email.welcome.thank_you_for_creating=Merci d'avoir créé votre identifiant ORCID. Votre identifiant ORCID à 16 chiffres est -email.welcome.full_orcid_and_link_public=, et votre identifiant ORCID complet ainsi que le lien vers votre dossier public sont -email.welcome.please_verify_your_email=Confirmez votre adresse e-mail pour finaliser votre inscription et accéder à votre dossier pour le modifier manuellement : cliquez sur le lien suivant et connectez-vous à votre dossier ORCID. Si vous ne pouvez pas cliquer sur le lien, copiez-le et collez-le dans la barre d'adresse de votre navigateur. -email.welcome.please_visit_your=Consultez notre -email.welcome.researcher_homepage=page d'accueil pour les chercheurs -email.welcome.for_more_information=pour savoir comment exploiter pleinement votre dossier ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_id.properties b/orcid-core/src/main/resources/i18n/email_welcome_id.properties index c0d7e66c198..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_id.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_id.properties @@ -1,54 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Thank you for creating your ORCID identifier. Please verify your email address to complete your registration and gain access to manually edit your record: click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar. email.button=Verify your email address -email.welcome.your_id.id=Your 16-digit ORCID identifier is -email.welcome.your_id.link=, and your full ORCID iD and the link to your public record is -email.welcome.next_steps=Next steps: -email.welcome.next_steps.1=1. Add more information to your ORCID Record -email.welcome.next_steps.1.description.1.1=Access your ORCID record at -email.welcome.next_steps.1.description.1.2=and add more information to your record. If you haven't already done so, we strongly recommend that you add more than one email address to your account, since our system checks names and email addresses to prevent the creation of duplicate records. -email.welcome.next_steps.1.description.2=Funders, publishers, universities, and others use the information contained in your ORCID record to help reduce the record-keeping they ask from you. Increase the information you can share by adding other names you are known by, professional information such as your affiliation, biography, and keywords, funding you have received, and works you have created or contributed to your record. -email.welcome.next_steps.1.description.tips=For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.tips.1=See our tips for -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=six things to do now that you have an ORCID iD -email.welcome.next_steps.1.description.tips.2=. For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Use your ORCID iD when publishing, applying for grants, and more -email.welcome.next_steps.2.description=Many systems ask for your ORCID iD in order to create a link between you and your research outputs and affiliations. Using your ORCID iD, and granting organizations permission to update your record whenever they request this will help you get credit for your work and reduce time spent on future record-keeping. -email.welcome.need_help=Need Help? +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_it.properties b/orcid-core/src/main/resources/i18n/email_welcome_it.properties index 1050458ae3c..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_it.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_it.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Grazie per aver creato il tuo ORCID iD. Verifica il tuo indirizzo email per completare la registrazione e ottenere l'accesso per modificare manualmente il tuo fascicolo: fai clic sul seguente collegamento e accedi al tuo record ORCID. Se non riesci a fare clic sul collegamento, copialo e incollalo nella barra degli indirizzi del browser. -email.button=Verifica il tuo indirizzo email\n -email.welcome.your_id.id=Il tuo ORCID iD di 16 cifre è -email.welcome.your_id.link=, e il tuo ORCID iD completo e il collegamento al tuo fascicolo pubblico sono -email.welcome.next_steps=Fasi successive: -email.welcome.next_steps.1=1. Aggiungi altre informazioni al tuo record ORCID\n -email.welcome.next_steps.1.description.1.1=Accedi al tuo record ORCID su\n -email.welcome.next_steps.1.description.1.2=e aggiungi altre informazioni al tuo record. Se non l'hai già fatto, ti raccomandiamo vivamente di aggiungere più di un indirizzo email al tuo account, dato che il nostro sistema controlla i nomi e gli indirizzi email per evitare la creazione di record duplicati.\n -email.welcome.next_steps.1.description.2=I finanziatori, gli editori, le università e altri usano le informazioni contenute nel tuo record ORCID per aiutarti a ridurre il lavoro di registrazione che ti chiedono. Aumenta le informazioni che puoi condividere aggiungendo al tuo record altri nomi con cui sei conosciuto, informazioni professionali come la tua affiliazione, biografia e parole chiave, finanziamenti che hai ricevuto e lavori che hai creato o a cui hai contribuito.\n -email.welcome.next_steps.1.description.tips=Per ottenere consigli su come aggiungere informazioni al tuo record ORCID, consulta:\n -email.welcome.next_steps.1.description.tips.1=Vedi i nostri consigli per\n -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=sei cose da fare ora che disponi di un ORCID iD -email.welcome.next_steps.1.description.tips.2=. Per consigli su come aggiungere informazioni al tuo record ORCID vedi:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894\n -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Usa il tuo ORCID iD quando pubblichi, chiedi sovvenzioni e altro\n -email.welcome.next_steps.2.description=Molti sistemi richiedono il tuo ORCID iD per creare un collegamento tra te e i tuoi risultati di ricerca e affiliazioni. Usare il tuo ORCID iD e permettere alle organizzazioni di aggiornare il tuo fascicolo ogni volta che lo richiedono ti aiuterà a ottenere il riconoscimento del tuo lavoro e a ridurre il tempo speso per il futuro mantenimento dei registri. -email.welcome.need_help=Hai bisogno di aiuto?\n - -email.welcome.thank_you_for_creating=Grazie di aver creato il tuo identificativo ORCID. Il tuo identificativo ORCID di 16 cifre è -email.welcome.full_orcid_and_link_public=, e il tuo iD di ORCID completo e il link al tuo record pubblico è -email.welcome.please_verify_your_email=Verifica il tuo indirizzo email per completare la registrazione e avere accesso alla modifica manuale dei tuoi dati: clicca sul link seguente e accedi al tuo profilo ORCID. Se non riesci a cliccare sul link, copialo e incollalo nella barra degli indirizzi del browser. -email.welcome.please_visit_your=Vai alla nostra -email.welcome.researcher_homepage=homepage dei ricercatori -email.welcome.for_more_information=per maggiori informazioni su come ottenere il massimo dal tuo profilo ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_ja.properties b/orcid-core/src/main/resources/i18n/email_welcome_ja.properties index 0180bfc6eeb..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_ja.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_ja.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=ORCID識別子を作成していただきありがとうございます。メールアドレスの認証を行って登録を完了し、レコードを手動で編集するためのアクセス権を取得してください: 以下のリンクをクリックし、ORCIDレコードにサインインしてください。リンクをクリックできない場合は、リンクをコピーしてブラウザのアドレスバーに貼り付けてください。 -email.button=メールアドレスを認証してください -email.welcome.your_id.id=あなたの16桁のORCID識別子は以下の通りです -email.welcome.your_id.link=、および完全なORCID iDと公開レコードへのリンクは -email.welcome.next_steps=次のステップ: -email.welcome.next_steps.1=1.ORCIDレコードに情報を追加 -email.welcome.next_steps.1.description.1.1=ORCIDレコードにアクセス: -email.welcome.next_steps.1.description.1.2=あなたのレコードにさらに情報を追加します。まだ行っていない場合は、アカウントに複数のメールアドレスを追加することを強くおすすめします。システムが名前とメールアドレスをチェックし、重複するレコードが作成されないようにするためです。 -email.welcome.next_steps.1.description.2=資金提供者、出版社、大学などは、あなたのORCIDレコードに含まれる情報を使用し、あなたに求める記録管理を削減するのに役立てます。あなたが知っている他の著名な人物、あなたの所属、経歴、キーワードなどの専門的な情報、あなたが受け取った資金、およびあなたが作成またはレコードに貢献した仕事を追加することによって、共有できる情報を増やしてください。 -email.welcome.next_steps.1.description.tips=ORCIDレコードに情報を追加するためのヒントについては、以下を参照してください: -email.welcome.next_steps.1.description.tips.1=ヒントをご覧ください -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=ORCID iDを入手した今やるべき6つのこと -email.welcome.next_steps.1.description.tips.2=。 ORCIDレコードに情報を追加するためのヒントについては、以下を参照してください: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. 公開、助成金の申請などの際にORCID iDを使用する -email.welcome.next_steps.2.description=多くのシステムは、あなたとあなたの研究成果および所属との間にリンクを作成するために、ORCID iDを要求します。ORCID iDを使用し、組織が要求するたびにレコードを更新する許可を組織に与えると、あなたの仕事の功績を認められ、将来の記録管理に費やす時間を削減することができます。 -email.welcome.need_help=サポートが必要ですか? - -email.welcome.thank_you_for_creating=ORCID識別子を作成いただきありがとうございます。お客様の16桁のORCID識別子はこちらです: -email.welcome.full_orcid_and_link_public=、および完全なORCID iDと公開記録へのリンクは -email.welcome.please_verify_your_email=メールアドレスの認証を行って登録を完了し、レコードを手動で編集するためのアクセス権を取得してください: 以下のリンクをクリックし、ORCIDレコードにサインインしてください。リンクをクリックできない場合は、リンクをコピーしてブラウザのアドレスバーに貼り付けてください。 -email.welcome.please_visit_your=以下にアクセスしてください -email.welcome.researcher_homepage=研究者ホームページ -email.welcome.for_more_information=ORCIDレコードの活用法についての詳細をご覧いただけます。 +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_ko.properties b/orcid-core/src/main/resources/i18n/email_welcome_ko.properties index d50b8a38539..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_ko.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_ko.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=ORCID 식별자 생성에 감사드립니다. 이메일을 확인하여 귀하의 등록 절차를 완료해 레코드를 수동으로 편집할 수 있는 접근 권한을 받으십시오. 다음 링크를 클릭해 귀하의 ORCID 레코드에 로그인하십시오. 링크를 클릭할 수 없는 경우에는 브라우저의 주소창에 링크를 복사 붙여넣기 하십시오. -email.button=이메일 주소를 확인합니다 -email.welcome.your_id.id=귀하의 16자리 ORCID 식별자는 -email.welcome.your_id.link=, 그리고 귀하의 전체 ORCID iD와 공개 레코드에 대한 링크는 다음과 같습니다. -email.welcome.next_steps=다음 단계: -email.welcome.next_steps.1=1. 귀하의 ORCID 레코드에 정보를 더하십시오 -email.welcome.next_steps.1.description.1.1=귀하의 ORCID 레코드에 접속 -email.welcome.next_steps.1.description.1.2=그리고 귀하의 레코드에 더 많은 정보를 더하십시오. 시스템이 중복 레코드 생성을 막기 위해 이름과 이메일 주소를 확인하기 때문에 이미 더하지 않으셨다면 귀하의 계정에 1개 이상의 이메일 주소를 더할 것을 강력하게 추천합니다. -email.welcome.next_steps.1.description.2=귀하의 ORCID 레코드에 포함된 귀하의 정보를 이용하는 기금 제공자, 퍼블리셔, 대학, 기타 주체들은 귀하에게 요청하는 레코드 기록보관을 줄일 수 있도록 도움을 줍니다. 귀하가 알고 있는 이름들, 소속기관, 바이오그래피, 키워드, 수여받은 연구 기금, 작성하거나 기여한 저작물 같은 전문적인 정보 등을 더해 공유하는 정보의 양을 늘리십시오. -email.welcome.next_steps.1.description.tips=ORCID 레코드에 정보를 추가하는 방법은 다음을 참조하십시오. -email.welcome.next_steps.1.description.tips.1=다음에 대한 팁을 참조하십시오 -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=ORCID iD로 할 수 있는 6가지 일들 -email.welcome.next_steps.1.description.tips.2=. ORCID 레코드 정보 추가 팁 보기: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. 게시, 보조금 신청 등에 ORCID iD를 사용합니다 -email.welcome.next_steps.2.description=많은 시스템이 귀하, 귀하의 연구 결과, 소속기관 사이의 연결을 만들기 위해 귀하의 ORCID iD를 물어볼 것입니다. 귀하의 ORCID iD를 이용하고 기관이 요청을 할 때마다 귀하의 레코드를 업데이트할 수 있는 권한을 허용하면 연구 업적을 인정받는 데 도움이 되고 레코드 업데이트에 필요한 시간을 단축해줄 것입니다. -email.welcome.need_help=도움이 필요하십니까? - -email.welcome.thank_you_for_creating=ORCID 식별자를 만들어주셔서 감사합니다. 귀하의 16자 ORCID 식별자: -email.welcome.full_orcid_and_link_public=, 그리고 귀하의 전체 ORCID iD와 공개 레코드에 대한 링크는 다음과 같습니다. -email.welcome.please_verify_your_email=이메일을 확인받아 등록이 완료되면 귀하의 레코드를 수동으로 편집하실 수 있습니다. 다음 링크를 클릭하여 ORCID 레코드에 로그인하십시오. 링크가 클릭되지 않으면 링크를 복사해 브라우저 주소창에 붙여넣으면 됩니다. -email.welcome.please_visit_your=ORCID 레코드를 최대한 활용하는 방법을 자세히 알아보려면 -email.welcome.researcher_homepage=연구자 홈페이지 -email.welcome.for_more_information=를 방문하십시오. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_pl.properties b/orcid-core/src/main/resources/i18n/email_welcome_pl.properties index 1f3c0e315c6..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_pl.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_pl.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Dziękujemy za utworzenie identyfikatora ORCID. Zweryfikuj swój adres e-mail, aby dokończyć rejestrację i uzyskać dostęp do ręcznej edycji rekordu: kliknij poniższe łącze i zaloguj się do rekordu ORCID. Jeśli nie możesz kliknąć łącza, skopiuj je i wklej w pasku adresu przeglądarki. -email.button=Zweryfikuj swój adres e-mail -email.welcome.your_id.id=Twój 16-cyfrowy identyfikator ORCID to -email.welcome.your_id.link=, a Twój pełny identyfikator ORCID i łącze do Twojego rekordu publicznego to -email.welcome.next_steps=Kolejne kroki: -email.welcome.next_steps.1=1. Dodaj więcej informacji do swojego rekordu ORCID -email.welcome.next_steps.1.description.1.1=Uzyskaj dostęp do swojego rekordu ORCID pod adresem -email.welcome.next_steps.1.description.1.2=i dodaj więcej informacji do swojego rekordu. Jeśli jeszcze tego nie zrobiono, zdecydowanie zalecamy dodanie więcej niż jednego adresu e-mail do konta, ponieważ nasz system sprawdza nazwiska i adresy e-mail, aby zapobiec tworzeniu zduplikowanych rekordów. -email.welcome.next_steps.1.description.2=Fundatorzy, wydawcy, uniwersytety i inne osoby wykorzystują informacje zawarte w Twoim rekordzie ORCID, aby pomóc Ci ograniczyć czas potrzebny na zarządzanie rekordem. Zwiększ liczbę informacji, które możesz udostępnić, dodając do swojego rekordu inne imiona i nazwiska, pod którymi jesteś znany(-a), informacje zawodowe, takie jak Twoje powiązania, biografię i słowa kluczowe, otrzymane fundusze oraz prace, których jesteś autorem(-ką) lub współtwórcą(-czynią). -email.welcome.next_steps.1.description.tips=Aby uzyskać wskazówki dotyczące dodawania informacji do rekordu ORCID, zapoznaj się z:\n -email.welcome.next_steps.1.description.tips.1=Zobacz nasze wskazówki dotyczące -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=sześć rzeczy, które warto zrobić, gdy masz już identyfikator ORCID -email.welcome.next_steps.1.description.tips.2=. Aby uzyskać wskazówki dotyczące dodawania informacji do rekordu ORCID, zobacz:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Używaj identyfikatora ORCID podczas publikowania, ubiegania się o granty i nie tylko -email.welcome.next_steps.2.description=Wiele systemów prosi o podanie identyfikatora ORCID, aby połączyć Cię a wynikami badań i powiązaniami. Korzystanie z identyfikatora ORCID i udzielanie organizacjom pozwolenia na aktualizowanie Twojego rekordu, kiedy o to poproszą, zapewni Ci odnotowanie Twojego wkładu pracę i skróci czas poświęcany na zarządzanie rekordem w przyszłości. -email.welcome.need_help=Potrzebujesz pomocy? - -email.welcome.thank_you_for_creating=Dziękujemy za utworzenie identyfikatora ORCID. Twój 16-cyfrowy identyfikator ORCID to -email.welcome.full_orcid_and_link_public=, a Twój pełny identyfikator ORCID i łącze do Twojego rekordu publicznego to -email.welcome.please_verify_your_email=Zweryfikuj swój adres e-mail, aby dokończyć rejestrację i uzyskać dostęp do ręcznej edycji rekordu: kliknij poniższe łącze i zaloguj się do rekordu ORCID. Jeśli nie możesz kliknąć łącza, skopiuj je i wklej w pasku adresu przeglądarki. -email.welcome.please_visit_your=Odwiedź naszą -email.welcome.researcher_homepage=stronę badacza, -email.welcome.for_more_information=aby uzyskać więcej informacji na temat tego, jak najlepiej wykorzystać rekord ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_pt.properties b/orcid-core/src/main/resources/i18n/email_welcome_pt.properties index 8ca426ee4b1..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_pt.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_pt.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Obrigado por ter criado o seu identificador ORCID. Verifique o seu endereço de correio eletrónico para completar o seu registo e obter acesso à edição manual do seu registo: clique na seguinte ligação e inicie sessão no seu registo ORCID. Caso não consiga clicar na ligação, copie-a e cole-a na barra de endereços do seu navegador. -email.button=Verifique o seu endereço de correio eletrónico -email.welcome.your_id.id=O seu identificador ORCID de 16 dígitos é -email.welcome.your_id.link=, e o seu iD ORCID iD completo e a ligação ao seu registo público é -email.welcome.next_steps=Próximos passos: -email.welcome.next_steps.1=1. Adicione mais informações ao seu registo ORCID -email.welcome.next_steps.1.description.1.1=Aceda ao seu registo ORCID em -email.welcome.next_steps.1.description.1.2=e acrescente mais informação ao seu registo. Se ainda não o fez, recomendamos fortemente que adicione mais do que um endereço de e-mail à sua conta, sendo que o nosso sistema verifica nomes e endereços de e-mail para prevenir a criação de registos duplicados. -email.welcome.next_steps.1.description.2=A informação incluída no seu registo ORCID é utilizada por financiadores, editores, universidades e outros para ajudar a reduzir a manutenção de registos que lhe é solicitada. Aumente a quantidade de informação que pode partilhar adicionando ao seu registo outros nomes pelo qual você é conhecido, informação pessoal, como a sua filiação, biografia, e palavras-chave, financiamento que tenha recebido, e projetos que tenha desenvolvido ou para os quais tenha contribuído. -email.welcome.next_steps.1.description.tips=Para saber como adicionar informação adicional ao seu registo ORCID, consulte: -email.welcome.next_steps.1.description.tips.1=Saiba quais são as nossas sugestões para -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=seis coisas a fazer agora que tem um iD ORCID -email.welcome.next_steps.1.description.tips.2=. Para saber como pode adicionar informação ao seu registo ORCID, consulte: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Utilize o seu iD ORCID ao publicar, solicitar verbas, e muito mais -email.welcome.next_steps.2.description=Muitos sistemas pedem o seu iD ORCID de modo a criar uma ligação entre si e as instituições e resultados da sua investigação. Com o seu iD ORCID e concedendo às organizações autorização para atualizar o seu registo sempre que o solicitem, poderá ser creditado pelo seu trabalho e reduzir o tempo gasto na atualização futura de registos. -email.welcome.need_help=Precisa de ajuda? - -email.welcome.thank_you_for_creating=Obrigado por criar o seu identificador ORCID. O seu identificador ORCID de 16 dígitos é -email.welcome.full_orcid_and_link_public=, e o seu iD ORCID completo e a ligação para o seu registo público está -email.welcome.please_verify_your_email=Verifique o seu endereço de e-mail para completar o seu registo e obter acesso à edição manual do seu registo: clique na seguinte ligação e inicie sessão no seu registo ORCID. Caso não consiga clicar na ligação, copie-a e cole-a na barra de endereços do seu navegador. -email.welcome.please_visit_your=Visite a nossa -email.welcome.researcher_homepage=página inicial de investigador -email.welcome.for_more_information=para obter mais informações sobre como tirar o máximo partido do seu registo ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_rl.properties b/orcid-core/src/main/resources/i18n/email_welcome_rl.properties index 163a7515039..5190a16fe18 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_rl.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_rl.properties @@ -1,24 +1,11 @@ -email.welcome.thank_you.1=RL -email.welcome.thank_you.2=RL email.button=RL -email.welcome.click_link=RL -email.welcome.your_id.id=RL -email.welcome.your_id.link=RL -email.welcome.next_steps=RL -email.welcome.next_steps.1=RL -email.welcome.next_steps.1.description.1.1=RL -email.welcome.next_steps.1.description.1.2=RL -email.welcome.next_steps.1.description.2=RL -email.welcome.next_steps.1.description.tips=RL -email.welcome.next_steps.1.description.tips.1=RL -email.welcome.next_steps.1.description.tips.1.link.href=RL -email.welcome.next_steps.1.description.tips.1.link.text=RL -email.welcome.next_steps.1.description.tips.2=RL -email.welcome.next_steps.1.description.link.href=RL -email.welcome.next_steps.1.description.link.text=RL -email.welcome.next_steps.2=RL -email.welcome.next_steps.2.description=RL -email.welcome.need_help=RL -email.welcome.need_help.description=RL -email.welcome.need_help.description.link.href=RL -email.welcome.need_help.description.link.text=RL +email.welcome=RL +email.welcome.congrats=RL +email.welcome.for_more_information=RL +email.welcome.please_visit_our=RL +email.welcome.researcher_homepage=RL +email.welcome.verify.1=RL +email.welcome.verify.2=RL +email.welcome.verify.3=RL +email.welcome.verify.4=RL +email.welcome.visit=RL \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_ru.properties b/orcid-core/src/main/resources/i18n/email_welcome_ru.properties index a1d230ebe4f..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_ru.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_ru.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Благодарим вас за создание Вашего идентификатора ORCID. Подтвердите Ваш адрес электронной почты, чтобы завершить регистрацию и получить доступ к редактированию Вашей учетной записи: перейдите по следующей ссылке и войдите в Ваш личный кабинет ORCID. Если Вы не можете перейти по ссылке, то скопируйте и вставьте её в адресную строку вашего браузера. -email.button=Подтвердите свой адрес эл. почты -email.welcome.your_id.id=Ваш 16-значный идентификатор ORCID: -email.welcome.your_id.link=и Ваш полный идентификатор ORCID и ссылка на Ваш публичный профиль: -email.welcome.next_steps=Следующие шаги: -email.welcome.next_steps.1=1. Добавьте больше информации в свою учетную запись ORCID -email.welcome.next_steps.1.description.1.1=Вы можете войти в Вашу учетную запись ORCID по адресу: -email.welcome.next_steps.1.description.1.2=и добавьте больше информации в Ваш профиль. При возможности, мы настоятельно рекомендуем добавить дополнительный(-ые) адрес(-а) электронной почты в Ваш личный кабинет, поскольку наша система проверяет имена и адреса электронной почты для предотвращения создания дублирующих профилей. -email.welcome.next_steps.1.description.2=Спонсоры, издательства, университеты и другие организации используют информацию Вашей учетной записи ORCID, чтобы помочь уменьшить объем требующейся от Вас документации. Эта информация может включать в себя разновидности Вашего имени, данные профессиональной деятельности, образование, биографию, данные о финансировании и работы, которые Вы создали или внесли в Ваш профиль. -email.welcome.next_steps.1.description.tips=Советы по добавлению информации в Ваш профиль ORCID можно найти пройдя по следующей ссыкле:\n -email.welcome.next_steps.1.description.tips.1=Ознакомьтесь с нашими советами касательно -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=шесть вещей, которые можно сделать, имея идентификатор ORCID -email.welcome.next_steps.1.description.tips.2=. Советы по добавлению информации в Ваш профиль ORCID можно найти пройдя по следующей ссыкле:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Используйте Ваш идентификатор ORCID при опубликовании работ, подаче заявок на получение грантов и т.д. -email.welcome.next_steps.2.description=Многие системы просит идентификатор ORCID, чтобы создать связь между Вами, результатами Ваших исследований и Вашими аффилиациями. Предоставляя организациям возможность взаимодействовать с Вашей учетной записью ORCID поможет Вам получить признание за вашу работу и в будущем сократит затраты времени на ведение документации. -email.welcome.need_help=Нужна помощь? - -email.welcome.thank_you_for_creating=Ваш уникальный 16-значный идентификатор ORCID успешно создан. Он выглядит следующим образом: -email.welcome.full_orcid_and_link_public=и Ваш полный идентификатор ORCID и ссылка на Ваш публичный профиль: -email.welcome.please_verify_your_email=Подтвердите адрес электронной почты, чтобы завершить регистрацию и получить возможность редактировать профиль. Нажмите на ссылку, чтобы войти в личный кабинет ORCID. Если вам не удается перейти по ней, скопируйте адрес вручную. -email.welcome.please_visit_your=Посетите -email.welcome.researcher_homepage=главную страницу для научных сотрудников, -email.welcome.for_more_information=чтобы узнать, как пользоваться профилем ORCID. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_tr.properties b/orcid-core/src/main/resources/i18n/email_welcome_tr.properties index 53cc30f952d..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_tr.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_tr.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=ORCID tanımlayıcınızı oluşturduğunuz için teşekkür ederiz. Kaydınızı tamamlamak ve kaydınızı manuel olarak düzenlemek üzere erişim elde etmek için lütfen e-posta adresinizi doğrulayın: aşağıdaki bağlantıya tıklayın ve ORCID kaydınızda oturum açın. Bağlantıya tıklayamıyorsanız kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. -email.button=E-posta adresinizi doğrulayın -email.welcome.your_id.id=16 haneli ORCID tanımlayıcınız -email.welcome.your_id.link=ve ORCID kimliğinizin tamamı ve genel kaydınızın bağlantısı: -email.welcome.next_steps=Sonraki adımlar: -email.welcome.next_steps.1=1. ORCID Kaydınıza daha fazla bilgi ekleyin -email.welcome.next_steps.1.description.1.1=ORCID kaydınıza şuradan erişin: -email.welcome.next_steps.1.description.1.2=ve kaydınıza daha fazla bilgi ekleyin. Henüz yapmadıysanız sistemimiz yinelenen kayıtların oluşturulmasını önlemek için adları ve e-posta adreslerini kontrol ettiği için mutlaka hesabınıza birden fazla e-posta adresi eklemenizi öneririz. -email.welcome.next_steps.1.description.2=Finansman sağlayıcılar, yayıncılar, üniversiteler ve diğerleri, ORCID kaydınızda yer alan bilgileri, sizden istedikleri kayıt tutmayı azaltmaya yardımcı olmak için kullanır. Tanıdığınız diğer isimleri, bağlantınız, biyografiniz ve anahtar kelimeleriniz gibi profesyonel bilgileri, aldığınız finansmanları, oluşturduğunuz veya katkıda bulunduğunuz eserleri kaydınıza ekleyerek paylaşabileceğiniz bilgileri artırın. -email.welcome.next_steps.1.description.tips=ORCID kaydınıza bilgi eklemeyle ilgili ipuçları için bkz:\n -email.welcome.next_steps.1.description.tips.1=Şunun için ipuçlarımıza bakın: -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=Bir ORCID kimliğiniz olduğuna göre şimdi yapmanız gereken altı şey -email.welcome.next_steps.1.description.tips.2=. ORCID kaydınıza bilgi eklemeyle ilgili ipuçları için bkz:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Yayınlarken, hibe başvurusunda bulunurken ve daha fazlasını yaparken ORCID kimliğinizi kullanın -email.welcome.next_steps.2.description=Birçok sistem, sizinle araştırma çıktılarınız ve bağlantılarınız arasında bir bağlantı kurmak için ORCID kimliğinizi ister. ORCID kimliğinizi kullanmak ve kuruluşlara talep ettiklerinde kaydınızı güncelleme izni vermek, çalışmalarınız için kredi almanıza ve gelecekte kayıt tutarken harcanan zamanı azaltmanıza yardımcı olacaktır. -email.welcome.need_help=Yardıma mı İhtiyacınız Var? - -email.welcome.thank_you_for_creating=ORCID tanımlayıcınızı oluşturduğunuz için teşekkürler. 16 haneli ORCID tanımlayıcınız: -email.welcome.full_orcid_and_link_public=ve ORCID kimliğinizin tamamı ve genel kaydınızın bağlantısı: -email.welcome.please_verify_your_email=Kayıt işleminizi tamamlamak ve kaydınızı manuel olarak düzenleme erişimi kazanmak için lütfen e-posta adresinizi doğrulayın: aşağıdaki bağlantıya tıklayın ve ORCID kaydınıza giriş yapın. Bağlantıya tıklayamıyorsanız, bağlantı adresini kopyalayın ve tarayıcınızın adres çubuğuna yapıştırın. -email.welcome.please_visit_your=Lütfen şurayı ziyaret edin: -email.welcome.researcher_homepage=araştırmacı ana sayfası -email.welcome.for_more_information=böylece daha fazla bilgi edinebilir ORCID kaydınızdan en iyi şekilde yararlanabilirsiniz. +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_uk.properties b/orcid-core/src/main/resources/i18n/email_welcome_uk.properties index c0d7e66c198..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_uk.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_uk.properties @@ -1,54 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=Thank you for creating your ORCID identifier. Please verify your email address to complete your registration and gain access to manually edit your record: click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar. email.button=Verify your email address -email.welcome.your_id.id=Your 16-digit ORCID identifier is -email.welcome.your_id.link=, and your full ORCID iD and the link to your public record is -email.welcome.next_steps=Next steps: -email.welcome.next_steps.1=1. Add more information to your ORCID Record -email.welcome.next_steps.1.description.1.1=Access your ORCID record at -email.welcome.next_steps.1.description.1.2=and add more information to your record. If you haven't already done so, we strongly recommend that you add more than one email address to your account, since our system checks names and email addresses to prevent the creation of duplicate records. -email.welcome.next_steps.1.description.2=Funders, publishers, universities, and others use the information contained in your ORCID record to help reduce the record-keeping they ask from you. Increase the information you can share by adding other names you are known by, professional information such as your affiliation, biography, and keywords, funding you have received, and works you have created or contributed to your record. -email.welcome.next_steps.1.description.tips=For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.tips.1=See our tips for -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=six things to do now that you have an ORCID iD -email.welcome.next_steps.1.description.tips.2=. For tips on adding information to your ORCID record see:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. Use your ORCID iD when publishing, applying for grants, and more -email.welcome.next_steps.2.description=Many systems ask for your ORCID iD in order to create a link between you and your research outputs and affiliations. Using your ORCID iD, and granting organizations permission to update your record whenever they request this will help you get credit for your work and reduce time spent on future record-keeping. -email.welcome.need_help=Need Help? +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_xx.properties b/orcid-core/src/main/resources/i18n/email_welcome_xx.properties index 8ecae447d86..6b2627efea8 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_xx.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_xx.properties @@ -1,24 +1,11 @@ -email.welcome.thank_you.1=X -email.welcome.thank_you.2=X email.button=X -email.welcome.click_link=X -email.welcome.your_id.id=X -email.welcome.your_id.link=X -email.welcome.next_steps=X -email.welcome.next_steps.1=X -email.welcome.next_steps.1.description.1.1=X -email.welcome.next_steps.1.description.1.2=X -email.welcome.next_steps.1.description.2=X -email.welcome.next_steps.1.description.tips=X -email.welcome.next_steps.1.description.tips.1=X -email.welcome.next_steps.1.description.tips.1.link.href=X -email.welcome.next_steps.1.description.tips.1.link.text=X -email.welcome.next_steps.1.description.tips.2=X -email.welcome.next_steps.1.description.link.href=X -email.welcome.next_steps.1.description.link.text=X -email.welcome.next_steps.2=X -email.welcome.next_steps.2.description=X -email.welcome.need_help=X -email.welcome.need_help.description=X -email.welcome.need_help.description.link.href=X -email.welcome.need_help.description.link.text=X +email.welcome=X +email.welcome.congrats=X +email.welcome.for_more_information=X +email.welcome.please_visit_our=X +email.welcome.researcher_homepage=X +email.welcome.verify.1=X +email.welcome.verify.2=X +email.welcome.verify.3=X +email.welcome.verify.4=X +email.welcome.visit=X \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_zh_CN.properties b/orcid-core/src/main/resources/i18n/email_welcome_zh_CN.properties index 4adf2947914..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_zh_CN.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_zh_CN.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=感谢您注册 ORCID iD 号。为了完成注册过程并获得手动编辑记录的权限,验证您的电子邮箱地址:单击以下链接并登录您的 ORCID 记录。如果无法单击该链接,请将其复制并粘贴到浏览器地址栏中。 -email.button=验证您的电子邮箱地址 -email.welcome.your_id.id=您的 16 位 ORCID 标识符是 -email.welcome.your_id.link=,您的完整 ORCID iD 号以及指向公开记录的链接是 -email.welcome.next_steps=后续步骤: -email.welcome.next_steps.1=1. 为您的 ORCID 记录添加更多信息 -email.welcome.next_steps.1.description.1.1=访问您的 ORCID 记录 -email.welcome.next_steps.1.description.1.2=并向您的 ORCID 记录添加更多信息,由于我们的系统会检查名称和邮箱地址以防止创建重复记录,我们强烈建议您向账户添加多个邮箱地址。 -email.welcome.next_steps.1.description.2=资助者、出版商、大学和其他人使用您的 ORCID 记录中包含的信息,以帮助减少他们要求您保存记录的次数。增加您可以分享的信息,添加您的其他名字、专业信息(如您的隶属关系)、个人经历和关键词、您获得的资助、以及您创作或贡献的作品。 -email.welcome.next_steps.1.description.tips=有关向您的 ORCID 记录添加信息的提示,请参见:\n -email.welcome.next_steps.1.description.tips.1=请看我们的提示 -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=有了 ORCID iD 号后要做的六件事 -email.welcome.next_steps.1.description.tips.2=。有关向您的 ORCID 记录添加信息的提示,请参见:\n -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. 在发布、申请授权等活动中使用您的 ORCID iD 号 -email.welcome.next_steps.2.description=许多系统要求使用您的 ORCID iD 号来创建您与您的研究成果之间的链接。请使用 ORCID iD 号,并在组织请求时随时授予其更新您的记录的权限,以便获得工作信誉并减少未来的记录保存量。 -email.welcome.need_help=需要帮助? - -email.welcome.thank_you_for_creating=感谢您创建 ORCID 标识符。您的 16 位 ORCID 标识符为 -email.welcome.full_orcid_and_link_public=,您的完整 ORCID iD 号以及指向公开记录的链接是 -email.welcome.please_verify_your_email=请验证您的电子邮件地址,以完成注册并获得手动编辑记录的权限:点击以下链接并登录您的 ORCID 记录。如果无法点击链接,请将其复制并粘贴到浏览器地址栏中。 -email.welcome.please_visit_your=请访问我们的 -email.welcome.researcher_homepage=研究者主页 -email.welcome.for_more_information=了解更多有关如何充分利用 ORCID 记录的信息。 +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/i18n/email_welcome_zh_TW.properties b/orcid-core/src/main/resources/i18n/email_welcome_zh_TW.properties index de44d738f16..4700f0ded31 100644 --- a/orcid-core/src/main/resources/i18n/email_welcome_zh_TW.properties +++ b/orcid-core/src/main/resources/i18n/email_welcome_zh_TW.properties @@ -1,61 +1,19 @@ # welcome_email_html.ftl ################################################# -## Used on: +## Used on: # welcome_email # admin actions # look-up-id-or-email-ng2-template - -#Dear ${emailName} -# -#Thank you for registering for an ORCID identifier through [client name]. To complete your registration please verify your email address. -# -#Or copy and paste this link into your browser's address bar: [verify link] -#Your ORCID iD is [16 digits] -#The link to your public record is [ORCID iD] -# -#Next steps: -# -#1. Add more information to your ORCID Record -# -#Access your ORCID record at ${baseUri}/my-orcid and add additional information to your record. -#Funders, publishers, universities and others use the information contained in an ORCID Record to help decrease the record keeping they ask from you. Increase the amount of information you can share in this way by adding other names you are known by, professional information, funding items you have received and works you have created to your Record. -# -#For tips on adding information to your ORCID record see: -#https://support.orcid.org/hc/articles/360006896894 -# -#2. Continue to use your ORCID iD -# -#May systems ask for your ORCID iD to create a link between you and your research outputs. Continue to use your ORCID iD whenever it is asked for to get credit for your work and decrease future record keeping. -# -#Need Help? -# -#If you have any questions or need help, contact the ORCID support team or visit https://support.orcid.org. -email.welcome.thank_you.1=感謝您創建您的 ORCID 識別碼。請驗證您的電子郵件地址以完成註冊,並且取得手動編輯您的記錄之權限:點擊以下連結並登入您的 ORCID 記錄。如果您無法點擊該連結,請將其複製並貼到瀏覽器的網址列上。 -email.button=確認您的郵件地址 -email.welcome.your_id.id=您的 16 位數 ORCID 識別碼為 -email.welcome.your_id.link=,而您的完整 ORCID iD 和連結至您的公開記錄之連結為 -email.welcome.next_steps=下一步: -email.welcome.next_steps.1=1. 添加更多資訊至您的 ORCID 記錄 -email.welcome.next_steps.1.description.1.1=存取您的 ORCID 記錄於 -email.welcome.next_steps.1.description.1.2=並且添加更多資訊到您的記錄中。如果您尚未添加多個電子郵件地址至您的帳戶,我們強烈建議您這麼做,因為我們的系統會檢查姓名和電子郵件地址,以避免創建重複的記錄。 -email.welcome.next_steps.1.description.2=資助方、出版商、大學和其他方使用您的 ORCID 記錄中包含的資訊來幫助減少他們要求您做的記錄保存。將您使用的其他名稱、專業資訊(如從屬機構、簡介和關鍵字)、您已獲得的補助金,以及您已創建或做出貢獻的研究添加到您的記錄以增加您可分享的資訊。 -email.welcome.next_steps.1.description.tips=關於在您的 ORCID 記錄中添加資訊的小提示,請參閱: -email.welcome.next_steps.1.description.tips.1=查看關於以下的提示: -email.welcome.next_steps.1.description.tips.1.link.href=https://orcid.org/blog/2015/07/23/six-things-do-now-you%E2%80%99ve-got-orcid-id -email.welcome.next_steps.1.description.tips.1.link.text=有了 ORCID iD 後,您現在該做的六件事 -email.welcome.next_steps.1.description.tips.2=。關於在您的 ORCID 記錄中添加資訊的小提示,請參閱: -email.welcome.next_steps.1.description.link.href=https://support.orcid.org/hc/articles/360006896894 -email.welcome.next_steps.1.description.link.text=https://support.orcid.org/hc/articles/360006896894 - -email.welcome.next_steps.2=2. 發表研究、申請補助金等等時,使用您的 ORCID iD -email.welcome.next_steps.2.description=許多系統都會要求您提供您的 ORCID iD,以在您與您的研究成果和從屬機構之間建立聯繫。使用您的 ORCID iD,並且在機構要求時授予其更新您的記錄之權限,將幫助您為您的研究取得引用積分,並且減少將來花在保存記錄上的時間。 -email.welcome.need_help=需要幫助嗎? - -email.welcome.thank_you_for_creating=感謝您建立您的 ORCID 識別碼。您的 16 位數 ORCID 識別碼為 -email.welcome.full_orcid_and_link_public=,而您的完整 ORCID iD 和連結至您的公開記錄之連結為 -email.welcome.please_verify_your_email=請驗證您的電子郵件地址以完成註冊,並且取得手動編輯您的記錄之權限:點擊以下連結並登入您的 ORCID 記錄。如果您無法點擊該連結,請將其複製並貼到瀏覽器的網址列上。 -email.welcome.please_visit_your=請造訪我們的 -email.welcome.researcher_homepage=研究者主頁 -email.welcome.for_more_information=以了解更多關於如何充分利用您的 ORCID 記錄的資訊。 +email.button=Verify your email address +email.welcome=Welcome to ORCID +email.welcome.congrats=Congratulations on creating your new ORCID iD! This persistent digital identifier, that you own and control, will distinguish you from every other researcher and reduce your burden when you use it in manuscript and grant submission systems. +email.welcome.for_more_information=for more information on how to get the most out of your ORCID record. +email.welcome.please_visit_our=Please visit our +email.welcome.researcher_homepage=researcher homepage +email.welcome.verify.1=Verifying your email address unlocks advanced editing features in your ORCID record. Until then you will only be able to manage your names and email addresses in your ORCID record. +email.welcome.verify.2=How do I verify my email address? +email.welcome.verify.3=Simply click the button below to sign into your ORCID record and complete verification. +email.welcome.verify.4=Or, copy and paste the link below into your browser's address bar: +email.welcome.visit=Please visit our researcher homepage for more information on how to get the most out of your ORCID record. \ No newline at end of file diff --git a/orcid-core/src/main/resources/orcid-core-context.xml b/orcid-core/src/main/resources/orcid-core-context.xml index 76f109dc3ca..5b0c52ac219 100644 --- a/orcid-core/src/main/resources/orcid-core-context.xml +++ b/orcid-core/src/main/resources/orcid-core-context.xml @@ -1212,8 +1212,11 @@ + + + diff --git a/orcid-core/src/main/resources/org/orcid/core/template/email_footer.ftl b/orcid-core/src/main/resources/org/orcid/core/template/email_footer.ftl index cbe1a64df0d..29894621caa 100644 --- a/orcid-core/src/main/resources/org/orcid/core/template/email_footer.ftl +++ b/orcid-core/src/main/resources/org/orcid/core/template/email_footer.ftl @@ -9,4 +9,4 @@ https://support.orcid.org <@emailMacros.msg "email.common.address2" /> -${baseUri} +${baseUri} \ No newline at end of file diff --git a/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address.ftl b/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address.ftl new file mode 100644 index 00000000000..c917c34d235 --- /dev/null +++ b/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address.ftl @@ -0,0 +1,5 @@ +<@emailMacros.msg "email.welcome.verify.2" /> + +<@emailMacros.msg "email.welcome.verify.4" /> + +${verificationUrl}?lang=${locale} \ No newline at end of file diff --git a/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address_html.ftl b/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address_html.ftl new file mode 100644 index 00000000000..4d24229fd87 --- /dev/null +++ b/orcid-core/src/main/resources/org/orcid/core/template/how_do_i_verify_my_email_address_html.ftl @@ -0,0 +1,33 @@ +

+ <@emailMacros.msg "email.welcome.verify.2" />
+ <@emailMacros.msg "email.welcome.verify.3" /> + + + + + + +
+ <@emailMacros.msg "email.button" /> +
+

+

+ <@emailMacros.msg "email.welcome.verify.4" /> + + + + + + +
+

+ ${verificationUrl}?lang=${locale} +

+
+

\ No newline at end of file diff --git a/orcid-core/src/main/resources/org/orcid/core/template/verification_email_html_v2.ftl b/orcid-core/src/main/resources/org/orcid/core/template/verification_email_html_v2.ftl index 0bfbce81fb9..b8150dca9b6 100644 --- a/orcid-core/src/main/resources/org/orcid/core/template/verification_email_html_v2.ftl +++ b/orcid-core/src/main/resources/org/orcid/core/template/verification_email_html_v2.ftl @@ -1,89 +1,32 @@ -<#-- - - ============================================================================= - - ORCID (R) Open Source - http://orcid.org - - Copyright (c) 2012-2014 ORCID, Inc. - Licensed under an MIT-Style License (MIT) - http://orcid.org/open-source-license - - This copyright and license information (including a link to the full license) - shall be included in its entirety in all copies or substantial portion of - the software. - - ============================================================================= - ---> <#import "email_macros.ftl" as emailMacros /> <#escape x as x?html> - - ${subject} - - -
- ORCID.org -
-

- <#if isPrimary?? && isPrimary> - <@emailMacros.msg "email.verify.primary_reminder_v2" /><@emailMacros.space /> - - <@emailMacros.msg "email.verify.thank_you_button" /> + + ${subject} + + +

+ ORCID.org +
+

+ <@emailMacros.msg "email.welcome.your_id.id" /><@emailMacros.space />${orcidId}
+ <@emailMacros.msg "email.welcome.your_id.link" /><@emailMacros.space />${baseUri}/${orcidId}

- - - - - - -
- <@emailMacros.msg "email.button" /> -
- - - - - - - -
-

- ${verificationUrl}?lang=${locale} -

-
- -

- <@emailMacros.msg "email.verify.1" /><@emailMacros.space />${orcid}<@emailMacros.msg "email.verify.2" /><@emailMacros.space />${baseUri}/${orcid}<@emailMacros.space /><@emailMacros.msg "email.verify.primary_email_1" /><@emailMacros.space />${primaryEmail}<@emailMacros.msg "email.verify.primary_email_2" />. -

- <#include "email_footer_html.ftl"/> -
- +
+

+ <@emailMacros.msg "email.verify.hi" /><@emailMacros.space />${userName},
+ <#if isPrimary?? && isPrimary><@emailMacros.msg "email.verify.primary.reminder" /><#else><@emailMacros.msg "email.verify.alternate.reminder" /> +

+ <#include "how_do_i_verify_my_email_address_html.ftl"/> +
+ <#if isPrimary?? && isPrimary> +

+ <@emailMacros.msg "email.welcome.please_visit_our" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" /> +

+ + <#include "email_footer_html.ftl"/> +
+ diff --git a/orcid-core/src/main/resources/org/orcid/core/template/verification_email_v2.ftl b/orcid-core/src/main/resources/org/orcid/core/template/verification_email_v2.ftl index 1ef6330fd54..c578d75c1b9 100644 --- a/orcid-core/src/main/resources/org/orcid/core/template/verification_email_v2.ftl +++ b/orcid-core/src/main/resources/org/orcid/core/template/verification_email_v2.ftl @@ -1,29 +1,14 @@ -<#-- - - ============================================================================= - - ORCID (R) Open Source - http://orcid.org +<#import "email_macros.ftl" as emailMacros /> +<@emailMacros.msg "email.welcome.your_id.id" /><@emailMacros.space />${orcidId} +<@emailMacros.msg "email.welcome.your_id.link" /><@emailMacros.space />${baseUri}/${orcidId} - Copyright (c) 2012-2014 ORCID, Inc. - Licensed under an MIT-Style License (MIT) - http://orcid.org/open-source-license +<@emailMacros.msg "email.verify.hi" /><@emailMacros.space />${userName}, + <#if isPrimary?? && isPrimary><@emailMacros.msg "email.verify.primary.reminder" /><#else><@emailMacros.msg "email.verify.alternate.reminder" /> - This copyright and license information (including a link to the full license) - shall be included in its entirety in all copies or substantial portion of - the software. - ============================================================================= +<#include "how_do_i_verify_my_email_address.ftl"/> ---> -<#import "email_macros.ftl" as emailMacros /> <#if isPrimary?? && isPrimary> - <@emailMacros.msg "email.verify.primary_reminder_v2" /><@emailMacros.space /> - -<@emailMacros.msg "email.verify.thank_you" /> - -${verificationUrl}?lang=${locale} - -<@emailMacros.msg "email.verify.1" /><@emailMacros.space />${orcid}<@emailMacros.msg "email.verify.2" /><@emailMacros.space />${baseUri}/${orcid}?lang=${locale}<@emailMacros.space /><@emailMacros.msg "email.verify.primary_email_1" /><@emailMacros.space />${primaryEmail}<@emailMacros.msg "email.verify.primary_email_2" />. - -<#include "email_footer.ftl"/> +<@emailMacros.msg "email.welcome.please_visit_our" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" /> + +<#include "email_footer.ftl"/> \ No newline at end of file diff --git a/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_html_v2.ftl b/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_html_v2.ftl index e7e997ee7ae..a0680244566 100644 --- a/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_html_v2.ftl +++ b/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_html_v2.ftl @@ -24,65 +24,25 @@ ${subject} -
+
ORCID.org
-

- <@emailMacros.msg "email.welcome.thank_you_for_creating" /><@emailMacros.space />${orcidId}<@emailMacros.msg "email.welcome.full_orcid_and_link_public" /><@emailMacros.space />${baseUri}/${orcidId} +

+ <@emailMacros.msg "email.welcome.your_id.id" /><@emailMacros.space />${orcidId}
+ <@emailMacros.msg "email.welcome.your_id.link" /><@emailMacros.space />${baseUri}/${orcidId}

-

- <@emailMacros.msg "email.welcome.please_verify_your_email" /> +


+

+ <@emailMacros.msg "email.welcome" /><@emailMacros.space />${userName},
+ <@emailMacros.msg "email.welcome.congrats" />

- - - - - - - -
- <@emailMacros.msg "email.button" /> -
- - - - - - - -
-

- ${verificationUrl}?lang=${locale} -

-
- - -

- <@emailMacros.msg "email.welcome.please_visit_your" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" /> +

+ <@emailMacros.msg "email.welcome.verify.1" /> +

+ <#include "how_do_i_verify_my_email_address_html.ftl"/> +
+

+ <@emailMacros.msg "email.welcome.please_visit_our" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" />

<#include "email_footer_html.ftl"/>
diff --git a/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_v2.ftl b/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_v2.ftl index 23f5ab9c28e..57deb640511 100644 --- a/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_v2.ftl +++ b/orcid-core/src/main/resources/org/orcid/core/template/welcome_email_v2.ftl @@ -18,14 +18,16 @@ --> <#import "email_macros.ftl" as emailMacros /> -<@emailMacros.msg "email.welcome.thank_you_for_creating" /><@emailMacros.space />${orcidId}<@emailMacros.space /><@emailMacros.msg "email.welcome.full_orcid_and_link_public" /><@emailMacros.space />${baseUri}/${orcidId} +<@emailMacros.msg "email.welcome.your_id.id" /><@emailMacros.space />${orcidId}
+<@emailMacros.msg "email.welcome.your_id.link" /><@emailMacros.space />${baseUri}/${orcidId} -<@emailMacros.msg "email.welcome.please_verify_your_email" /> +<@emailMacros.msg "email.welcome" /><@emailMacros.space />${userName} +<@emailMacros.msg "email.welcome.congrats" /> -<@emailMacros.msg "email.button" /> +<@emailMacros.msg "email.welcome.verify.1" /> -${verificationUrl}?lang=${locale} +<#include "how_do_i_verify_my_email_address.ftl"/> -<@emailMacros.msg "email.welcome.please_visit_your" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" /> +<@emailMacros.msg "email.welcome.please_visit_our" /><@emailMacros.space /><@emailMacros.msg "email.welcome.researcher_homepage" /><@emailMacros.space /><@emailMacros.msg "email.welcome.for_more_information" /> <#include "email_footer.ftl"/> diff --git a/orcid-core/src/test/java/org/orcid/core/common/manager/EmailDomainManagerTest.java b/orcid-core/src/test/java/org/orcid/core/common/manager/EmailDomainManagerTest.java index bc347b9977f..de67c61336a 100644 --- a/orcid-core/src/test/java/org/orcid/core/common/manager/EmailDomainManagerTest.java +++ b/orcid-core/src/test/java/org/orcid/core/common/manager/EmailDomainManagerTest.java @@ -4,7 +4,11 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -16,6 +20,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.orcid.core.common.manager.impl.EmailDomainManagerImpl; +import org.orcid.core.common.manager.impl.EmailDomainManagerImpl.STATUS; import org.orcid.persistence.dao.EmailDomainDao; import org.orcid.persistence.jpa.entities.EmailDomainEntity; import org.orcid.persistence.jpa.entities.EmailDomainEntity.DomainCategory; @@ -38,12 +43,17 @@ public void before() { EmailDomainEntity e1 = new EmailDomainEntity("gmail.com", DomainCategory.PERSONAL); EmailDomainEntity e2 = new EmailDomainEntity("yahoo.com", DomainCategory.PERSONAL); - EmailDomainEntity e3 = new EmailDomainEntity("orcid.org", DomainCategory.PROFESSIONAL); + EmailDomainEntity e3 = new EmailDomainEntity("orcid.org", DomainCategory.PROFESSIONAL, "https://ror.org/04fa4r544"); + e3.setId(1000L); when(emailDomainDaoReadOnlyMock.findByCategory(eq(DomainCategory.PERSONAL))).thenReturn(List.of(e1, e2)); when(emailDomainDaoReadOnlyMock.findByCategory(eq(DomainCategory.PROFESSIONAL))).thenReturn(List.of(e3)); when(emailDomainDaoReadOnlyMock.findByEmailDoman("gmail.com")).thenReturn(e1); + when(emailDomainDaoReadOnlyMock.findByEmailDoman("orcid.org")).thenReturn(e3); + + when(emailDomainDaoMock.createEmailDomain(eq("new.domain"), eq(DomainCategory.PROFESSIONAL), eq("https://ror.org/0"))).thenReturn(new EmailDomainEntity("new.domain", DomainCategory.PROFESSIONAL, "https://ror.org/0")); + when(emailDomainDaoMock.updateRorId(1000L, "https://ror.org/0")).thenReturn(true); } @Test(expected = IllegalArgumentException.class) @@ -135,4 +145,28 @@ public void findByCategory_TwoResultsTest() { assertEquals(DomainCategory.PERSONAL, personal.get(1).getCategory()); assertEquals("yahoo.com", personal.get(1).getEmailDomain()); } + + @Test + public void createOrUpdateEmailDomain_CreateTest() { + STATUS s = edm.createOrUpdateEmailDomain("new.domain", "https://ror.org/0"); + assertEquals(STATUS.CREATED, s); + verify(emailDomainDaoMock, times(1)).createEmailDomain(eq("new.domain"), eq(DomainCategory.PROFESSIONAL), eq("https://ror.org/0")); + verify(emailDomainDaoMock, never()).updateRorId(anyLong(), anyString()); + } + + @Test + public void createOrUpdateEmailDomain_UpdateTest() { + STATUS s = edm.createOrUpdateEmailDomain("orcid.org", "https://ror.org/0"); + assertEquals(STATUS.UPDATED, s); + verify(emailDomainDaoMock, times(1)).updateRorId(eq(1000L), eq("https://ror.org/0")); + verify(emailDomainDaoMock, never()).createEmailDomain(anyString(), any(), anyString()); + } + + @Test + public void createOrUpdateEmailDomain_NoUpdatesTest() { + STATUS s = edm.createOrUpdateEmailDomain("orcid.org", "https://ror.org/04fa4r544"); + assertNull(s); + verify(emailDomainDaoMock, never()).updateRorId(anyLong(), anyString()); + verify(emailDomainDaoMock, never()).createEmailDomain(anyString(), any(), anyString()); + } } diff --git a/orcid-core/src/test/java/org/orcid/core/manager/TemplateManagerTest.java b/orcid-core/src/test/java/org/orcid/core/manager/TemplateManagerTest.java index fbcdba1cbcc..2b21ae373b3 100644 --- a/orcid-core/src/test/java/org/orcid/core/manager/TemplateManagerTest.java +++ b/orcid-core/src/test/java/org/orcid/core/manager/TemplateManagerTest.java @@ -1,9 +1,9 @@ package org.orcid.core.manager; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashMap; import java.util.Locale; @@ -32,38 +32,83 @@ public class TemplateManagerTest { private OrcidUrlManager orcidUrlManager; @Resource(name = "messageSource") - private MessageSource messages; + private MessageSource messages; @Test - public void testProcessTemplate() { - Map params = new HashMap(); - params.put("name", "Declan"); - params.put("word", "cucumber"); - String result = templateManager.processTemplate("test.ftl", params); - assertNotNull(result); - assertEquals("Hello, Declan. Did you say cucumber?", result); - } + public void testGenerateVerifyEmailNonPrimaryPlain() throws IOException { + String expectedText = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_non_primary.txt"), StandardCharsets.UTF_8); + + Map templateParams = new HashMap(); + templateParams.put("primaryEmail", "josiah_carberry@brown.edu"); + templateParams.put("userName", "Josiah Carberry"); + templateParams.put("subject", "[ORCID] Reminder to verify your email address"); + templateParams.put("verificationUrl", "http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0"); + templateParams.put("orcidId", "4444-4444-4444-4446"); + templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); + addStandardParams(templateParams); + // Generate body from template + String body = templateManager.processTemplate("verification_email_v2.ftl", templateParams); + + assertEquals(expectedText, body); + } + @Test - public void testGenerateVerifyEmailBody() throws IOException { - String expectedText = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_body.txt")); - String expectedHtml = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_body.html")); - + public void testGenerateVerifyEmailPrimaryPlain() throws IOException { + String expectedText = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_primary.txt"), StandardCharsets.UTF_8); + Map templateParams = new HashMap(); templateParams.put("primaryEmail", "josiah_carberry@brown.edu"); - templateParams.put("emailName", "Josiah Carberry"); + templateParams.put("userName", "Josiah Carberry"); templateParams.put("subject", "[ORCID] Reminder to verify your email address"); templateParams.put("verificationUrl", "http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0"); - templateParams.put("orcid", "4444-4444-4444-4446"); + templateParams.put("orcidId", "4444-4444-4444-4446"); templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); - templateParams.put("baseUriHttp", orcidUrlManager.getBaseUriHttp()); + templateParams.put("isPrimary", true); addStandardParams(templateParams); // Generate body from template String body = templateManager.processTemplate("verification_email_v2.ftl", templateParams); + + assertEquals(expectedText, body); + } + + @Test + public void testGenerateVerifyEmailNonPrimaryHtml() throws IOException { + String expectedHtml = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_non_primary.html"), StandardCharsets.UTF_8); + + Map templateParams = new HashMap(); + templateParams.put("primaryEmail", "josiah_carberry@brown.edu"); + templateParams.put("userName", "Josiah Carberry"); + templateParams.put("subject", "[ORCID] Reminder to verify your email address"); + templateParams.put("verificationUrl", "http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0"); + templateParams.put("orcidId", "4444-4444-4444-4446"); + templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); + addStandardParams(templateParams); + + // Generate body from template + String htmlBody = templateManager.processTemplate("verification_email_html_v2.ftl", templateParams); + + assertEquals(expectedHtml, htmlBody); + } + + @Test + public void testGenerateVerifyEmailPrimaryHtml() throws IOException { + String expectedHtml = IOUtils.toString(getClass().getResourceAsStream("example_verification_email_primary.html"), StandardCharsets.UTF_8); + + Map templateParams = new HashMap(); + templateParams.put("primaryEmail", "josiah_carberry@brown.edu"); + templateParams.put("userName", "Josiah Carberry"); + templateParams.put("subject", "[ORCID] Reminder to verify your email address"); + templateParams.put("verificationUrl", "http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0"); + templateParams.put("orcidId", "4444-4444-4444-4446"); + templateParams.put("baseUri", orcidUrlManager.getBaseUrl()); + templateParams.put("isPrimary", true); + addStandardParams(templateParams); + + // Generate body from template String htmlBody = templateManager.processTemplate("verification_email_html_v2.ftl", templateParams); - assertEquals(expectedText, body); assertEquals(expectedHtml, htmlBody); } diff --git a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.html b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.html deleted file mode 100644 index c039b148b10..00000000000 --- a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - [ORCID] Reminder to verify your email address - - -
- ORCID.org -
-

-To verify your email address, click the following button and sign into your ORCID record. If you can't click the button, copy and paste the link below into your browser's address bar:

- - - - - - -
- Verify your email address -
- - - - - - - -
-

- http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en -

-
- -

- Your 16-digit ORCID identifier is 4444-4444-4444-4446, and your full ORCID iD and the link to your public record is https://testserver.orcid.org/4444-4444-4444-4446 (primary email address: josiah_carberry@brown.edu). -

-

-

-Warm Regards,
-ORCID Support Team
-https://support.orcid.org
-
-

-

-You have received this email as a service announcement related to your ORCID Account.

-

- -email preferences -| privacy policy -| ORCID, Inc. | 10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA -| ORCID.org - -

-
- - diff --git a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.html b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.html new file mode 100644 index 00000000000..e183c954857 --- /dev/null +++ b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.html @@ -0,0 +1,68 @@ + + + + [ORCID] Reminder to verify your email address + + +
+ ORCID.org +
+

+ Your ORCID iD: 4444-4444-4444-4446
+ Your ORCID record is https://testserver.orcid.org/4444-4444-4444-4446 +

+
+

+ Hi Josiah Carberry,
+You need to verify your email address.

+

+ How do I verify my email address?
+Simply click the button below to sign into your ORCID record and complete verification. + + + + + +
+ Verify your email address +
+

+

+Or, copy and paste the link below into your browser's address bar: + + + + + +
+

+ http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en +

+
+


+

+

+Warm Regards,
+ORCID Support Team
+https://support.orcid.org
+
+

+

+You have received this email as a service announcement related to your ORCID Account.

+

+ +email preferences +| privacy policy +| ORCID, Inc. | 10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA +| ORCID.org + +

+
+ + diff --git a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.txt b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.txt similarity index 51% rename from orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.txt rename to orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.txt index 8b513334045..c9814c6e584 100644 --- a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_body.txt +++ b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_non_primary.txt @@ -1,8 +1,12 @@ -To verify your email address, click the following link and sign into your ORCID record. If you can't click the link, copy and paste it into your browser's address bar: -http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en +Your ORCID iD: 4444-4444-4444-4446 +Your ORCID record is https://testserver.orcid.org/4444-4444-4444-4446 -Your 16-digit ORCID identifier is 4444-4444-4444-4446, and your full ORCID iD and the link to your public record is https://testserver.orcid.org/4444-4444-4444-4446?lang=en (primary email address: josiah_carberry@brown.edu). +Hi Josiah Carberry, +You need to verify your email address. +How do I verify my email address? +Or, copy and paste the link below into your browser's address bar: +http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en Warm Regards, ORCID Support Team https://support.orcid.org @@ -12,4 +16,4 @@ email preferences (https://testserver.orcid.org/account) privacy policy (https://testserver.orcid.org/privacy-policy) ORCID, Inc. 10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA -https://testserver.orcid.org +https://testserver.orcid.org \ No newline at end of file diff --git a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.html b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.html new file mode 100644 index 00000000000..cfa14ee28ff --- /dev/null +++ b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.html @@ -0,0 +1,71 @@ + + + + [ORCID] Reminder to verify your email address + + +
+ ORCID.org +
+

+ Your ORCID iD: 4444-4444-4444-4446
+ Your ORCID record is https://testserver.orcid.org/4444-4444-4444-4446 +

+
+

+ Hi Josiah Carberry,
+This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record.

+

+ How do I verify my email address?
+Simply click the button below to sign into your ORCID record and complete verification. + + + + + +
+ Verify your email address +
+

+

+Or, copy and paste the link below into your browser's address bar: + + + + + +
+

+ http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en +

+
+


+

+ Please visit our researcher homepage for more information on how to get the most out of your ORCID record. +

+

+

+Warm Regards,
+ORCID Support Team
+https://support.orcid.org
+
+

+

+You have received this email as a service announcement related to your ORCID Account.

+

+ +email preferences +| privacy policy +| ORCID, Inc. | 10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA +| ORCID.org + +

+
+ + diff --git a/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.txt b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.txt new file mode 100644 index 00000000000..b59adc89620 --- /dev/null +++ b/orcid-core/src/test/resources/org/orcid/core/manager/example_verification_email_primary.txt @@ -0,0 +1,20 @@ +Your ORCID iD: 4444-4444-4444-4446 +Your ORCID record is https://testserver.orcid.org/4444-4444-4444-4446 + +Hi Josiah Carberry, +This is a friendly reminder to verify your email address in your ORCID record so that you can unlock advanced editing features in your ORCID record. Until then, you will only be able to manage your names and email addresses in your ORCID record. + +How do I verify my email address? +Or, copy and paste the link below into your browser's address bar: +http://testserver.orcid.org/verify-email/WnhVWGhYVk9lTng4bWdqaDl0azBXY3BmN1F4dHExOW95SnNxeVJSMy9Scz0?lang=en +Please visit our researcher homepage for more information on how to get the most out of your ORCID record. +Warm Regards, +ORCID Support Team +https://support.orcid.org + +You have received this email as a service announcement related to your ORCID Account. +email preferences (https://testserver.orcid.org/account) +privacy policy (https://testserver.orcid.org/privacy-policy) +ORCID, Inc. +10411 Motor City Drive, Suite 750, Bethesda, MD 20817, USA +https://testserver.orcid.org \ No newline at end of file diff --git a/orcid-core/src/test/resources/org/orcid/core/template/test.ftl b/orcid-core/src/test/resources/org/orcid/core/template/test.ftl deleted file mode 100644 index e85c0386479..00000000000 --- a/orcid-core/src/test/resources/org/orcid/core/template/test.ftl +++ /dev/null @@ -1 +0,0 @@ -Hello, ${name}. Did you say ${word}? \ No newline at end of file diff --git a/orcid-core/src/test/resources/test-activities-2.0_rc1.xml b/orcid-core/src/test/resources/test-activities-2.0_rc1.xml deleted file mode 100644 index d45f3aaa812..00000000000 --- a/orcid-core/src/test/resources/test-activities-2.0_rc1.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - education:department-name - education:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - affiliation:department-name - affiliation:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - common:translated-title - - - - http://tempuri.org - self - grant_number - funding:external-identifier-value - - - grant - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - - - - - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - - http://orcid.org - self - agr - work:external-identifier-id - - - - 1948 - 02 - 02 - - issn:1119191 - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2005-11-12T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - - common:translated-title - - - - http://orcid.org - self - agr - work:external-identifier-id - - - artistic-performance - - 1948 - 02 - 02 - - - - - \ No newline at end of file diff --git a/orcid-core/src/test/resources/test-activities-2.0_rc2.xml b/orcid-core/src/test/resources/test-activities-2.0_rc2.xml deleted file mode 100644 index 9345b990ba3..00000000000 --- a/orcid-core/src/test/resources/test-activities-2.0_rc2.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - 2005-11-12T12:00:00 - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - education:department-name - education:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - affiliation:department-name - affiliation:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - common:translated-title - - - - grant_number - funding:external-identifier-value - http://tempuri.org - self - - - grant - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - - agr - work:external-identifier-id - http://orcid.org - self - - - - 1948 - 02 - 02 - - issn:1119191 - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - 2005-11-12T12:00:00 - - 2005-11-12T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2005-11-12T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - - common:translated-title - - - - agr - work:external-identifier-id - http://orcid.org - self - - - artistic-performance - - 1948 - 02 - 02 - - - - - \ No newline at end of file diff --git a/orcid-core/src/test/resources/test-activities-2.0_rc3.xml b/orcid-core/src/test/resources/test-activities-2.0_rc3.xml deleted file mode 100644 index fdfbcf226a5..00000000000 --- a/orcid-core/src/test/resources/test-activities-2.0_rc3.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - 2005-11-12T12:00:00 - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - education:department-name - education:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - affiliation:department-name - affiliation:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - common:translated-title - - - - grant_number - funding:external-identifier-value - http://tempuri.org - self - - - grant - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - - agr - work:external-identifier-id - http://orcid.org - self - - - - 1948 - 02 - 02 - - issn:1119191 - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - 2005-11-12T12:00:00 - - 2005-11-12T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2005-11-12T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - - common:translated-title - - - - agr - work:external-identifier-id - http://orcid.org - self - - - artistic-performance - - 1948 - 02 - 02 - - - - - \ No newline at end of file diff --git a/orcid-core/src/test/resources/test-activities-2.0_rc4.xml b/orcid-core/src/test/resources/test-activities-2.0_rc4.xml deleted file mode 100644 index 288258d26c7..00000000000 --- a/orcid-core/src/test/resources/test-activities-2.0_rc4.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - 2005-11-12T12:00:00 - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - education:department-name - education:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - affiliation:department-name - affiliation:role-title - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - common:translated-title - - - - grant_number - funding:external-identifier-value - http://tempuri.org - self - - - grant - - 2014 - 12 - 20 - - - 2014 - 12 - 20 - - - - - - 2001-12-31T12:00:00 - - 2001-12-31T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2001-12-31T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - - agr - work:external-identifier-id - http://orcid.org - self - - - - 1948 - 02 - 02 - - issn:1119191 - - common:name - - common:city - common:region - AF - - - common:disambiguated-organization-identifier - common:disambiguation-source - - - - - - - 2005-11-12T12:00:00 - - 2005-11-12T12:00:00 - - - agr - activities:external-identifier-id - - - - 2001-12-31T12:00:00 - 2005-11-12T12:00:00 - - - http://orcid.org/8888-8888-8888-8880 - 8888-8888-8888-8880 - orcid.org - - - - - common:title - - common:translated-title - - - - agr - work:external-identifier-id - http://orcid.org - self - - - artistic-performance - - 1948 - 02 - 02 - - - - - \ No newline at end of file diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/EmailDomainDao.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/EmailDomainDao.java index bb5c5730a53..93ea7a3bc35 100644 --- a/orcid-persistence/src/main/java/org/orcid/persistence/dao/EmailDomainDao.java +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/EmailDomainDao.java @@ -6,8 +6,12 @@ public interface EmailDomainDao extends GenericDao { EmailDomainEntity createEmailDomain(String emailDomain, EmailDomainEntity.DomainCategory category); + + EmailDomainEntity createEmailDomain(String emailDomain, EmailDomainEntity.DomainCategory category, String rorId); boolean updateCategory(long id, EmailDomainEntity.DomainCategory category); + + boolean updateRorId(long id, String rorId); EmailDomainEntity findByEmailDoman(String emailDomain); diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/EventDao.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/EventDao.java new file mode 100644 index 00000000000..99787a759c5 --- /dev/null +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/EventDao.java @@ -0,0 +1,20 @@ +package org.orcid.persistence.dao; + +import org.orcid.persistence.jpa.entities.EventEntity; + +import java.util.List; + +/** + * + * @author Daniel Palafox + * + */ +public interface EventDao extends GenericDao{ + + boolean removeEvents(String orcid); + + List getEvents(String orcid); + + void createEvent(EventEntity eventEntity); + +} diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/ProfileDao.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/ProfileDao.java index cbd04f1c121..1eca0c1c920 100644 --- a/orcid-persistence/src/main/java/org/orcid/persistence/dao/ProfileDao.java +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/ProfileDao.java @@ -5,7 +5,7 @@ import java.util.HashMap; import java.util.List; -import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; import org.orcid.persistence.jpa.entities.EmailEventType; import org.orcid.persistence.jpa.entities.IndexingStatus; import org.orcid.persistence.jpa.entities.OrcidGrantedAuthority; @@ -77,9 +77,9 @@ public interface ProfileDao extends GenericDao { void updateLastModifiedDateAndIndexingStatusWithoutResult(String orcid, Date lastModified, IndexingStatus indexingStatus); - public List> findEmailsUnverfiedDays(int daysUnverified, int maxResults); + public List> findEmailsUnverfiedDays(int daysUnverified, int maxResults); - public HashMap> findEmailsUnverifiedDaysByEventType(int daysUnverified, int daysTooOld); + public List> findEmailsUnverifiedDaysByEventType(int daysUnverified, int daysTooOld); String retrieveOrcidType(String orcid); diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EmailDomainDaoImpl.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EmailDomainDaoImpl.java index 5a8416d1e3c..6c75eec184f 100644 --- a/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EmailDomainDaoImpl.java +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EmailDomainDaoImpl.java @@ -31,6 +31,18 @@ public EmailDomainEntity createEmailDomain(String emailDomain, DomainCategory ca entityManager.persist(e); return e; } + + @Override + @Transactional + public EmailDomainEntity createEmailDomain(String emailDomain, DomainCategory category, String rorId) { + LOG.debug("Creating domain {} with category {} and ror Id {}", emailDomain, category, rorId); + EmailDomainEntity e = new EmailDomainEntity(); + e.setEmailDomain(emailDomain); + e.setCategory(category); + e.setRorId(rorId); + entityManager.persist(e); + return e; + } @Override @Transactional @@ -42,6 +54,16 @@ public boolean updateCategory(long id, DomainCategory category) { return query.executeUpdate() > 0; } + @Override + @Transactional + public boolean updateRorId(long id, String rorId) { + LOG.debug("Updating domain with id {} with rorId {}", id, rorId); + Query query = entityManager.createNativeQuery("UPDATE email_domain SET ror_id=:rorId WHERE id = :id"); + query.setParameter("id", id); + query.setParameter("rorId", rorId.toString()); + return query.executeUpdate() > 0; + } + @Override public EmailDomainEntity findByEmailDoman(String emailDomain) { TypedQuery query = entityManager.createQuery("from EmailDomainEntity where emailDomain = :emailDomain", EmailDomainEntity.class); diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EventDaoImpl.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EventDaoImpl.java new file mode 100644 index 00000000000..2d74fee4168 --- /dev/null +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EventDaoImpl.java @@ -0,0 +1,45 @@ +package org.orcid.persistence.dao.impl; + +import org.orcid.persistence.aop.UpdateProfileLastModified; +import org.orcid.persistence.dao.EventDao; +import org.orcid.persistence.jpa.entities.EmailEntity; +import org.orcid.persistence.jpa.entities.EventEntity; +import org.orcid.persistence.jpa.entities.SpamEntity; +import org.springframework.transaction.annotation.Transactional; + +import javax.persistence.Query; +import javax.persistence.TypedQuery; +import java.util.List; + +/** + * @author Daniel Palafox + */ +public class EventDaoImpl extends GenericDaoImpl implements EventDao { + + public EventDaoImpl() { + super(EventEntity.class); + } + + @Override + public List getEvents(String orcid) { + TypedQuery query = entityManager.createQuery("from EventEntity where orcid=:orcid", EventEntity.class); + query.setParameter("orcid", orcid); + List results = query.getResultList(); + return results.isEmpty() ? null : results; + } + + @Override + @Transactional + public void createEvent(EventEntity eventEntity) { + entityManager.persist(eventEntity); + } + + @Override + @Transactional + public boolean removeEvents(String orcid) { + Query query = entityManager.createQuery("delete from EventEntity where orcid = :orcid"); + query.setParameter("orcid", orcid); + query.executeUpdate(); + return query.executeUpdate() > 0; + } +} diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/ProfileDaoImpl.java b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/ProfileDaoImpl.java index 58ea8004a5e..7f9bca1a6f6 100644 --- a/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/ProfileDaoImpl.java +++ b/orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/ProfileDaoImpl.java @@ -6,18 +6,14 @@ import java.util.Date; import java.util.HashMap; import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.stream.Collectors; import javax.persistence.NoResultException; import javax.persistence.Query; import javax.persistence.TypedQuery; -import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; import org.orcid.persistence.aop.UpdateProfileLastModifiedAndIndexingStatus; import org.orcid.persistence.dao.ProfileDao; -import org.orcid.persistence.jpa.entities.EmailEventType; import org.orcid.persistence.jpa.entities.IndexingStatus; import org.orcid.persistence.jpa.entities.OrcidGrantedAuthority; import org.orcid.persistence.jpa.entities.ProfileEntity; @@ -27,7 +23,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StringUtils; public class ProfileDaoImpl extends GenericDaoImpl implements ProfileDao { private static final Logger LOGGER = LoggerFactory.getLogger(ProfileDaoImpl.class); @@ -140,8 +135,8 @@ public List findUnclaimedNotIndexedAfterWaitPeriod(int waitPeriodDays, i @SuppressWarnings("unchecked") @Override - public List> findEmailsUnverfiedDays(int daysUnverified, int maxResults) { - StringBuilder queryString = new StringBuilder("SELECT e.email, e.date_created FROM email e "); + public List> findEmailsUnverfiedDays(int daysUnverified, int maxResults) { + StringBuilder queryString = new StringBuilder("SELECT e.email, e.is_primary, e.date_created FROM email e "); queryString.append("LEFT JOIN email_event ev ON e.email = ev.email "); queryString.append("JOIN profile p on p.orcid = e.orcid and p.claimed = true "); queryString.append("AND p.deprecated_date is null AND p.profile_deactivation_date is null AND p.account_expiry is null "); @@ -153,18 +148,18 @@ public List> findEmailsUnverfiedDays(int daysUnverified, int Query query = entityManager.createNativeQuery(queryString.toString()); query.setMaxResults(maxResults); List dbInfo = query.getResultList(); - List> results = new ArrayList>(); + List> results = new ArrayList>(); dbInfo.stream().forEach(element -> { - Pair pair = Pair.of((String) element[0], (Date) element[1]); - results.add(pair); + Triple triple = Triple.of((String) element[0], (Boolean) element[1], (Date) element[2]); + results.add(triple); }); return results; } @SuppressWarnings("unchecked") @Override - public HashMap> findEmailsUnverifiedDaysByEventType(int daysUnverified, int daysTooOld) { - StringBuilder queryString = new StringBuilder("SELECT e.email, e.date_created, ev.email_event_type FROM email e "); + public List> findEmailsUnverifiedDaysByEventType(int daysUnverified, int daysTooOld) { + StringBuilder queryString = new StringBuilder("SELECT e.email, e.is_primary, ev.email_event_type FROM email e "); queryString.append("LEFT JOIN email_event ev ON e.email = ev.email "); queryString.append("JOIN profile p on p.orcid = e.orcid and p.claimed = true "); queryString.append("AND p.deprecated_date is null AND p.profile_deactivation_date is null AND p.account_expiry is null "); @@ -176,16 +171,11 @@ public HashMap> findEmailsUnverifiedDaysByEventTyp Query query = entityManager.createNativeQuery(queryString.toString()); LOGGER.debug("Unverified Emails Query by Event Type " + query.toString()); List dbInfo = query.getResultList(); - HashMap> results = new HashMap>(); + List> results = new ArrayList>(); dbInfo.stream().forEach(element -> { - String email = (String) element[0]; - HashMap evMap = new HashMap(); - if (results.containsKey(email)) { - evMap = results.get(email); - evMap.put((String) element[2], (Date) element[1]); - } - results.put(email, evMap); + Triple triple = Triple.of((String) element[0], (Boolean) element[1], (String) element[2]); + results.add(triple); }); return results; diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EmailDomainEntity.java b/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EmailDomainEntity.java index 06ea938e449..c676f19cea8 100644 --- a/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EmailDomainEntity.java +++ b/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EmailDomainEntity.java @@ -28,6 +28,7 @@ public static enum DomainCategory {PERSONAL, PROFESSIONAL, UNDEFINED} private Long id; private String emailDomain; private DomainCategory category; + private String rorId; public EmailDomainEntity() { @@ -38,6 +39,12 @@ public EmailDomainEntity(String emailDomain, DomainCategory category) { this.category = category; } + public EmailDomainEntity(String emailDomain, DomainCategory category, String rorId) { + this.emailDomain = emailDomain; + this.category = category; + this.rorId = rorId; + } + @Override @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "email_domain_seq") @@ -70,9 +77,18 @@ public void setEmailDomain(String emailDomain) { this.emailDomain = emailDomain; } + @Column(name = "ror_id") + public String getRorId() { + return rorId; + } + + public void setRorId(String rorId) { + this.rorId = rorId; + } + @Override public int hashCode() { - return Objects.hash(category, emailDomain, id); + return Objects.hash(category, emailDomain, id, rorId); } @Override @@ -84,6 +100,6 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) return false; EmailDomainEntity other = (EmailDomainEntity) obj; - return category == other.category && Objects.equals(emailDomain, other.emailDomain) && Objects.equals(id, other.id); - } + return category == other.category && Objects.equals(emailDomain, other.emailDomain) && Objects.equals(id, other.id) && Objects.equals(rorId, other.rorId); + } } diff --git a/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EventEntity.java b/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EventEntity.java new file mode 100644 index 00000000000..019a710041c --- /dev/null +++ b/orcid-persistence/src/main/java/org/orcid/persistence/jpa/entities/EventEntity.java @@ -0,0 +1,73 @@ +package org.orcid.persistence.jpa.entities; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; + +/** + * + * @author Daniel Palafox + * + */ +@Entity +@Table(name = "event") +public class EventEntity extends BaseEntity implements OrcidAware { + private static final long serialVersionUID = 1L; + private Long id; + private String orcid; + private String eventType; + private String clientId; + private String redirectUrl; + private String label; + private String publicPage; + + @Id + @Column(name = "id") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "event_seq") + @SequenceGenerator(name = "event_seq", sequenceName = "event_seq", allocationSize = 1) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + @Column(name = "orcid") + public String getOrcid() { + return orcid; + } + + public void setOrcid(String orcid) { + this.orcid = orcid; + } + + @Column(name = "event_type") + public String getEventType() { return eventType; } + + public void setEventType(String eventType) { this.eventType = eventType; } + + @Column(name = "client_id") + public String getClientId() { return clientId; } + + public void setClientId(String client_id) { this.clientId = client_id; } + + @Column(name = "redirect_url") + public String getRedirectUrl() { return redirectUrl; } + + public void setRedirectUrl(String redirect_url) { this.redirectUrl = redirect_url; } + + @Column(name = "label") + public String getLabel() { return label; } + + public void setLabel(String label) { this.label = label; } + + @Column(name = "public_page") + public String getPublicPage() { return publicPage; } + + public void setPublicPage(String public_page) { this.publicPage = public_page; } +} diff --git a/orcid-persistence/src/main/resources/META-INF/persistence.xml b/orcid-persistence/src/main/resources/META-INF/persistence.xml index 97491923958..c3af43f7ae1 100644 --- a/orcid-persistence/src/main/resources/META-INF/persistence.xml +++ b/orcid-persistence/src/main/resources/META-INF/persistence.xml @@ -60,6 +60,7 @@ org.orcid.persistence.jpa.entities.ResearchResourceItemEntity org.orcid.persistence.jpa.entities.FindMyStuffHistoryEntity org.orcid.persistence.jpa.entities.SpamEntity + org.orcid.persistence.jpa.entities.EventEntity org.orcid.persistence.jpa.entities.EmailDomainEntity @@ -105,4 +106,4 @@ - \ No newline at end of file + diff --git a/orcid-persistence/src/main/resources/db-master.xml b/orcid-persistence/src/main/resources/db-master.xml index 7949aeaa856..da8321423b4 100644 --- a/orcid-persistence/src/main/resources/db-master.xml +++ b/orcid-persistence/src/main/resources/db-master.xml @@ -374,4 +374,8 @@ - \ No newline at end of file + + + + + diff --git a/orcid-persistence/src/main/resources/db/updates/create_email_domain_mapping_tables.xml b/orcid-persistence/src/main/resources/db/updates/create_email_domain_mapping_tables.xml index 02d6c9d413a..bd23c345b21 100644 --- a/orcid-persistence/src/main/resources/db/updates/create_email_domain_mapping_tables.xml +++ b/orcid-persistence/src/main/resources/db/updates/create_email_domain_mapping_tables.xml @@ -20,53 +20,25 @@ - - - - - - - - - - - - - - - - - - - - - + + - - ALTER TABLE email_domain_to_org_id ADD CONSTRAINT email_domain_fk FOREIGN KEY (email_domian_id) REFERENCES email_domain (id); - ALTER TABLE email_domain_to_org_id ADD CONSTRAINT org_disambiguated_id_fk FOREIGN KEY (org_disambiguated_id) REFERENCES org_disambiguated (id); - create index email_domain_to_org_id_domain_index on email_domain_to_org_id(email_domian_id); - create index email_domain_to_org_id_org_index on email_domain_to_org_id(org_disambiguated_id); - + - - - @@ -76,11 +48,11 @@ create index email_domain_domain_index on email_domain(email_domain); + create index email_domain_ror_id_index on email_domain(ror_id); - GRANT SELECT ON email_domain to orcidro; - GRANT SELECT ON email_domain_to_org_id to orcidro; + GRANT SELECT ON email_domain to orcidro; \ No newline at end of file diff --git a/orcid-persistence/src/main/resources/db/updates/create_event_indexes.xml b/orcid-persistence/src/main/resources/db/updates/create_event_indexes.xml new file mode 100644 index 00000000000..619501a3428 --- /dev/null +++ b/orcid-persistence/src/main/resources/db/updates/create_event_indexes.xml @@ -0,0 +1,31 @@ + + + + + + + + + create index event_orcid_index on event(orcid); + + + + + + + + + create index event_client_id_index on event(client_id); + + + + + + + + + create index event_type_index on event(event_type); + + diff --git a/orcid-persistence/src/main/resources/db/updates/create_event_table.xml b/orcid-persistence/src/main/resources/db/updates/create_event_table.xml new file mode 100644 index 00000000000..a350620aeeb --- /dev/null +++ b/orcid-persistence/src/main/resources/db/updates/create_event_table.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT 1 FROM pg_roles WHERE rolname='orcidro' + + GRANT SELECT ON event to orcidro; + + + diff --git a/orcid-persistence/src/main/resources/db/updates/dw_alter_event.xml b/orcid-persistence/src/main/resources/db/updates/dw_alter_event.xml new file mode 100644 index 00000000000..d7b9c53608e --- /dev/null +++ b/orcid-persistence/src/main/resources/db/updates/dw_alter_event.xml @@ -0,0 +1,43 @@ + + + + + + + SELECT event_type, client_id, COUNT(id), DATE_TRUNC('day', date_created), DATE_TRUNC('day', date_created) as last_modified + FROM event + WHERE event_type != 'Public-Page' + GROUP BY event_type, client_id, DATE_TRUNC('day', date_created) + ORDER BY DATE_TRUNC('day', date_created) DESC; + + + + + + SELECT 1 FROM pg_roles WHERE rolname='dw_user' + + GRANT SELECT ON TABLE dw_event to dw_user; + + + + + + + SELECT event_type, public_page, COUNT(id), DATE_TRUNC('day', date_created), DATE_TRUNC('day', date_created) as last_modified + FROM event + WHERE event_type = 'Public-Page' + GROUP BY event_type, public_page, DATE_TRUNC('day', date_created) + ORDER BY DATE_TRUNC('day', date_created) DESC; + + + + + + SELECT 1 FROM pg_roles WHERE rolname='dw_user' + + GRANT SELECT ON TABLE dw_event_public_page to dw_user; + + + diff --git a/orcid-persistence/src/main/resources/db/updates/dw_event.xml b/orcid-persistence/src/main/resources/db/updates/dw_event.xml new file mode 100644 index 00000000000..91b80aad0b4 --- /dev/null +++ b/orcid-persistence/src/main/resources/db/updates/dw_event.xml @@ -0,0 +1,45 @@ + + + + + + + + SELECT event_type, client_id, COUNT(id), DATE_TRUNC('day', date_created) + FROM event + WHERE event_type != 'Public-Page' + GROUP BY event_type, client_id, DATE_TRUNC('day', date_created) + ORDER BY DATE_TRUNC('day', date_created) DESC; + + + + + + SELECT 1 FROM pg_roles WHERE rolname='dw_user' + + GRANT SELECT ON TABLE dw_event to dw_user; + + + + + + + + SELECT event_type, public_page, COUNT(id), DATE_TRUNC('day', date_created) + FROM event + WHERE event_type = 'Public-Page' + GROUP BY event_type, public_page, DATE_TRUNC('day', date_created) + ORDER BY DATE_TRUNC('day', date_created) DESC; + + + + + + SELECT 1 FROM pg_roles WHERE rolname='dw_user' + + GRANT SELECT ON TABLE dw_event_public_page to dw_user; + + + diff --git a/orcid-persistence/src/main/resources/orcid-persistence-context.xml b/orcid-persistence/src/main/resources/orcid-persistence-context.xml index d55dba5c1c4..b1de603e0f7 100644 --- a/orcid-persistence/src/main/resources/orcid-persistence-context.xml +++ b/orcid-persistence/src/main/resources/orcid-persistence-context.xml @@ -449,21 +449,25 @@ - - + + - + - + + + + + diff --git a/orcid-persistence/src/test/java/org/orcid/persistence/EventDaoTest.java b/orcid-persistence/src/test/java/org/orcid/persistence/EventDaoTest.java new file mode 100644 index 00000000000..84ff1491e49 --- /dev/null +++ b/orcid-persistence/src/test/java/org/orcid/persistence/EventDaoTest.java @@ -0,0 +1,77 @@ +package org.orcid.persistence; + +import org.apache.commons.lang3.reflect.FieldUtils; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.orcid.persistence.dao.EventDao; +import org.orcid.persistence.dao.SpamDao; +import org.orcid.persistence.jpa.entities.EventEntity; +import org.orcid.persistence.jpa.entities.SourceType; +import org.orcid.persistence.jpa.entities.SpamEntity; +import org.orcid.test.DBUnitTest; +import org.orcid.test.OrcidJUnit4ClassRunner; +import org.springframework.test.context.ContextConfiguration; + +import javax.annotation.Resource; +import javax.persistence.NoResultException; +import javax.transaction.Transactional; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +@RunWith(OrcidJUnit4ClassRunner.class) +@ContextConfiguration(inheritInitializers = false, inheritLocations = false, locations = {"classpath:test-orcid-persistence-context.xml"}) +public class EventDaoTest extends DBUnitTest { + + private static String USER_ORCID = "4444-4444-4444-4497"; + private static String OTHER_USER_ORCID = "4444-4444-4444-4499"; + + @Resource(name = "eventDao") + private EventDao eventDao; + + @BeforeClass + public static void initDBUnitData() throws Exception { + initDBUnitData(Arrays.asList("/data/SourceClientDetailsEntityData.xml", "/data/ProfileEntityData.xml", "/data/EventEntityData.xml")); + } + + @AfterClass + public static void removeDBUnitData() throws Exception { + removeDBUnitData(Arrays.asList("/data/EventEntityData.xml", "/data/ProfileEntityData.xml", "/data/SourceClientDetailsEntityData.xml")); + } + + @Test + @Transactional + public void testFindByOrcid() { + List eventEntityList = eventDao.getEvents(OTHER_USER_ORCID); + assertNotNull(eventEntityList); + assertEquals(OTHER_USER_ORCID, eventEntityList.get(0).getOrcid()); + } + + @Test + public void testWriteSpam() throws IllegalAccessException { + EventEntity eventEntity = new EventEntity(); + eventEntity.setEventType("Sign-In"); + Date date = new Date(); + FieldUtils.writeField(eventEntity, "dateCreated", date, true); + FieldUtils.writeField(eventEntity, "lastModified", date, true); + eventEntity.setOrcid(USER_ORCID); + + eventDao.createEvent(eventEntity); + + List eventEntities = eventDao.getEvents(USER_ORCID); + assertNotNull(eventEntities); + assertEquals(USER_ORCID, eventEntities.get(0).getOrcid()); + } + + @Test + public void testRemoveSpam() throws NoResultException { + List eventEntities = eventDao.getEvents(USER_ORCID); + assertNotNull(eventEntities); + eventDao.removeEvents(eventEntities.get(0).getOrcid()); + } +} diff --git a/orcid-persistence/src/test/java/org/orcid/persistence/dao/ProfileDaoTest.java b/orcid-persistence/src/test/java/org/orcid/persistence/dao/ProfileDaoTest.java index 6a86cede3e0..96e6551b8e9 100644 --- a/orcid-persistence/src/test/java/org/orcid/persistence/dao/ProfileDaoTest.java +++ b/orcid-persistence/src/test/java/org/orcid/persistence/dao/ProfileDaoTest.java @@ -17,7 +17,7 @@ import javax.persistence.EntityManager; import javax.persistence.Query; -import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; import org.dbunit.dataset.DataSetException; import org.joda.time.LocalDateTime; import org.junit.AfterClass; @@ -405,13 +405,13 @@ public void findEmailsUnverfiedDaysTest() throws IllegalAccessException { // Created 15 days ago and verified assertEquals(1, insertEmailWithDateCreated("verified_2@test.orcid.org", "896dea808bbf69bde1b177f27800e84d17763860bffde1dfd8ef200e79ff9971", orcid, true, LocalDateTime.now().minusDays(15).toDate())); - List> results = profileDao.findEmailsUnverfiedDays(7, 100); + List> results = profileDao.findEmailsUnverfiedDays(7, 100); assertNotNull(results); assertEquals(2, results.size()); boolean found1 = false, found2 = false; - for(Pair element : results) { + for(Triple element : results) { assertNotNull(element.getRight()); if(element.getLeft().equals("unverified_2@test.orcid.org")) { found1 = true; diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/email/cli/manager/EmailMessageSenderImpl.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/email/cli/manager/EmailMessageSenderImpl.java index 05cbbdd56f9..70cb6a7afee 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/email/cli/manager/EmailMessageSenderImpl.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/email/cli/manager/EmailMessageSenderImpl.java @@ -17,7 +17,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.stream.Collectors; -import java.util.stream.Stream; import javax.annotation.Resource; import javax.xml.datatype.XMLGregorianCalendar; @@ -25,7 +24,7 @@ import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.LocaleUtils; import org.apache.commons.lang3.time.DurationFormatUtils; -import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; import org.joda.time.LocalDateTime; import org.orcid.core.constants.EmailConstants; import org.orcid.core.locale.LocaleManager; @@ -571,8 +570,8 @@ private String getHtmlBody(NotificationAdministrative notificationAdministrative @Override synchronized public void processUnverifiedEmails2Days() { - LOGGER.info("About to process unverified emails for 2 days reminder"); - List> elements = Collections.> emptyList(); + LOGGER.info("About to process unverIfied emails for 2 days reminder"); + List> elements = Collections.> emptyList(); do { elements = profileDaoReadOnly.findEmailsUnverfiedDays(verifyReminderAfterTwoDays, 100); LOGGER.info("Got batch of {} profiles with unverified emails for 2 days reminder", elements.size()); @@ -582,9 +581,9 @@ synchronized public void processUnverifiedEmails2Days() { if (Features.SEND_ALL_VERIFICATION_EMAILS.isActive()) { tooOld = now.minusDays(emailTooOld).toDate(); } - for (Pair element : elements) { - if (element.getRight() == null || element.getRight().after(tooOld)) { - processUnverifiedEmails2DaysInTransaction(element.getLeft()); + for (Triple element : elements) { + if(element.getRight() == null || element.getRight().after(tooOld)) { + processUnverifiedEmailsInTransaction(element.getLeft(), element.getMiddle(), EmailEventType.VERIFY_EMAIL_2_DAYS_SENT, EmailEventType.VERIFY_EMAIL_2_DAYS_SENT_SKIPPED); } else { // Mark is as too old to send the verification email markUnverifiedEmailAsTooOld(element.getLeft()); @@ -594,50 +593,49 @@ synchronized public void processUnverifiedEmails2Days() { } synchronized public void processUnverifiedEmails7Days() { - if (Features.SEND_ALL_VERIFICATION_EMAILS.isActive()) { - LOGGER.info("About to process unverified emails for 7 days reminder"); - HashMap> elements = new HashMap>(); - elements = profileDaoReadOnly.findEmailsUnverifiedDaysByEventType(verifyReminderAfterSevenDays, emailTooOld); - LOGGER.info("Got {} profiles with unverified emails for 7 days reminder", elements.size()); - HashMap evMap; - for (String element : elements.keySet()) { - evMap = elements.get(element); - if (!evMap.containsKey(EmailEventType.VERIFY_EMAIL_7_DAYS_SENT.name()) && !evMap.containsKey(EmailEventType.VERIFY_EMAIL_7_DAYS_SENT_SKIPPED.name()) - && !evMap.containsKey(EmailEventType.VERIFY_EMAIL_TOO_OLD.name())) { - processUnverifiedEmailsInTransaction(element, EmailEventType.VERIFY_EMAIL_7_DAYS_SENT, EmailEventType.VERIFY_EMAIL_7_DAYS_SENT_SKIPPED); - } - } - + if(Features.SEND_ALL_VERIFICATION_EMAILS.isActive()) { + LOGGER.info("About to process unverIfied emails for 7 days reminder"); + List> elements = profileDaoReadOnly.findEmailsUnverifiedDaysByEventType(verifyReminderAfterSevenDays, emailTooOld); + LOGGER.info("Got batch of {} profiles with unverified emails for 7 days reminder", elements.size()); + LocalDateTime now = LocalDateTime.now(); + for (Triple element : elements) { + if(element.getRight() != null) { + String event = element.getRight(); + if (!event.equals(EmailEventType.VERIFY_EMAIL_7_DAYS_SENT.name()) && !event.equals(EmailEventType.VERIFY_EMAIL_7_DAYS_SENT_SKIPPED.name()) + && !event.equals(EmailEventType.VERIFY_EMAIL_TOO_OLD.name())) { + processUnverifiedEmailsInTransaction(element.getLeft(), element.getMiddle(), EmailEventType.VERIFY_EMAIL_7_DAYS_SENT, EmailEventType.VERIFY_EMAIL_7_DAYS_SENT_SKIPPED); + } + } + } } - } synchronized public void processUnverifiedEmails28Days() { - if (Features.SEND_ALL_VERIFICATION_EMAILS.isActive()) { - LOGGER.info("About to process unverified emails for 28 days reminder"); - HashMap> elements = new HashMap>(); - - elements = profileDaoReadOnly.findEmailsUnverifiedDaysByEventType(verifyReminderAfterTwentyEightDays, emailTooOld); - LOGGER.info("Got {} profiles with unverified emails for 28 days reminder", elements.size()); - HashMap evMap; - for (String element : elements.keySet()) { - evMap = elements.get(element); - if (!evMap.containsKey(EmailEventType.VERIFY_EMAIL_28_DAYS_SENT.name()) && !evMap.containsKey(EmailEventType.VERIFY_EMAIL_28_DAYS_SENT_SKIPPED.name()) - && !evMap.containsKey(EmailEventType.VERIFY_EMAIL_TOO_OLD.name())) { - processUnverifiedEmailsInTransaction(element, EmailEventType.VERIFY_EMAIL_28_DAYS_SENT, EmailEventType.VERIFY_EMAIL_28_DAYS_SENT_SKIPPED); - } - } + if(Features.SEND_ALL_VERIFICATION_EMAILS.isActive()) { + LOGGER.info("About to process unverIfied emails for 28 days reminder"); + List> elements = profileDaoReadOnly.findEmailsUnverifiedDaysByEventType(verifyReminderAfterTwentyEightDays, emailTooOld); + LOGGER.info("Got batch of {} profiles with unverified emails for 28 days reminder", elements.size()); + LocalDateTime now = LocalDateTime.now(); + for (Triple element : elements) { + if(element.getRight() != null) { + String event = element.getRight(); + if (!event.equals(EmailEventType.VERIFY_EMAIL_28_DAYS_SENT.name()) && !event.equals(EmailEventType.VERIFY_EMAIL_28_DAYS_SENT_SKIPPED.name()) + && !event.equals(EmailEventType.VERIFY_EMAIL_TOO_OLD.name())) { + processUnverifiedEmailsInTransaction(element.getLeft(), element.getMiddle(), EmailEventType.VERIFY_EMAIL_28_DAYS_SENT, EmailEventType.VERIFY_EMAIL_28_DAYS_SENT_SKIPPED); + } + } + } } } - - private void processUnverifiedEmailsInTransaction(final String email, EmailEventType eventSent, EmailEventType eventSkipped) { + + private void processUnverifiedEmailsInTransaction(final String email, final Boolean isPrimaryEmail, EmailEventType eventSent, EmailEventType eventSkipped) { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override @Transactional protected void doInTransactionWithoutResult(TransactionStatus status) { try { String userOrcid = emailManagerReadOnly.findOrcidIdByEmail(email); - sendVerificationReminderEmail(userOrcid, email); + sendVerificationReminderEmail(userOrcid, email, isPrimaryEmail); emailEventDao.persist(new EmailEventEntity(email, eventSent)); emailEventDao.flush(); } catch (Exception e) { @@ -649,25 +647,6 @@ protected void doInTransactionWithoutResult(TransactionStatus status) { }); } - private void processUnverifiedEmails2DaysInTransaction(final String email) { - transactionTemplate.execute(new TransactionCallbackWithoutResult() { - @Override - @Transactional - protected void doInTransactionWithoutResult(TransactionStatus status) { - try { - String userOrcid = emailManagerReadOnly.findOrcidIdByEmail(email); - sendVerificationReminderEmail(userOrcid, email); - emailEventDao.persist(new EmailEventEntity(email, EmailEventType.VERIFY_EMAIL_2_DAYS_SENT)); - emailEventDao.flush(); - } catch (Exception e) { - LOGGER.error("Unable to send unverified email reminder to email: " + email, e); - emailEventDao.persist(new EmailEventEntity(email, EmailEventType.VERIFY_EMAIL_2_DAYS_SENT_SKIPPED)); - emailEventDao.flush(); - } - } - }); - } - private void markUnverifiedEmailAsTooOld(final String email) { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override @@ -678,14 +657,13 @@ protected void doInTransactionWithoutResult(TransactionStatus status) { } }); } - - private void sendVerificationReminderEmail(String userOrcid, String email) { + + private void sendVerificationReminderEmail(String userOrcid, String email, Boolean isPrimaryEmail) { ProfileEntity profile = profileEntityCacheManager.retrieve(userOrcid); Locale locale = getUserLocaleFromProfileEntity(profile); - String primaryEmail = emailManagerReadOnly.findPrimaryEmail(userOrcid).getEmail(); String emailFriendlyName = recordNameManagerV3.deriveEmailFriendlyName(userOrcid); - Map templateParams = verifyEmailUtils.createParamsForVerificationEmail(emailFriendlyName, userOrcid, email, primaryEmail, locale); + Map templateParams = verifyEmailUtils.createParamsForVerificationEmail(emailFriendlyName, userOrcid, email, isPrimaryEmail, locale); String subject = (String) templateParams.get("subject"); templateParams.put("isReminder", true); // Generate body from template diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainLoader.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainLoader.java index 30977c1abfe..f7517c6a436 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainLoader.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainLoader.java @@ -97,9 +97,11 @@ private void process() { total += 1; } } - LOG.warn("List of invalid domains:"); - for(String invalidDomain : invalidDomains) { - LOG.warn(invalidDomain); + if(!invalidDomains.isEmpty()) { + LOG.warn("List of invalid domains:"); + for(String invalidDomain : invalidDomains) { + LOG.info(invalidDomain); + } } LOG.info("Process done, total: {}, new entities: {}, updated entities: {}", total, newEntities, updatedEntities); } diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainToRorLoader.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainToRorLoader.java new file mode 100644 index 00000000000..7dce97592fa --- /dev/null +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/cli/EmailDomainToRorLoader.java @@ -0,0 +1,179 @@ +package org.orcid.scheduler.loader.cli; + +import java.io.FileReader; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.orcid.core.common.manager.EmailDomainManager; +import org.orcid.core.common.manager.impl.EmailDomainManagerImpl.STATUS; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import com.fasterxml.jackson.databind.MappingIterator; +import com.fasterxml.jackson.dataformat.csv.CsvMapper; +import com.fasterxml.jackson.dataformat.csv.CsvParser; + +public class EmailDomainToRorLoader { + + private static final Logger LOG = LoggerFactory.getLogger(EmailDomainToRorLoader.class); + + private String filePath; + private EmailDomainManager emailDomainManager; + private List> csvData; + private Map map = new HashMap(); + + private int updatedEntries = 0; + private int createdEntries = 0; + private int invalidEntires = 0; + + public EmailDomainToRorLoader(String filePath) { + this.filePath = filePath; + init(filePath); + } + + public void execute() throws IOException { + load(this.filePath); + processCsvData(); + storeDomainToRorMap(); + } + + private void init(String filePath) { + Path path = Paths.get(filePath); + if(!Files.exists(path)) { + LOG.error("File does not exists: '{}'", filePath); + System.exit(1); + } + + @SuppressWarnings("resource") + ApplicationContext context = new ClassPathXmlApplicationContext("orcid-core-context.xml"); + emailDomainManager = (EmailDomainManager) context.getBean("emailDomainManager"); + } + + private void load(String filePath) throws IOException { + LOG.info("Reading file {}", filePath); + FileReader fileReader = new FileReader(filePath); + CsvMapper csvMapper = new CsvMapper(); + csvMapper.enable(CsvParser.Feature.WRAP_AS_ARRAY); + csvMapper.enable(CsvParser.Feature.TRIM_SPACES); + + MappingIterator> it = csvMapper.readerForListOf(String.class).readValues(fileReader); + + if (it != null) { + csvData = new ArrayList>(); + while(it.hasNext()) { + List r = it.next(); + // Hack to avoid adding empty lines if they are present, we need at least 2 columns, the domain and the ror id + if(r.size() > 1) + csvData.add(r); + } + } + fileReader.close(); + } + + private void processCsvData() { + for (List row : csvData) { + String domain = row.get(0); + String rorId = row.get(1); + boolean hasParent = false; + try { + String hasParentField = row.get(2); + hasParent = hasParentField == null ? false : Boolean.valueOf(hasParentField); + } catch(IndexOutOfBoundsException eoob) { + // Leave the hasParent as false + } + + if(!map.containsKey(domain)) { + DomainToRorMap dtrm = new DomainToRorMap(); + dtrm.setDomain(domain); + if(hasParent) { + dtrm.addIdWithParent(rorId); + } else { + dtrm.addIdWithNoParent(rorId); + } + map.put(domain, dtrm); + } else { + DomainToRorMap dtrm = map.get(domain); + if(hasParent) { + dtrm.addIdWithParent(rorId); + } else { + dtrm.addIdWithNoParent(rorId); + } + } + } + } + + private void storeDomainToRorMap() { + for(DomainToRorMap element : map.values()) { + LOG.debug("Processing domain {}", element.getDomain()); + // If the domain has only one entry with no parent, store that one + if(element.getIdsWithNoParent().size() == 1) { + STATUS s = emailDomainManager.createOrUpdateEmailDomain(element.getDomain(), element.getIdsWithNoParent().get(0)); + if(STATUS.CREATED.equals(s)) { + createdEntries++; + } else if (STATUS.UPDATED.equals(s)) { + updatedEntries++; + } + } else if(element.getIdsWithNoParent().isEmpty() && element.getIdsWithParent().size() == 1) { + // Else, if the domain doesn't have an org with no parents and only have one entry with parent, store that one + STATUS s = emailDomainManager.createOrUpdateEmailDomain(element.getDomain(), element.getIdsWithParent().get(0)); + if(STATUS.CREATED.equals(s)) { + createdEntries++; + } else if (STATUS.UPDATED.equals(s)) { + updatedEntries++; + } + } else { + // Else log a warning because there is no way to provide a suggestion + LOG.warn("Domain {} couldnt be mapped, it have {} rows with parent and {} rows with no parent", element.getDomain(), element.getIdsWithParent().size(), element.getIdsWithNoParent().size()); + invalidEntires++; + } + } + + LOG.info("Created entries: {}, updated entries: {}, invalid entries {}", createdEntries, updatedEntries, invalidEntires); + } + + private class DomainToRorMap { + private String domain; + private List idsWithParent = new ArrayList(); + private List idsWithNoParent = new ArrayList(); + + public void setDomain(String domain) { + this.domain = domain; + } + + public String getDomain() { + return this.domain; + } + + public void addIdWithParent(String rorId) { + LOG.debug("Domain {} adding {} with parent flag", this.domain, rorId); + idsWithParent.add(rorId); + } + + public List getIdsWithParent() { + return this.idsWithParent; + } + + public void addIdWithNoParent(String rorId) { + LOG.debug("Domain {} adding {} with NO parent flag", this.domain, rorId); + idsWithNoParent.add(rorId); + } + + public List getIdsWithNoParent() { + return this.idsWithNoParent; + } + } + + public static void main(String[] args) throws IOException { + String filePath = args[0]; + EmailDomainToRorLoader edl = new EmailDomainToRorLoader(filePath); + edl.execute(); + } +} diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/io/OrgDataClient.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/io/OrgDataClient.java index 0355cb11b20..8b1a791a14b 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/io/OrgDataClient.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/io/OrgDataClient.java @@ -32,9 +32,9 @@ public class OrgDataClient { */ public T get(String url, String userAgent, Class type) { JerseyClientResponse response = jerseyClientHelperForOrgLoaders.executeGetRequest(url, null, null, false, Map.of(), Map.of("User-Agent", userAgent), type, String.class); - int status = response.getStatus(); + int status = response.getStatus(); if (status != 200) { - LOGGER.warn("Unable to fetch file {}: {}", new Object[] { url, status }); + LOGGER.error("Unable to fetch file {}: {}", new Object[] { url, status }); return null; } return response.getEntity(); diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/ror/RorOrgLoadSource.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/ror/RorOrgLoadSource.java index 37a9840c5f1..a42ddc906c5 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/ror/RorOrgLoadSource.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/ror/RorOrgLoadSource.java @@ -79,7 +79,7 @@ public class RorOrgLoadSource implements OrgLoadSource { @Resource private OrgDisambiguatedExternalIdentifierDao orgDisambiguatedExternalIdentifierDao; - @Value("${org.orcid.core.orgs.ror.zenodoRecordsUrl:https://zenodo.org/api/records/?communities=ror-data}") + @Value("${org.orcid.core.orgs.ror.zenodoRecordsUrl:https://zenodo.org/api/records?communities=ror-data}") private String rorZenodoRecordsUrl; @Resource diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecords.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecords.java index f3227f51c6c..9056f740542 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecords.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecords.java @@ -6,7 +6,7 @@ @JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(value = { "aggregations", "links" }) +@JsonIgnoreProperties(ignoreUnknown = true) public class ZenodoRecords { @JsonProperty("hits") diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFile.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFile.java index 130fedfb488..3b38579f44e 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFile.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFile.java @@ -1,7 +1,9 @@ package org.orcid.scheduler.loader.source.zenodo.api; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +@JsonIgnoreProperties(ignoreUnknown = true) public class ZenodoRecordsFile { @JsonProperty("bucket") diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFileLinks.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFileLinks.java index 50e505ed29a..c101e896b74 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFileLinks.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsFileLinks.java @@ -1,7 +1,9 @@ package org.orcid.scheduler.loader.source.zenodo.api; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +@JsonIgnoreProperties(ignoreUnknown = true) public class ZenodoRecordsFileLinks { @JsonProperty("self") diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHit.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHit.java index 31a0b352a7e..6c8caaafb7d 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHit.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHit.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(value = { "metadata", "owners", "stats", "revision" }) +@JsonIgnoreProperties(ignoreUnknown = true) public class ZenodoRecordsHit { @JsonProperty("conceptdoi") diff --git a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHitLinks.java b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHitLinks.java index 57ba1b1e46f..f33ec19d1c9 100644 --- a/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHitLinks.java +++ b/orcid-scheduler-web/src/main/java/org/orcid/scheduler/loader/source/zenodo/api/ZenodoRecordsHitLinks.java @@ -1,7 +1,9 @@ package org.orcid.scheduler.loader.source.zenodo.api; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +@JsonIgnoreProperties(ignoreUnknown = true) public class ZenodoRecordsHitLinks { @JsonProperty("badge") diff --git a/orcid-scheduler-web/src/main/resources/orcid-scheduler-context.xml b/orcid-scheduler-web/src/main/resources/orcid-scheduler-context.xml index 3a1a9f9239c..aaecc64f895 100644 --- a/orcid-scheduler-web/src/main/resources/orcid-scheduler-context.xml +++ b/orcid-scheduler-web/src/main/resources/orcid-scheduler-context.xml @@ -23,8 +23,8 @@ - - + + diff --git a/orcid-test/src/main/java/org/orcid/test/DBUnitTest.java b/orcid-test/src/main/java/org/orcid/test/DBUnitTest.java index bbb0a72ddec..470ba8ab1ae 100644 --- a/orcid-test/src/main/java/org/orcid/test/DBUnitTest.java +++ b/orcid-test/src/main/java/org/orcid/test/DBUnitTest.java @@ -43,7 +43,7 @@ public class DBUnitTest { "org_disambiguated", "org_disambiguated_external_identifier", "org", "org_affiliation_relation", "profile_funding", "funding_external_identifier", "address", "institution", "affiliation", "notification", "client_details", "client_secret", "oauth2_token_detail", "custom_email", "webhook", "granted_authority", "orcid_props", "peer_review", "peer_review_subject", "shibboleth_account", "group_id_record", "invalid_record_data_changes", - "research_resource","research_resource_item, spam", "backup_code", "profile_history_event"}; + "research_resource","research_resource_item, spam", "backup_code", "profile_history_event", "event"}; private static ApplicationContext context; @@ -156,6 +156,7 @@ private static void cleanClientSourcedProfiles(IDatabaseConnection connection) t dataSet.addTable("research_resource"); dataSet.addTable("find_my_stuff_history"); dataSet.addTable("spam"); + dataSet.addTable("event"); DatabaseOperation.DELETE.execute(connection, dataSet); QueryDataSet theRest = new QueryDataSet(connection); @@ -190,4 +191,4 @@ public static IDataSet getDataSet(String flatXMLDataFile) { return ds; } -} \ No newline at end of file +} diff --git a/orcid-test/src/main/resources/data/EventEntityData.xml b/orcid-test/src/main/resources/data/EventEntityData.xml new file mode 100644 index 00000000000..c5fa142a18e --- /dev/null +++ b/orcid-test/src/main/resources/data/EventEntityData.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/orcid-web/src/main/java/org/orcid/frontend/email/RecordEmailSender.java b/orcid-web/src/main/java/org/orcid/frontend/email/RecordEmailSender.java index b3a4d049f1b..564c8fb71bb 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/email/RecordEmailSender.java +++ b/orcid-web/src/main/java/org/orcid/frontend/email/RecordEmailSender.java @@ -89,37 +89,16 @@ public void sendWelcomeEmail(String userOrcid, String email) { String subject = messages.getMessage("email.subject.register.welcome", null, userLocale); - String emailName = recordNameManager.deriveEmailFriendlyName(userOrcid); + String userName = recordNameManager.deriveEmailFriendlyName(userOrcid); String verificationUrl = verifyEmailUtils.createVerificationUrl(email, orcidUrlManager.getBaseUrl()); String orcidId = userOrcid; String baseUri = orcidUrlManager.getBaseUrl(); - String baseUriHttp = orcidUrlManager.getBaseUriHttp(); - + templateParams.put("subject", subject); - templateParams.put("emailName", emailName); + templateParams.put("userName", userName); templateParams.put("verificationUrl", verificationUrl); templateParams.put("orcidId", orcidId); - templateParams.put("baseUri", baseUri); - templateParams.put("baseUriHttp", baseUriHttp); - - SourceEntity source = sourceManager.retrieveActiveSourceEntity(); - if (source != null) { - String sourceId = SourceEntityUtils.getSourceId(source); - String sourceName = sourceEntityUtils.getSourceName(source); - // If the source is not the user itself - if (sourceId != null && !sourceId.equals(orcidId)) { - if (!PojoUtil.isEmpty(sourceName)) { - String paramValue = " " + messages.getMessage("common.through", null, userLocale) + " " + sourceName + "."; - templateParams.put("source_name_if_exists", paramValue); - } else { - templateParams.put("source_name_if_exists", "."); - } - } else { - templateParams.put("source_name_if_exists", "."); - } - } else { - templateParams.put("source_name_if_exists", "."); - } + templateParams.put("baseUri", baseUri); verifyEmailUtils.addMessageParams(templateParams, userLocale); @@ -127,7 +106,7 @@ public void sendWelcomeEmail(String userOrcid, String email) { String body = templateManager.processTemplate("welcome_email_v2.ftl", templateParams); // Generate html from template String html = templateManager.processTemplate("welcome_email_html_v2.ftl", templateParams); - + mailgunManager.sendEmail(EmailConstants.DO_NOT_REPLY_VERIFY_ORCID_ORG, email, subject, body, html); } @@ -400,23 +379,21 @@ public void sendForgottenIdEmailNotFoundEmail(String email, Locale locale) { public void sendVerificationEmailToNonPrimaryEmails(String userOrcid) { emailManager.getEmails(userOrcid).getEmails().stream().filter(e -> !e.isPrimary()).map(e -> e.getEmail()).forEach(e -> { - sendVerificationEmail(userOrcid, e); + sendVerificationEmail(userOrcid, e, false); }); } - public void sendVerificationEmail(String userOrcid, String email) { - processVerificationEmail(userOrcid, email, false); + public void sendVerificationEmail(String userOrcid, String email, Boolean isPrimaryEmail) { + processVerificationEmail(userOrcid, email, isPrimaryEmail); } - private void processVerificationEmail(String userOrcid, String email, boolean isVerificationReminder) { + private void processVerificationEmail(String userOrcid, String email, boolean isPrimaryEmail) { ProfileEntity profile = profileEntityCacheManager.retrieve(userOrcid); Locale locale = getUserLocaleFromProfileEntity(profile); - - String primaryEmail = emailManager.findPrimaryEmail(userOrcid).getEmail(); + String emailFriendlyName = recordNameManager.deriveEmailFriendlyName(userOrcid); - Map templateParams = verifyEmailUtils.createParamsForVerificationEmail(emailFriendlyName, userOrcid, email, primaryEmail, locale); - String subject = (String) templateParams.get("subject"); - templateParams.put("isReminder", isVerificationReminder); + Map templateParams = verifyEmailUtils.createParamsForVerificationEmail(emailFriendlyName, userOrcid, email, isPrimaryEmail, locale); + String subject = (String) templateParams.get("subject"); // Generate body from template String body = templateManager.processTemplate("verification_email_v2.ftl", templateParams); String htmlBody = templateManager.processTemplate("verification_email_html_v2.ftl", templateParams); diff --git a/orcid-web/src/main/java/org/orcid/frontend/oauth2/OauthController.java b/orcid-web/src/main/java/org/orcid/frontend/oauth2/OauthController.java index f5278118110..f11d4ef4f55 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/oauth2/OauthController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/oauth2/OauthController.java @@ -12,6 +12,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.constants.OrcidOauth2Constants; import org.orcid.core.exception.ClientDeactivatedException; import org.orcid.core.exception.LockedException; @@ -21,6 +22,8 @@ import org.orcid.core.oauth.OrcidRandomValueTokenServices; import org.orcid.core.oauth.service.OrcidAuthorizationEndpoint; import org.orcid.core.oauth.service.OrcidOAuth2RequestValidator; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.frontend.web.controllers.BaseControllerUtil; import org.orcid.frontend.web.controllers.helper.OauthHelper; import org.orcid.frontend.web.exception.OauthInvalidRequestException; @@ -75,6 +78,9 @@ public class OauthController { @Resource(name = "profileEntityManagerV3") private ProfileEntityManager profileEntityManager; + @Resource + private EventManager eventManager; + @RequestMapping(value = { "/oauth/custom/init.json" }, method = RequestMethod.POST) public @ResponseBody RequestInfoForm loginGetHandler(HttpServletRequest request, Map model, @RequestParam Map requestParameters, SessionStatus sessionStatus, Principal principal) throws UnsupportedEncodingException { @@ -90,6 +96,9 @@ public class OauthController { List responseParam = parameters.get(requestInfoForm.getResponseType()); if (responseParam != null && !responseParam.isEmpty() && !PojoUtil.isEmpty(responseParam.get(0))) { isResponseSet = true; + if (Features.EVENTS.isActive()) { + eventManager.createEvent(requestInfoForm.getUserOrcid(), EventType.REAUTHORIZE, request); + } } } diff --git a/orcid-web/src/main/java/org/orcid/frontend/spring/AjaxAuthenticationSuccessHandler.java b/orcid-web/src/main/java/org/orcid/frontend/spring/AjaxAuthenticationSuccessHandler.java index 5d3fc8bca2c..6bb187adfbb 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/spring/AjaxAuthenticationSuccessHandler.java +++ b/orcid-web/src/main/java/org/orcid/frontend/spring/AjaxAuthenticationSuccessHandler.java @@ -6,6 +6,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.orcid.core.common.manager.EventManager; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; /* @@ -15,9 +19,15 @@ * @author Robert Peters (rcpeters) */ public class AjaxAuthenticationSuccessHandler extends AjaxAuthenticationSuccessHandlerBase { + + @Autowired + EventManager eventManager; public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { String targetUrl = getTargetUrl(request, response, authentication); + if (Features.EVENTS.isActive()) { + eventManager.createEvent(authentication.getPrincipal().toString(), EventType.SIGN_IN, request); + } response.setContentType("application/json"); response.getWriter().println("{\"success\": true, \"url\": \"" + targetUrl.replaceAll("^/", "") + "\"}"); } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/AdminController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/AdminController.java index e92a67ca7a9..2badc25731a 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/AdminController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/AdminController.java @@ -26,6 +26,8 @@ import org.orcid.core.manager.v3.read_only.RecordNameManagerReadOnly; import org.orcid.core.togglz.Features; import org.orcid.core.utils.OrcidStringUtils; +import org.orcid.frontend.email.RecordEmailSender; +import org.orcid.frontend.web.util.PasswordConstants; import org.orcid.jaxb.model.clientgroup.ClientType; import org.orcid.jaxb.model.clientgroup.MemberType; import org.orcid.jaxb.model.common.OrcidType; @@ -33,8 +35,6 @@ import org.orcid.jaxb.model.v3.release.record.Email; import org.orcid.jaxb.model.v3.release.record.Emails; import org.orcid.jaxb.model.v3.release.record.Name; -import org.orcid.frontend.email.RecordEmailSender; -import org.orcid.frontend.web.util.PasswordConstants; import org.orcid.persistence.jpa.entities.ClientDetailsEntity; import org.orcid.persistence.jpa.entities.ProfileEntity; import org.orcid.pojo.AdminChangePassword; @@ -332,7 +332,8 @@ else if (PojoUtil.isEmpty(email) || !validateEmailAddress(email)) // Notify any new email address if (!emailsToNotify.isEmpty()) { for (String emailToNotify : emailsToNotify) { - recordEmailSender.sendVerificationEmail(orcid, emailToNotify); + boolean isPrimaryEmail = emailManager.isPrimaryEmail(orcid, emailToNotify); + recordEmailSender.sendVerificationEmail(orcid, emailToNotify, isPrimaryEmail); } } profileDetails.setStatus(getMessage("admin.success")); diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/EmailDomainController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/EmailDomainController.java index e42dd146931..b4626ba8551 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/EmailDomainController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/EmailDomainController.java @@ -4,8 +4,10 @@ import javax.ws.rs.core.MediaType; import org.orcid.core.common.manager.EmailDomainManager; +import org.orcid.core.solr.OrcidSolrOrgsClient; import org.orcid.core.utils.OrcidStringUtils; import org.orcid.persistence.jpa.entities.EmailDomainEntity; +import org.orcid.utils.solr.entities.OrgDisambiguatedSolrDocument; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -22,12 +24,15 @@ public class EmailDomainController { @Resource private EmailDomainManager emailDomainManager; + @Resource + private OrcidSolrOrgsClient orcidSolrOrgsClient; + @RequestMapping(value = "/find-category", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON) public @ResponseBody ObjectNode findCategory(@RequestParam("domain") String domain) { ObjectMapper mapper = new ObjectMapper(); if(domain == null || domain.isBlank() || domain.length() > 254) { ObjectNode response = mapper.createObjectNode(); - response.put("error", "domain lenght too long or invalid"); + response.put("error", "Domain length too short, empty or invalid"); return response; } domain = OrcidStringUtils.stripHtml(domain); @@ -42,4 +47,32 @@ public class EmailDomainController { return response; } } + + @RequestMapping(value = "/find-org", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON) + public @ResponseBody ObjectNode findOrgInfo(@RequestParam("domain") String domain) { + ObjectMapper mapper = new ObjectMapper(); + ObjectNode response = mapper.createObjectNode(); + if(domain == null || domain.isBlank() || domain.length() > 254) { + response.put("error", "Domain length too short, empty or invalid"); + return response; + } + domain = OrcidStringUtils.stripHtml(domain); + + EmailDomainEntity ede = emailDomainManager.findByEmailDoman(domain); + if(ede != null) { + String rorId = ede.getRorId(); + if(rorId != null && !rorId.isBlank()) { + OrgDisambiguatedSolrDocument orgInfo = orcidSolrOrgsClient.getOrgByRorId(rorId); + if(orgInfo != null) { + // Pick the first result + response.put("Domain", domain); + response.put("ROR", rorId); + response.put("Org Name", orgInfo.getOrgDisambiguatedName()); + response.put("Country", orgInfo.getOrgDisambiguatedCountry()); + response.put("City", orgInfo.getOrgDisambiguatedCity()); + } + } + } + return response; + } } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/FundingsController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/FundingsController.java index 711f65e75eb..4646516bc42 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/FundingsController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/FundingsController.java @@ -6,11 +6,14 @@ import java.text.NumberFormat; import java.text.ParsePosition; import java.util.ArrayList; +import java.util.Collections; import java.util.Currency; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -24,7 +27,9 @@ import org.orcid.core.manager.v3.ProfileFundingManager; import org.orcid.core.security.visibility.OrcidVisibilityDefaults; import org.orcid.core.utils.v3.ContributorUtils; +import org.orcid.core.utils.v3.SourceUtils; import org.orcid.core.utils.v3.activities.FundingComparators; +import org.orcid.frontend.web.pagination.WorksPaginator; import org.orcid.frontend.web.util.LanguagesMap; import org.orcid.jaxb.model.common.FundingType; import org.orcid.jaxb.model.common.Relationship; @@ -196,7 +201,12 @@ FundingForm getFunding() { fundingGroups.add(fundingGroup); } - fundingGroups.sort(new FundingComparators().getInstance(sort, sortAsc, getEffectiveUserOrcid())); + if ("source".equals(sort)) { + fundingGroups = new FundingComparators().sortBySource(fundingGroups, sortAsc, getEffectiveUserOrcid()); + } else { + fundingGroups.sort(new FundingComparators().getInstance(sort, sortAsc, getEffectiveUserOrcid())); + } + return fundingGroups; } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/LoginController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/LoginController.java index 424c406fef9..98a34a18d04 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/LoginController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/LoginController.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.constants.OrcidOauth2Constants; import org.orcid.core.exception.ClientDeactivatedException; import org.orcid.core.exception.LockedException; @@ -23,6 +24,8 @@ import org.orcid.core.oauth.service.OrcidAuthorizationEndpoint; import org.orcid.core.oauth.service.OrcidOAuth2RequestValidator; import org.orcid.core.security.OrcidUserDetailsService; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.frontend.spring.web.social.config.SocialSignInUtils; import org.orcid.frontend.spring.web.social.config.SocialType; import org.orcid.frontend.spring.web.social.config.UserCookieGenerator; @@ -86,6 +89,9 @@ public class LoginController extends OauthControllerBase { @Resource private OauthHelper oauthHelper; + + @Resource + private EventManager eventManager; @RequestMapping(value = "/account/names/{type}", method = RequestMethod.GET) public @ResponseBody Names getAccountNames(@PathVariable String type) { @@ -342,6 +348,9 @@ private ModelAndView processSocialLogin(HttpServletRequest request, HttpServletR if (userConnectionId == null) { throw new IllegalArgumentException("Unable to find userConnectionId for providerUserId = " + providerUserId); } + if (Features.EVENTS.isActive()) { + eventManager.createEvent(userConnection.getOrcid(), EventType.SIGN_IN, request); + } userCookieGenerator.addCookie(userConnectionId, response); if ("social_2FA".equals(view.getViewName())) { diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ManageProfileController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ManageProfileController.java index 4fa8de4c1f6..1579ef03bb1 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ManageProfileController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ManageProfileController.java @@ -62,7 +62,6 @@ import org.orcid.pojo.ajaxForm.Email; import org.orcid.pojo.ajaxForm.Errors; import org.orcid.pojo.ajaxForm.NamesForm; -import org.orcid.pojo.ajaxForm.OtherNamesForm; import org.orcid.pojo.ajaxForm.PojoUtil; import org.orcid.pojo.ajaxForm.Text; import org.orcid.pojo.ajaxForm.Visibility; @@ -79,8 +78,6 @@ import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import com.fasterxml.jackson.databind.JsonNode; - /** * @author Declan Newman (declan) Date: 22/02/2012 */ @@ -500,16 +497,18 @@ public ModelAndView confirmDeactivateOrcidAccount(HttpServletRequest request, Ht @RequestMapping(value = "/verifyEmail.json", method = RequestMethod.GET) public @ResponseBody Errors verifyEmail(HttpServletRequest request, @RequestParam("email") String email) { String currentUserOrcid = getCurrentUserOrcid(); - String primaryEmail = emailManager.findPrimaryEmail(currentUserOrcid).getEmail(); - if (primaryEmail.equals(email)) - request.getSession().setAttribute(EmailConstants.CHECK_EMAIL_VALIDATED, false); - - String emailOwner = emailManagerReadOnly.findOrcidIdByEmail(email); + + String emailOwner = emailManagerReadOnly.findOrcidIdByEmail(email); if(!currentUserOrcid.equals(emailOwner)) { - throw new IllegalArgumentException("Invalid email address provided"); + throw new IllegalArgumentException("Invalid email address provided"); + } + + boolean isPrimaryEmail = emailManagerReadOnly.isPrimaryEmail(currentUserOrcid, email); + if (isPrimaryEmail) { + request.getSession().setAttribute(EmailConstants.CHECK_EMAIL_VALIDATED, false); } - recordEmailSender.sendVerificationEmail(currentUserOrcid, email); + recordEmailSender.sendVerificationEmail(currentUserOrcid, email, isPrimaryEmail); return new Errors(); } @@ -649,7 +648,7 @@ public ModelAndView confirmDeactivateOrcidAccount(HttpServletRequest request, Ht request.getSession().setAttribute(EmailConstants.CHECK_EMAIL_VALIDATED, false); recordEmailSender.sendEmailAddressChangedNotification(currentUserOrcid, keys.get("new"), keys.get("old")); } - recordEmailSender.sendVerificationEmail(currentUserOrcid, OrcidStringUtils.filterEmailAddress(email.getValue())); + recordEmailSender.sendVerificationEmail(currentUserOrcid, OrcidStringUtils.filterEmailAddress(email.getValue()), email.isPrimary()); } else { email.setErrors(errors); } @@ -745,7 +744,7 @@ public ModelAndView confirmDeactivateOrcidAccount(HttpServletRequest request, Ht String oldPrimary = keys.get("old"); recordEmailSender.sendEmailAddressChangedNotification(orcid, newPrimary, oldPrimary); if(keys.containsKey("sendVerification")) { - recordEmailSender.sendVerificationEmail(orcid, newPrimary); + recordEmailSender.sendVerificationEmail(orcid, newPrimary, true); request.getSession().setAttribute(EmailConstants.CHECK_EMAIL_VALIDATED, false); } } @@ -795,7 +794,8 @@ public ModelAndView confirmDeactivateOrcidAccount(HttpServletRequest request, Ht recordEmailSender.sendEmailAddressChangedNotification(orcid, newPrimary, oldPrimary); } String verifyAddress = keys.get("verifyAddress"); - recordEmailSender.sendVerificationEmail(orcid, verifyAddress); + boolean isPrimaryEmail = keys.containsKey("new") ? true : false; + recordEmailSender.sendVerificationEmail(orcid, verifyAddress, isPrimaryEmail); } else { editEmail.setErrors(errors); } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/OauthAuthorizeController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/OauthAuthorizeController.java index 7cef06b82a6..1858acb7338 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/OauthAuthorizeController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/OauthAuthorizeController.java @@ -11,8 +11,12 @@ import org.orcid.core.constants.OrcidOauth2Constants; import org.orcid.core.exception.ClientDeactivatedException; import org.orcid.core.exception.LockedException; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.manager.v3.ProfileEntityManager; +import org.orcid.core.oauth.OrcidProfileUserDetails; import org.orcid.core.oauth.OrcidRandomValueTokenServices; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.frontend.web.controllers.helper.OauthHelper; import org.orcid.jaxb.model.message.ScopePathType; import org.orcid.persistence.jpa.entities.ClientDetailsEntity; @@ -23,9 +27,11 @@ import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.oauth2.common.exceptions.InvalidRequestException; import org.springframework.security.oauth2.common.exceptions.InvalidScopeException; import org.springframework.security.oauth2.common.util.OAuth2Utils; import org.springframework.security.oauth2.provider.AuthorizationRequest; +import org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint; import org.springframework.security.web.savedrequest.HttpSessionRequestCache; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; @@ -52,6 +58,9 @@ public class OauthAuthorizeController extends OauthControllerBase { @Resource private OauthHelper oauthHelper; + + @Resource + private EventManager eventManager; /** This is called if user is already logged in. * Checks permissions have been granted to client and generates access code. @@ -242,8 +251,33 @@ public ModelAndView loginGetHandler(HttpServletRequest request, HttpServletRespo } // Approve - RedirectView view = (RedirectView) authorizationEndpoint.approveOrDeny(approvalParams, model, status, auth); - requestInfoForm.setRedirectUrl(view.getUrl()); + try { + RedirectView view = (RedirectView) authorizationEndpoint.approveOrDeny(approvalParams, model, status, auth); + requestInfoForm.setRedirectUrl(view.getUrl()); + } catch (InvalidRequestException ire) { + LOGGER.error("Something changed on the request, here are the authorization request and original authorization request values:"); + LOGGER.error("Client id: original '{}' latest '{}'", originalRequest.get(OrcidOauth2Constants.CLIENT_ID), authorizationRequest.getClientId()); + LOGGER.error("State: original '{}' latest '{}'", originalRequest.get(OrcidOauth2Constants.STATE_PARAM), authorizationRequest.getState()); + LOGGER.error("Redirect uri: original '{}' latest '{}'", originalRequest.get(OrcidOauth2Constants.REDIRECT_URI_PARAM), authorizationRequest.getRedirectUri()); + LOGGER.error("Response type: original '{}' latest '{}'", originalRequest.get(OrcidOauth2Constants.RESPONSE_TYPE_PARAM), authorizationRequest.getResponseTypes()); + LOGGER.error("Scope: original '{}' latest '{}'", originalRequest.get(OrcidOauth2Constants.SCOPE_PARAM), authorizationRequest.getScope()); + LOGGER.error("Approved: original '{}' latest '{}'", originalRequest.get("approved"), authorizationRequest.isApproved()); + LOGGER.error("Resource Ids: original '{}' latest '{}'", originalRequest.get("resourceIds"), authorizationRequest.getResourceIds()); + LOGGER.error("Authorities: original '{}' latest '{}'", originalRequest.get("authorities"), authorizationRequest.getAuthorities()); + // Propagate the exception + throw ire; + } + if (Features.EVENTS.isActive()) { + EventType eventType = "true".equals(approvalParams.get("user_oauth_approval")) ? EventType.AUTHORIZE : EventType.AUTHORIZE_DENY; + String orcid = null; + Object principal = auth.getPrincipal(); + if (principal instanceof OrcidProfileUserDetails) { + orcid = ((OrcidProfileUserDetails) principal).getOrcid(); + } else { + orcid = auth.getPrincipal().toString(); + } + eventManager.createEvent(orcid, eventType, request); + } if(new HttpSessionRequestCache().getRequest(request, response) != null) new HttpSessionRequestCache().removeRequest(request, response); LOGGER.info("OauthConfirmAccessController form.getRedirectUri being sent to client browser: " + requestInfoForm.getRedirectUrl()); @@ -252,7 +286,7 @@ public ModelAndView loginGetHandler(HttpServletRequest request, HttpServletRespo request.getSession().removeAttribute(OrcidOauth2Constants.OAUTH_2SCREENS); return requestInfoForm; } - + /** * Copies all request parameters into the provided params map * diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PasswordResetController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PasswordResetController.java index 2ebc5e67a8f..58dd41d5e43 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PasswordResetController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PasswordResetController.java @@ -535,7 +535,8 @@ private void reactivateAndLogUserIn(HttpServletRequest request, HttpServletRespo // Notify any new email address if (!emailsToNotify.isEmpty()) { for (String emailToNotify : emailsToNotify) { - recordEmailSender.sendVerificationEmail(orcid, emailToNotify); + boolean isPrimaryEmail = emailManager.isPrimaryEmail(orcid, emailToNotify); + recordEmailSender.sendVerificationEmail(orcid, emailToNotify, isPrimaryEmail); } } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicProfileController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicProfileController.java index 53144913727..0fb40021d1f 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicProfileController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicProfileController.java @@ -84,11 +84,14 @@ import java.math.BigDecimal; import java.text.NumberFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; import java.util.stream.IntStream; +import java.util.stream.Stream; @Controller public class PublicProfileController extends BaseWorkspaceController { @@ -428,7 +431,11 @@ private boolean isRecordReadyForIndexing(ProfileEntity profile) { fundingGroups.add(fundingGroup); } - fundingGroups.sort(new FundingComparators().getInstance(sort, sortAsc, orcid)); + if ("source".equals(sort)) { + fundingGroups = new FundingComparators().sortBySource(fundingGroups, sortAsc, orcid); + } else { + fundingGroups.sort(new FundingComparators().getInstance(sort, sortAsc, orcid)); + } return fundingGroups; } diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicRecordController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicRecordController.java index f0b9d6e2ff5..3f2f78febc4 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicRecordController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicRecordController.java @@ -1,5 +1,6 @@ package org.orcid.frontend.web.controllers; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.exception.DeactivatedException; import org.orcid.core.exception.LockedException; import org.orcid.core.exception.OrcidDeprecatedException; @@ -27,6 +28,7 @@ import org.orcid.core.manager.v3.read_only.WorkManagerReadOnly; import org.orcid.core.oauth.OrcidOauth2TokenDetailService; import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.core.utils.v3.SourceUtils; import org.orcid.frontend.web.pagination.Page; import org.orcid.frontend.web.pagination.ResearchResourcePaginator; @@ -163,6 +165,9 @@ public class PublicRecordController extends BaseWorkspaceController { @Resource PublicProfileController publicProfileController; + @Resource + private EventManager eventManager; + @Resource private WorksCacheManager worksCacheManager; @@ -179,6 +184,9 @@ PublicRecord getPublicRecord(@PathVariable("orcid") String orcid) { boolean isDeprecated = false; try { + if (Features.EVENTS.isActive()) { + eventManager.createEvent(orcid, EventType.PUBLIC_PAGE, null); + } // Check if the profile is deprecated or locked orcidSecurityManager.checkProfile(orcid); } catch (LockedException | DeactivatedException e) { diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/RegistrationController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/RegistrationController.java index 83bf8621655..9979dfd533f 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/RegistrationController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/RegistrationController.java @@ -20,6 +20,7 @@ import org.orcid.core.manager.EncryptionManager; import org.orcid.core.manager.ProfileEntityCacheManager; import org.orcid.core.manager.RegistrationManager; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.manager.v3.OrcidSearchManager; import org.orcid.core.manager.v3.ProfileHistoryEventManager; import org.orcid.core.manager.v3.read_only.AffiliationsManagerReadOnly; @@ -27,6 +28,8 @@ import org.orcid.core.manager.v3.read_only.RecordNameManagerReadOnly; import org.orcid.core.profile.history.ProfileHistoryEventType; import org.orcid.core.security.OrcidUserDetailsService; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.core.utils.OrcidRequestUtil; import org.orcid.core.utils.OrcidStringUtils; import org.orcid.frontend.email.RecordEmailSender; @@ -130,6 +133,9 @@ public class RegistrationController extends BaseController { @Resource private SocialSignInUtils socialSignInUtils; + @Resource + private EventManager eventManager; + @RequestMapping(value = "/register.json", method = RequestMethod.GET) public @ResponseBody Registration getRegister(HttpServletRequest request, HttpServletResponse response) { // Remove the session hash if needed @@ -275,6 +281,9 @@ public void validateGrcaptcha(HttpServletRequest request, @RequestBody Registrat Locale locale = RequestContextUtils.getLocale(request); // Ip String ip = OrcidRequestUtil.getIpAddress(request); + if (Features.EVENTS.isActive()) { + eventManager.createEvent(getCurrentUserOrcid(), EventType.NEW_REGISTRATION, request); + } createMinimalRegistrationAndLogUserIn(request, response, reg, usedCaptcha, locale, ip); } catch (Exception e) { LOGGER.error("Error registering a new user", e); @@ -572,4 +581,4 @@ private void processProfileHistoryEvents(Registration registration, String newUs } } -} \ No newline at end of file +} diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ShibbolethController.java b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ShibbolethController.java index 9f8e25031c0..9f0dc458c06 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ShibbolethController.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/controllers/ShibbolethController.java @@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.orcid.core.common.manager.EventManager; import org.orcid.core.constants.OrcidOauth2Constants; import org.orcid.core.manager.BackupCodeManager; import org.orcid.core.manager.IdentityProviderManager; @@ -20,6 +21,8 @@ import org.orcid.core.manager.v3.read_only.EmailManagerReadOnly; import org.orcid.core.oauth.OrcidProfileUserDetails; import org.orcid.core.security.OrcidUserDetailsService; +import org.orcid.core.togglz.Features; +import org.orcid.core.utils.EventType; import org.orcid.core.utils.JsonUtils; import org.orcid.frontend.web.exception.FeatureDisabledException; import org.orcid.persistence.jpa.entities.ProfileEntity; @@ -81,6 +84,9 @@ public class ShibbolethController extends BaseController { @Resource private OrcidUserDetailsService orcidUserDetailsService; + + @Resource + private EventManager eventManager; @RequestMapping(value = { "/2FA/authenticationCode.json" }, method = RequestMethod.GET) public @ResponseBody TwoFactorAuthenticationCodes getTwoFactorCodeWrapper() { @@ -165,6 +171,10 @@ public ModelAndView signinHandler(HttpServletRequest request, HttpServletRespons try { notifyUser(shibIdentityProvider, userConnectionEntity); processAuthentication(remoteUser, userConnectionEntity); + if (Features.EVENTS.isActive()) { + OrcidProfileUserDetails orcidProfileUserDetails = getOrcidProfileUserDetails(userConnectionEntity.getOrcid()); + eventManager.createEvent(orcidProfileUserDetails.getOrcid(), EventType.SIGN_IN, request); + } } catch (AuthenticationException e) { // this should never happen SecurityContextHolder.getContext().setAuthentication(null); diff --git a/orcid-web/src/main/java/org/orcid/frontend/web/pagination/WorksPaginator.java b/orcid-web/src/main/java/org/orcid/frontend/web/pagination/WorksPaginator.java index ccb7796241f..9553e641f11 100644 --- a/orcid-web/src/main/java/org/orcid/frontend/web/pagination/WorksPaginator.java +++ b/orcid-web/src/main/java/org/orcid/frontend/web/pagination/WorksPaginator.java @@ -5,6 +5,8 @@ import java.util.Comparator; import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.Resource; @@ -45,7 +47,11 @@ public Page getWorksPage(String orcid, int offset, int pageSize, bool Page worksPage = new Page(); if (works != null) { List filteredGroups = filter(works, justPublic); - filteredGroups = sort(filteredGroups, sort, sortAsc, orcid); + if ("source".equals(sort)) { + filteredGroups = sortBySource(filteredGroups, sortAsc, orcid); + } else { + filteredGroups = sort(filteredGroups, sort, sortAsc, orcid); + } worksPage.setTotalGroups(filteredGroups.size()); @@ -65,7 +71,11 @@ public Page getWorksExtendedPage(String orcid, int offset, int pageSi Page worksPage = new Page(); if (works != null) { List filteredGroups = filterWorksExtended(works, justPublic); - filteredGroups = sortExtended(filteredGroups, sort, sortAsc, orcid); + if ("source".equals(sort)) { + filteredGroups = sortBySourceExtended(filteredGroups, sortAsc, orcid); + } else { + filteredGroups = sortExtended(filteredGroups, sort, sortAsc, orcid); + } worksPage.setTotalGroups(filteredGroups.size()); @@ -126,8 +136,6 @@ private List sort(List Collections.sort(list, new DateComparator()); } else if (TYPE_SORT_KEY.equals(sort)) { Collections.sort(list, new TypeComparator()); - } else if (SOURCE_SORT_KEY.equals(sort)) { - Collections.sort(list, new SourceComparator(orcid)); } if (!sortAsc) { @@ -143,8 +151,6 @@ private List sortExtended(List list, Strin Collections.sort(list, new DateComparatorWorkGroupExtended()); } else if (TYPE_SORT_KEY.equals(sort)) { Collections.sort(list, new TypeComparatorWorkGroupExtended()); - } else if (SOURCE_SORT_KEY.equals(sort)) { - Collections.sort(list, new SourceComparatorWorkGroupExtended(orcid)); } if (!sortAsc) { @@ -457,21 +463,36 @@ public int compare(WorkGroupExtended o1, WorkGroupExtended o2) { } } - private class SourceComparatorWorkGroupExtended implements Comparator { - private String orcid; + public List sortBySource(List workGroups, boolean sortAsc, String orcid) { + List selfAsserted = workGroups.stream() + .filter(work -> SourceUtils.isSelfAsserted(work.getWorkSummary().get(0).getSource(), orcid)) + .collect(Collectors.toList()); - SourceComparatorWorkGroupExtended(String orcid) { - this.orcid = orcid; - } + List validated = workGroups.stream() + .filter(work -> !SourceUtils.isSelfAsserted(work.getWorkSummary().get(0).getSource(), orcid)) + .collect(Collectors.toList()); - @Override - public int compare(WorkGroupExtended o1, WorkGroupExtended o2) { - return Boolean.compare(isSelfAsserted(o1.getWorkSummary().get(0)), isSelfAsserted(o2.getWorkSummary().get(0))); - } + selfAsserted.sort(new TitleComparator()); + validated.sort(new TitleComparator()); - private boolean isSelfAsserted(WorkSummaryExtended workSummary) { - return SourceUtils.isSelfAsserted(workSummary.getSource(), orcid); - } + return (sortAsc ? Stream.concat(validated.stream(), selfAsserted.stream()) : Stream.concat(selfAsserted.stream(), validated.stream())) + .collect(Collectors.toList()); + } + + public List sortBySourceExtended(List workGroups, boolean sortAsc, String orcid) { + List selfAsserted = workGroups.stream() + .filter(work -> SourceUtils.isSelfAsserted(work.getWorkSummary().get(0).getSource(), orcid)) + .collect(Collectors.toList()); + + List validated = workGroups.stream() + .filter(work -> !SourceUtils.isSelfAsserted(work.getWorkSummary().get(0).getSource(), orcid)) + .collect(Collectors.toList()); + + selfAsserted.sort(new TitleComparatorWorkGroupExtended()); + validated.sort(new TitleComparatorWorkGroupExtended()); + + return (sortAsc ? Stream.concat(validated.stream(), selfAsserted.stream()) : Stream.concat(selfAsserted.stream(), validated.stream())) + .collect(Collectors.toList()); } } diff --git a/orcid-web/src/main/resources/orcid-frontend-security.xml b/orcid-web/src/main/resources/orcid-frontend-security.xml index d264b73f05e..42e2fd62ab0 100644 --- a/orcid-web/src/main/resources/orcid-frontend-security.xml +++ b/orcid-web/src/main/resources/orcid-frontend-security.xml @@ -421,7 +421,9 @@ + access="IS_AUTHENTICATED_ANONYMOUSLY" /> + page = worksPaginator.getWorksPage("orcid", 0, pageSize, false, WorksPaginator.SOURCE_SORT_KEY, false); - assertEquals("APP-5555-5555-5555-5555", page.getGroups().get(0).getWorks().get(0).getSource()); - assertEquals("orcid", page.getGroups().get(49).getWorks().get(0).getSource()); + assertEquals("orcid", page.getGroups().get(0).getWorks().get(0).getSource()); + assertEquals("APP-5555-5555-5555-5555", page.getGroups().get(49).getWorks().get(0).getSource()); } @Test @@ -218,8 +218,8 @@ public void testTitleSortCase() { Mockito.when(worksCacheManager.getGroupedWorks(Mockito.anyString())).thenReturn(works); Page page = worksPaginator.getWorksPage("orcid", 0, pageSize, false, WorksPaginator.SOURCE_SORT_KEY, false); - assertEquals("APP-5555-5555-5555-5555", page.getGroups().get(0).getWorks().get(0).getSource()); - assertEquals("orcid", page.getGroups().get(49).getWorks().get(0).getSource()); + assertEquals("orcid", page.getGroups().get(0).getWorks().get(0).getSource()); + assertEquals("APP-5555-5555-5555-5555", page.getGroups().get(49).getWorks().get(0).getSource()); } @Test diff --git a/properties/development.properties b/properties/development.properties index bfcef35f40a..de9a4064834 100644 --- a/properties/development.properties +++ b/properties/development.properties @@ -196,7 +196,7 @@ org.orcid.core.orgs.fundref.localFilePath=/tmp/some/path # ROR org imports org.orcid.core.orgs.ror.enabled=false -org.orcid.core.orgs.ror.zenodoRecordsUrl=https://zenodo.org/api/records/?communities=ror-data +org.orcid.core.orgs.ror.zenodoRecordsUrl=https://zenodo.org/api/records?communities=ror-data org.orcid.core.orgs.ror.localDataPath=/tmp/ror/ror.json org.orcid.core.orgs.ror.localZipPath=/tmp/ror/ror.zip diff --git a/solr-config/cores/fundingSubType/conf/lang/contractions_ca.txt b/solr-config/cores/fundingSubType/conf/lang/contractions_ca.txt deleted file mode 100644 index 307a85f913d..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/contractions_ca.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Set of Catalan contractions for ElisionFilter -# TODO: load this as a resource from the analyzer and sync it in build.xml -d -l -m -n -s -t diff --git a/solr-config/cores/fundingSubType/conf/lang/contractions_fr.txt b/solr-config/cores/fundingSubType/conf/lang/contractions_fr.txt deleted file mode 100644 index f1bba51b23e..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/contractions_fr.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Set of French contractions for ElisionFilter -# TODO: load this as a resource from the analyzer and sync it in build.xml -l -m -t -qu -n -s -j -d -c -jusqu -quoiqu -lorsqu -puisqu diff --git a/solr-config/cores/fundingSubType/conf/lang/contractions_ga.txt b/solr-config/cores/fundingSubType/conf/lang/contractions_ga.txt deleted file mode 100644 index 9ebe7fa349a..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/contractions_ga.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Set of Irish contractions for ElisionFilter -# TODO: load this as a resource from the analyzer and sync it in build.xml -d -m -b diff --git a/solr-config/cores/fundingSubType/conf/lang/contractions_it.txt b/solr-config/cores/fundingSubType/conf/lang/contractions_it.txt deleted file mode 100644 index cac04095372..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/contractions_it.txt +++ /dev/null @@ -1,23 +0,0 @@ -# Set of Italian contractions for ElisionFilter -# TODO: load this as a resource from the analyzer and sync it in build.xml -c -l -all -dall -dell -nell -sull -coll -pell -gl -agl -dagl -degl -negl -sugl -un -m -t -s -v -d diff --git a/solr-config/cores/fundingSubType/conf/lang/hyphenations_ga.txt b/solr-config/cores/fundingSubType/conf/lang/hyphenations_ga.txt deleted file mode 100644 index 4d2642cc5a3..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/hyphenations_ga.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Set of Irish hyphenations for StopFilter -# TODO: load this as a resource from the analyzer and sync it in build.xml -h -n -t diff --git a/solr-config/cores/fundingSubType/conf/lang/stemdict_nl.txt b/solr-config/cores/fundingSubType/conf/lang/stemdict_nl.txt deleted file mode 100644 index 441072971d3..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stemdict_nl.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Set of overrides for the dutch stemmer -# TODO: load this as a resource from the analyzer and sync it in build.xml -fiets fiets -bromfiets bromfiets -ei eier -kind kinder diff --git a/solr-config/cores/fundingSubType/conf/lang/stoptags_ja.txt b/solr-config/cores/fundingSubType/conf/lang/stoptags_ja.txt deleted file mode 100644 index 71b750845e3..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stoptags_ja.txt +++ /dev/null @@ -1,420 +0,0 @@ -# -# This file defines a Japanese stoptag set for JapanesePartOfSpeechStopFilter. -# -# Any token with a part-of-speech tag that exactly matches those defined in this -# file are removed from the token stream. -# -# Set your own stoptags by uncommenting the lines below. Note that comments are -# not allowed on the same line as a stoptag. See LUCENE-3745 for frequency lists, -# etc. that can be useful for building you own stoptag set. -# -# The entire possible tagset is provided below for convenience. -# -##### -# noun: unclassified nouns -#名詞 -# -# noun-common: Common nouns or nouns where the sub-classification is undefined -#名詞-一般 -# -# noun-proper: Proper nouns where the sub-classification is undefined -#名詞-固有名詞 -# -# noun-proper-misc: miscellaneous proper nouns -#名詞-固有名詞-一般 -# -# noun-proper-person: Personal names where the sub-classification is undefined -#名詞-固有名詞-人名 -# -# noun-proper-person-misc: names that cannot be divided into surname and -# given name; foreign names; names where the surname or given name is unknown. -# e.g. お市の方 -#名詞-固有名詞-人名-一般 -# -# noun-proper-person-surname: Mainly Japanese surnames. -# e.g. 山田 -#名詞-固有名詞-人名-姓 -# -# noun-proper-person-given_name: Mainly Japanese given names. -# e.g. 太郎 -#名詞-固有名詞-人名-名 -# -# noun-proper-organization: Names representing organizations. -# e.g. 通産省, NHK -#名詞-固有名詞-組織 -# -# noun-proper-place: Place names where the sub-classification is undefined -#名詞-固有名詞-地域 -# -# noun-proper-place-misc: Place names excluding countries. -# e.g. アジア, バルセロナ, 京都 -#名詞-固有名詞-地域-一般 -# -# noun-proper-place-country: Country names. -# e.g. 日本, オーストラリア -#名詞-固有名詞-地域-国 -# -# noun-pronoun: Pronouns where the sub-classification is undefined -#名詞-代名詞 -# -# noun-pronoun-misc: miscellaneous pronouns: -# e.g. それ, ここ, あいつ, あなた, あちこち, いくつ, どこか, なに, みなさん, みんな, わたくし, われわれ -#名詞-代名詞-一般 -# -# noun-pronoun-contraction: Spoken language contraction made by combining a -# pronoun and the particle 'wa'. -# e.g. ありゃ, こりゃ, こりゃあ, そりゃ, そりゃあ -#名詞-代名詞-縮約 -# -# noun-adverbial: Temporal nouns such as names of days or months that behave -# like adverbs. Nouns that represent amount or ratios and can be used adverbially, -# e.g. 金曜, 一月, 午後, 少量 -#名詞-副詞可能 -# -# noun-verbal: Nouns that take arguments with case and can appear followed by -# 'suru' and related verbs (する, できる, なさる, くださる) -# e.g. インプット, 愛着, 悪化, 悪戦苦闘, 一安心, 下取り -#名詞-サ変接続 -# -# noun-adjective-base: The base form of adjectives, words that appear before な ("na") -# e.g. 健康, 安易, 駄目, だめ -#名詞-形容動詞語幹 -# -# noun-numeric: Arabic numbers, Chinese numerals, and counters like 何 (回), 数. -# e.g. 0, 1, 2, 何, 数, 幾 -#名詞-数 -# -# noun-affix: noun affixes where the sub-classification is undefined -#名詞-非自立 -# -# noun-affix-misc: Of adnominalizers, the case-marker の ("no"), and words that -# attach to the base form of inflectional words, words that cannot be classified -# into any of the other categories below. This category includes indefinite nouns. -# e.g. あかつき, 暁, かい, 甲斐, 気, きらい, 嫌い, くせ, 癖, こと, 事, ごと, 毎, しだい, 次第, -# 順, せい, 所為, ついで, 序で, つもり, 積もり, 点, どころ, の, はず, 筈, はずみ, 弾み, -# 拍子, ふう, ふり, 振り, ほう, 方, 旨, もの, 物, 者, ゆえ, 故, ゆえん, 所以, わけ, 訳, -# わり, 割り, 割, ん-口語/, もん-口語/ -#名詞-非自立-一般 -# -# noun-affix-adverbial: noun affixes that that can behave as adverbs. -# e.g. あいだ, 間, あげく, 挙げ句, あと, 後, 余り, 以外, 以降, 以後, 以上, 以前, 一方, うえ, -# 上, うち, 内, おり, 折り, かぎり, 限り, きり, っきり, 結果, ころ, 頃, さい, 際, 最中, さなか, -# 最中, じたい, 自体, たび, 度, ため, 為, つど, 都度, とおり, 通り, とき, 時, ところ, 所, -# とたん, 途端, なか, 中, のち, 後, ばあい, 場合, 日, ぶん, 分, ほか, 他, まえ, 前, まま, -# 儘, 侭, みぎり, 矢先 -#名詞-非自立-副詞可能 -# -# noun-affix-aux: noun affixes treated as 助動詞 ("auxiliary verb") in school grammars -# with the stem よう(だ) ("you(da)"). -# e.g. よう, やう, 様 (よう) -#名詞-非自立-助動詞語幹 -# -# noun-affix-adjective-base: noun affixes that can connect to the indeclinable -# connection form な (aux "da"). -# e.g. みたい, ふう -#名詞-非自立-形容動詞語幹 -# -# noun-special: special nouns where the sub-classification is undefined. -#名詞-特殊 -# -# noun-special-aux: The そうだ ("souda") stem form that is used for reporting news, is -# treated as 助動詞 ("auxiliary verb") in school grammars, and attach to the base -# form of inflectional words. -# e.g. そう -#名詞-特殊-助動詞語幹 -# -# noun-suffix: noun suffixes where the sub-classification is undefined. -#名詞-接尾 -# -# noun-suffix-misc: Of the nouns or stem forms of other parts of speech that connect -# to ガル or タイ and can combine into compound nouns, words that cannot be classified into -# any of the other categories below. In general, this category is more inclusive than -# 接尾語 ("suffix") and is usually the last element in a compound noun. -# e.g. おき, かた, 方, 甲斐 (がい), がかり, ぎみ, 気味, ぐるみ, (~した) さ, 次第, 済 (ず) み, -# よう, (でき)っこ, 感, 観, 性, 学, 類, 面, 用 -#名詞-接尾-一般 -# -# noun-suffix-person: Suffixes that form nouns and attach to person names more often -# than other nouns. -# e.g. 君, 様, 著 -#名詞-接尾-人名 -# -# noun-suffix-place: Suffixes that form nouns and attach to place names more often -# than other nouns. -# e.g. 町, 市, 県 -#名詞-接尾-地域 -# -# noun-suffix-verbal: Of the suffixes that attach to nouns and form nouns, those that -# can appear before スル ("suru"). -# e.g. 化, 視, 分け, 入り, 落ち, 買い -#名詞-接尾-サ変接続 -# -# noun-suffix-aux: The stem form of そうだ (様態) that is used to indicate conditions, -# is treated as 助動詞 ("auxiliary verb") in school grammars, and attach to the -# conjunctive form of inflectional words. -# e.g. そう -#名詞-接尾-助動詞語幹 -# -# noun-suffix-adjective-base: Suffixes that attach to other nouns or the conjunctive -# form of inflectional words and appear before the copula だ ("da"). -# e.g. 的, げ, がち -#名詞-接尾-形容動詞語幹 -# -# noun-suffix-adverbial: Suffixes that attach to other nouns and can behave as adverbs. -# e.g. 後 (ご), 以後, 以降, 以前, 前後, 中, 末, 上, 時 (じ) -#名詞-接尾-副詞可能 -# -# noun-suffix-classifier: Suffixes that attach to numbers and form nouns. This category -# is more inclusive than 助数詞 ("classifier") and includes common nouns that attach -# to numbers. -# e.g. 個, つ, 本, 冊, パーセント, cm, kg, カ月, か国, 区画, 時間, 時半 -#名詞-接尾-助数詞 -# -# noun-suffix-special: Special suffixes that mainly attach to inflecting words. -# e.g. (楽し) さ, (考え) 方 -#名詞-接尾-特殊 -# -# noun-suffix-conjunctive: Nouns that behave like conjunctions and join two words -# together. -# e.g. (日本) 対 (アメリカ), 対 (アメリカ), (3) 対 (5), (女優) 兼 (主婦) -#名詞-接続詞的 -# -# noun-verbal_aux: Nouns that attach to the conjunctive particle て ("te") and are -# semantically verb-like. -# e.g. ごらん, ご覧, 御覧, 頂戴 -#名詞-動詞非自立的 -# -# noun-quotation: text that cannot be segmented into words, proverbs, Chinese poetry, -# dialects, English, etc. Currently, the only entry for 名詞 引用文字列 ("noun quotation") -# is いわく ("iwaku"). -#名詞-引用文字列 -# -# noun-nai_adjective: Words that appear before the auxiliary verb ない ("nai") and -# behave like an adjective. -# e.g. 申し訳, 仕方, とんでも, 違い -#名詞-ナイ形容詞語幹 -# -##### -# prefix: unclassified prefixes -#接頭詞 -# -# prefix-nominal: Prefixes that attach to nouns (including adjective stem forms) -# excluding numerical expressions. -# e.g. お (水), 某 (氏), 同 (社), 故 (~氏), 高 (品質), お (見事), ご (立派) -#接頭詞-名詞接続 -# -# prefix-verbal: Prefixes that attach to the imperative form of a verb or a verb -# in conjunctive form followed by なる/なさる/くださる. -# e.g. お (読みなさい), お (座り) -#接頭詞-動詞接続 -# -# prefix-adjectival: Prefixes that attach to adjectives. -# e.g. お (寒いですねえ), バカ (でかい) -#接頭詞-形容詞接続 -# -# prefix-numerical: Prefixes that attach to numerical expressions. -# e.g. 約, およそ, 毎時 -#接頭詞-数接続 -# -##### -# verb: unclassified verbs -#動詞 -# -# verb-main: -#動詞-自立 -# -# verb-auxiliary: -#動詞-非自立 -# -# verb-suffix: -#動詞-接尾 -# -##### -# adjective: unclassified adjectives -#形容詞 -# -# adjective-main: -#形容詞-自立 -# -# adjective-auxiliary: -#形容詞-非自立 -# -# adjective-suffix: -#形容詞-接尾 -# -##### -# adverb: unclassified adverbs -#副詞 -# -# adverb-misc: Words that can be segmented into one unit and where adnominal -# modification is not possible. -# e.g. あいかわらず, 多分 -#副詞-一般 -# -# adverb-particle_conjunction: Adverbs that can be followed by の, は, に, -# な, する, だ, etc. -# e.g. こんなに, そんなに, あんなに, なにか, なんでも -#副詞-助詞類接続 -# -##### -# adnominal: Words that only have noun-modifying forms. -# e.g. この, その, あの, どの, いわゆる, なんらかの, 何らかの, いろんな, こういう, そういう, ああいう, -# どういう, こんな, そんな, あんな, どんな, 大きな, 小さな, おかしな, ほんの, たいした, -# 「(, も) さる (ことながら)」, 微々たる, 堂々たる, 単なる, いかなる, 我が」「同じ, 亡き -#連体詞 -# -##### -# conjunction: Conjunctions that can occur independently. -# e.g. が, けれども, そして, じゃあ, それどころか -接続詞 -# -##### -# particle: unclassified particles. -助詞 -# -# particle-case: case particles where the subclassification is undefined. -助詞-格助詞 -# -# particle-case-misc: Case particles. -# e.g. から, が, で, と, に, へ, より, を, の, にて -助詞-格助詞-一般 -# -# particle-case-quote: the "to" that appears after nouns, a person’s speech, -# quotation marks, expressions of decisions from a meeting, reasons, judgements, -# conjectures, etc. -# e.g. ( だ) と (述べた.), ( である) と (して執行猶予...) -助詞-格助詞-引用 -# -# particle-case-compound: Compounds of particles and verbs that mainly behave -# like case particles. -# e.g. という, といった, とかいう, として, とともに, と共に, でもって, にあたって, に当たって, に当って, -# にあたり, に当たり, に当り, に当たる, にあたる, において, に於いて,に於て, における, に於ける, -# にかけ, にかけて, にかんし, に関し, にかんして, に関して, にかんする, に関する, に際し, -# に際して, にしたがい, に従い, に従う, にしたがって, に従って, にたいし, に対し, にたいして, -# に対して, にたいする, に対する, について, につき, につけ, につけて, につれ, につれて, にとって, -# にとり, にまつわる, によって, に依って, に因って, により, に依り, に因り, による, に依る, に因る, -# にわたって, にわたる, をもって, を以って, を通じ, を通じて, を通して, をめぐって, をめぐり, をめぐる, -# って-口語/, ちゅう-関西弁「という」/, (何) ていう (人)-口語/, っていう-口語/, といふ, とかいふ -助詞-格助詞-連語 -# -# particle-conjunctive: -# e.g. から, からには, が, けれど, けれども, けど, し, つつ, て, で, と, ところが, どころか, とも, ども, -# ながら, なり, ので, のに, ば, ものの, や ( した), やいなや, (ころん) じゃ(いけない)-口語/, -# (行っ) ちゃ(いけない)-口語/, (言っ) たって (しかたがない)-口語/, (それがなく)ったって (平気)-口語/ -助詞-接続助詞 -# -# particle-dependency: -# e.g. こそ, さえ, しか, すら, は, も, ぞ -助詞-係助詞 -# -# particle-adverbial: -# e.g. がてら, かも, くらい, 位, ぐらい, しも, (学校) じゃ(これが流行っている)-口語/, -# (それ)じゃあ (よくない)-口語/, ずつ, (私) なぞ, など, (私) なり (に), (先生) なんか (大嫌い)-口語/, -# (私) なんぞ, (先生) なんて (大嫌い)-口語/, のみ, だけ, (私) だって-口語/, だに, -# (彼)ったら-口語/, (お茶) でも (いかが), 等 (とう), (今後) とも, ばかり, ばっか-口語/, ばっかり-口語/, -# ほど, 程, まで, 迄, (誰) も (が)([助詞-格助詞] および [助詞-係助詞] の前に位置する「も」) -助詞-副助詞 -# -# particle-interjective: particles with interjective grammatical roles. -# e.g. (松島) や -助詞-間投助詞 -# -# particle-coordinate: -# e.g. と, たり, だの, だり, とか, なり, や, やら -助詞-並立助詞 -# -# particle-final: -# e.g. かい, かしら, さ, ぜ, (だ)っけ-口語/, (とまってる) で-方言/, な, ナ, なあ-口語/, ぞ, ね, ネ, -# ねぇ-口語/, ねえ-口語/, ねん-方言/, の, のう-口語/, や, よ, ヨ, よぉ-口語/, わ, わい-口語/ -助詞-終助詞 -# -# particle-adverbial/conjunctive/final: The particle "ka" when unknown whether it is -# adverbial, conjunctive, or sentence final. For example: -# (a) 「A か B か」. Ex:「(国内で運用する) か,(海外で運用する) か (.)」 -# (b) Inside an adverb phrase. Ex:「(幸いという) か (, 死者はいなかった.)」 -# 「(祈りが届いたせい) か (, 試験に合格した.)」 -# (c) 「かのように」. Ex:「(何もなかった) か (のように振る舞った.)」 -# e.g. か -助詞-副助詞/並立助詞/終助詞 -# -# particle-adnominalizer: The "no" that attaches to nouns and modifies -# non-inflectional words. -助詞-連体化 -# -# particle-adnominalizer: The "ni" and "to" that appear following nouns and adverbs -# that are giongo, giseigo, or gitaigo. -# e.g. に, と -助詞-副詞化 -# -# particle-special: A particle that does not fit into one of the above classifications. -# This includes particles that are used in Tanka, Haiku, and other poetry. -# e.g. かな, けむ, ( しただろう) に, (あんた) にゃ(わからん), (俺) ん (家) -助詞-特殊 -# -##### -# auxiliary-verb: -助動詞 -# -##### -# interjection: Greetings and other exclamations. -# e.g. おはよう, おはようございます, こんにちは, こんばんは, ありがとう, どうもありがとう, ありがとうございます, -# いただきます, ごちそうさま, さよなら, さようなら, はい, いいえ, ごめん, ごめんなさい -#感動詞 -# -##### -# symbol: unclassified Symbols. -記号 -# -# symbol-misc: A general symbol not in one of the categories below. -# e.g. [○◎@$〒→+] -記号-一般 -# -# symbol-comma: Commas -# e.g. [,、] -記号-読点 -# -# symbol-period: Periods and full stops. -# e.g. [..。] -記号-句点 -# -# symbol-space: Full-width whitespace. -記号-空白 -# -# symbol-open_bracket: -# e.g. [({‘“『【] -記号-括弧開 -# -# symbol-close_bracket: -# e.g. [)}’”』」】] -記号-括弧閉 -# -# symbol-alphabetic: -#記号-アルファベット -# -##### -# other: unclassified other -#その他 -# -# other-interjection: Words that are hard to classify as noun-suffixes or -# sentence-final particles. -# e.g. (だ)ァ -その他-間投 -# -##### -# filler: Aizuchi that occurs during a conversation or sounds inserted as filler. -# e.g. あの, うんと, えと -フィラー -# -##### -# non-verbal: non-verbal sound. -非言語音 -# -##### -# fragment: -#語断片 -# -##### -# unknown: unknown part of speech. -#未知語 -# -##### End of file diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ar.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ar.txt deleted file mode 100644 index 046829db6a2..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ar.txt +++ /dev/null @@ -1,125 +0,0 @@ -# This file was created by Jacques Savoy and is distributed under the BSD license. -# See http://members.unine.ch/jacques.savoy/clef/index.html. -# Also see http://www.opensource.org/licenses/bsd-license.html -# Cleaned on October 11, 2009 (not normalized, so use before normalization) -# This means that when modifying this list, you might need to add some -# redundant entries, for example containing forms with both أ and ا -من -ومن -منها -منه -في -وفي -فيها -فيه -و -ف -ثم -او -أو -ب -بها -به -ا -أ -اى -اي -أي -أى -لا -ولا -الا -ألا -إلا -لكن -ما -وما -كما -فما -عن -مع -اذا -إذا -ان -أن -إن -انها -أنها -إنها -انه -أنه -إنه -بان -بأن -فان -فأن -وان -وأن -وإن -التى -التي -الذى -الذي -الذين -الى -الي -إلى -إلي -على -عليها -عليه -اما -أما -إما -ايضا -أيضا -كل -وكل -لم -ولم -لن -ولن -هى -هي -هو -وهى -وهي -وهو -فهى -فهي -فهو -انت -أنت -لك -لها -له -هذه -هذا -تلك -ذلك -هناك -كانت -كان -يكون -تكون -وكانت -وكان -غير -بعض -قد -نحو -بين -بينما -منذ -ضمن -حيث -الان -الآن -خلال -بعد -قبل -حتى -عند -عندما -لدى -جميع diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_bg.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_bg.txt deleted file mode 100644 index 1ae4ba2ae38..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_bg.txt +++ /dev/null @@ -1,193 +0,0 @@ -# This file was created by Jacques Savoy and is distributed under the BSD license. -# See http://members.unine.ch/jacques.savoy/clef/index.html. -# Also see http://www.opensource.org/licenses/bsd-license.html -а -аз -ако -ала -бе -без -беше -би -бил -била -били -било -близо -бъдат -бъде -бяха -в -вас -ваш -ваша -вероятно -вече -взема -ви -вие -винаги -все -всеки -всички -всичко -всяка -във -въпреки -върху -г -ги -главно -го -д -да -дали -до -докато -докога -дори -досега -доста -е -едва -един -ето -за -зад -заедно -заради -засега -затова -защо -защото -и -из -или -им -има -имат -иска -й -каза -как -каква -какво -както -какъв -като -кога -когато -което -които -кой -който -колко -която -къде -където -към -ли -м -ме -между -мен -ми -мнозина -мога -могат -може -моля -момента -му -н -на -над -назад -най -направи -напред -например -нас -не -него -нея -ни -ние -никой -нито -но -някои -някой -няма -обаче -около -освен -особено -от -отгоре -отново -още -пак -по -повече -повечето -под -поне -поради -после -почти -прави -пред -преди -през -при -пък -първо -с -са -само -се -сега -си -скоро -след -сме -според -сред -срещу -сте -съм -със -също -т -тази -така -такива -такъв -там -твой -те -тези -ти -тн -то -това -тогава -този -той -толкова -точно -трябва -тук -тъй -тя -тях -у -харесва -ч -че -често -чрез -ще -щом -я diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ca.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ca.txt deleted file mode 100644 index 3da65deafe1..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ca.txt +++ /dev/null @@ -1,220 +0,0 @@ -# Catalan stopwords from http://github.com/vcl/cue.language (Apache 2 Licensed) -a -abans -ací -ah -així -això -al -als -aleshores -algun -alguna -algunes -alguns -alhora -allà -allí -allò -altra -altre -altres -amb -ambdós -ambdues -apa -aquell -aquella -aquelles -aquells -aquest -aquesta -aquestes -aquests -aquí -baix -cada -cadascú -cadascuna -cadascunes -cadascuns -com -contra -d'un -d'una -d'unes -d'uns -dalt -de -del -dels -des -després -dins -dintre -donat -doncs -durant -e -eh -el -els -em -en -encara -ens -entre -érem -eren -éreu -es -és -esta -està -estàvem -estaven -estàveu -esteu -et -etc -ets -fins -fora -gairebé -ha -han -has -havia -he -hem -heu -hi -ho -i -igual -iguals -ja -l'hi -la -les -li -li'n -llavors -m'he -ma -mal -malgrat -mateix -mateixa -mateixes -mateixos -me -mentre -més -meu -meus -meva -meves -molt -molta -moltes -molts -mon -mons -n'he -n'hi -ne -ni -no -nogensmenys -només -nosaltres -nostra -nostre -nostres -o -oh -oi -on -pas -pel -pels -per -però -perquè -poc -poca -pocs -poques -potser -propi -qual -quals -quan -quant -que -què -quelcom -qui -quin -quina -quines -quins -s'ha -s'han -sa -semblant -semblants -ses -seu -seus -seva -seva -seves -si -sobre -sobretot -sóc -solament -sols -son -són -sons -sota -sou -t'ha -t'han -t'he -ta -tal -també -tampoc -tan -tant -tanta -tantes -teu -teus -teva -teves -ton -tons -tot -tota -totes -tots -un -una -unes -uns -us -va -vaig -vam -van -vas -veu -vosaltres -vostra -vostre -vostres diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_cz.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_cz.txt deleted file mode 100644 index 53c6097dac7..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_cz.txt +++ /dev/null @@ -1,172 +0,0 @@ -a -s -k -o -i -u -v -z -dnes -cz -tímto -budeš -budem -byli -jseš -můj -svým -ta -tomto -tohle -tuto -tyto -jej -zda -proč -máte -tato -kam -tohoto -kdo -kteří -mi -nám -tom -tomuto -mít -nic -proto -kterou -byla -toho -protože -asi -ho -naši -napište -re -což -tím -takže -svých -její -svými -jste -aj -tu -tedy -teto -bylo -kde -ke -pravé -ji -nad -nejsou -či -pod -téma -mezi -přes -ty -pak -vám -ani -když -však -neg -jsem -tento -článku -články -aby -jsme -před -pta -jejich -byl -ještě -až -bez -také -pouze -první -vaše -která -nás -nový -tipy -pokud -může -strana -jeho -své -jiné -zprávy -nové -není -vás -jen -podle -zde -už -být -více -bude -již -než -který -by -které -co -nebo -ten -tak -má -při -od -po -jsou -jak -další -ale -si -se -ve -to -jako -za -zpět -ze -do -pro -je -na -atd -atp -jakmile -přičemž -já -on -ona -ono -oni -ony -my -vy -jí -ji -mě -mne -jemu -tomu -těm -těmu -němu -němuž -jehož -jíž -jelikož -jež -jakož -načež diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_da.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_da.txt deleted file mode 100644 index 42e6145b98e..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_da.txt +++ /dev/null @@ -1,110 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/danish/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Danish stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - | This is a ranked list (commonest to rarest) of stopwords derived from - | a large text sample. - - -og | and -i | in -jeg | I -det | that (dem. pronoun)/it (pers. pronoun) -at | that (in front of a sentence)/to (with infinitive) -en | a/an -den | it (pers. pronoun)/that (dem. pronoun) -til | to/at/for/until/against/by/of/into, more -er | present tense of "to be" -som | who, as -på | on/upon/in/on/at/to/after/of/with/for, on -de | they -med | with/by/in, along -han | he -af | of/by/from/off/for/in/with/on, off -for | at/for/to/from/by/of/ago, in front/before, because -ikke | not -der | who/which, there/those -var | past tense of "to be" -mig | me/myself -sig | oneself/himself/herself/itself/themselves -men | but -et | a/an/one, one (number), someone/somebody/one -har | present tense of "to have" -om | round/about/for/in/a, about/around/down, if -vi | we -min | my -havde | past tense of "to have" -ham | him -hun | she -nu | now -over | over/above/across/by/beyond/past/on/about, over/past -da | then, when/as/since -fra | from/off/since, off, since -du | you -ud | out -sin | his/her/its/one's -dem | them -os | us/ourselves -op | up -man | you/one -hans | his -hvor | where -eller | or -hvad | what -skal | must/shall etc. -selv | myself/youself/herself/ourselves etc., even -her | here -alle | all/everyone/everybody etc. -vil | will (verb) -blev | past tense of "to stay/to remain/to get/to become" -kunne | could -ind | in -når | when -være | present tense of "to be" -dog | however/yet/after all -noget | something -ville | would -jo | you know/you see (adv), yes -deres | their/theirs -efter | after/behind/according to/for/by/from, later/afterwards -ned | down -skulle | should -denne | this -end | than -dette | this -mit | my/mine -også | also -under | under/beneath/below/during, below/underneath -have | have -dig | you -anden | other -hende | her -mine | my -alt | everything -meget | much/very, plenty of -sit | his, her, its, one's -sine | his, her, its, one's -vor | our -mod | against -disse | these -hvis | if -din | your/yours -nogle | some -hos | by/at -blive | be/become -mange | many -ad | by/through -bliver | present tense of "to be/to become" -hendes | her/hers -været | be -thi | for (conj) -jer | you -sådan | such, like this/like that diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_de.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_de.txt deleted file mode 100644 index 86525e7ae08..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_de.txt +++ /dev/null @@ -1,294 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/german/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A German stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - | The number of forms in this list is reduced significantly by passing it - | through the German stemmer. - - -aber | but - -alle | all -allem -allen -aller -alles - -als | than, as -also | so -am | an + dem -an | at - -ander | other -andere -anderem -anderen -anderer -anderes -anderm -andern -anderr -anders - -auch | also -auf | on -aus | out of -bei | by -bin | am -bis | until -bist | art -da | there -damit | with it -dann | then - -der | the -den -des -dem -die -das - -daß | that - -derselbe | the same -derselben -denselben -desselben -demselben -dieselbe -dieselben -dasselbe - -dazu | to that - -dein | thy -deine -deinem -deinen -deiner -deines - -denn | because - -derer | of those -dessen | of him - -dich | thee -dir | to thee -du | thou - -dies | this -diese -diesem -diesen -dieser -dieses - - -doch | (several meanings) -dort | (over) there - - -durch | through - -ein | a -eine -einem -einen -einer -eines - -einig | some -einige -einigem -einigen -einiger -einiges - -einmal | once - -er | he -ihn | him -ihm | to him - -es | it -etwas | something - -euer | your -eure -eurem -euren -eurer -eures - -für | for -gegen | towards -gewesen | p.p. of sein -hab | have -habe | have -haben | have -hat | has -hatte | had -hatten | had -hier | here -hin | there -hinter | behind - -ich | I -mich | me -mir | to me - - -ihr | you, to her -ihre -ihrem -ihren -ihrer -ihres -euch | to you - -im | in + dem -in | in -indem | while -ins | in + das -ist | is - -jede | each, every -jedem -jeden -jeder -jedes - -jene | that -jenem -jenen -jener -jenes - -jetzt | now -kann | can - -kein | no -keine -keinem -keinen -keiner -keines - -können | can -könnte | could -machen | do -man | one - -manche | some, many a -manchem -manchen -mancher -manches - -mein | my -meine -meinem -meinen -meiner -meines - -mit | with -muss | must -musste | had to -nach | to(wards) -nicht | not -nichts | nothing -noch | still, yet -nun | now -nur | only -ob | whether -oder | or -ohne | without -sehr | very - -sein | his -seine -seinem -seinen -seiner -seines - -selbst | self -sich | herself - -sie | they, she -ihnen | to them - -sind | are -so | so - -solche | such -solchem -solchen -solcher -solches - -soll | shall -sollte | should -sondern | but -sonst | else -über | over -um | about, around -und | and - -uns | us -unse -unsem -unsen -unser -unses - -unter | under -viel | much -vom | von + dem -von | from -vor | before -während | while -war | was -waren | were -warst | wast -was | what -weg | away, off -weil | because -weiter | further - -welche | which -welchem -welchen -welcher -welches - -wenn | when -werde | will -werden | will -wie | how -wieder | again -will | want -wir | we -wird | will -wirst | willst -wo | where -wollen | want -wollte | wanted -würde | would -würden | would -zu | to -zum | zu + dem -zur | zu + der -zwar | indeed -zwischen | between - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_el.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_el.txt deleted file mode 100644 index 232681f5bd6..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_el.txt +++ /dev/null @@ -1,78 +0,0 @@ -# Lucene Greek Stopwords list -# Note: by default this file is used after GreekLowerCaseFilter, -# so when modifying this file use 'σ' instead of 'ς' -ο -η -το -οι -τα -του -τησ -των -τον -την -και -κι -κ -ειμαι -εισαι -ειναι -ειμαστε -ειστε -στο -στον -στη -στην -μα -αλλα -απο -για -προσ -με -σε -ωσ -παρα -αντι -κατα -μετα -θα -να -δε -δεν -μη -μην -επι -ενω -εαν -αν -τοτε -που -πωσ -ποιοσ -ποια -ποιο -ποιοι -ποιεσ -ποιων -ποιουσ -αυτοσ -αυτη -αυτο -αυτοι -αυτων -αυτουσ -αυτεσ -αυτα -εκεινοσ -εκεινη -εκεινο -εκεινοι -εκεινεσ -εκεινα -εκεινων -εκεινουσ -οπωσ -ομωσ -ισωσ -οσο -οτι diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_en.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_en.txt deleted file mode 100644 index 2c164c0b2a1..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_en.txt +++ /dev/null @@ -1,54 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# a couple of test stopwords to test that the words are really being -# configured from this file: -stopworda -stopwordb - -# Standard english stop words taken from Lucene's StopAnalyzer -a -an -and -are -as -at -be -but -by -for -if -in -into -is -it -no -not -of -on -or -such -that -the -their -then -there -these -they -this -to -was -will -with diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_es.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_es.txt deleted file mode 100644 index 487d78c8d56..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_es.txt +++ /dev/null @@ -1,356 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/spanish/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Spanish stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - - | The following is a ranked list (commonest to rarest) of stopwords - | deriving from a large sample of text. - - | Extra words have been added at the end. - -de | from, of -la | the, her -que | who, that -el | the -en | in -y | and -a | to -los | the, them -del | de + el -se | himself, from him etc -las | the, them -por | for, by, etc -un | a -para | for -con | with -no | no -una | a -su | his, her -al | a + el - | es from SER -lo | him -como | how -más | more -pero | pero -sus | su plural -le | to him, her -ya | already -o | or - | fue from SER -este | this - | ha from HABER -sí | himself etc -porque | because -esta | this - | son from SER -entre | between - | está from ESTAR -cuando | when -muy | very -sin | without -sobre | on - | ser from SER - | tiene from TENER -también | also -me | me -hasta | until -hay | there is/are -donde | where - | han from HABER -quien | whom, that - | están from ESTAR - | estado from ESTAR -desde | from -todo | all -nos | us -durante | during - | estados from ESTAR -todos | all -uno | a -les | to them -ni | nor -contra | against -otros | other - | fueron from SER -ese | that -eso | that - | había from HABER -ante | before -ellos | they -e | and (variant of y) -esto | this -mí | me -antes | before -algunos | some -qué | what? -unos | a -yo | I -otro | other -otras | other -otra | other -él | he -tanto | so much, many -esa | that -estos | these -mucho | much, many -quienes | who -nada | nothing -muchos | many -cual | who - | sea from SER -poco | few -ella | she -estar | to be - | haber from HABER -estas | these - | estaba from ESTAR - | estamos from ESTAR -algunas | some -algo | something -nosotros | we - - | other forms - -mi | me -mis | mi plural -tú | thou -te | thee -ti | thee -tu | thy -tus | tu plural -ellas | they -nosotras | we -vosotros | you -vosotras | you -os | you -mío | mine -mía | -míos | -mías | -tuyo | thine -tuya | -tuyos | -tuyas | -suyo | his, hers, theirs -suya | -suyos | -suyas | -nuestro | ours -nuestra | -nuestros | -nuestras | -vuestro | yours -vuestra | -vuestros | -vuestras | -esos | those -esas | those - - | forms of estar, to be (not including the infinitive): -estoy -estás -está -estamos -estáis -están -esté -estés -estemos -estéis -estén -estaré -estarás -estará -estaremos -estaréis -estarán -estaría -estarías -estaríamos -estaríais -estarían -estaba -estabas -estábamos -estabais -estaban -estuve -estuviste -estuvo -estuvimos -estuvisteis -estuvieron -estuviera -estuvieras -estuviéramos -estuvierais -estuvieran -estuviese -estuvieses -estuviésemos -estuvieseis -estuviesen -estando -estado -estada -estados -estadas -estad - - | forms of haber, to have (not including the infinitive): -he -has -ha -hemos -habéis -han -haya -hayas -hayamos -hayáis -hayan -habré -habrás -habrá -habremos -habréis -habrán -habría -habrías -habríamos -habríais -habrían -había -habías -habíamos -habíais -habían -hube -hubiste -hubo -hubimos -hubisteis -hubieron -hubiera -hubieras -hubiéramos -hubierais -hubieran -hubiese -hubieses -hubiésemos -hubieseis -hubiesen -habiendo -habido -habida -habidos -habidas - - | forms of ser, to be (not including the infinitive): -soy -eres -es -somos -sois -son -sea -seas -seamos -seáis -sean -seré -serás -será -seremos -seréis -serán -sería -serías -seríamos -seríais -serían -era -eras -éramos -erais -eran -fui -fuiste -fue -fuimos -fuisteis -fueron -fuera -fueras -fuéramos -fuerais -fueran -fuese -fueses -fuésemos -fueseis -fuesen -siendo -sido - | sed also means 'thirst' - - | forms of tener, to have (not including the infinitive): -tengo -tienes -tiene -tenemos -tenéis -tienen -tenga -tengas -tengamos -tengáis -tengan -tendré -tendrás -tendrá -tendremos -tendréis -tendrán -tendría -tendrías -tendríamos -tendríais -tendrían -tenía -tenías -teníamos -teníais -tenían -tuve -tuviste -tuvo -tuvimos -tuvisteis -tuvieron -tuviera -tuvieras -tuviéramos -tuvierais -tuvieran -tuviese -tuvieses -tuviésemos -tuvieseis -tuviesen -teniendo -tenido -tenida -tenidos -tenidas -tened - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_eu.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_eu.txt deleted file mode 100644 index 25f1db93460..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_eu.txt +++ /dev/null @@ -1,99 +0,0 @@ -# example set of basque stopwords -al -anitz -arabera -asko -baina -bat -batean -batek -bati -batzuei -batzuek -batzuetan -batzuk -bera -beraiek -berau -berauek -bere -berori -beroriek -beste -bezala -da -dago -dira -ditu -du -dute -edo -egin -ere -eta -eurak -ez -gainera -gu -gutxi -guzti -haiei -haiek -haietan -hainbeste -hala -han -handik -hango -hara -hari -hark -hartan -hau -hauei -hauek -hauetan -hemen -hemendik -hemengo -hi -hona -honek -honela -honetan -honi -hor -hori -horiei -horiek -horietan -horko -horra -horrek -horrela -horretan -horri -hortik -hura -izan -ni -noiz -nola -non -nondik -nongo -nor -nora -ze -zein -zen -zenbait -zenbat -zer -zergatik -ziren -zituen -zu -zuek -zuen -zuten diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_fa.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_fa.txt deleted file mode 100644 index 723641c6da7..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_fa.txt +++ /dev/null @@ -1,313 +0,0 @@ -# This file was created by Jacques Savoy and is distributed under the BSD license. -# See http://members.unine.ch/jacques.savoy/clef/index.html. -# Also see http://www.opensource.org/licenses/bsd-license.html -# Note: by default this file is used after normalization, so when adding entries -# to this file, use the arabic 'ي' instead of 'ی' -انان -نداشته -سراسر -خياه -ايشان -وي -تاكنون -بيشتري -دوم -پس -ناشي -وگو -يا -داشتند -سپس -هنگام -هرگز -پنج -نشان -امسال -ديگر -گروهي -شدند -چطور -ده -و -دو -نخستين -ولي -چرا -چه -وسط -ه -كدام -قابل -يك -رفت -هفت -همچنين -در -هزار -بله -بلي -شايد -اما -شناسي -گرفته -دهد -داشته -دانست -داشتن -خواهيم -ميليارد -وقتيكه -امد -خواهد -جز -اورده -شده -بلكه -خدمات -شدن -برخي -نبود -بسياري -جلوگيري -حق -كردند -نوعي -بعري -نكرده -نظير -نبايد -بوده -بودن -داد -اورد -هست -جايي -شود -دنبال -داده -بايد -سابق -هيچ -همان -انجا -كمتر -كجاست -گردد -كسي -تر -مردم -تان -دادن -بودند -سري -جدا -ندارند -مگر -يكديگر -دارد -دهند -بنابراين -هنگامي -سمت -جا -انچه -خود -دادند -زياد -دارند -اثر -بدون -بهترين -بيشتر -البته -به -براساس -بيرون -كرد -بعضي -گرفت -توي -اي -ميليون -او -جريان -تول -بر -مانند -برابر -باشيم -مدتي -گويند -اكنون -تا -تنها -جديد -چند -بي -نشده -كردن -كردم -گويد -كرده -كنيم -نمي -نزد -روي -قصد -فقط -بالاي -ديگران -اين -ديروز -توسط -سوم -ايم -دانند -سوي -استفاده -شما -كنار -داريم -ساخته -طور -امده -رفته -نخست -بيست -نزديك -طي -كنيد -از -انها -تمامي -داشت -يكي -طريق -اش -چيست -روب -نمايد -گفت -چندين -چيزي -تواند -ام -ايا -با -ان -ايد -ترين -اينكه -ديگري -راه -هايي -بروز -همچنان -پاعين -كس -حدود -مختلف -مقابل -چيز -گيرد -ندارد -ضد -همچون -سازي -شان -مورد -باره -مرسي -خويش -برخوردار -چون -خارج -شش -هنوز -تحت -ضمن -هستيم -گفته -فكر -بسيار -پيش -براي -روزهاي -انكه -نخواهد -بالا -كل -وقتي -كي -چنين -كه -گيري -نيست -است -كجا -كند -نيز -يابد -بندي -حتي -توانند -عقب -خواست -كنند -بين -تمام -همه -ما -باشند -مثل -شد -اري -باشد -اره -طبق -بعد -اگر -صورت -غير -جاي -بيش -ريزي -اند -زيرا -چگونه -بار -لطفا -مي -درباره -من -ديده -همين -گذاري -برداري -علت -گذاشته -هم -فوق -نه -ها -شوند -اباد -همواره -هر -اول -خواهند -چهار -نام -امروز -مان -هاي -قبل -كنم -سعي -تازه -را -هستند -زير -جلوي -عنوان -بود diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_fi.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_fi.txt deleted file mode 100644 index 4372c9a055b..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_fi.txt +++ /dev/null @@ -1,97 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/finnish/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - -| forms of BE - -olla -olen -olet -on -olemme -olette -ovat -ole | negative form - -oli -olisi -olisit -olisin -olisimme -olisitte -olisivat -olit -olin -olimme -olitte -olivat -ollut -olleet - -en | negation -et -ei -emme -ette -eivät - -|Nom Gen Acc Part Iness Elat Illat Adess Ablat Allat Ess Trans -minä minun minut minua minussa minusta minuun minulla minulta minulle | I -sinä sinun sinut sinua sinussa sinusta sinuun sinulla sinulta sinulle | you -hän hänen hänet häntä hänessä hänestä häneen hänellä häneltä hänelle | he she -me meidän meidät meitä meissä meistä meihin meillä meiltä meille | we -te teidän teidät teitä teissä teistä teihin teillä teiltä teille | you -he heidän heidät heitä heissä heistä heihin heillä heiltä heille | they - -tämä tämän tätä tässä tästä tähän tallä tältä tälle tänä täksi | this -tuo tuon tuotä tuossa tuosta tuohon tuolla tuolta tuolle tuona tuoksi | that -se sen sitä siinä siitä siihen sillä siltä sille sinä siksi | it -nämä näiden näitä näissä näistä näihin näillä näiltä näille näinä näiksi | these -nuo noiden noita noissa noista noihin noilla noilta noille noina noiksi | those -ne niiden niitä niissä niistä niihin niillä niiltä niille niinä niiksi | they - -kuka kenen kenet ketä kenessä kenestä keneen kenellä keneltä kenelle kenenä keneksi| who -ketkä keiden ketkä keitä keissä keistä keihin keillä keiltä keille keinä keiksi | (pl) -mikä minkä minkä mitä missä mistä mihin millä miltä mille minä miksi | which what -mitkä | (pl) - -joka jonka jota jossa josta johon jolla jolta jolle jona joksi | who which -jotka joiden joita joissa joista joihin joilla joilta joille joina joiksi | (pl) - -| conjunctions - -että | that -ja | and -jos | if -koska | because -kuin | than -mutta | but -niin | so -sekä | and -sillä | for -tai | or -vaan | but -vai | or -vaikka | although - - -| prepositions - -kanssa | with -mukaan | according to -noin | about -poikki | across -yli | over, across - -| other - -kun | when -niin | so -nyt | now -itse | self - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_fr.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_fr.txt deleted file mode 100644 index 749abae6846..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_fr.txt +++ /dev/null @@ -1,186 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/french/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A French stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - -au | a + le -aux | a + les -avec | with -ce | this -ces | these -dans | with -de | of -des | de + les -du | de + le -elle | she -en | `of them' etc -et | and -eux | them -il | he -je | I -la | the -le | the -leur | their -lui | him -ma | my (fem) -mais | but -me | me -même | same; as in moi-même (myself) etc -mes | me (pl) -moi | me -mon | my (masc) -ne | not -nos | our (pl) -notre | our -nous | we -on | one -ou | where -par | by -pas | not -pour | for -qu | que before vowel -que | that -qui | who -sa | his, her (fem) -se | oneself -ses | his (pl) -son | his, her (masc) -sur | on -ta | thy (fem) -te | thee -tes | thy (pl) -toi | thee -ton | thy (masc) -tu | thou -un | a -une | a -vos | your (pl) -votre | your -vous | you - - | single letter forms - -c | c' -d | d' -j | j' -l | l' -à | to, at -m | m' -n | n' -s | s' -t | t' -y | there - - | forms of être (not including the infinitive): -été -étée -étées -étés -étant -suis -es -est -sommes -êtes -sont -serai -seras -sera -serons -serez -seront -serais -serait -serions -seriez -seraient -étais -était -étions -étiez -étaient -fus -fut -fûmes -fûtes -furent -sois -soit -soyons -soyez -soient -fusse -fusses -fût -fussions -fussiez -fussent - - | forms of avoir (not including the infinitive): -ayant -eu -eue -eues -eus -ai -as -avons -avez -ont -aurai -auras -aura -aurons -aurez -auront -aurais -aurait -aurions -auriez -auraient -avais -avait -avions -aviez -avaient -eut -eûmes -eûtes -eurent -aie -aies -ait -ayons -ayez -aient -eusse -eusses -eût -eussions -eussiez -eussent - - | Later additions (from Jean-Christophe Deschamps) -ceci | this -cela | that -celà | that -cet | this -cette | this -ici | here -ils | they -les | the (pl) -leurs | their (pl) -quel | which -quels | which -quelle | which -quelles | which -sans | without -soi | oneself - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ga.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ga.txt deleted file mode 100644 index 9ff88d747e5..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ga.txt +++ /dev/null @@ -1,110 +0,0 @@ - -a -ach -ag -agus -an -aon -ar -arna -as -b' -ba -beirt -bhúr -caoga -ceathair -ceathrar -chomh -chtó -chuig -chun -cois -céad -cúig -cúigear -d' -daichead -dar -de -deich -deichniúr -den -dhá -do -don -dtí -dá -dár -dó -faoi -faoin -faoina -faoinár -fara -fiche -gach -gan -go -gur -haon -hocht -i -iad -idir -in -ina -ins -inár -is -le -leis -lena -lenár -m' -mar -mo -mé -na -nach -naoi -naonúr -ná -ní -níor -nó -nócha -ocht -ochtar -os -roimh -sa -seacht -seachtar -seachtó -seasca -seisear -siad -sibh -sinn -sna -sé -sí -tar -thar -thú -triúr -trí -trína -trínár -tríocha -tú -um -ár -é -éis -í -ó -ón -óna -ónár diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_gl.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_gl.txt deleted file mode 100644 index d8760b12c14..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_gl.txt +++ /dev/null @@ -1,161 +0,0 @@ -# galican stopwords -a -aínda -alí -aquel -aquela -aquelas -aqueles -aquilo -aquí -ao -aos -as -así -á -ben -cando -che -co -coa -comigo -con -connosco -contigo -convosco -coas -cos -cun -cuns -cunha -cunhas -da -dalgunha -dalgunhas -dalgún -dalgúns -das -de -del -dela -delas -deles -desde -deste -do -dos -dun -duns -dunha -dunhas -e -el -ela -elas -eles -en -era -eran -esa -esas -ese -eses -esta -estar -estaba -está -están -este -estes -estiven -estou -eu -é -facer -foi -foron -fun -había -hai -iso -isto -la -las -lle -lles -lo -los -mais -me -meu -meus -min -miña -miñas -moi -na -nas -neste -nin -no -non -nos -nosa -nosas -noso -nosos -nós -nun -nunha -nuns -nunhas -o -os -ou -ó -ós -para -pero -pode -pois -pola -polas -polo -polos -por -que -se -senón -ser -seu -seus -sexa -sido -sobre -súa -súas -tamén -tan -te -ten -teñen -teño -ter -teu -teus -ti -tido -tiña -tiven -túa -túas -un -unha -unhas -uns -vos -vosa -vosas -voso -vosos -vós diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_hi.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_hi.txt deleted file mode 100644 index 86286bb083b..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_hi.txt +++ /dev/null @@ -1,235 +0,0 @@ -# Also see http://www.opensource.org/licenses/bsd-license.html -# See http://members.unine.ch/jacques.savoy/clef/index.html. -# This file was created by Jacques Savoy and is distributed under the BSD license. -# Note: by default this file also contains forms normalized by HindiNormalizer -# for spelling variation (see section below), such that it can be used whether or -# not you enable that feature. When adding additional entries to this list, -# please add the normalized form as well. -अंदर -अत -अपना -अपनी -अपने -अभी -आदि -आप -इत्यादि -इन -इनका -इन्हीं -इन्हें -इन्हों -इस -इसका -इसकी -इसके -इसमें -इसी -इसे -उन -उनका -उनकी -उनके -उनको -उन्हीं -उन्हें -उन्हों -उस -उसके -उसी -उसे -एक -एवं -एस -ऐसे -और -कई -कर -करता -करते -करना -करने -करें -कहते -कहा -का -काफ़ी -कि -कितना -किन्हें -किन्हों -किया -किर -किस -किसी -किसे -की -कुछ -कुल -के -को -कोई -कौन -कौनसा -गया -घर -जब -जहाँ -जा -जितना -जिन -जिन्हें -जिन्हों -जिस -जिसे -जीधर -जैसा -जैसे -जो -तक -तब -तरह -तिन -तिन्हें -तिन्हों -तिस -तिसे -तो -था -थी -थे -दबारा -दिया -दुसरा -दूसरे -दो -द्वारा -न -नहीं -ना -निहायत -नीचे -ने -पर -पर -पहले -पूरा -पे -फिर -बनी -बही -बहुत -बाद -बाला -बिलकुल -भी -भीतर -मगर -मानो -मे -में -यदि -यह -यहाँ -यही -या -यिह -ये -रखें -रहा -रहे -ऱ्वासा -लिए -लिये -लेकिन -व -वर्ग -वह -वह -वहाँ -वहीं -वाले -वुह -वे -वग़ैरह -संग -सकता -सकते -सबसे -सभी -साथ -साबुत -साभ -सारा -से -सो -ही -हुआ -हुई -हुए -है -हैं -हो -होता -होती -होते -होना -होने -# additional normalized forms of the above -अपनि -जेसे -होति -सभि -तिंहों -इंहों -दवारा -इसि -किंहें -थि -उंहों -ओर -जिंहें -वहिं -अभि -बनि -हि -उंहिं -उंहें -हें -वगेरह -एसे -रवासा -कोन -निचे -काफि -उसि -पुरा -भितर -हे -बहि -वहां -कोइ -यहां -जिंहों -तिंहें -किसि -कइ -यहि -इंहिं -जिधर -इंहें -अदि -इतयादि -हुइ -कोनसा -इसकि -दुसरे -जहां -अप -किंहों -उनकि -भि -वरग -हुअ -जेसा -नहिं diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_hu.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_hu.txt deleted file mode 100644 index 37526da8aa9..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_hu.txt +++ /dev/null @@ -1,211 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/hungarian/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - -| Hungarian stop word list -| prepared by Anna Tordai - -a -ahogy -ahol -aki -akik -akkor -alatt -által -általában -amely -amelyek -amelyekben -amelyeket -amelyet -amelynek -ami -amit -amolyan -amíg -amikor -át -abban -ahhoz -annak -arra -arról -az -azok -azon -azt -azzal -azért -aztán -azután -azonban -bár -be -belül -benne -cikk -cikkek -cikkeket -csak -de -e -eddig -egész -egy -egyes -egyetlen -egyéb -egyik -egyre -ekkor -el -elég -ellen -elő -először -előtt -első -én -éppen -ebben -ehhez -emilyen -ennek -erre -ez -ezt -ezek -ezen -ezzel -ezért -és -fel -felé -hanem -hiszen -hogy -hogyan -igen -így -illetve -ill. -ill -ilyen -ilyenkor -ison -ismét -itt -jó -jól -jobban -kell -kellett -keresztül -keressünk -ki -kívül -között -közül -legalább -lehet -lehetett -legyen -lenne -lenni -lesz -lett -maga -magát -majd -majd -már -más -másik -meg -még -mellett -mert -mely -melyek -mi -mit -míg -miért -milyen -mikor -minden -mindent -mindenki -mindig -mint -mintha -mivel -most -nagy -nagyobb -nagyon -ne -néha -nekem -neki -nem -néhány -nélkül -nincs -olyan -ott -össze -ő -ők -őket -pedig -persze -rá -s -saját -sem -semmi -sok -sokat -sokkal -számára -szemben -szerint -szinte -talán -tehát -teljes -tovább -továbbá -több -úgy -ugyanis -új -újabb -újra -után -utána -utolsó -vagy -vagyis -valaki -valami -valamint -való -vagyok -van -vannak -volt -voltam -voltak -voltunk -vissza -vele -viszont -volna diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_hy.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_hy.txt deleted file mode 100644 index 60c1c50fbc8..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_hy.txt +++ /dev/null @@ -1,46 +0,0 @@ -# example set of Armenian stopwords. -այդ -այլ -այն -այս -դու -դուք -եմ -են -ենք -ես -եք -է -էի -էին -էինք -էիր -էիք -էր -ըստ -թ -ի -ին -իսկ -իր -կամ -համար -հետ -հետո -մենք -մեջ -մի -ն -նա -նաև -նրա -նրանք -որ -որը -որոնք -որպես -ու -ում -պիտի -վրա -և diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_id.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_id.txt deleted file mode 100644 index 4617f83a5c5..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_id.txt +++ /dev/null @@ -1,359 +0,0 @@ -# from appendix D of: A Study of Stemming Effects on Information -# Retrieval in Bahasa Indonesia -ada -adanya -adalah -adapun -agak -agaknya -agar -akan -akankah -akhirnya -aku -akulah -amat -amatlah -anda -andalah -antar -diantaranya -antara -antaranya -diantara -apa -apaan -mengapa -apabila -apakah -apalagi -apatah -atau -ataukah -ataupun -bagai -bagaikan -sebagai -sebagainya -bagaimana -bagaimanapun -sebagaimana -bagaimanakah -bagi -bahkan -bahwa -bahwasanya -sebaliknya -banyak -sebanyak -beberapa -seberapa -begini -beginian -beginikah -beginilah -sebegini -begitu -begitukah -begitulah -begitupun -sebegitu -belum -belumlah -sebelum -sebelumnya -sebenarnya -berapa -berapakah -berapalah -berapapun -betulkah -sebetulnya -biasa -biasanya -bila -bilakah -bisa -bisakah -sebisanya -boleh -bolehkah -bolehlah -buat -bukan -bukankah -bukanlah -bukannya -cuma -percuma -dahulu -dalam -dan -dapat -dari -daripada -dekat -demi -demikian -demikianlah -sedemikian -dengan -depan -di -dia -dialah -dini -diri -dirinya -terdiri -dong -dulu -enggak -enggaknya -entah -entahlah -terhadap -terhadapnya -hal -hampir -hanya -hanyalah -harus -haruslah -harusnya -seharusnya -hendak -hendaklah -hendaknya -hingga -sehingga -ia -ialah -ibarat -ingin -inginkah -inginkan -ini -inikah -inilah -itu -itukah -itulah -jangan -jangankan -janganlah -jika -jikalau -juga -justru -kala -kalau -kalaulah -kalaupun -kalian -kami -kamilah -kamu -kamulah -kan -kapan -kapankah -kapanpun -dikarenakan -karena -karenanya -ke -kecil -kemudian -kenapa -kepada -kepadanya -ketika -seketika -khususnya -kini -kinilah -kiranya -sekiranya -kita -kitalah -kok -lagi -lagian -selagi -lah -lain -lainnya -melainkan -selaku -lalu -melalui -terlalu -lama -lamanya -selama -selama -selamanya -lebih -terlebih -bermacam -macam -semacam -maka -makanya -makin -malah -malahan -mampu -mampukah -mana -manakala -manalagi -masih -masihkah -semasih -masing -mau -maupun -semaunya -memang -mereka -merekalah -meski -meskipun -semula -mungkin -mungkinkah -nah -namun -nanti -nantinya -nyaris -oleh -olehnya -seorang -seseorang -pada -padanya -padahal -paling -sepanjang -pantas -sepantasnya -sepantasnyalah -para -pasti -pastilah -per -pernah -pula -pun -merupakan -rupanya -serupa -saat -saatnya -sesaat -saja -sajalah -saling -bersama -sama -sesama -sambil -sampai -sana -sangat -sangatlah -saya -sayalah -se -sebab -sebabnya -sebuah -tersebut -tersebutlah -sedang -sedangkan -sedikit -sedikitnya -segala -segalanya -segera -sesegera -sejak -sejenak -sekali -sekalian -sekalipun -sesekali -sekaligus -sekarang -sekarang -sekitar -sekitarnya -sela -selain -selalu -seluruh -seluruhnya -semakin -sementara -sempat -semua -semuanya -sendiri -sendirinya -seolah -seperti -sepertinya -sering -seringnya -serta -siapa -siapakah -siapapun -disini -disinilah -sini -sinilah -sesuatu -sesuatunya -suatu -sesudah -sesudahnya -sudah -sudahkah -sudahlah -supaya -tadi -tadinya -tak -tanpa -setelah -telah -tentang -tentu -tentulah -tentunya -tertentu -seterusnya -tapi -tetapi -setiap -tiap -setidaknya -tidak -tidakkah -tidaklah -toh -waduh -wah -wahai -sewaktu -walau -walaupun -wong -yaitu -yakni -yang diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_it.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_it.txt deleted file mode 100644 index 1219cc773ab..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_it.txt +++ /dev/null @@ -1,303 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/italian/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | An Italian stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - -ad | a (to) before vowel -al | a + il -allo | a + lo -ai | a + i -agli | a + gli -all | a + l' -agl | a + gl' -alla | a + la -alle | a + le -con | with -col | con + il -coi | con + i (forms collo, cogli etc are now very rare) -da | from -dal | da + il -dallo | da + lo -dai | da + i -dagli | da + gli -dall | da + l' -dagl | da + gll' -dalla | da + la -dalle | da + le -di | of -del | di + il -dello | di + lo -dei | di + i -degli | di + gli -dell | di + l' -degl | di + gl' -della | di + la -delle | di + le -in | in -nel | in + el -nello | in + lo -nei | in + i -negli | in + gli -nell | in + l' -negl | in + gl' -nella | in + la -nelle | in + le -su | on -sul | su + il -sullo | su + lo -sui | su + i -sugli | su + gli -sull | su + l' -sugl | su + gl' -sulla | su + la -sulle | su + le -per | through, by -tra | among -contro | against -io | I -tu | thou -lui | he -lei | she -noi | we -voi | you -loro | they -mio | my -mia | -miei | -mie | -tuo | -tua | -tuoi | thy -tue | -suo | -sua | -suoi | his, her -sue | -nostro | our -nostra | -nostri | -nostre | -vostro | your -vostra | -vostri | -vostre | -mi | me -ti | thee -ci | us, there -vi | you, there -lo | him, the -la | her, the -li | them -le | them, the -gli | to him, the -ne | from there etc -il | the -un | a -uno | a -una | a -ma | but -ed | and -se | if -perché | why, because -anche | also -come | how -dov | where (as dov') -dove | where -che | who, that -chi | who -cui | whom -non | not -più | more -quale | who, that -quanto | how much -quanti | -quanta | -quante | -quello | that -quelli | -quella | -quelle | -questo | this -questi | -questa | -queste | -si | yes -tutto | all -tutti | all - - | single letter forms: - -a | at -c | as c' for ce or ci -e | and -i | the -l | as l' -o | or - - | forms of avere, to have (not including the infinitive): - -ho -hai -ha -abbiamo -avete -hanno -abbia -abbiate -abbiano -avrò -avrai -avrà -avremo -avrete -avranno -avrei -avresti -avrebbe -avremmo -avreste -avrebbero -avevo -avevi -aveva -avevamo -avevate -avevano -ebbi -avesti -ebbe -avemmo -aveste -ebbero -avessi -avesse -avessimo -avessero -avendo -avuto -avuta -avuti -avute - - | forms of essere, to be (not including the infinitive): -sono -sei -è -siamo -siete -sia -siate -siano -sarò -sarai -sarà -saremo -sarete -saranno -sarei -saresti -sarebbe -saremmo -sareste -sarebbero -ero -eri -era -eravamo -eravate -erano -fui -fosti -fu -fummo -foste -furono -fossi -fosse -fossimo -fossero -essendo - - | forms of fare, to do (not including the infinitive, fa, fat-): -faccio -fai -facciamo -fanno -faccia -facciate -facciano -farò -farai -farà -faremo -farete -faranno -farei -faresti -farebbe -faremmo -fareste -farebbero -facevo -facevi -faceva -facevamo -facevate -facevano -feci -facesti -fece -facemmo -faceste -fecero -facessi -facesse -facessimo -facessero -facendo - - | forms of stare, to be (not including the infinitive): -sto -stai -sta -stiamo -stanno -stia -stiate -stiano -starò -starai -starà -staremo -starete -staranno -starei -staresti -starebbe -staremmo -stareste -starebbero -stavo -stavi -stava -stavamo -stavate -stavano -stetti -stesti -stette -stemmo -steste -stettero -stessi -stesse -stessimo -stessero -stando diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ja.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ja.txt deleted file mode 100644 index d4321be6b16..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ja.txt +++ /dev/null @@ -1,127 +0,0 @@ -# -# This file defines a stopword set for Japanese. -# -# This set is made up of hand-picked frequent terms from segmented Japanese Wikipedia. -# Punctuation characters and frequent kanji have mostly been left out. See LUCENE-3745 -# for frequency lists, etc. that can be useful for making your own set (if desired) -# -# Note that there is an overlap between these stopwords and the terms stopped when used -# in combination with the JapanesePartOfSpeechStopFilter. When editing this file, note -# that comments are not allowed on the same line as stopwords. -# -# Also note that stopping is done in a case-insensitive manner. Change your StopFilter -# configuration if you need case-sensitive stopping. Lastly, note that stopping is done -# using the same character width as the entries in this file. Since this StopFilter is -# normally done after a CJKWidthFilter in your chain, you would usually want your romaji -# entries to be in half-width and your kana entries to be in full-width. -# -の -に -は -を -た -が -で -て -と -し -れ -さ -ある -いる -も -する -から -な -こと -として -い -や -れる -など -なっ -ない -この -ため -その -あっ -よう -また -もの -という -あり -まで -られ -なる -へ -か -だ -これ -によって -により -おり -より -による -ず -なり -られる -において -ば -なかっ -なく -しかし -について -せ -だっ -その後 -できる -それ -う -ので -なお -のみ -でき -き -つ -における -および -いう -さらに -でも -ら -たり -その他 -に関する -たち -ます -ん -なら -に対して -特に -せる -及び -これら -とき -では -にて -ほか -ながら -うち -そして -とともに -ただし -かつて -それぞれ -または -お -ほど -ものの -に対する -ほとんど -と共に -といった -です -とも -ところ -ここ -##### End of file diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_lv.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_lv.txt deleted file mode 100644 index e21a23c06c3..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_lv.txt +++ /dev/null @@ -1,172 +0,0 @@ -# Set of Latvian stopwords from A Stemming Algorithm for Latvian, Karlis Kreslins -# the original list of over 800 forms was refined: -# pronouns, adverbs, interjections were removed -# -# prepositions -aiz -ap -ar -apakš -ārpus -augšpus -bez -caur -dēļ -gar -iekš -iz -kopš -labad -lejpus -līdz -no -otrpus -pa -par -pār -pēc -pie -pirms -pret -priekš -starp -šaipus -uz -viņpus -virs -virspus -zem -apakšpus -# Conjunctions -un -bet -jo -ja -ka -lai -tomēr -tikko -turpretī -arī -kaut -gan -tādēļ -tā -ne -tikvien -vien -kā -ir -te -vai -kamēr -# Particles -ar -diezin -droši -diemžēl -nebūt -ik -it -taču -nu -pat -tiklab -iekšpus -nedz -tik -nevis -turpretim -jeb -iekam -iekām -iekāms -kolīdz -līdzko -tiklīdz -jebšu -tālab -tāpēc -nekā -itin -jā -jau -jel -nē -nezin -tad -tikai -vis -tak -iekams -vien -# modal verbs -būt -biju -biji -bija -bijām -bijāt -esmu -esi -esam -esat -būšu -būsi -būs -būsim -būsiet -tikt -tiku -tiki -tika -tikām -tikāt -tieku -tiec -tiek -tiekam -tiekat -tikšu -tiks -tiksim -tiksiet -tapt -tapi -tapāt -topat -tapšu -tapsi -taps -tapsim -tapsiet -kļūt -kļuvu -kļuvi -kļuva -kļuvām -kļuvāt -kļūstu -kļūsti -kļūst -kļūstam -kļūstat -kļūšu -kļūsi -kļūs -kļūsim -kļūsiet -# verbs -varēt -varēju -varējām -varēšu -varēsim -var -varēji -varējāt -varēsi -varēsiet -varat -varēja -varēs diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_nl.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_nl.txt deleted file mode 100644 index 47a2aeacf6f..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_nl.txt +++ /dev/null @@ -1,119 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/dutch/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Dutch stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - | This is a ranked list (commonest to rarest) of stopwords derived from - | a large sample of Dutch text. - - | Dutch stop words frequently exhibit homonym clashes. These are indicated - | clearly below. - -de | the -en | and -van | of, from -ik | I, the ego -te | (1) chez, at etc, (2) to, (3) too -dat | that, which -die | that, those, who, which -in | in, inside -een | a, an, one -hij | he -het | the, it -niet | not, nothing, naught -zijn | (1) to be, being, (2) his, one's, its -is | is -was | (1) was, past tense of all persons sing. of 'zijn' (to be) (2) wax, (3) the washing, (4) rise of river -op | on, upon, at, in, up, used up -aan | on, upon, to (as dative) -met | with, by -als | like, such as, when -voor | (1) before, in front of, (2) furrow -had | had, past tense all persons sing. of 'hebben' (have) -er | there -maar | but, only -om | round, about, for etc -hem | him -dan | then -zou | should/would, past tense all persons sing. of 'zullen' -of | or, whether, if -wat | what, something, anything -mijn | possessive and noun 'mine' -men | people, 'one' -dit | this -zo | so, thus, in this way -door | through by -over | over, across -ze | she, her, they, them -zich | oneself -bij | (1) a bee, (2) by, near, at -ook | also, too -tot | till, until -je | you -mij | me -uit | out of, from -der | Old Dutch form of 'van der' still found in surnames -daar | (1) there, (2) because -haar | (1) her, their, them, (2) hair -naar | (1) unpleasant, unwell etc, (2) towards, (3) as -heb | present first person sing. of 'to have' -hoe | how, why -heeft | present third person sing. of 'to have' -hebben | 'to have' and various parts thereof -deze | this -u | you -want | (1) for, (2) mitten, (3) rigging -nog | yet, still -zal | 'shall', first and third person sing. of verb 'zullen' (will) -me | me -zij | she, they -nu | now -ge | 'thou', still used in Belgium and south Netherlands -geen | none -omdat | because -iets | something, somewhat -worden | to become, grow, get -toch | yet, still -al | all, every, each -waren | (1) 'were' (2) to wander, (3) wares, (3) -veel | much, many -meer | (1) more, (2) lake -doen | to do, to make -toen | then, when -moet | noun 'spot/mote' and present form of 'to must' -ben | (1) am, (2) 'are' in interrogative second person singular of 'to be' -zonder | without -kan | noun 'can' and present form of 'to be able' -hun | their, them -dus | so, consequently -alles | all, everything, anything -onder | under, beneath -ja | yes, of course -eens | once, one day -hier | here -wie | who -werd | imperfect third person sing. of 'become' -altijd | always -doch | yet, but etc -wordt | present third person sing. of 'become' -wezen | (1) to be, (2) 'been' as in 'been fishing', (3) orphans -kunnen | to be able -ons | us/our -zelf | self -tegen | against, towards, at -na | after, near -reeds | already -wil | (1) present tense of 'want', (2) 'will', noun, (3) fender -kon | could; past tense of 'to be able' -niets | nothing -uw | your -iemand | somebody -geweest | been; past participle of 'be' -andere | other diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_no.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_no.txt deleted file mode 100644 index a7a2c28ba54..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_no.txt +++ /dev/null @@ -1,194 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/norwegian/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Norwegian stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - | This stop word list is for the dominant bokmål dialect. Words unique - | to nynorsk are marked *. - - | Revised by Jan Bruusgaard , Jan 2005 - -og | and -i | in -jeg | I -det | it/this/that -at | to (w. inf.) -en | a/an -et | a/an -den | it/this/that -til | to -er | is/am/are -som | who/that -på | on -de | they / you(formal) -med | with -han | he -av | of -ikke | not -ikkje | not * -der | there -så | so -var | was/were -meg | me -seg | you -men | but -ett | one -har | have -om | about -vi | we -min | my -mitt | my -ha | have -hadde | had -hun | she -nå | now -over | over -da | when/as -ved | by/know -fra | from -du | you -ut | out -sin | your -dem | them -oss | us -opp | up -man | you/one -kan | can -hans | his -hvor | where -eller | or -hva | what -skal | shall/must -selv | self (reflective) -sjøl | self (reflective) -her | here -alle | all -vil | will -bli | become -ble | became -blei | became * -blitt | have become -kunne | could -inn | in -når | when -være | be -kom | come -noen | some -noe | some -ville | would -dere | you -som | who/which/that -deres | their/theirs -kun | only/just -ja | yes -etter | after -ned | down -skulle | should -denne | this -for | for/because -deg | you -si | hers/his -sine | hers/his -sitt | hers/his -mot | against -å | to -meget | much -hvorfor | why -dette | this -disse | these/those -uten | without -hvordan | how -ingen | none -din | your -ditt | your -blir | become -samme | same -hvilken | which -hvilke | which (plural) -sånn | such a -inni | inside/within -mellom | between -vår | our -hver | each -hvem | who -vors | us/ours -hvis | whose -både | both -bare | only/just -enn | than -fordi | as/because -før | before -mange | many -også | also -slik | just -vært | been -være | to be -båe | both * -begge | both -siden | since -dykk | your * -dykkar | yours * -dei | they * -deira | them * -deires | theirs * -deim | them * -di | your (fem.) * -då | as/when * -eg | I * -ein | a/an * -eit | a/an * -eitt | a/an * -elles | or * -honom | he * -hjå | at * -ho | she * -hoe | she * -henne | her -hennar | her/hers -hennes | hers -hoss | how * -hossen | how * -ikkje | not * -ingi | noone * -inkje | noone * -korleis | how * -korso | how * -kva | what/which * -kvar | where * -kvarhelst | where * -kven | who/whom * -kvi | why * -kvifor | why * -me | we * -medan | while * -mi | my * -mine | my * -mykje | much * -no | now * -nokon | some (masc./neut.) * -noka | some (fem.) * -nokor | some * -noko | some * -nokre | some * -si | his/hers * -sia | since * -sidan | since * -so | so * -somt | some * -somme | some * -um | about* -upp | up * -vere | be * -vore | was * -verte | become * -vort | become * -varte | became * -vart | became * - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_pt.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_pt.txt deleted file mode 100644 index acfeb01af6b..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_pt.txt +++ /dev/null @@ -1,253 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/portuguese/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Portuguese stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - - | The following is a ranked list (commonest to rarest) of stopwords - | deriving from a large sample of text. - - | Extra words have been added at the end. - -de | of, from -a | the; to, at; her -o | the; him -que | who, that -e | and -do | de + o -da | de + a -em | in -um | a -para | for - | é from SER -com | with -não | not, no -uma | a -os | the; them -no | em + o -se | himself etc -na | em + a -por | for -mais | more -as | the; them -dos | de + os -como | as, like -mas | but - | foi from SER -ao | a + o -ele | he -das | de + as - | tem from TER -à | a + a -seu | his -sua | her -ou | or - | ser from SER -quando | when -muito | much - | há from HAV -nos | em + os; us -já | already, now - | está from EST -eu | I -também | also -só | only, just -pelo | per + o -pela | per + a -até | up to -isso | that -ela | he -entre | between - | era from SER -depois | after -sem | without -mesmo | same -aos | a + os - | ter from TER -seus | his -quem | whom -nas | em + as -me | me -esse | that -eles | they - | estão from EST -você | you - | tinha from TER - | foram from SER -essa | that -num | em + um -nem | nor -suas | her -meu | my -às | a + as -minha | my - | têm from TER -numa | em + uma -pelos | per + os -elas | they - | havia from HAV - | seja from SER -qual | which - | será from SER -nós | we - | tenho from TER -lhe | to him, her -deles | of them -essas | those -esses | those -pelas | per + as -este | this - | fosse from SER -dele | of him - - | other words. There are many contractions such as naquele = em+aquele, - | mo = me+o, but they are rare. - | Indefinite article plural forms are also rare. - -tu | thou -te | thee -vocês | you (plural) -vos | you -lhes | to them -meus | my -minhas -teu | thy -tua -teus -tuas -nosso | our -nossa -nossos -nossas - -dela | of her -delas | of them - -esta | this -estes | these -estas | these -aquele | that -aquela | that -aqueles | those -aquelas | those -isto | this -aquilo | that - - | forms of estar, to be (not including the infinitive): -estou -está -estamos -estão -estive -esteve -estivemos -estiveram -estava -estávamos -estavam -estivera -estivéramos -esteja -estejamos -estejam -estivesse -estivéssemos -estivessem -estiver -estivermos -estiverem - - | forms of haver, to have (not including the infinitive): -hei -há -havemos -hão -houve -houvemos -houveram -houvera -houvéramos -haja -hajamos -hajam -houvesse -houvéssemos -houvessem -houver -houvermos -houverem -houverei -houverá -houveremos -houverão -houveria -houveríamos -houveriam - - | forms of ser, to be (not including the infinitive): -sou -somos -são -era -éramos -eram -fui -foi -fomos -foram -fora -fôramos -seja -sejamos -sejam -fosse -fôssemos -fossem -for -formos -forem -serei -será -seremos -serão -seria -seríamos -seriam - - | forms of ter, to have (not including the infinitive): -tenho -tem -temos -tém -tinha -tínhamos -tinham -tive -teve -tivemos -tiveram -tivera -tivéramos -tenha -tenhamos -tenham -tivesse -tivéssemos -tivessem -tiver -tivermos -tiverem -terei -terá -teremos -terão -teria -teríamos -teriam diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ro.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ro.txt deleted file mode 100644 index 4fdee90a5ba..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ro.txt +++ /dev/null @@ -1,233 +0,0 @@ -# This file was created by Jacques Savoy and is distributed under the BSD license. -# See http://members.unine.ch/jacques.savoy/clef/index.html. -# Also see http://www.opensource.org/licenses/bsd-license.html -acea -aceasta -această -aceea -acei -aceia -acel -acela -acele -acelea -acest -acesta -aceste -acestea -aceşti -aceştia -acolo -acum -ai -aia -aibă -aici -al -ăla -ale -alea -ălea -altceva -altcineva -am -ar -are -aş -aşadar -asemenea -asta -ăsta -astăzi -astea -ăstea -ăştia -asupra -aţi -au -avea -avem -aveţi -azi -bine -bucur -bună -ca -că -căci -când -care -cărei -căror -cărui -cât -câte -câţi -către -câtva -ce -cel -ceva -chiar -cînd -cine -cineva -cît -cîte -cîţi -cîtva -contra -cu -cum -cumva -curând -curînd -da -dă -dacă -dar -datorită -de -deci -deja -deoarece -departe -deşi -din -dinaintea -dintr -dintre -drept -după -ea -ei -el -ele -eram -este -eşti -eu -face -fără -fi -fie -fiecare -fii -fim -fiţi -iar -ieri -îi -îl -îmi -împotriva -în -înainte -înaintea -încât -încît -încotro -între -întrucât -întrucît -îţi -la -lângă -le -li -lîngă -lor -lui -mă -mâine -mea -mei -mele -mereu -meu -mi -mine -mult -multă -mulţi -ne -nicăieri -nici -nimeni -nişte -noastră -noastre -noi -noştri -nostru -nu -ori -oricând -oricare -oricât -orice -oricînd -oricine -oricît -oricum -oriunde -până -pe -pentru -peste -pînă -poate -pot -prea -prima -primul -prin -printr -sa -să -săi -sale -sau -său -se -şi -sînt -sîntem -sînteţi -spre -sub -sunt -suntem -sunteţi -ta -tăi -tale -tău -te -ţi -ţie -tine -toată -toate -tot -toţi -totuşi -tu -un -una -unde -undeva -unei -unele -uneori -unor -vă -vi -voastră -voastre -voi -voştri -vostru -vouă -vreo -vreun diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_ru.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_ru.txt deleted file mode 100644 index 55271400c64..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_ru.txt +++ /dev/null @@ -1,243 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/russian/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | a russian stop word list. comments begin with vertical bar. each stop - | word is at the start of a line. - - | this is a ranked list (commonest to rarest) of stopwords derived from - | a large text sample. - - | letter `ё' is translated to `е'. - -и | and -в | in/into -во | alternative form -не | not -что | what/that -он | he -на | on/onto -я | i -с | from -со | alternative form -как | how -а | milder form of `no' (but) -то | conjunction and form of `that' -все | all -она | she -так | so, thus -его | him -но | but -да | yes/and -ты | thou -к | towards, by -у | around, chez -же | intensifier particle -вы | you -за | beyond, behind -бы | conditional/subj. particle -по | up to, along -только | only -ее | her -мне | to me -было | it was -вот | here is/are, particle -от | away from -меня | me -еще | still, yet, more -нет | no, there isnt/arent -о | about -из | out of -ему | to him -теперь | now -когда | when -даже | even -ну | so, well -вдруг | suddenly -ли | interrogative particle -если | if -уже | already, but homonym of `narrower' -или | or -ни | neither -быть | to be -был | he was -него | prepositional form of его -до | up to -вас | you accusative -нибудь | indef. suffix preceded by hyphen -опять | again -уж | already, but homonym of `adder' -вам | to you -сказал | he said -ведь | particle `after all' -там | there -потом | then -себя | oneself -ничего | nothing -ей | to her -может | usually with `быть' as `maybe' -они | they -тут | here -где | where -есть | there is/are -надо | got to, must -ней | prepositional form of ей -для | for -мы | we -тебя | thee -их | them, their -чем | than -была | she was -сам | self -чтоб | in order to -без | without -будто | as if -человек | man, person, one -чего | genitive form of `what' -раз | once -тоже | also -себе | to oneself -под | beneath -жизнь | life -будет | will be -ж | short form of intensifer particle `же' -тогда | then -кто | who -этот | this -говорил | was saying -того | genitive form of `that' -потому | for that reason -этого | genitive form of `this' -какой | which -совсем | altogether -ним | prepositional form of `его', `они' -здесь | here -этом | prepositional form of `этот' -один | one -почти | almost -мой | my -тем | instrumental/dative plural of `тот', `то' -чтобы | full form of `in order that' -нее | her (acc.) -кажется | it seems -сейчас | now -были | they were -куда | where to -зачем | why -сказать | to say -всех | all (acc., gen. preposn. plural) -никогда | never -сегодня | today -можно | possible, one can -при | by -наконец | finally -два | two -об | alternative form of `о', about -другой | another -хоть | even -после | after -над | above -больше | more -тот | that one (masc.) -через | across, in -эти | these -нас | us -про | about -всего | in all, only, of all -них | prepositional form of `они' (they) -какая | which, feminine -много | lots -разве | interrogative particle -сказала | she said -три | three -эту | this, acc. fem. sing. -моя | my, feminine -впрочем | moreover, besides -хорошо | good -свою | ones own, acc. fem. sing. -этой | oblique form of `эта', fem. `this' -перед | in front of -иногда | sometimes -лучше | better -чуть | a little -том | preposn. form of `that one' -нельзя | one must not -такой | such a one -им | to them -более | more -всегда | always -конечно | of course -всю | acc. fem. sing of `all' -между | between - - - | b: some paradigms - | - | personal pronouns - | - | я меня мне мной [мною] - | ты тебя тебе тобой [тобою] - | он его ему им [него, нему, ним] - | она ее эи ею [нее, нэи, нею] - | оно его ему им [него, нему, ним] - | - | мы нас нам нами - | вы вас вам вами - | они их им ими [них, ним, ними] - | - | себя себе собой [собою] - | - | demonstrative pronouns: этот (this), тот (that) - | - | этот эта это эти - | этого эты это эти - | этого этой этого этих - | этому этой этому этим - | этим этой этим [этою] этими - | этом этой этом этих - | - | тот та то те - | того ту то те - | того той того тех - | тому той тому тем - | тем той тем [тою] теми - | том той том тех - | - | determinative pronouns - | - | (a) весь (all) - | - | весь вся все все - | всего всю все все - | всего всей всего всех - | всему всей всему всем - | всем всей всем [всею] всеми - | всем всей всем всех - | - | (b) сам (himself etc) - | - | сам сама само сами - | самого саму само самих - | самого самой самого самих - | самому самой самому самим - | самим самой самим [самою] самими - | самом самой самом самих - | - | stems of verbs `to be', `to have', `to do' and modal - | - | быть бы буд быв есть суть - | име - | дел - | мог мож мочь - | уме - | хоч хот - | долж - | можн - | нужн - | нельзя - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_sv.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_sv.txt deleted file mode 100644 index 096f87f6766..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_sv.txt +++ /dev/null @@ -1,133 +0,0 @@ - | From svn.tartarus.org/snowball/trunk/website/algorithms/swedish/stop.txt - | This file is distributed under the BSD License. - | See http://snowball.tartarus.org/license.php - | Also see http://www.opensource.org/licenses/bsd-license.html - | - Encoding was converted to UTF-8. - | - This notice was added. - | - | NOTE: To use this file with StopFilterFactory, you must specify format="snowball" - - | A Swedish stop word list. Comments begin with vertical bar. Each stop - | word is at the start of a line. - - | This is a ranked list (commonest to rarest) of stopwords derived from - | a large text sample. - - | Swedish stop words occasionally exhibit homonym clashes. For example - | så = so, but also seed. These are indicated clearly below. - -och | and -det | it, this/that -att | to (with infinitive) -i | in, at -en | a -jag | I -hon | she -som | who, that -han | he -på | on -den | it, this/that -med | with -var | where, each -sig | him(self) etc -för | for -så | so (also: seed) -till | to -är | is -men | but -ett | a -om | if; around, about -hade | had -de | they, these/those -av | of -icke | not, no -mig | me -du | you -henne | her -då | then, when -sin | his -nu | now -har | have -inte | inte någon = no one -hans | his -honom | him -skulle | 'sake' -hennes | her -där | there -min | my -man | one (pronoun) -ej | nor -vid | at, by, on (also: vast) -kunde | could -något | some etc -från | from, off -ut | out -när | when -efter | after, behind -upp | up -vi | we -dem | them -vara | be -vad | what -över | over -än | than -dig | you -kan | can -sina | his -här | here -ha | have -mot | towards -alla | all -under | under (also: wonder) -någon | some etc -eller | or (else) -allt | all -mycket | much -sedan | since -ju | why -denna | this/that -själv | myself, yourself etc -detta | this/that -åt | to -utan | without -varit | was -hur | how -ingen | no -mitt | my -ni | you -bli | to be, become -blev | from bli -oss | us -din | thy -dessa | these/those -några | some etc -deras | their -blir | from bli -mina | my -samma | (the) same -vilken | who, that -er | you, your -sådan | such a -vår | our -blivit | from bli -dess | its -inom | within -mellan | between -sådant | such a -varför | why -varje | each -vilka | who, that -ditt | thy -vem | who -vilket | who, that -sitta | his -sådana | such a -vart | each -dina | thy -vars | whose -vårt | our -våra | our -ert | your -era | your -vilkas | whose - diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_th.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_th.txt deleted file mode 100644 index 07f0fabe692..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_th.txt +++ /dev/null @@ -1,119 +0,0 @@ -# Thai stopwords from: -# "Opinion Detection in Thai Political News Columns -# Based on Subjectivity Analysis" -# Khampol Sukhum, Supot Nitsuwat, and Choochart Haruechaiyasak -ไว้ -ไม่ -ไป -ได้ -ให้ -ใน -โดย -แห่ง -แล้ว -และ -แรก -แบบ -แต่ -เอง -เห็น -เลย -เริ่ม -เรา -เมื่อ -เพื่อ -เพราะ -เป็นการ -เป็น -เปิดเผย -เปิด -เนื่องจาก -เดียวกัน -เดียว -เช่น -เฉพาะ -เคย -เข้า -เขา -อีก -อาจ -อะไร -ออก -อย่าง -อยู่ -อยาก -หาก -หลาย -หลังจาก -หลัง -หรือ -หนึ่ง -ส่วน -ส่ง -สุด -สําหรับ -ว่า -วัน -ลง -ร่วม -ราย -รับ -ระหว่าง -รวม -ยัง -มี -มาก -มา -พร้อม -พบ -ผ่าน -ผล -บาง -น่า -นี้ -นํา -นั้น -นัก -นอกจาก -ทุก -ที่สุด -ที่ -ทําให้ -ทํา -ทาง -ทั้งนี้ -ทั้ง -ถ้า -ถูก -ถึง -ต้อง -ต่างๆ -ต่าง -ต่อ -ตาม -ตั้งแต่ -ตั้ง -ด้าน -ด้วย -ดัง -ซึ่ง -ช่วง -จึง -จาก -จัด -จะ -คือ -ความ -ครั้ง -คง -ขึ้น -ของ -ขอ -ขณะ -ก่อน -ก็ -การ -กับ -กัน -กว่า -กล่าว diff --git a/solr-config/cores/fundingSubType/conf/lang/stopwords_tr.txt b/solr-config/cores/fundingSubType/conf/lang/stopwords_tr.txt deleted file mode 100644 index 84d9408d4ea..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/stopwords_tr.txt +++ /dev/null @@ -1,212 +0,0 @@ -# Turkish stopwords from LUCENE-559 -# merged with the list from "Information Retrieval on Turkish Texts" -# (http://www.users.muohio.edu/canf/papers/JASIST2008offPrint.pdf) -acaba -altmış -altı -ama -ancak -arada -aslında -ayrıca -bana -bazı -belki -ben -benden -beni -benim -beri -beş -bile -bin -bir -birçok -biri -birkaç -birkez -birşey -birşeyi -biz -bize -bizden -bizi -bizim -böyle -böylece -bu -buna -bunda -bundan -bunlar -bunları -bunların -bunu -bunun -burada -çok -çünkü -da -daha -dahi -de -defa -değil -diğer -diye -doksan -dokuz -dolayı -dolayısıyla -dört -edecek -eden -ederek -edilecek -ediliyor -edilmesi -ediyor -eğer -elli -en -etmesi -etti -ettiği -ettiğini -gibi -göre -halen -hangi -hatta -hem -henüz -hep -hepsi -her -herhangi -herkesin -hiç -hiçbir -için -iki -ile -ilgili -ise -işte -itibaren -itibariyle -kadar -karşın -katrilyon -kendi -kendilerine -kendini -kendisi -kendisine -kendisini -kez -ki -kim -kimden -kime -kimi -kimse -kırk -milyar -milyon -mu -mü -mı -nasıl -ne -neden -nedenle -nerde -nerede -nereye -niye -niçin -o -olan -olarak -oldu -olduğu -olduğunu -olduklarını -olmadı -olmadığı -olmak -olması -olmayan -olmaz -olsa -olsun -olup -olur -olursa -oluyor -on -ona -ondan -onlar -onlardan -onları -onların -onu -onun -otuz -oysa -öyle -pek -rağmen -sadece -sanki -sekiz -seksen -sen -senden -seni -senin -siz -sizden -sizi -sizin -şey -şeyden -şeyi -şeyler -şöyle -şu -şuna -şunda -şundan -şunları -şunu -tarafından -trilyon -tüm -üç -üzere -var -vardı -ve -veya -ya -yani -yapacak -yapılan -yapılması -yapıyor -yapmak -yaptı -yaptığı -yaptığını -yaptıkları -yedi -yerine -yetmiş -yine -yirmi -yoksa -yüz -zaten diff --git a/solr-config/cores/fundingSubType/conf/lang/userdict_ja.txt b/solr-config/cores/fundingSubType/conf/lang/userdict_ja.txt deleted file mode 100644 index 6f0368e4d81..00000000000 --- a/solr-config/cores/fundingSubType/conf/lang/userdict_ja.txt +++ /dev/null @@ -1,29 +0,0 @@ -# -# This is a sample user dictionary for Kuromoji (JapaneseTokenizer) -# -# Add entries to this file in order to override the statistical model in terms -# of segmentation, readings and part-of-speech tags. Notice that entries do -# not have weights since they are always used when found. This is by-design -# in order to maximize ease-of-use. -# -# Entries are defined using the following CSV format: -# , ... , ... , -# -# Notice that a single half-width space separates tokens and readings, and -# that the number tokens and readings must match exactly. -# -# Also notice that multiple entries with the same is undefined. -# -# Whitespace only lines are ignored. Comments are not allowed on entry lines. -# - -# Custom segmentation for kanji compounds -日本経済新聞,日本 経済 新聞,ニホン ケイザイ シンブン,カスタム名詞 -関西国際空港,関西 国際 空港,カンサイ コクサイ クウコウ,カスタム名詞 - -# Custom segmentation for compound katakana -トートバッグ,トート バッグ,トート バッグ,かずカナ名詞 -ショルダーバッグ,ショルダー バッグ,ショルダー バッグ,かずカナ名詞 - -# Custom reading for former sumo wrestler -朝青龍,朝青龍,アサショウリュウ,カスタム人名 diff --git a/solr-config/cores/fundingSubType/conf/params.json b/solr-config/cores/fundingSubType/conf/params.json deleted file mode 100644 index 06114ef2577..00000000000 --- a/solr-config/cores/fundingSubType/conf/params.json +++ /dev/null @@ -1,20 +0,0 @@ -{"params":{ - "query":{ - "defType":"edismax", - "q.alt":"*:*", - "rows":"10", - "fl":"*,score", - "":{"v":0} - }, - "facets":{ - "facet":"on", - "facet.mincount": "1", - "":{"v":0} - }, - "velocity":{ - "wt": "velocity", - "v.template":"browse", - "v.layout": "layout", - "":{"v":0} - } -}} \ No newline at end of file diff --git a/solr-config/cores/fundingSubType/conf/protwords.txt b/solr-config/cores/fundingSubType/conf/protwords.txt deleted file mode 100644 index 1dfc0abecbf..00000000000 --- a/solr-config/cores/fundingSubType/conf/protwords.txt +++ /dev/null @@ -1,21 +0,0 @@ -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#----------------------------------------------------------------------- -# Use a protected word file to protect against the stemmer reducing two -# unrelated words to the same base word. - -# Some non-words that normally won't be encountered, -# just to test that they won't be stemmed. -dontstems -zwhacky - diff --git a/solr-config/cores/fundingSubType/conf/schema.xml b/solr-config/cores/fundingSubType/conf/schema.xml deleted file mode 100644 index e19e1317a31..00000000000 --- a/solr-config/cores/fundingSubType/conf/schema.xml +++ /dev/null @@ -1,1009 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org-defined-funding-type - - - - - diff --git a/solr-config/cores/fundingSubType/conf/solrconfig.xml b/solr-config/cores/fundingSubType/conf/solrconfig.xml deleted file mode 100644 index 4b1fbb68f1d..00000000000 --- a/solr-config/cores/fundingSubType/conf/solrconfig.xml +++ /dev/null @@ -1,1174 +0,0 @@ - - - - - - - - - 7.7.1 - - - - - - - - - - - - - - - - - - - - ${solr.data.dir:} - - - - - - - - - - - - - 1000 - - - false - - - 100 - - - - - - - - - - ${solr.lock.type:native} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${solr.ulog.dir:} - ${solr.ulog.numVersionBuckets:65536} - - - - - ${solr.autoCommit.funding.maxTime:300000} - true - - - - - - - - - - - - - - - - ${solr.max.booleanClauses:1024} - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - ${solr.orcid.queryResultWindowSize:100} - - - ${solr.orcid.queryResultMaxDocsCached:500} - - - - - - - - - - - - - - - - false - - ${solr.orcid.maxWarmingSearchers:6} - - - - - - - - - - - - - - - - - - - - - - - explicit - 10 - xml - - text - - - - - - - - - - - - - - explicit - json - true - - - - - - - - explicit - - - - - - _text_ - - - - - - - true - ignored_ - _text_ - - - - - - - - - text_general - - - - - - default - _text_ - solr.DirectSolrSpellChecker - - internal - - 0.5 - - 2 - - 1 - - 5 - - 4 - - 0.01 - - - - - - - - - - - - default - on - true - 10 - 5 - 5 - true - true - 10 - 5 - - - spellcheck - - - - - - - - - - true - - - tvComponent - - - - - - - - - - - - true - false - - - terms - - - - - - - - string - - - - - - explicit - - - elevator - - - - - - - - - - - 100 - - - - - - - - 70 - - 0.5 - - [-\w ,/\n\"']{20,200} - - - - - - - ]]> - ]]> - - - - - - - - - - - - - - - - - - - - - - - - ,, - ,, - ,, - ,, - ,]]> - ]]> - - - - - - 10 - .,!? - - - - - - - WORD - - - en - US - - - - - - - - - - - - - - text/plain; charset=UTF-8 - - - - - ${velocity.template.base.dir:} - ${velocity.solr.resource.loader.enabled:true} - ${velocity.params.resource.loader.enabled:false} - - - - - 5 - - - - - - - ${solr.enable.leader:true} - startup - commit - schema.xml,stopwords.txt - - - ${solr.enable.follower:false} - ${solr.leader.url:http://localhost:8983/solr}/${solr.core.name} - ${solr.poll.interval:00:00:60} - - - - diff --git a/solr-config/cores/fundingSubType/conf/stopwords.txt b/solr-config/cores/fundingSubType/conf/stopwords.txt deleted file mode 100644 index 09697dce6e1..00000000000 --- a/solr-config/cores/fundingSubType/conf/stopwords.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - diff --git a/solr-config/cores/fundingSubType/conf/synonyms.txt b/solr-config/cores/fundingSubType/conf/synonyms.txt deleted file mode 100644 index eab4ee87537..00000000000 --- a/solr-config/cores/fundingSubType/conf/synonyms.txt +++ /dev/null @@ -1,29 +0,0 @@ -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#----------------------------------------------------------------------- -#some test synonym mappings unlikely to appear in real input text -aaafoo => aaabar -bbbfoo => bbbfoo bbbbar -cccfoo => cccbar cccbaz -fooaaa,baraaa,bazaaa - -# Some synonym groups specific to this example -GB,gib,gigabyte,gigabytes -MB,mib,megabyte,megabytes -Television, Televisions, TV, TVs -#notice we use "gib" instead of "GiB" so any WordDelimiterGraphFilter coming -#after us won't split it into two words. - -# Synonym mappings can be used for spelling correction too -pixima => pixma - diff --git a/solr-config/cores/fundingSubType/core.properties b/solr-config/cores/fundingSubType/core.properties deleted file mode 100644 index 2235f5f5230..00000000000 --- a/solr-config/cores/fundingSubType/core.properties +++ /dev/null @@ -1,2 +0,0 @@ -name=fundingSubType -dataDir=/opt/solr/solr_data/fundingSubType \ No newline at end of file