Blog Sections Open

Fixing a Parse Error After Installing bLang

A practical troubleshooting checklist for SQL and parser errors that appear after installing bLang on Evolution CMS.

A parse error right after installing an extra usually points to one of three things: incompatible package versions, an unsupported runtime environment, or an unexpected query path triggered by the new package. In the donor case here, the project installed bLang 1.0.1b next to DocLister 2.5.2 on Evolution CMS 3.1.5 and immediately started hitting an SQL syntax error while saving pages.

The exact SQL error mentioned an empty IN () clause. That usually means a package or controller expected a language list, category list, or filter set but received an empty array instead.

Debug checklist

  • confirm the exact Evolution CMS version and the exact extra versions involved
  • disable the last installed package first and verify the error disappears
  • inspect generated SQL when the error mentions an empty IN () expression
  • check whether the package assumes language records, TVs, or configuration values that are still empty

Why this happens with multilingual extras

Packages such as bLang often hook deeply into resource saving, routing, and front-end output. If the package expects initialized language records but the project has only a partial setup, the SQL it builds may become invalid long before the UI tells you what is missing.

Practical recovery path

  • disable the extra and save the page again to confirm the dependency path
  • complete the language configuration before re-enabling the package
  • test on a clean install with only the core and the target extra enabled
  • only then add other extras back one by one

This kind of issue is a good reminder that multilingual extras should be installed incrementally. Add the package, complete the language setup, verify resource save flows, and only then continue with additional controllers and listing packages.

Newer post

Building a Year-and-Month News Archive with evoArchive

How to organize a large Evolution CMS news tree automatically by year and month with evoArchive, and when that structure is useful in real projects.

Older post

Ignoring the q Query Parameter in Ad Landing URLs

A legacy Evolution CMS workaround for ad traffic that appends the reserved q parameter and breaks friendly URLs.