ORCID Integration Summary

ORCID Integration Summary

What Has Been Done

I’ve set up a complete infrastructure to integrate your ORCID profile (0000-0001-6595-5834) with your portfolio website. Here’s what was implemented:

1. Updated Configuration

  • File: _config.yml
  • Change: Updated ORCID URL from placeholder to actual ORCID ID
  • Result: Your ORCID profile link will now appear correctly in the author sidebar

2. Created Automation Scripts

Three new Python scripts were created in the markdown_generator/ directory:

a. orcid_to_publications.py (Main Script)

  • Fetches all publications from your ORCID profile
  • Downloads citation information for each work
  • Generates individual markdown files for each publication
  • Automatically categorizes publications (manuscripts vs conferences)
  • Includes DOIs, URLs, and proper citations

b. orcid_from_json.py (Offline Alternative)

  • Processes pre-fetched ORCID JSON data
  • Useful when network access is limited
  • Generates the same publication markdown files

c. Documentation

  • ORCID_UPDATE_README.md: Comprehensive usage instructions

3. GitHub Actions Workflow

  • File: .github/workflows/update_orcid_publications.yml
  • Purpose: Automatically updates publications from ORCID
  • Triggers:
    • Monthly (1st of each month at midnight)
    • Manual trigger via GitHub Actions UI
  • Process:
    1. Fetches ORCID data
    2. Generates publication markdown files
    3. Commits and pushes updates automatically

How to Use

  1. Go to your repository on GitHub
  2. Click on the “Actions” tab
  3. Select “Update ORCID Publications” workflow
  4. Click “Run workflow”
  5. Wait for the workflow to complete
  6. Publications will be automatically added to _publications/ directory

Option 2: Manual Execution (If You Have Network Access)

cd markdown_generator
pip install requests pybtex
python3 orcid_to_publications.py

Option 3: With Pre-fetched Data

# On a machine with internet, fetch the data:
curl -H "Accept: application/json" "https://pub.orcid.org/v3.0/0000-0001-6595-5834/works" > orcid_works.json

# Then process it:
cd markdown_generator
python3 orcid_from_json.py orcid_works.json

What Will Happen

When you run any of these methods:

  1. Data Fetching: The script will connect to ORCID and retrieve all your published works
  2. File Generation: For each publication, a markdown file will be created in _publications/
  3. File Format: Each file includes:
    • Title
    • Authors
    • Publication date
    • Venue/Journal
    • DOI or URL link
    • Citation string
    • Category (manuscript or conference)
  4. Website Update: When Jekyll rebuilds your site, all publications will appear on your publications page

Current Limitations

Due to the sandboxed environment where this was developed:

  • I couldn’t directly fetch your ORCID data to test the scripts
  • I couldn’t build the Jekyll site to verify the final appearance
  • The scripts are tested for syntax but not with live ORCID data

Next Steps to Complete the Task

  1. Trigger the Workflow: Use GitHub Actions to run the script (Option 1 above)
  2. Verify Publications: Check that publications appear in _publications/ directory
  3. Review Generated Files: Ensure the markdown files look correct
  4. Check Website: Wait for GitHub Pages to rebuild and verify publications appear correctly
  5. Manual Adjustments: If needed, you can manually edit any generated files

Troubleshooting

If the workflow fails:

  • Check the Actions log for error messages
  • Verify your ORCID profile has public works
  • Ensure works have proper metadata (title, date, etc.)

If publications are missing:

  • Check your ORCID profile at https://orcid.org/0000-0001-6595-5834
  • Ensure works are marked as public
  • Some works may lack required metadata and will be skipped

If you want to customize:

  • Edit the scripts in markdown_generator/
  • Modify the workflow schedule in .github/workflows/update_orcid_publications.yml
  • Adjust publication categories or formatting as needed

Files Modified/Created

  • _config.yml - Updated ORCID URL
  • markdown_generator/orcid_to_publications.py - Main automation script
  • markdown_generator/orcid_from_json.py - Offline processing script
  • markdown_generator/ORCID_UPDATE_README.md - Detailed documentation
  • .github/workflows/update_orcid_publications.yml - Automation workflow

Contact for Issues

If you encounter any issues:

  1. Check the documentation in markdown_generator/ORCID_UPDATE_README.md
  2. Review GitHub Actions logs for detailed error messages
  3. The scripts include helpful print statements for debugging