Skip to main content

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 - English
  • es - Spanish
  • pt - Portuguese
  • it - Italian
  • de - German
  • fr - French
  • ar - Arabic
  • zh - Chinese
  • ja - Japanese
  • ru - 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 ordering
  • date: Chronological ordering

Best Practices

  1. Filter Combinations: While most filters can be combined, some standalone filters (my-publications, recommended, continue_reading) should be used independently.

  2. 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
  3. Performance Optimization: The system automatically caches results to ensure quick response times.

  4. User Experience: Consider implementing the most relevant filters for your audience based on your store's content type and user behavior.

  5. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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.


X

Graph View