PortalJS vs CKAN Classic
Upgrade your CKAN frontend with decoupled architecture and lightning-fast performance.
Organizations upgrading from CKAN Classic
See what organizations achieved by upgrading from monolithic CKAN to PortalJS frontend.
We were struggling with CKAN's outdated frontend and slow development cycles. PortalJS gave us a modern React interface while keeping all the CKAN backend functionality we needed. Development velocity increased 3x.
TL
Technical Lead
Government Data Office
CKAN Classic's monolithic architecture was holding us back. With PortalJS as our frontend, we gained the flexibility to customize user experiences while maintaining our existing CKAN infrastructure and workflows.
DPM
Data Platform Manager
Research Institution
Architecture Comparison
See how PortalJS's decoupled frontend compares to CKAN Classic's monolithic approach.
Architecture
Feature | PortalJS (Decoupled) | CKAN Classic (Monolithic) |
---|---|---|
Frontend Technology | Modern React/Next.js with SSG/SSR | Legacy Python/Jinja2 templates |
Architecture Style | Decoupled frontend with API integration | Monolithic full-stack application |
Performance | Static generation with edge caching | Server-rendered pages with database queries |
Deployment Flexibility | Frontend deployed anywhere (CDN, edge) | Full application stack deployment required |
User Experience
Feature | PortalJS (Decoupled) | CKAN Classic (Monolithic) |
---|---|---|
Page Load Speed | Lightning fast with pre-generated pages | Slower due to server-side processing |
Mobile Experience | Responsive design with mobile-first approach | Basic responsive capabilities |
Interactive Features | Rich client-side interactions | Limited to server-side form submissions |
SEO Optimization | Built-in SEO with meta tags and structured data | Basic SEO support |
Developer Experience
Feature | PortalJS (Decoupled) | CKAN Classic (Monolithic) |
---|---|---|
Technology Stack | Modern JavaScript/TypeScript ecosystem | Python/Pylons with legacy patterns |
Development Workflow | Hot reload, modern tooling, Git-based | Traditional server restart development |
Customization | Component-based architecture | Template inheritance with complex overrides |
Testing | Modern testing frameworks (Jest, Cypress) | Limited frontend testing capabilities |
Maintenance & Operations
Feature | PortalJS (Decoupled) | CKAN Classic (Monolithic) |
---|---|---|
Scaling | Frontend scales independently via CDN | Entire application must scale together |
Updates & Patches | Frontend updates independent of backend | Full application updates required |
Monitoring | Separate frontend and API monitoring | Single application monitoring |
Security | Reduced attack surface (static frontend) | Full application security considerations |
Integration & Flexibility
Feature | PortalJS (Decoupled) | CKAN Classic (Monolithic) |
---|---|---|
Backend Compatibility | Works with any CKAN version via API | Tightly coupled to specific CKAN version |
Third-party Services | Easy integration of modern services | Limited by CKAN extension ecosystem |
Analytics Integration | Modern analytics and tracking tools | Basic analytics through extensions |
Content Management | Flexible content management options | Limited to CKAN's built-in CMS |