- Updated the `IntegrationService` to perform connection tests using only the API key, removing reliance on username and app password.
- Simplified health check logic and improved error messaging for better clarity.
- Added functionality to revoke API keys in the `WordPressIntegrationForm` component.
- Enhanced site settings page with a site selector and improved integration status display.
- Cleaned up unused code and improved overall structure for better maintainability.
- Added a new API endpoint in the `IntegrationViewSet` to update the WordPress site structure, including post types and taxonomies.
- Implemented a function to retrieve the site structure and sync it to the IGNY8 backend after establishing a connection.
- Scheduled a daily cron job to keep the site structure updated.
- Enhanced the WordPress plugin to trigger synchronization upon successful API connection.
- Updated relevant files to support the new synchronization feature, improving integration capabilities.
- Enhanced the `error_response` function to support backward compatibility by normalizing arguments when positional arguments are misused.
- Updated various views to pass `None` for the `errors` parameter in `error_response` calls, ensuring consistent response formatting.
- Adjusted logging in `ContentSyncService` and `WordPressClient` to use debug level for expected 401 errors, improving log clarity.
- Removed deprecated fields from serializers and views, streamlining content management processes.
- Introduced `ContentTaxonomy` and `ContentAttribute` models for improved content categorization and attribute management.
- Updated `Content` model to support new fields for content format, cluster role, and external type.
- Refactored serializers and views to accommodate new models, including `ContentTaxonomySerializer` and `ContentAttributeSerializer`.
- Added new API endpoints for managing taxonomies and attributes, enhancing the content management capabilities.
- Updated admin interfaces for `Content`, `ContentTaxonomy`, and `ContentAttribute` to reflect new structures and improve usability.
- Implemented backward compatibility for existing attribute mappings.
- Enhanced filtering and search capabilities in the API for better content retrieval.
- Updated AI prompts to include metadata context, cluster roles, and product attributes for improved content generation.
- Enhanced GenerateContentFunction to incorporate taxonomy and keyword objects for richer context.
- Introduced new metadata fields in frontend components for better content organization and filtering.
- Added cluster match, taxonomy match, and relevance score to LinkResults for improved link management.
- Implemented metadata completeness scoring and recommended actions in AnalysisPreview for better content optimization.
- Updated API services to support new metadata structures and site progress tracking.
- Added entity metadata fields to the Tasks model, including entity_type, taxonomy, and cluster_role.
- Updated CandidateEngine to prioritize content relevance based on cluster mappings.
- Introduced metadata completeness scoring in ContentAnalyzer.
- Enhanced validation services to check for entity type and mapping completeness.
- Updated frontend components to display and validate new metadata fields.
- Implemented API endpoints for content validation and metadata persistence.
- Migrated existing data to populate new metadata fields for Tasks and Content.
- Changed migration dependencies in `0003_workflow_and_taxonomies.py` to reflect the correct order.
- Updated foreign key references from `account` to `tenant` in multiple migration files for consistency.
- Adjusted related names in foreign key fields to ensure proper relationships in the database schema.
- Introduced a new AI function `generate_page_content` to create structured content for website pages using JSON blocks.
- Updated `AIEngine` to handle the new function and return appropriate messages for content generation.
- Enhanced `PageGenerationService` to utilize the new AI function for generating page content based on blueprints.
- Modified `prompts.py` to include detailed content generation requirements for the new function.
- Updated site rendering logic to accommodate structured content blocks in various layouts.
- Updated `DebugScopedRateThrottle` to allow public access for blueprint list requests with site filters.
- Modified `SiteViewSet` and `SiteBlueprintViewSet` to permit public read access for list requests.
- Enhanced `loadSiteDefinition` to resolve site slugs to IDs, improving the loading process for site definitions.
- Improved error handling in `SiteDefinitionView` and `loadSiteDefinition` for better user feedback.
- Adjusted CSS styles for better layout and alignment in shared components.
- Added new CORS origins for local development and specific IP addresses in `settings.py`.
- Refactored API URL retrieval logic in `loadSiteDefinition.ts` and `fileAccess.ts` to auto-detect based on the current origin.
- Enhanced error handling in API calls and improved logging for better debugging.
- Updated `renderTemplate` function to support additional block types and improved rendering logic for various components in `templateEngine.tsx`.
- Introduced `igny8_sites` service in `docker-compose.app.yml` for serving deployed public sites.
- Updated `SitesRendererAdapter` to construct deployment URLs dynamically based on environment variables.
- Added `SiteDefinitionView` to provide a public API endpoint for retrieving deployed site definitions.
- Enhanced `loadSiteDefinition` function to prioritize API calls for site definitions over filesystem access.
- Updated frontend to utilize the new API endpoint for loading site definitions.
- Added a new method to fetch blueprints from the API, improving data retrieval for site structures.
- Updated the WizardPage component to include a progress modal for better user feedback during site structure generation.
- Refactored state management in builderStore to track structure generation tasks, enhancing the overall user experience.
- Replaced SyncIcon with RefreshCw in integration components for a more consistent iconography.
- Improved the site structure generation prompt in utils.py to provide clearer instructions for AI-driven site architecture.
- Introduced new models for Site Builder options, including BusinessType, AudienceProfile, BrandPersonality, and HeroImageryDirection.
- Added serializers and views to handle metadata for dropdowns in the Site Builder wizard.
- Updated the SiteBuilderWizard component to load and display metadata, improving user experience with dynamic options.
- Enhanced BusinessDetailsStep and StyleStep components to utilize new metadata for business types and brand personalities.
- Refactored state management in builderStore to include metadata loading and error handling.
- Updated API service to fetch Site Builder metadata, ensuring seamless integration with the frontend.
- Updated test cases in `test_universal_content_types.py`, `test_universal_content_linking.py`, and `test_universal_content_optimization.py` to initialize account credits for testing.
- Changed mock patch references to `run_ai_task` for consistency across tests.
- Added methods to sync content from WordPress and Shopify to IGNY8, including error handling and logging.
- Introduced internal methods for fetching posts from WordPress and products from Shopify.
- Updated IntegrationService to include a method for retrieving active integrations for a site.
- Enhanced test cases to cover new functionality and ensure proper setup of test data, including industry and sector associations.
- Changed ForeignKey reference from 'content.Content' to 'writer.Content' in PublishingRecord model to ensure correct app_label usage.
- Updated IntegrationConfig to use a unique label 'integration_module' to avoid conflicts.
- Added 'lucide-react' dependency to package.json and package-lock.json for improved icon support in the frontend.
- Enhanced Vite configuration to optimize dependency pre-bundling for core React dependencies.
- Added Phase 5 Migration Final Verification and Verification Report documents for comprehensive migration tracking.