Collection Management
This guide explains how Make It Rain handles Raindrop.io collections and their integration with your Obsidian vault.
Table of Contents
- Collection Structure
- Importing Collections
- Collection Hierarchy
- Filtering Collections
- Best Practices
Collection Structure
Raindrop.io collections can be organized in a hierarchical structure:
- Root Collections: Top-level collections
- Nested Collections: Collections within other collections
- Smart Collections: Automatically organized collections based on rules
Collection Properties
Each collection has the following properties:
id: Unique identifiertitle: Collection nameparent_id: ID of parent collection (if nested)path: Full path from root to collectioncount: Number of items in collection
Importing Collections
Basic Import
- Open the Command Palette (
Ctrl+PorCmd+P) - Select “Fetch Raindrops”
- Choose your import options
- Click “Fetch Raindrops”
Collection Selection
You can import from:
- All collections
- Specific collections by ID
- Specific collections by name
- Collections matching patterns
Import Options
- Include Subcollections: Import items from nested collections
- Create Folders: Create Obsidian folders matching collection structure
- Update Existing: Update notes for existing items
- Skip Existing: Skip notes that already exist
Collection Hierarchy
Folder Structure
The plugin can create a folder structure in your vault that mirrors your Raindrop.io collections:
Vault Root/
├── Collection 1/
│ ├── Subcollection 1.1/
│ │ └── Note 1.1.1.md
│ └── Note 1.1.md
├── Collection 2/
│ └── Note 2.1.md
└── Note 1.md
Hierarchy Options
- Flat Structure: All notes in one folder
- Collection-Based: Notes in collection folders
- Full Hierarchy: Complete collection structure
- Custom Structure: User-defined organization
Filtering Collections
Collection Filters
- By ID:
123,456,789 - By Name:
Work,Personal,Research - By Path:
Work/Projects/* - By Pattern:
Work*
Filter Combinations
- AND Logic: Items must match all filters
- OR Logic: Items can match any filter
- Exclusion: Items matching certain patterns are excluded
Advanced Filtering
- Smart Collections: Import from smart collections
- Tag-Based: Filter by collection tags
- Date-Based: Filter by collection creation/update date
- Size-Based: Filter by collection size
Best Practices
Organization
- Plan Your Structure
- Design your collection hierarchy
- Consider your workflow
- Plan for future growth
- Naming Conventions
- Use consistent naming
- Avoid special characters
- Keep names descriptive
- Folder Management
- Regular cleanup
- Archive old collections
- Maintain hierarchy
Performance
- Large Collections
- Import in batches
- Use filters
- Monitor progress
- Frequent Updates
- Use update mode
- Track changes
- Backup regularly
- Resource Usage
- Monitor API limits
- Optimize imports
- Handle errors gracefully
Maintenance
- Regular Tasks
- Check for updates
- Clean up old notes
- Update templates
- Backup Strategy
- Regular backups
- Version control
- Export important data
- Error Handling
- Monitor logs
- Check for issues
- Report problems
Troubleshooting
Common Issues
- Missing Collections
- Check API token
- Verify permissions
- Check collection IDs
- Import Errors
- Check rate limits
- Verify folder structure
- Check file permissions
- Hierarchy Problems
- Verify collection structure
- Check parent IDs
- Validate paths
Solutions
- API Issues
- Refresh token
- Check limits
- Verify connection
- Folder Issues
- Check permissions
- Verify paths
- Create missing folders
- Import Problems
- Use smaller batches
- Check filters
- Verify settings
Advanced Features
Collection Templates
- Type-specific templates
- Collection-based templates
- Custom templates
Automation
- Scheduled imports
- Automatic updates
- Batch processing
Integration
- Other plugins
- External tools
- Custom scripts
API Reference
Collection Properties
interface Collection {
id: number;
title: string;
parent_id?: number;
path: string;
count: number;
created: string;
updated: string;
}
Import Options
interface ImportOptions {
collections: string[];
includeSubcollections: boolean;
createFolders: boolean;
updateExisting: boolean;
skipExisting: boolean;
}
Filter Options
interface FilterOptions {
collections: string[];
tags: string[];
types: string[];
dateRange: DateRange;
excludePatterns: string[];
}