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:
- Fetches ORCID data
- Generates publication markdown files
- Commits and pushes updates automatically
How to Use
Option 1: GitHub Actions (Recommended)
- Go to your repository on GitHub
- Click on the “Actions” tab
- Select “Update ORCID Publications” workflow
- Click “Run workflow”
- Wait for the workflow to complete
- 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:
- Data Fetching: The script will connect to ORCID and retrieve all your published works
- File Generation: For each publication, a markdown file will be created in
_publications/ - File Format: Each file includes:
- Title
- Authors
- Publication date
- Venue/Journal
- DOI or URL link
- Citation string
- Category (manuscript or conference)
- 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
- Trigger the Workflow: Use GitHub Actions to run the script (Option 1 above)
- Verify Publications: Check that publications appear in
_publications/directory - Review Generated Files: Ensure the markdown files look correct
- Check Website: Wait for GitHub Pages to rebuild and verify publications appear correctly
- 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:
- Check the documentation in
markdown_generator/ORCID_UPDATE_README.md - Review GitHub Actions logs for detailed error messages
- The scripts include helpful print statements for debugging
