PalaCMS

What is PalaCMS?

At its core, Pala is an all-in-one web development platform that unifies content management, component development, and deployment into a single cohesive tool. Built with SvelteKit and PocketBase, it provides individuals and teams with a complete toolkit for building and managing modern websites with a fraction of the effort compared to similar tools.

What’s new in V3?

  • Monolithic architecture - serve your static sites directly from Pala.

  • Custom Page Types (i.e. Content Types)

  • Dynamic content fields (i.e. ‘Site Field’, ‘Page Field’, ‘Page’ to update entity page content referenced on other pages)

  • Personal Library for Blocks

  • Marketplace for Starters and Blocks

  • Site groups

  • Conditional fields (to show/hide fields based on preceding field values)

  • CSS-library compatibility (Bootstrap, Tailwind, Bulma, PicoCSS, etc. all work reliably using a standard cdn link).

  • UI/UX improvements

    • Drag pages to reorder them in the page list

    • Drag repeater items to reorder them

    • Drag-and-drop functionality improved for adding blocks to page & now works on mobile.

    • Block editor organized into code & content (i.e. fields & entries), UI improved.

    • On-page editing significantly improved.

Publishing your first site

  1. Install PalaCMS
  2. Add a Starter to your library from the Marketplace or create one from scratch
  3. Create a new website using your new Starter
  4. Click ‘Publish’, optionally connecting a domain name

Frequently Asked Questions

How do I add custom components to my Pala sites?

Components are first-class citizens in Pala called Blocks. You can create new custom components from the dashboard to add them to your personal Block library and add them to your sites from there, or create them directly inside any site. You can also easily modify Blocks downloaded from the Marketplace.

How do I migrate from another CMS to Pala?

There’s currently no automated importing tool for migrating from another CMS to Pala, so you’ll have to do it manually or write a custom script to migrate your code/content into your Pala Sqlite database.

How do I integrate third-party services (analytics, forms, etc.)?

Pala makes it easy to integrate directly with third-party services. For most services, you can integrate them into your sites by adding a script to your page/sites tag. If you need to integrate an API with a Block, you can do so from the embedded code editor. Pala doesn’t enable serverside functionality [yet], so you’ll have to set that up separately to interact with your site’s frontend.

How does versioning work for content and components? Can I use Git?

Pala integrates your site code and components in the database to simplify development and deployment, but one downside of that approach is not being able to utilize Git for versioning like you might be able to in a traditional dev workflow or git-backed CMS. Git is obviously necessary for web application development, but we’ve found it to be mostly unnecessary (if not tedious and unapproachable) for content sites, so future development will likely focus instead on a different approach for versioning and backups.

What’s the process for creating and managing multiple sites?

One Pala server hosts an unlimited number of sites (well, as many as a single sqlite database can handle), so to create a new site you just need to connect a new domain name to your server, navigate to your server from that domain name, and log in. Once logged in, you’ll see the “Create Site” screen where you can pick a starter site and starter blocks from your library and the marketplace. Then just click publish and your site will be live. You can always manage a given site by going to yourdomainname.com/admin.

How does Pala handle image optimization and media management?

The Image field lets you set a max width and max size on uploaded images, but for additional image optimization you’ll want to use a service like like Imgix.