Storefront Filtering Guide
Introduction
The Publica.la storefront filtering system provides a powerful and flexible way to help users discover and navigate through Products in your digital store. This guide explains how to use the various filtering options to create an optimal browsing experience for your users.
Understanding Filter Types
Basic Content Filters
These filters help users find specific types of content based on their preferences and needs.
File Type Filter
Users can filter Products based on their file format:
/library/filter?file_type=pdf
This is particularly useful when users are looking for specific format compatibility.
Language Filter
The language filter allows users to find Products published in specific languages. This feature supports content filtering based on ISO 639-1 language codes.
Supported Languages: The language filter supports all 184+ ISO 639-1 language codes configured in the system. This includes languages like:
en- Englishes- Spanishpt- Portugueseit- Italiande- Germanfr- Frenchar- Arabiczh- Chineseja- Japaneseru- Russian- And 174+ additional languages
Usage Examples:
- Filter for Spanish content:
/library/filter?language=es - Combined with other filters:
/library/filter?file_type=pdf&language=en&years=2024
Free and Latest Content
-
Free Products: Display only free content using:
/library/filter?free_issues=free_issues -
Latest Products: Show the most recent additions:
/library/filter?latest_issues=latest_issues
Time-based Navigation
The storefront supports temporal organization of Products:
-
Yearly Filter: View Products from a specific year
/library/filter?years=2024 -
Monthly Filter: Browse Products from a particular month
/library/filter?month=2024-03
User-Specific Content
These filters provide personalized content views:
-
My Products: Shows Products owned by the user
/library/my-publications -
Continue Reading: Displays Products the user has started but not finished
/library/filter?continue_reading=continue_reading
Classification and Taxonomy
Subject and Collection Filters
Users can browse Products by:
-
Subject:
/library/filter?subject=history -
Collection:
/library/filter?collection=fiction
BISAC Classification
Filter Products using standard BISAC codes:
/library/filter?bisac=FIC000000
Advanced Filtering Capabilities
Combining Multiple Filters
Users can create complex queries by combining different filters:
/library/filter?file_type=pdf&years=2024&subject=history&language=en
This example shows Products that are:
- In PDF format
- Published in 2024
- Categorized under "history"
- In English language
Multiple Terms (OR Logic)
For broader searches within the same taxonomy:
/library/filter?subject=history,science
This displays Products tagged with either "history" OR "science"
Cross-Taxonomy Filtering (AND Logic)
To narrow down results across different taxonomies:
/library/filter?keyword=history&category=science&language=es
This shows Products that match all conditions.
Result Ordering
All filters support custom ordering through the orderBy parameter:
/library/filter?subject=history&orderBy=date
Available ordering options:
name: Alphabetical orderingdate: Chronological ordering
Best Practices
-
Filter Combinations: While most filters can be combined, some standalone filters (
my-publications,recommended,continue_reading) should be used independently. -
Language Strategy: When implementing language filters, consider:
- Creating dedicated language shelves for each supported language
- Using custom shelf titles that reflect your brand voice
- Combining language filters with other taxonomies for targeted discovery
- Leveraging the dashboard's multilingual interface for international teams
-
Performance Optimization: The system automatically caches results to ensure quick response times.
-
User Experience: Consider implementing the most relevant filters for your audience based on your store's content type and user behavior.
-
Validation: The system automatically validates all filter parameters to ensure data consistency.
Technical Considerations
- All filters respect user permissions and tenant configurations
- Filter availability depends on enabled tenant features
- Invalid filter values trigger appropriate validation errors
- The system optimizes queries for performance through caching
- Language codes must be valid ISO 639-1 two-letter codes and are validated server-side
- Language shelves integrate with the existing shelf ordering and pagination systems
- The dashboard interface supports 7 languages for international publishing teams
Common Use Cases
-
Digital Bookstore
- Use subject and BISAC filters for category navigation
- Implement free Products filter for promotions
- Enable continue reading for better user engagement
- Create language-specific shelves for international content
-
Academic Repository
- Utilize year and month filters for archival browsing
- Implement subject taxonomy for academic disciplines
- Use file type filters for different content formats
- Apply language filters for multilingual research materials
-
Magazine Platform
- Focus on latest Products filter
- Implement collection filters for series
- Use time-based filters for issue navigation
- Leverage language filters for international publications
-
Multilingual Publishing Platform
- Create dedicated language shelves through the dashboard
- Combine language filters with genre/subject taxonomies
- Use the dashboard's multilingual interface for content management
- Implement language-based promotional campaigns
- Enable users to discover content in their preferred language
-
International News & Media
- Set up automatic language-based content organization
- Create region-specific content shelves
- Combine language filters with time-based navigation
- Leverage multilingual dashboard for global content teams
For detailed technical implementation, please refer to our Engineering Documentation.
API v3 Filtering
API v3 reuses these storefront filters. Simply wrap each key with filter[...] in the query string.
# Storefront
/library/filter?file_type=pdf&years=2024
# API v3
/api/v3/content?filter[file_type]=pdf&filter[year]=2024
More examples:
GET /api/v3/content?filter[file_type]=audio&filter[keyword]=mindfulness
GET /api/v3/content?filter[keyword]=philosophy&filter[author]=plato
GET /api/v3/content?filter[lang]=es&filter[bisac]=FIC020000
For full payload structure and advanced parameters, refer to the Content API v3 documentation.