CINXE.COM
Mark Hahnel (0000-0003-4741-0309) - ORCID | Connecting Research and Researchers
<!DOCTYPE html> <html class="no-js oldie" lang="en"> <head><script type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://orcid.org/0000-0003-4741-0309","20171210035824","http://web.archive.org/","web","https://web-static.archive.org/_static/", "1512878304"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"/> <title>Mark Hahnel (0000-0003-4741-0309) - ORCID | Connecting Research and Researchers</title> <meta name="description" content=""> <meta name="author" content="ORCID"> <meta name="_csrf" content=""/> <meta name="_csrf_header" content=""/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//web.archive.org/web/20171210035824/https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-17492803-4', 'auto', {'legacyCookieDomain': 'orcid.org'}); // Replace with your property ID. ga('set', 'anonymizeIp', true); //Anonymize user IP ga('send', 'pageview'); </script> <script type="text/javascript"> var orcidVar = {}; orcidVar.recaptchaKey = '6Lfj4AoTAAAAAAjr0x3Gu2RcVpA1-0LJAhV-GRQj'; orcidVar.baseDomainRmProtocall = 'orcid.org'; orcidVar.baseUri = 'http://web.archive.org/web/20171210035824/https://orcid.org'; orcidVar.baseUriHttp = 'http://web.archive.org/web/20171210035824/http://orcid.org'; orcidVar.pubBaseUri = 'http://web.archive.org/web/20171210035824/https://pub.orcid.org'; orcidVar.workIds = JSON.parse("[8611754,8611755,10810393]"); orcidVar.affiliationIdsJson = JSON.parse("[12409]"); orcidVar.fundingIdsJson = JSON.parse("[]"); orcidVar.PeerReviewIds = JSON.parse("[]"); orcidVar.orcidId = '0000-0003-4741-0309'; orcidVar.lastModified = '1,508,299,415,657'; orcidVar.orcidIdHash = ''; orcidVar.realOrcidId = ''; orcidVar.jsMessages = JSON.parse("{\"locale\":\"en\",\"messages\":{\"fatal.wrongProtocol\":\"Policy supplied to DS was not \\\"urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single\\\"\",\"fatal.noparms\":\"No parameters to discovery session and no defaultReturn parameter configured\",\"orcid.frontend.link.email.support\":\"support@orcid.org\",\"funding.add.external_id.value.placeholder.grant\":\"Enter grant number\",\"orcid.frontend.manual_work_form_contents.labelTitleConference\":\"Conference title\",\"idpEntry.NoPreferred.label\":\"Enter your organization\'s name\",\"funding.add.external_id.title.grant\":\"GRANT NUMBER\",\"orcid.frontend.workspace.ensure_future_access5\":\"or contact\",\"orcid.frontend.workspace.youve_changed\":\"You\'ve changed your primary email to an address that isn\'t verified.\",\"orcid.frontend.workspace.ensure_future_access4\":\"knowledgebase\",\"orcid.frontend.workspace.ensure_future_access3\":\"Need help? Visit our\",\"orcid.frontend.manual_work_form_contents.labelTitleConferencePlaceholder\":\"Conference title\",\"orcid.frontend.workspace.ensure_future_access2\":\"To verify your email now, click the link in the message we sent to\",\"idpList.label\":\"Or select your organization from the list below\",\"idpList.defaultOptionLabel\":\"Please select your organization...\",\"fatal.noXMLHttpRequest\":\"Browser does not support XMLHttpRequest, unable to load IdP selection data\",\"funding.add.external_id.value.label.award\":\"Award\",\"funding.add.external_id.value.label.contract\":\"Contract\",\"affiliation.org_id.value.label.grid\":\"GRID\",\"orcid.frontend.security.2fa.no_device1\":\"Don\'t have your device?\",\"orcid.frontend.security.2fa.no_device2\":\"Enter a recovery code\",\"manage.email.close\":\"Close\",\"orcid.frontend.manual_work_form_contents.labelTitlePublisherPlaceholder\":\"Add publisher name\",\"orcid.frontend.security.2fa.authenticate\":\"Authenticate\",\"orcid.frontend.manual_work_form_contents.defaultTitlePlaceholder\":\"Add journal title\",\"funding.add.external_id.url.label.contract\":\"Contract URL\",\"orcid.frontend.manual_work_form_contents.labelTitleBook\":\"Book title\",\"orcid.frontend.security.2fa.heading\":\"Two-factor authentication\",\"funding.add.external_id.url.label.grant\":\"Grant URL\",\"orcid.frontend.manual_work_form_contents.labelTitleInstitutionPlaceholder\":\"Add institution name\",\"orcid.frontend.security.2fa.bad_recovery_code\":\"Invalid recovery code\",\"idpEntry.label\":\"Or enter your organization\'s name\",\"fatal.divMissing\":\"<div> specified as \\\"insertAtDiv\\\" could not be located in the HTML\",\"common.js.domain.warn.template\":\"Warning! {{curentDomian}} is a test website. <a href=\\\"http:\/\/ORCID.org\\\">ORCID.org<\/a> is the official website. Sandbox only sends email messages to <a href=\\\"http:\/\/mailinator.com\\\">mailinator.com<\/a> email addresses, see Sandbox FAQ for <a href=\\\"http:\/\/members.orcid.org\/api\/faq\/why-am-i-not-receiving-messages-sandbox\\\">more information<\/a>.\",\"idpPreferred.label\":\"Use a suggested selection:\",\"fatal.badProtocol\":\"Return request must start with https:\/\/ or http:\/\/\",\"orcid.frontend.security.2fa.instructions\":\"Enter a code from the two-factor authentication app on your mobile device.\",\"admin.profile_deprecation.deprecate_account.success_message\":\"Profile {{0}} has been successfully deprecated to profile {{1}}.\",\"orcid.frontend.manual_work_form_contents.labelTitleBookPlaceholder\":\"Add book title\",\"orcid.frontend.manual_work_form_contents.labelTitleInstitution\":\"Institution\",\"admin.profile_reactivation.success\":\"Profile successfully reactivated.\",\"manage.socialNetworks.hide\":\"Hide\",\"orcid.frontend.manual_work_form_contents.labelTitleIntellectualPropertyPlaceholder\":\"Publisher\",\"fatal.wrongEntityId\":\"entityId supplied by SP did not match configuration\",\"login.forgotten_password\":\"Forgotten your password?\",\"admin.edit_client.success\":\"Client was successfully updated\",\"manage.editTable.removeDuplicate\":\"Remove duplicate record\",\"orcid.frontend.security.deprecated_with_primary\":\"This account is deprecated. Please refer to account: {{primary}}\",\"manage.editTable.hide\":\"Hide\",\"orcid.frontend.workspace.ensure_future_access\":\"Make full use of your ORCID iD! Verify your primary email address in order to access all of our editing features.\",\"orcid.frontend.manual_work_form_contents.labelTitleMagazineArticlePlaceholder\":\"Add magazine name\",\"funding.add.external_id.title.contract\":\"CONTRACT NUMBER\",\"orcid.frontend.workspace.your_primary_email\":\"Please verify your email address!\",\"common.cookies.click_dismiss\":\"click to dismiss\",\"orcid.frontend.security.2fa.label\":\"Authentication code\",\"orcid.frontend.security.unclaimed_exists\":\"The ORCID record exists but has not been claimed. Would you like to <a href=\\\"{{resendClaimUrl}}\\\">resend the claim email<\/a>?\",\"orcid.frontend.manual_work_form_contents.labelTitleMagazineArticle\":\"Magazine title\",\"idpList.showSearch\":\"Allow me to specify the site\",\"manage_member.edit_member.success\":\"Member was successfully updated\",\"orcid.frontend.security.2fa.recoveryCode\":\"Recovery code\",\"orcid.frontend.freemarker.btncancel\":\"Cancel\",\"common.old.browser\":\"We notice you are using an older browser. Some features on this site may not work correctly. <a href=\\\"http:\/\/support.orcid.org\/knowledgebase\/articles\/159728-upgrade-your-browser\\\">We recommend you upgrade<\/a> to a later version of this browser or switch to a different one.\",\"admin.profile_deactivation.success\":\"Profile successfully deactivated.\",\"funding.add.external_id.url.placeholder.contract\":\"Enter contract URL\",\"fatal.noReturnURL\":\"No URL return parameter provided\",\"delegators.nomatches\":\"no matches, please search again\",\"orcid.frontend.security.deprecated\":\"This account is deprecated.\",\"defaultLogoAlt\":\"DefaultLogo\",\"idpList.NoPreferred.label\":\"Select your organization from the list below\",\"orcid.frontend.workspace.send_verification\":\"Resend verification email\",\"manage.editTable.edit\":\"Edit\",\"orcid.frontend.workspace.you_need_to_verify\":\"You need to verify your primary email in order to access all of our editing features.\",\"manage.socialNetworks.edit\":\"Edit\",\"common.part_of\":\"Part of\",\"funding.add.external_id.value.label.grant\":\"Grant\",\"orcid.frontend.security.2fa.bad_verification_code\":\"Invalid authentication code\",\"funding.add.external_id.url.label.award\":\"Award URL\",\"affiliation.org_id.value.label.ringgold\":\"Ringgold\",\"idpList.showList\":\"Allow me to pick from a list\",\"fatal.loadFailed\":\"Oops, something went wrong. Refresh your page to try again. Failed to load: \",\"funding.add.external_id.title.award\":\"AWARD NUMBER\",\"manage.edit.emails\":\"Edit emails\",\"orcid.frontend.link.url.knowledgebase\":\"https:\/\/support.orcid.org\/knowledgebase\/articles\/149457\",\"workspace.works.import_wizzard.all\":\"All\",\"fatal.noData\":\"Oops, something went wrong. Refresh your page to try again. No data: \",\"orcid.frontend.manual_work_form_contents.labelTitleNewspaperPlaceholder\":\"Add newspaper name\",\"manage.editTable.deactivateRecord\":\"Deactivate this ORCID record...\",\"orcid.frontend.manual_work_form_contents.labelTitleNewsletter\":\"Newsletter title\",\"common.processing\":\"Processing\",\"funding.add.external_id.value.placeholder.contract\":\"Enter contract number\",\"affiliation.org_id.value.label.fundref\":\"FundRef\",\"funding.add.external_id.url.placeholder.award\":\"Enter award URL\",\"orcid.frontend.manual_work_form_contents.labelTitleNewsletterPlaceholder\":\"Add newsletter name\",\"orcid.frontend.security.orcid_deactivated\":\"Account deactivated - please contact support.\",\"funding.add.external_id.url.placeholder.grant\":\"Enter grant URL\",\"orcid.frontend.manual_work_form_contents.labelTitlePublisher\":\"Publisher\",\"orcid.frontend.manual_work_form_contents.journalTitle\":\"Journal title\",\"orcid.frontend.security.bad_credentials\":\"Bad username, and\/or password. Please try again.\",\"helpText\":\"Help\",\"funding.add.external_id.value.placeholder.award\":\"Enter award number\",\"orcid.frontend.manual_work_form_contents.journalTitlePlaceholder\":\"Add journal title\",\"orcid.frontend.manual_work_form_contents.labelTitleNewspaper\":\"Newspaper title\",\"orcid.frontend.manual_work_form_contents.labelTitleOtherPlaceholder\":\"Publisher\",\"orcid.frontend.manual_work_form_contents.defaultTitle\":\"Journal title\",\"submitButton.label\":\"Continue\",\"manualWork.bibtext.notValid\":\"There may be an error. Please review the BibTex before adding.\"}}"); orcidVar.searchBaseUrl = "http://web.archive.org/web/20171210035824/https://pub.orcid.org/v2.1/search/"; orcidVar.isPasswordConfirmationRequired = false; orcidVar.emailVerificationManualEditEnabled = false; orcidVar.version = "2017-12-08T12:36:54Z"; orcidVar.knowledgeBaseUri = "http://web.archive.org/web/20171210035824/https://support.orcid.org/knowledgebase"; orcidVar.oauth2Screens = false; orcidVar.originalOauth2Process = false; orcidVar.oauthUserId = ""; orcidVar.memberSlug = ""; </script> <script> var OrcidGA = function() { this.buildClientString = function(clientGroupName, clientName) { return clientGroupName + ' - ' + clientName }; this.gaPush = function(trackArray) { /* * window.ga is blocked by Ghostery and disconnect.me * window.gaGlobal is blocked by uBlock */ if(window.ga && window.gaGlobal) { if(typeof trackArray === 'function') { ga(trackArray); } else { //Anonymize IP for each hit per //https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization if(trackArray[5] == undefined) { ga(trackArray[0], trackArray[1], trackArray[2], trackArray[3], trackArray[4], {'anonymizeIp': true}); } else { ga(trackArray[0], trackArray[1], trackArray[2], trackArray[3], trackArray[4], trackArray[5], {'anonymizeIp': true}); } console.log("_gap.push for " + trackArray); } setTimeout(function(){ if(!ga.create) { // if it's a function and _gap isn't available run (typically only // on dev) console.log("no _gap.push for " + trackArray); if (typeof trackArray === 'function') trackArray(); } }, 200); } else { console.log("no _gap.push for " + trackArray); if (typeof trackArray === 'function') trackArray(); } }; // Delays are async functions used to make sure event track que has cleared // See // https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApi_gaq // // Additionally adding in delay: // http://support.google.com/analytics/answer/1136920?hl=en this.gaFormSumbitDelay = function($el) { if (!$el instanceof jQuery) { $el = $(el); } this.gaPush(function() { console.log("_gap.push executing $el.submit()"); setTimeout(function() { $el.submit(); }, 100); }); return false; }; this.windowLocationHrefDelay = function(url) { this.gaPush(function() { console.log("_gap.push has executing window.location.href " + url); setTimeout(function() { window.location.href = url; }, 100); }); return false; }; }; var orcidGA = new OrcidGA(); </script> <link rel="stylesheet" href="//web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/noto-sans-googlefonts.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="//web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/glyphicons.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="//web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/social.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="//web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/filetypes.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="http://web.archive.org/web/20171210035824cs_/https://orcid.org/static/twitter-bootstrap/3.3.6/css/bootstrap.min.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="http://web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/orcid.new.css?v=2017-12-08T12:36:54Z"/> <link rel="stylesheet" href="http://web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/idpselect.css"/> <link rel="stylesheet" href="http://web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/jquery-ui-1.10.0.custom.min.css?v=2017-12-08T12:36:54Z"/> <script src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/respond.src.js?v=2017-12-08T12:36:54Z"></script> <link href="https://orcid.org/static/html/respond-proxy.html" id="respond-proxy" rel="respond-proxy"/> <link href="https://orcid.org/static/img/respond.proxy.gif" id="respond-redirect" rel="respond-redirect"/> <script src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/respond.proxy.js"></script> <style type="text/css"> /* Allow angular.js to be loaded in body, hiding cloaked elements until templates compile. The !important is important given that there may be other selectors that are more specific or come later and might alter display. */ [ng\:cloak], [ng-cloak], .ng-cloak { display: none !important; } </style> <link rel="shortcut icon" href="http://web.archive.org/web/20171210035824im_/https://orcid.org/static/img/favicon.ico"/> <link rel="apple-touch-icon" href="http://web.archive.org/web/20171210035824im_/https://orcid.org/static/img/apple-touch-icon.png"/> <link rel="stylesheet" href="//web.archive.org/web/20171210035824cs_/https://orcid.org/static/css/noto-font.css?v=2017-12-08T12:36:54Z"/> </head> <body data-baseurl="/"> <div class="container"> <div class="header center" ng-controller="headerCtrl"> <div class="row"> <div class="search col-md-11 col-md-offset-1 col-sm-12 col-xs-12" id="search" ng-show="searchVisible == true || settingsVisible == true" ng-cloak> <form id="form-search" action="/web/20171210035824/https://orcid.org/search/node" method="POST" ng-show="searchVisible == true" ng-cloak> <div id="search-box"> <input type="search" id="search-input" name="keys" ng-focus="searchFocus()" ng-blur="searchBlur()" placeholder="Search"/> </div> <div class="bar"> <fieldset class="search_options" ng-show="filterActive == true" ng-cloak> <input type="radio" name="huh_radio" id="filter_registry" value="registry" ng-click="focusActive()" checked/> <label for="filter_registry">The ORCID Registry</label> <input type="radio" name="huh_radio" id="filter_website" value="website" ng-click="focusActive()"/> <label for="filter_website">The ORCID Website</label> </fieldset> </div> <div class="conditions" ng-show="conditionsActive == true" ng-cloak> <p> Your use of the Registry and the results of your search are subject to ORCID's <a href="http://web.archive.org/web/20171210035824/https://orcid.org/legal">Terms and Conditions of Use</a> </p> </div> <div class="top-buttons"> <button type="submit" class="search-button"> <i class="icon-orcid-search"></i> </button> <a href="/web/20171210035824/https://orcid.org/orcid-search/search" class="settings-button" title="Advanced Search"><i class="glyphicon glyphicon-cog"></i></a> </div> </form> <div class="language-selector" ng-show="settingsVisible == true"> <div ng-include="'edit-language'"></div> <div class="account-settings-mobile-menu"> <span class="account-settings-mobile"> <a href="/web/20171210035824/https://orcid.org/account"> Account Settings </a> </span> </div> </div> </div> </div> <div class="row flexbox-container"> <div class="col-md-9 col-sm-9 col-sm-push-3 col-md-push-3 navigation public"> <a id="mobile-menu-icon" class="mobile-button mobile-menu-icon hidden-md hidden-lg hidden-sm visible-xs" ng-click="toggleMenu()" ng-class="{'mobile-menu-active': menuVisible == true}"> <span class="glyphicon glyphicon-align-justify"></span> </a> <a href="http://web.archive.org/web/20171210035824/https://orcid.org/" id="logo-mini" class="pull-left"></a> <a id="mobile-settings" class="mobile-button mobile-settings" ng-click="toggleSettings()" ng-class="{'mobile-menu-active': settingsVisible == true}"> <span class="glyphicon glyphicon-cog"></span> </a> <a id="mobile-search" class="mobile-button mobile-search" ng-click="toggleSearch()" ng-class="{'mobile-menu-active': searchVisible == true}"> <span class="glyphicon glyphicon-search"></span> </a> <a href="/web/20171210035824/https://orcid.org/signin" id="mobile-sign-in" class="mobile-button mobile-sign-in"> <span class="glyphicon glyphicon-user"></span> </a> <ul class="menu public" ng-show="menuVisible == true" resize> <li class="active-trail"><a href="/web/20171210035824/https://orcid.org/my-orcid">Edit your record</a></li> <li><a href="/web/20171210035824/https://orcid.org/about">About ORCID</a></li> <li><a href="/web/20171210035824/https://orcid.org/contact-us">Contact us</a></li> <li><a href="/web/20171210035824/https://orcid.org/help">Help</a></li> </ul> </div> <div class="col-md-3 col-sm-3 col-sm-pull-9 col-md-pull-9 reset logo"> <h1> <a href="http://web.archive.org/web/20171210035824/https://orcid.org/"><img src="http://web.archive.org/web/20171210035824im_/https://orcid.org/static/img/orcid-logo.png" alt="ORCID logo"/></a> </h1> <p>Connecting Research and Researchers</p> </div> <p class="see-more">4,171,754 ORCID iDs and counting. <a href="/web/20171210035824/https://orcid.org/statistics" title="">See more...</a> </p> </div> </div> <div id="main" role="main" class="main"> <div class="row workspace-top public-profile"> <div class="col-md-3 left-aside"> <div class="workspace-left workspace-profile" ng-controller="PublicRecordCtrl"> <div class="id-banner"> <h2 class="full-name"> Mark Hahnel </h2> <div> </div> <div class="oid"> <div class="id-banner-header"> <span>ORCID iD</span> </div> <div class="orcid-id-container"> <div class="orcid-id-options"> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'HTTPS_IDS', 'enabled']);</script> <div class="orcid-id-info"> <span class="mini-orcid-icon-16"></span> <span id="orcid-id" class="orcid-id-https">https://orcid.org/0000-0003-4741-0309</span> </div> </div> </div> </div> <div class="print-orcid-record" ng-controller="PrintRecordCtrl"> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'HTTPS_IDS', 'enabled']);</script> <a id="printRecord" ng-click="printRecord('https://orcid.org/0000-0003-4741-0309/print')"> <span class="glyphicon glyphicon-print"></span> Print view</a> <div class="popover-help-container"> <a href="javascript:void(0);"><i class="glyphicon glyphicon-question-sign"></i></a> <div id="print-help" class="popover bottom"> <div class="arrow"></div> <div class="popover-content"> <p>Open a version of this ORCID record formatted for printing.</p> </div> </div> </div> </div> <div class="workspace-section"> <div class="workspace-section-header"> <ul class="inline-list visible workspace-section-heading"> <li><span class="workspace-section-title">Country</span></li> <li class="right"> <span ng-click="toggleSourcesDisplay('countries')" class="right toggle" ng-mouseenter="showPopover('countries')" ng-mouseleave="hidePopover('countries')"> <i ng-class="(showSources['countries'] || showSources['countries'] == 'null')? 'glyphicons collapse_top' : 'glyphicons expand'"></i> <div class="popover top" ng-class="{'block' : showPopover['countries']}"> <div class="arrow"></div> <div class="popover-content"> <span ng-show="showSources['countries'] == false || showSources['countries'] == null">Show details</span> <span ng-show="showSources['countries']">Hide details</span> </div> </div> </span> </li> </ul> <div id="public-country-div" class="public-content"> <span name="country">United Kingdom</span> <div ng-if="showSources['countries']" class="source-line separator" ng-cloak> <p>Sources:<br/> Mark Hahnel (2016-01-24) </p> </div> </div> </div> </div> <div class="workspace-section"> <div class="workspace-section-header"> <ul class="inline-list visible workspace-section-heading"> <li><span class="workspace-section-title">Keywords</span></li> <li class="right"> <span ng-click="toggleSourcesDisplay('keywords')" class="right toggle" ng-mouseenter="showPopover('keywords')" ng-mouseleave="hidePopover('keywords')"> <i ng-class="(showSources['keywords'] || showSources['keywords'] == 'null')? 'glyphicons collapse_top' : 'glyphicons expand'"></i> <div class="popover top" ng-class="{'block' : showPopover['keywords']}"> <div class="arrow"></div> <div class="popover-content"> <span ng-show="showSources['keywords'] == false || showSources['keywords'] == null">Show details</span> <span ng-show="showSources['keywords']">Hide details</span> </div> </div> </span> </li> </ul> <div id="public-keywords-div" class="public-content"> <span name="keyword">stem cells, mesenchymal stem cells, embryonic stem cells, open science</span> <div ng-if="showSources['keywords']" class="source-line separator" ng-cloak> <p>Sources:<br/> Mark Hahnel (2013-05-20) </p> </div> </div> </div> </div> </div> </div> </div> <div class="col-md-9 right-aside"> <div class="workspace-right" ng-controller="PersonalInfoCtrl"> <div class="workspace-inner-public workspace-public workspace-accordion"> <div class="workspace-accordion-content" ng-show="displayInfo"> <div class="row bottomBuffer"> <div class="col-md-12 col-sm-12 col-xs-12"> <h3 class="workspace-title">Biography</h3> </div> </div> <div class="row bottomBuffer"> <div class="col-md-12 col-sm-12 col-xs-12"> <div class="bio-content">Mark is the founder of http://figshare.com and a former PhD student within the Leukocyte Biology group at the National Heart and Lung Institute (NHLI). He is also a genetics graduate from both the University of Leeds and the University of Newcastle upon Tyne Mark is the founder of figshare. He is fresh out of academia, having just completed his PhD in stem cell biology at Imperial College London, having previously studied genetics in both Newcastle and Leeds. He is passionate about open science and the potential it has to revolutionise the research community. Mark is the founder of figshare. He is fresh out of academia, having just completed his PhD in stem cell biology at Imperial College London, having previously studied genetics in both Newcastle and Leeds. He is passionate about open science and the potential it has to revolutionise the research community.</div> </div> </div> </div> <div id="workspace-education" class="workspace-accordion-item workspace-accordion-active" ng-controller="PublicEduAffiliation" ng-hide="!affiliationsSrvc.educations.length" ng-cloack> <div class="workspace-accordion-header clearfix"> <div class="row"> <div class="col-md-3 col-sm-3 col-xs-12"> <a name="workspace-educations"/> <a href="" ng-click="workspaceSrvc.toggleEducation($event)" ng-click="workspaceSrvc.toggleEducation($event)" class="toggle-text"> <i class="glyphicon-chevron-down glyphicon x075" ng-class="{'glyphicon-chevron-right':workspaceSrvc.displayEducation==false}"></i> Education (<span ng-bind="affiliationsSrvc.educations.length"></span>) </a> </div> <div class="col-md-9 col-sm-9 col-xs-12 action-button-bar" ng-if="workspaceSrvc.displayEducation"> <div class="menu-container"> <ul class="toggle-menu"> <li> <span class="glyphicon glyphicon-sort"></span> Sort <ul class="menu-options sort"> <li ng-class="{'checked':sortState.predicateKey=='date'}" ng-hide="sortHideOption"> <a ng-click="sort('date');" class="action-option manage-button"> Date <span ng-show="sortState.reverseKey['date']" ng-class="{'glyphicon glyphicon-sort-by-order-alt':sortState.predicateKey=='date'}"></span> <span ng-show="sortState.reverseKey['date'] == false" ng-class="{'glyphicon glyphicon-sort-by-order':sortState.predicateKey=='date'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='groupName'}" ng-hide="sortHideOption == null"> <a ng-click="sort('groupName');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['groupName']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='groupName'}"></span> <span ng-show="sortState.reverseKey['groupName'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='groupName'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='title'}" ng-hide="sortHideOption"> <a ng-click="sort('title');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['title']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='title'}"></span> <span ng-show="sortState.reverseKey['title'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='title'}"></span> </a> </li> <li ng-show="sortState.type != 'affiliation'" ng-class="{'checked':sortState.predicateKey=='type'}" ng-hide="sortHideOption"> <a ng-click="sort('type');" class="action-option manage-button"> Type <span ng-show="sortState.reverseKey['type']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='type'}"></span> <span ng-show="sortState.reverseKey['type'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='type'}"></span> </a> </li> </ul> </li> </ul> </div> </div> </div> </div> <div ng-if="workspaceSrvc.displayEducation" class="workspace-accordion-content"> <ul id="educations-list" ng-hide="!affiliationsSrvc.educations.length" class="workspace-affiliations workspace-body-list bottom-margin-medium" ng-cloak> <li class="bottom-margin-small workspace-border-box affiliation-box card ng-scope" ng-repeat="group in affiliationsSrvc.educations | orderBy:sortState.predicate:sortState.reverse" education-put-code="{{group.getActive().putCode.value}}"> <div class="row"> <div class="col-md-9 col-sm-9 col-xs-7"> <h3 class="workspace-title"> <span ng-bind="group.getActive().affiliationName.value"></span>: <span ng-bind="group.getActive().city.value"></span><span ng-if="group.getActive().region.value">, </span><span ng-bind="group.getActive().region.value"></span>, <span ng-bind="group.getActive().countryForDisplay"></span> </h3> <div class="info-detail"> <div class="info-date"> <span class="affiliation-date" ng-if="group.getActive().startDate"> <span ng-if="group.getActive().startDate.year">{{group.getActive().startDate.year}}</span><span ng-if="group.getActive().startDate.month">-{{group.getActive().startDate.month}}</span><span ng-if="group.getActive().startDate.day">-{{group.getActive().startDate.day}}</span> <span>to</span> <span ng-hide="group.getActive().endDate.year">present</span> <span ng-if="group.getActive().endDate.year">{{group.getActive().endDate.year}}</span><span ng-if="group.getActive().endDate.month">-{{group.getActive().endDate.month}}</span><span ng-if="group.getActive().endDate.day">-{{group.getActive().endDate.day}}</span> </span> <span class="affiliation-date" ng-if="!group.getActive().startDate && group.getActive().endDate"> <span ng-if="group.getActive().endDate.year">{{group.getActive().endDate.year}}</span><span ng-if="group.getActive().endDate.month">-{{group.getActive().endDate.month}}</span><span ng-if="group.getActive().endDate.day">-{{group.getActive().endDate.day}}</span> </span> <span ng-if="(group.getActive().startDate || group.getActive().endDate) && (group.getActive().roleTitle.value || group.getActive().departmentName.value)"> | </span> <span ng-if="group.getActive().roleTitle.value" ng-bind="group.getActive().roleTitle.value"></span> <span ng-if="group.getActive().departmentName.value"> <span ng-if="group.getActive().roleTitle.value && !printView"> </span>(<span ng-bind="group.getActive().departmentName.value" ng-cloak></span>) </span> </div> </div> </div> <div class="col-md-3 col-sm-3 col-xs-5 padding-left-fix"> <div class="workspace-toolbar"> <ul class="workspace-private-toolbar"> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'AFFILIATION_ORG_ID', 'enabled']);</script> <li class="works-details"> <a ng-click="showDetailsMouseClick(group,$event);showMozillaBadges(group.activePutCode)" ng-mouseenter="showTooltip(group.groupId+'-showHideDetails')" ng-mouseleave="hideTooltip(group.groupId+'-showHideDetails')"> <span ng-class="(moreInfo[group.groupId] == true) ? 'glyphicons collapse_top' : 'glyphicons expand'"> </span> </a> <div class="popover popover-tooltip top show-hide-details-popover" ng-if="showElement[group.groupId+'-showHideDetails']"> <div class="arrow"></div> <div class="popover-content"> <span ng-if="moreInfo[group.groupId] == false || moreInfo[group.groupId] == null">Show Details</span> <span ng-if="moreInfo[group.groupId]">Hide Details</span> </div> </div> </li> </ul> </div> </div> </div> <div class="row" ng-if="group.activePutCode == group.getActive().putCode.value"> <div class="col-md-12 col-sm-12 bottomBuffer"> <ul class="id-details"> <li class="url-work"> <ul class="id-details"> <li ng-repeat="extID in group.getActive().affiliationExternalIdentifiers | orderBy:["-relationship.value", "type.value"] track by $index" class="url-popover"> <span ng-if="group.getActive().affiliationExternalIdentifiers[0].value.value.length > 0" bind-html-compile="extID | affiliationExternalIdentifierHtml:group.getActive().putCode.value:$index"></span> </li> </ul> </li> </ul> </div> </div> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'AFFILIATION_ORG_ID', 'enabled']);</script> <div class="more-info content" ng-if="moreInfo[group.groupId]"> <div class="row bottomBuffer"> <div class="col-md-12"></div> </div> <span class="dotted-bar"></span> <div class="row"> <div class="org-ids" ng-if="group.getActive().orgDisambiguatedId.value"> <div class="col-md-12"> <strong>Organization identifiers</strong><br> <span bind-html-compile="group.getActive().disambiguatedAffiliationSourceId.value | orgIdentifierHtml:group.getActive().disambiguationSource.value:group.getActive().putCode.value:group.getActive().disambiguationSource" class="url-popover"> </span> </div> <div class="col-md-11 bottomBuffer info-detail leftBuffer clearfix"> <span ng-if="group.getActive().orgDisambiguatedName">{{group.getActive().orgDisambiguatedName}}</span><span ng-if="group.getActive().orgDisambiguatedCity || group.getActive().orgDisambiguatedRegion || group.getActive().orgDisambiguatedCountry">: </span><span ng-if="group.getActive().orgDisambiguatedCity" ng-cloak>{{group.getActive().orgDisambiguatedCity}}</span><span ng-if="group.getActive().orgDisambiguatedCity && group.getActive().orgDisambiguatedRegion">, </span><span ng-if="group.getActive().orgDisambiguatedRegion" ng-cloak>{{group.getActive().orgDisambiguatedRegion}}</span><span ng-if="group.getActive().orgDisambiguatedCountry && (group.getActive().orgDisambiguatedCity || group.getActive().orgDisambiguatedRegion)">, </span><span ng-if="group.getActive().orgDisambiguatedCountry" ng-cloak>{{group.getActive().orgDisambiguatedCountry}}</span> <span ng-if="group.getActive().orgDisambiguatedUrl"><br> <a href="{{group.getActive().orgDisambiguatedUrl}}" target="orgDisambiguatedUrl"><span ng-bind="group.getActive().orgDisambiguatedUrl" ng-cloak></span></a> </span> <div ng-if="group.getActive().orgDisambiguatedExternalIdentifiers"> <strong>Other organization identifiers provided by {{group.getActive().disambiguationSource.value}}</strong><br> <ul class="reset"> <li ng-repeat="orgDisambiguatedExternalIdentifier in group.getActive().orgDisambiguatedExternalIdentifiers | orderBy:orgDisambiguatedExternalIdentifier.identifierType">{{orgDisambiguatedExternalIdentifier.identifierType}}: <span ng-if="orgDisambiguatedExternalIdentifier.preferred">{{orgDisambiguatedExternalIdentifier.preferred}} (preferred), </span> <span ng-if="orgDisambiguatedExternalIdentifier.all"><span ng-repeat="orgDisambiguatedExternalIdentifierAll in orgDisambiguatedExternalIdentifier.all">{{orgDisambiguatedExternalIdentifierAll}}{{$last ? '' : ', '}}</span></span></li> </ul> </div> </div> </div> <div class="col-md-6" ng-if="group.getActive().url.value" ng-cloak> <div class="bottomBuffer"> <strong>URL</strong><br> <a href="{{group.getActive().url.value}}" target="affiliation.url.value">{{group.getActive().url.value}}</a> </div> </div> <div class="col-md-12"> <div class="bottomBuffer"> <strong>Created</strong><br> <span ng-bind="group.getActive().createdDate | ajaxFormDateToISO8601"></span> </div> </div> </div> </div> <div class="row source-line"> <div class="col-md-12 col-sm-12 col-xs-12"> <div class="sources-container-header"> <div class="row"> <div class="col-md-7 col-sm-7 col-xs-12"> Source: {{(group.getActive().sourceName == null || group.getActive().sourceName == '') ? group.getActive().source : group.getActive().sourceName}} </div> <div class="col-md-2 col-sm-2 col-xs-6 pull-right"> <ul class="sources-options"> </ul> </div> </div> </div> </div> </div> </li> </ul> <div ng-if="affiliationsSrvc.loading" class="text-center"> <i class="glyphicon glyphicon-refresh spin x4 green" id="spinner"></i> <!--[if lt IE 8]> <img src="https://orcid.org/static/img/spin-big.gif" width="85" height ="85"/> <![endif]--> </div> <div ng-if="affiliationsSrvc.loading == false && affiliationsSrvc.educations.length == 0" ng-cloak> <strong>No education added yet</strong> </div> </div> </div> <div id="workspace-employment" class="workspace-accordion-item workspace-accordion-active" ng-controller="PublicEmpAffiliation" ng-hide="!affiliationsSrvc.employments.length" ng-cloack> <div class="workspace-accordion-header clearfix"> <div class="row"> <div class="col-md-3 col-sm-3 col-xs-12"> <a name="workspace-employments"/> <a href="" ng-click="workspaceSrvc.toggleEmployment($event)" ng-click="workspaceSrvc.toggleEmployment($event)" class="toggle-text"> <i class="glyphicon-chevron-down glyphicon x075" ng-class="{'glyphicon-chevron-right':workspaceSrvc.displayEmployment==false}"></i> Employment (<span ng-bind="affiliationsSrvc.employments.length"></span>) </a> </div> <div class="col-md-9 col-sm-9 col-xs-12 action-button-bar" ng-if="workspaceSrvc.displayEmployment"> <div class="menu-container"> <ul class="toggle-menu"> <li> <span class="glyphicon glyphicon-sort"></span> Sort <ul class="menu-options sort"> <li ng-class="{'checked':sortState.predicateKey=='date'}" ng-hide="sortHideOption"> <a ng-click="sort('date');" class="action-option manage-button"> Date <span ng-show="sortState.reverseKey['date']" ng-class="{'glyphicon glyphicon-sort-by-order-alt':sortState.predicateKey=='date'}"></span> <span ng-show="sortState.reverseKey['date'] == false" ng-class="{'glyphicon glyphicon-sort-by-order':sortState.predicateKey=='date'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='groupName'}" ng-hide="sortHideOption == null"> <a ng-click="sort('groupName');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['groupName']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='groupName'}"></span> <span ng-show="sortState.reverseKey['groupName'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='groupName'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='title'}" ng-hide="sortHideOption"> <a ng-click="sort('title');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['title']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='title'}"></span> <span ng-show="sortState.reverseKey['title'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='title'}"></span> </a> </li> <li ng-show="sortState.type != 'affiliation'" ng-class="{'checked':sortState.predicateKey=='type'}" ng-hide="sortHideOption"> <a ng-click="sort('type');" class="action-option manage-button"> Type <span ng-show="sortState.reverseKey['type']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='type'}"></span> <span ng-show="sortState.reverseKey['type'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='type'}"></span> </a> </li> </ul> </li> </ul> </div> </div> </div> </div> <div ng-if="workspaceSrvc.displayEmployment" class="workspace-accordion-content"> <ul id="employments-list" ng-hide="!affiliationsSrvc.employments.length" class="workspace-affiliations workspace-body-list bottom-margin-medium" ng-cloak> <li class="bottom-margin-small workspace-border-box affiliation-box card" ng-repeat="group in affiliationsSrvc.employments | orderBy:sortState.predicate:sortState.reverse" employment-put-code="{{group.getActive().putCode.value}}"> <div class="row"> <div class="col-md-9 col-sm-9 col-xs-7"> <h3 class="workspace-title"> <span ng-bind="group.getActive().affiliationName.value"></span>: <span ng-bind="group.getActive().city.value"></span><span ng-if="group.getActive().region.value">, </span><span ng-bind="group.getActive().region.value"></span>, <span ng-bind="group.getActive().countryForDisplay"></span> </h3> <div class="info-detail"> <div class="info-date"> <span class="affiliation-date" ng-if="group.getActive().startDate"> <span ng-if="group.getActive().startDate.year">{{group.getActive().startDate.year}}</span><span ng-if="group.getActive().startDate.month">-{{group.getActive().startDate.month}}</span><span ng-if="group.getActive().startDate.day">-{{group.getActive().startDate.day}}</span> <span>to</span> <span ng-hide="group.getActive().endDate.year">present</span> <span ng-if="group.getActive().endDate.year">{{group.getActive().endDate.year}}</span><span ng-if="group.getActive().endDate.month">-{{group.getActive().endDate.month}}</span><span ng-if="group.getActive().endDate.day">-{{group.getActive().endDate.day}}</span> </span> <span class="affiliation-date" ng-if="!group.getActive().startDate && group.getActive().endDate"> <span ng-if="group.getActive().endDate.year">{{group.getActive().endDate.year}}</span><span ng-if="group.getActive().endDate.month">-{{group.getActive().endDate.month}}</span><span ng-if="group.getActive().endDate.day">-{{group.getActive().endDate.day}}</span> </span> <span ng-if="(group.getActive().startDate || group.getActive().endDate) && (group.getActive().roleTitle.value || group.getActive().departmentName.value)"> | </span> <span ng-if="group.getActive().roleTitle.value" ng-bind="group.getActive().roleTitle.value"></span> <span ng-if="group.getActive().departmentName.value"> <span ng-if="group.getActive().roleTitle.value && !printView"> </span>(<span ng-bind="group.getActive().departmentName.value" ng-cloak></span>) </span> </div> </div> </div> <div class="col-md-3 col-sm-3 col-xs-5 padding-left-fix"> <div class="workspace-toolbar"> <ul class="workspace-private-toolbar"> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'AFFILIATION_ORG_ID', 'enabled']);</script> <li class="works-details"> <a ng-click="showDetailsMouseClick(group,$event);showMozillaBadges(group.activePutCode)" ng-mouseenter="showTooltip(group.groupId+'-showHideDetails')" ng-mouseleave="hideTooltip(group.groupId+'-showHideDetails')"> <span ng-class="(moreInfo[group.groupId] == true) ? 'glyphicons collapse_top' : 'glyphicons expand'"> </span> </a> <div class="popover popover-tooltip top show-hide-details-popover" ng-if="showElement[group.groupId+'-showHideDetails']"> <div class="arrow"></div> <div class="popover-content"> <span ng-if="moreInfo[group.groupId] == false || moreInfo[group.groupId] == null">Show Details</span> <span ng-if="moreInfo[group.groupId]">Hide Details</span> </div> </div> </li> </ul> </div> </div> </div> <div class="row" ng-if="group.activePutCode == group.getActive().putCode.value"> <div class="col-md-12 col-sm-12 bottomBuffer"> <ul class="id-details"> <li class="url-work"> <ul class="id-details"> <li ng-repeat="extID in group.getActive().affiliationExternalIdentifiers | orderBy:["-relationship.value", "type.value"] track by $index" class="url-popover"> <span ng-if="group.getActive().affiliationExternalIdentifiers[0].value.value.length > 0" bind-html-compile="extID | affiliationExternalIdentifierHtml:group.getActive().putCode.value:$index"></span> </li> </ul> </li> </ul> </div> </div> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'AFFILIATION_ORG_ID', 'enabled']);</script> <div class="more-info content" ng-if="moreInfo[group.groupId]"> <div class="row bottomBuffer"> <div class="col-md-12"></div> </div> <span class="dotted-bar"></span> <div class="row"> <div class="org-ids" ng-if="group.getActive().orgDisambiguatedId.value"> <div class="col-md-12"> <strong>Organization identifiers</strong><br> <span bind-html-compile="group.getActive().disambiguatedAffiliationSourceId.value | orgIdentifierHtml:group.getActive().disambiguationSource.value:group.getActive().putCode.value:group.getActive().disambiguationSource" class="url-popover"> </span> </div> <div class="col-md-11 bottomBuffer info-detail leftBuffer clearfix"> <span ng-if="group.getActive().orgDisambiguatedName">{{group.getActive().orgDisambiguatedName}}</span><span ng-if="group.getActive().orgDisambiguatedCity || group.getActive().orgDisambiguatedRegion || group.getActive().orgDisambiguatedCountry">: </span><span ng-if="group.getActive().orgDisambiguatedCity" ng-cloak>{{group.getActive().orgDisambiguatedCity}}</span><span ng-if="group.getActive().orgDisambiguatedCity && group.getActive().orgDisambiguatedRegion">, </span><span ng-if="group.getActive().orgDisambiguatedRegion" ng-cloak>{{group.getActive().orgDisambiguatedRegion}}</span><span ng-if="group.getActive().orgDisambiguatedCountry && (group.getActive().orgDisambiguatedCity || group.getActive().orgDisambiguatedRegion)">, </span><span ng-if="group.getActive().orgDisambiguatedCountry" ng-cloak>{{group.getActive().orgDisambiguatedCountry}}</span> <span ng-if="group.getActive().orgDisambiguatedUrl"><br> <a href="{{group.getActive().orgDisambiguatedUrl}}" target="orgDisambiguatedUrl"><span ng-bind="group.getActive().orgDisambiguatedUrl" ng-cloak></span></a> </span> <div ng-if="group.getActive().orgDisambiguatedExternalIdentifiers"> <strong>Other organization identifiers provided by {{group.getActive().disambiguationSource.value}}</strong><br> <ul class="reset"> <li ng-repeat="orgDisambiguatedExternalIdentifier in group.getActive().orgDisambiguatedExternalIdentifiers | orderBy:orgDisambiguatedExternalIdentifier.identifierType">{{orgDisambiguatedExternalIdentifier.identifierType}}: <span ng-if="orgDisambiguatedExternalIdentifier.preferred">{{orgDisambiguatedExternalIdentifier.preferred}} (preferred), </span> <span ng-if="orgDisambiguatedExternalIdentifier.all"><span ng-repeat="orgDisambiguatedExternalIdentifierAll in orgDisambiguatedExternalIdentifier.all">{{orgDisambiguatedExternalIdentifierAll}}{{$last ? '' : ', '}}</span></span></li> </ul> </div> </div> </div> <div class="col-md-6" ng-if="group.getActive().url.value" ng-cloak> <div class="bottomBuffer"> <strong>URL</strong><br> <a href="{{group.getActive().url.value}}" target="affiliation.url.value">{{group.getActive().url.value}}</a> </div> </div> <div class="col-md-12"> <div class="bottomBuffer"> <strong>Created</strong><br> <span ng-bind="group.getActive().createdDate | ajaxFormDateToISO8601"></span> </div> </div> </div> </div> <div class="row source-line"> <div class="col-md-12 col-sm-12 col-xs-12"> <div class="sources-container-header"> <div class="row"> <div class="col-md-7 col-sm-7 col-xs-12"> Source: {{(group.getActive().sourceName == null || group.getActive().sourceName == '') ? group.getActive().source : group.getActive().sourceName}} </div> <div class="col-md-2 col-sm-2 col-xs-6 pull-right"> <ul class="sources-options"> </ul> </div> </div> </div> </div> </div> </li> </ul> <div ng-if="affiliationsSrvc.loading" class="text-center"> <i class="glyphicon glyphicon-refresh spin x4 green" id="spinner"></i> <!--[if lt IE 8]> <img src="https://orcid.org/static/img/spin-big.gif" width="85" height ="85"/> <![endif]--> </div> <div ng-if="affiliationsSrvc.loading == false && affiliationsSrvc.employments.length == 0" ng-cloak> <strong>No employment added yet</strong> </div> </div> </div> <div id="workspace-works" class="workspace-accordion-item workspace-accordion-active" ng-controller="PublicWorkCtrl" ng-cloak> <div class="workspace-accordion-header clearfix"> <div class="row"> <div class="col-md-4 col-sm-3 col-xs-12"> <div ng-controller="WorkspaceSummaryCtrl"> <a href="" ng-click="workspaceSrvc.toggleWorks($event)" class="toggle-text"> <i class="glyphicon-chevron-down glyphicon x075" ng-class="{'glyphicon-chevron-right':workspaceSrvc.displayWorks==false}"></i> Works (<span ng-bind="worksSrvc.groupsLabel"></span>) </a> </div> </div> <div class="col-md-8 col-sm-9 col-xs-12 action-button-bar" ng-show="workspaceSrvc.displayWorks"> <div class="menu-container"> <ul class="toggle-menu"> <li> <span class="glyphicon glyphicon-sort"></span> Sort <ul class="menu-options sort"> <li ng-class="{'checked':sortState.predicateKey=='date'}" ng-hide="sortHideOption"> <a ng-click="sort('date');" class="action-option manage-button"> Date <span ng-show="sortState.reverseKey['date']" ng-class="{'glyphicon glyphicon-sort-by-order-alt':sortState.predicateKey=='date'}"></span> <span ng-show="sortState.reverseKey['date'] == false" ng-class="{'glyphicon glyphicon-sort-by-order':sortState.predicateKey=='date'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='groupName'}" ng-hide="sortHideOption == null"> <a ng-click="sort('groupName');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['groupName']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='groupName'}"></span> <span ng-show="sortState.reverseKey['groupName'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='groupName'}"></span> </a> </li> <li ng-class="{'checked':sortState.predicateKey=='title'}" ng-hide="sortHideOption"> <a ng-click="sort('title');" class="action-option manage-button"> Title <span ng-show="sortState.reverseKey['title']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='title'}"></span> <span ng-show="sortState.reverseKey['title'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='title'}"></span> </a> </li> <li ng-show="sortState.type != 'affiliation'" ng-class="{'checked':sortState.predicateKey=='type'}" ng-hide="sortHideOption"> <a ng-click="sort('type');" class="action-option manage-button"> Type <span ng-show="sortState.reverseKey['type']" ng-class="{'glyphicon glyphicon-sort-by-alphabet-alt':sortState.predicateKey=='type'}"></span> <span ng-show="sortState.reverseKey['type'] == false" ng-class="{'glyphicon glyphicon-sort-by-alphabet':sortState.predicateKey=='type'}"></span> </a> </li> </ul> </li> </ul> </div> </div> </div> </div> <div ng-if="workspaceSrvc.displayWorks" class="workspace-accordion-content"> <noscript ng-non-bindable> </noscript> <div> <ul ng-hide="!worksSrvc.groups.length" class="workspace-publications bottom-margin-medium" id="body-work-list" ng-cloak> <li class="bottom-margin-small workspace-border-box card" ng-repeat="group in worksSrvc.groups"> <div class="work-list-container"> <ul class="sources-edit-list"> <li ng-if="editSources[group.groupId]" class="source-header" ng-class="{'source-active' : editSources[group.groupId] == true}" ng-model="group.works"> <div class="sources-header"> <div class="row"> <div class="col-md-7 col-sm-7 col-xs-6"> Sources <span class="hide-sources" ng-click="hideSources(group)">Close sources</span> </div> <div class="col-md-2 col-sm-2 hidden-xs"> Preferred </div> <div class="col-md-3 col-sm-3 col-xs-6 right padding-left-fix"> <div class="workspace-toolbar"> <ul class="workspace-private-toolbar"> <li class="works-details"> <a ng-click="showDetailsMouseClick(group,$event);showMozillaBadges(group.activePutCode)" ng-mouseenter="showTooltip(group.groupId+'-showHideDetails')" ng-mouseleave="hideTooltip(group.groupId+'-showHideDetails')"> <span ng-class="(moreInfo[group.groupId] == true) ? 'glyphicons collapse_top' : 'glyphicons expand'"> </span> </a> <div class="popover popover-tooltip top show-hide-details-popover" ng-if="showElement[group.groupId+'-showHideDetails']"> <div class="arrow"></div> <div class="popover-content"> <span ng-if="moreInfo[group.groupId] == false || moreInfo[group.groupId] == null">Show Details</span> <span ng-if="moreInfo[group.groupId]">Hide Details</span> </div> </div> </li> </ul> </div> </div> </div> </div> </li> <li ng-repeat="work in group.works" ng-if="group.activePutCode == work.putCode.value || editSources[group.groupId] == true" orcid-put-code="{{work.putCode.value}}"> <div class="row" ng-if="group.activePutCode == work.putCode.value"> <div class="col-md-9 col-sm-9 col-xs-7"> <h3 class="workspace-title"> <span ng-bind="work.title.value"></span> <span class="journaltitle" ng-if="work.journalTitle.value" ng-bind="work.journalTitle.value"></span> </h3> <div class="info-detail"> <span ng-if="work.publicationDate.year" ng-bind="work.publicationDate.year"></span><span ng-if="work.publicationDate.month">-{{work.publicationDate.month}}</span><span ng-if="work.publicationDate.day">-</span><span ng-if="work.publicationDate.day" ng-bind="work.publicationDate.day"></span><span ng-if="work.publicationDate.year"> | </span> <span class="capitalize" ng-bind="work.workType.value"></span> </div> </div> <div class="col-md-3 col-sm-3 col-xs-5 workspace-toolbar"> <ul class="workspace-private-toolbar" ng-hide="editSources[group.groupId] == true"> <li class="works-details" ng-hide="editSources[group.groupId] == true"> <a ng-click="showDetailsMouseClick(group,$event);showMozillaBadges(group.activePutCode)" ng-mouseenter="showTooltip(group.groupId+'-showHideDetails')" ng-mouseleave="hideTooltip(group.groupId+'-showHideDetails')"> <span ng-class="(moreInfo[group.groupId] == true) ? 'glyphicons collapse_top' : 'glyphicons expand'"> </span> </a> <div class="popover popover-tooltip top show-hide-details-popover" ng-if="showElement[group.groupId+'-showHideDetails']"> <div class="arrow"></div> <div class="popover-content"> <span ng-if="moreInfo[group.groupId] == false || moreInfo[group.groupId] == null">Show Details</span> <span ng-if="moreInfo[group.groupId]">Hide Details</span> </div> </div> </li> </ul> </div> </div> <div class="row" ng-if="group.activePutCode == work.putCode.value"> <div class="col-md-12 col-sm-12 bottomBuffer"> <ul class="id-details clearfix"> <li class="url-work clearfix"> <ul class="id-details clearfix"> <li ng-repeat="ie in work.workExternalIdentifiers | orderBy:["-relationship.value", "workExternalIdentifierType.value"]" class="url-popover"> <span bind-html-compile="ie | workExternalIdentifierHtml:$first:$last:work.workExternalIdentifiers.length:moreInfo[group.groupId]"></span> </li> </ul> </li> <li ng-if="work.url.value" class="url-popover url-work"> URL: <a href="{{work.url.value | urlProtocol}}" ng-mouseenter="showURLPopOver(work.putCode.value)" ng-mouseleave="hideURLPopOver(work.putCode.value)" ng-class="{'truncate-anchor' : moreInfo[group.groupId] == false || moreInfo[group.groupId] == undefined}" target="work.url.value">{{work.url.value}}</a> <div class="popover-pos"> <div class="popover-help-container"> <div class="popover bottom" ng-class="{'block' : displayURLPopOver[work.putCode.value] == true}"> <div class="arrow"></div> <div class="popover-content"> <a href="{{work.url.value}}" target="work.url.value">{{work.url.value}}</a> </div> </div> </div> </div> </li> </ul> </div> </div> <div class="more-info" ng-if="moreInfo[group.groupId] && group.activePutCode == work.putCode.value"> <div id="ajax-loader" ng-if="worksSrvc.details[work.putCode.value] == undefined"> <span id="ajax-loader"><i id="ajax-loader" class="glyphicon glyphicon-refresh spin x4 green"></i></span> </div> <div class="content" ng-hide="worksSrvc.details[work.putCode.value] == undefined"> <span class="dotted-bar"></span> <div class="row"> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].translatedTitle.content" ng-cloak> <div class="bottomBuffer"> <strong>Translated title</strong> <span><i>({{worksSrvc.details[work.putCode.value].translatedTitle.languageName}})</i></span> <div>{{worksSrvc.details[work.putCode.value].translatedTitle.content}}</div> </div> </div> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].languageCode.value" ng-cloak> <div class="bottomBuffer"> <strong>Language</strong> <div ng-bind="worksSrvc.details[work.putCode.value].languageName.value"></div> </div> </div> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].subtitle.value" ng-cloak> <div class="bottomBuffer"> <strong> Subtitle </strong> <div ng-bind="worksSrvc.details[work.putCode.value].subtitle.value"></div> </div> </div> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].url.value" ng-cloak> <div class="bottomBuffer"> <strong> URL </strong> <div> <a href="{{worksSrvc.details[work.putCode.value].url.value | urlProtocol}}" target="url.value">{{worksSrvc.details[work.putCode.value].url.value}}</a> </div> </div> </div> </div> <div class="row bottomBuffer" ng-if="worksSrvc.details[work.putCode.value].citation.citation.value" ng-cloak> <div class="col-md-12"> <strong>Citation</strong> <span> (<span ng-if="worksSrvc.details[work.putCode.value].citation.citationType.value" ng-cloak><i>{{worksSrvc.details[work.putCode.value].citation.citationType.value}}</i></span>) </span> <span ng-if="showBibtex[work.putCode.value] && worksSrvc.details[work.putCode.value].citation.citationType.value == 'bibtex'"> <a class="toggle-tag-option" ng-click="bibtexShowToggle(work.putCode.value)"> [Switch view] </a> </span> <span ng-if="(showBibtex[work.putCode.value] == null || showBibtex[work.putCode.value] == false) && worksSrvc.details[work.putCode.value].citation.citationType.value == 'bibtex'"> <a class="toggle-tag-option" ng-click="bibtexShowToggle(work.putCode.value)"> [Switch view] </a> </span> </div> <div class="col-md-12"> <div ng-if="worksSrvc.details[work.putCode.value].citation.citationType.value != 'bibtex'"> <span> {{worksSrvc.details[work.putCode.value].citation.citation.value}} </span> </div> <div ng-if="(showBibtex[work.putCode.value] == null || showBibtex[work.putCode.value] == false) && worksSrvc.details[work.putCode.value].citation.citationType.value == 'bibtex'" ng-bind="worksSrvc.details[work.putCode.value].citation.citation.value" class="col-md-offset-1 col-md-11 col-sm-offset-1 col-sm-11 col-xs-12 citation-raw"> </div> <div class="row" ng-if="showBibtex[work.putCode.value] && (worksSrvc.bibtexJson[work.putCode.value]==null || worksSrvc.bibtexJson[work.putCode.value].length==0)"> <div class="col-md-offset-1 col-md-6">View not available</div> </div> <div class="row" ng-if="showBibtex[work.putCode.value]" ng-repeat="bibJSON in worksSrvc.bibtexJson[work.putCode.value]"> <div class="col-md-offset-1 col-md-2 col-sm-offset-1 col-sm-1 col-xs-offset-1 col-xs-4">{{bibJSON.entryType}}</div> <div class="col-md-8 col-sm-9 col-xs-offset-1 col-xs-6">{{bibJSON.citationKey}}</div> <div ng-repeat="(entKey,entVal) in bibJSON.entryTags"> <div class="col-md-offset-1 col-md-2 col-sm-offset-1 col-sm-1 col-xs-offset-1 col-xs-4">{{entKey}}</div> <div class="col-md-8 col-sm-9 col-xs-offset-1 col-xs-6">{{entVal | latex}}</div> </div> </div> </div> </div> <div class="row bottomBuffer" ng-if="worksSrvc.details[work.putCode.value].shortDescription.value" ng-cloak> <div class="col-md-12"> <strong> Description </strong> <div ng-bind="worksSrvc.details[work.putCode.value].shortDescription.value" style="white-space: pre-wrap;"></div> </div> </div> <div class="row bottomBuffer"> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].countryCode.value" ng-cloak> <div class="bottomBuffer"> <strong>Country of publication</strong> <div ng-bind="worksSrvc.details[work.putCode.value].countryName.value"></div> </div> </div> <div class="col-md-6" ng-if="worksSrvc.details[work.putCode.value].contributors.length > 0" ng-cloak> <div class="bottomBuffer"> <strong> Contributor </strong> <div ng-repeat="contributor in worksSrvc.details[work.putCode.value].contributors"> {{contributor.creditName.value}} <span ng-bind="contributor | contributorFilter"></span> </div> </div> </div> <div class="col-md-6"> <div class="bottomBuffer"> <strong>Created</strong><br/> <div ng-bind="worksSrvc.details[work.putCode.value].createdDate | ajaxFormDateToISO8601"></div> </div> </div> <div class="col-md-12"> <div class="bottomBuffer"> <div class="badge-container-{{work.putCode.value}}"></div> </div> </div> </div> </div> </div> <div class="row source-line" ng-if="group.activePutCode == work.putCode.value"> <div class="col-md-7 col-sm-7 col-xs-12" ng-if="editSources[group.groupId]"> {{(work.sourceName == null || work.sourceName == '') ? work.source : work.sourceName }} </div> <div class="col-md-3 col-sm-3 col-xs-10" ng-if="editSources[group.groupId]"> <div ng-if="editSources[group.groupId]"> <span class="glyphicon glyphicon-check" ng-if="work.putCode.value == group.defaultWork.putCode.value"></span><span ng-if="work.putCode.value == group.defaultWork.putCode.value"> Preferred source</span> </div> </div> <div class="col-md-2 col-sm-2 trash-source" ng-if="editSources[group.groupId]"> <div ng-if="editSources[group.groupId]"> </div> </div> </div> <div ng-if="group.activePutCode != work.putCode.value" class="row source-line"> <div class="col-md-7 col-sm-7 col-xs-12"> <a ng-click="group.activePutCode = work.putCode.value;;showMozillaBadges(group.activePutCode);"> {{(work.sourceName == null || work.sourceName == '') ? work.source : work.sourceName }} </a> </div> <div class="col-md-3 col-sm-3 col-xs-10"> </div> <div class="col-md-2 col-sm-2 col-xs-2 trash-source"> </div> </div> <div class="row source-line" ng-hide="editSources[group.groupId] == true"> <div class="col-md-7 col-sm-7 col-xs-12"> Source: {{(work.sourceName == null || work.sourceName == '') ? work.source : work.sourceName }} </div> <div class="col-md-3 col-sm-3 col-xs-9"> <span class="glyphicon glyphicon-check"></span><span> Preferred source</span> <span ng-hide="group.works.length == 1">(</span><a ng-click="showSources(group)" ng-hide="group.works.length == 1" ng-mouseenter="showTooltip(group.groupId+'-sources')" ng-mouseleave="hideTooltip(group.groupId+'-sources')">of {{group.works.length}}</a><span ng-hide="group.works.length == 1">)</span> <div class="popover popover-tooltip top sources-popover" ng-if="showElement[group.groupId+'-sources']"> <div class="arrow"></div> <div class="popover-content"> Show other sources </div> </div> </div> <div class="col-md-2 col-sm-2 col-xs-3" ng-if="group.activePutCode == work.putCode.value"> <ul class="sources-options" ng-cloak> </ul> </div> </div> </li> </ul> </div> </li> </ul> <button ng-cloak ng-show="worksSrvc.showLoadMore" ng-click="loadMore()" class="btn btn-primary">Load more</button> <div ng-if="worksSrvc.loading" class="text-center" id="workSpinner"> <i class="glyphicon glyphicon-refresh spin x4 green" id="spinner"></i> <!--[if lt IE 8]> <img src="https://orcid.org/static/img/spin-big.gif" width="85" height ="85"/> <![endif]--> </div> <div ng-if="worksSrvc.loading == false && worksSrvc.groups.length == 0" class="" ng-cloak> <strong> No publications added yet </strong> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript">orcidGA.gaPush(['send', 'event', 'feature', 'NEW_FOOTER', 'disabled']);</script> <div id="footer" class="footer clear-fix"> <span id="noop"> </span> <div class="container"> <div class="row"> <div class="col-md-11 col-md-offset-1"> <ul class="col-md-11 col-md-offset-1"> <li class=""><a href="http://web.archive.org/web/20171210035824/https://orcid.org/help/contact-us">Contact us</a></li> <li class=""><a href="http://web.archive.org/web/20171210035824/https://orcid.org/footer/privacy-policy">Privacy Policy</a></li> <li class=""><a href="http://web.archive.org/web/20171210035824/https://orcid.org/content/orcid-terms-use">Terms of Use</a></li> <li class=""><a href="http://web.archive.org/web/20171210035824/https://orcid.org/open-source-license">Open Source Project</a></li> </ul> </div> </div> </div> </div> <form action="/web/20171210035824/https://orcid.org/"> <input id="imageUrl" type="hidden" value="https://orcid.org/static/images"> </form> <script type="text/ng-template" id="edit-language"> <form id="language-form" action="#" ng-controller="languageCtrl"> <select name="language-codes" id="language-codes" ng-model="language" ng-options="language.label for language in languages" ng-change="selectedLanguage()"></select> </form> </script> <root-cmp></root-cmp> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/jquery/2.2.3/jquery.min.js"></script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/jqueryui/1.10.0/jquery-ui.min.js"></script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/jquery-migrate/1.3.0/jquery-migrate-1.3.0.min.js"></script> <script type="text/javascript"> // CSRF var token = $("meta[name='_csrf']").attr("content"); var header = $("meta[name='_csrf_header']").attr("content"); if (header && token){ $(document).ajaxSend(function(e, xhr, options) { if (options.type != "GET") { if ( options.url.startsWith(orcidVar.baseUri) || options.url.startsWith(orcidVar.baseUriHttp) || options.url.startsWith('/')) { xhr.setRequestHeader(header, token); }; }; }); } </script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/typeahead/0.9.3/typeahead.min.js"></script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/plugins.js?v=2017-12-08T12:36:54Z"></script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/orcid.js?v=2017-12-08T12:36:54Z"></script> <script type="text/javascript" src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/script.js?v=2017-12-08T12:36:54Z"></script> <script src="http://web.archive.org/web/20171210035824js_/https://orcid.org/static/javascript/angular_orcid_generated.js?v=2017-12-08T12:36:54Z"></script> <script type="text/javascript"> var lang = OrcidCookie.getCookie('locale_v3'); var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://web.archive.org/web/20171210035824/https://www.google.com/recaptcha/api.js?onload=vcRecaptchaApiLoaded&render=explicit&hl=" + lang; document.body.appendChild(script); </script> <script type="text/javascript"> var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://web.archive.org/web/20171210035824/https://badges.mozillascience.org/widgets/paper-badger-widget.js"; document.body.appendChild(script); </script> <script> // Include the UserVoice JavaScript SDK (only needed once on a page) UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//web.archive.org/web/20171210035824/https://widget.uservoice.com/8sVrMcGwO4vg6GT455xOLw.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})(); // // UserVoice Javascript SDK developer documentation: // https://www.uservoice.com/o/javascript-sdk // // Set colors UserVoice.push(['set', { accent_color: '#a6ce39', trigger_color: 'white', trigger_background_color: '#a6ce39', post_idea_enabled: 'false' }]); // Identify the user and pass traits // To enable, replace sample data with actual user traits and uncomment the line UserVoice.push(['identify', { //email: 'john.doe@example.com', // User锟絪 email address //name: 'John Doe', // User锟絪 real name //created_at: 1364406966, // Unix timestamp for the date the user signed up //id: 123, // Optional: Unique id of the user (if set, this should not change) //type: 'Owner', // Optional: segment your users by type //account: { // id: 123, // Optional: associate multiple users with a single account // name: 'Acme, Co.', // Account name // created_at: 1364406966, // Unix timestamp for the date the account was created // monthly_rate: 9.99, // Decimal; monthly rate of the account // ltv: 1495.00, // Decimal; lifetime value of the account // plan: 'Enhanced' // Plan name for the account //} }]); // Add default trigger to the bottom-right corner of the window: UserVoice.push(['addTrigger', { mode: 'contact', trigger_position: 'bottom-right' }]); // Or, use your own custom trigger: //UserVoice.push(['addTrigger', '#id', { mode: 'contact' }]); // Autoprompt for Satisfaction and SmartVote (only displayed under certain conditions) UserVoice.push(['autoprompt', {}]); </script> </body> </html> <!-- FILE ARCHIVED ON 03:58:24 Dec 10, 2017 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 22:33:17 Mar 04, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.84 exclusion.robots: 0.061 exclusion.robots.policy: 0.044 esindex: 0.019 cdx.remote: 17.095 LoadShardBlock: 57.497 (3) PetaboxLoader3.datanode: 124.577 (4) load_resource: 129.454 PetaboxLoader3.resolve: 52.393 -->