genj/faq-bundle
A Symfony bundle for adding a managed FAQ section to your application. Includes categorized questions, admin controls, and ready-to-use entities, controllers, and templates for quick integration.
isActive, publishAt, expiresAt (activation + scheduling), a rudimentary MySQL search, and a "most popular search queries" listing. These are exactly the capabilities a self-serve support surface needs, and the package's own approach — hand-rolled MySQL search described by the maintainer as "very, very, very, very simple" — is the level of sophistication we would implement in a thin in-house feature. The release is a spec, not a candidate.Faq model with question/answer/category, ordering, slug, soft activation (is_active), scheduled publish/expiry (publish_at, expires_at), plus basic full-text search and a search-query log table, is roughly 3–4 days in Laravel with our existing admin tooling — still cheaper than integrating, adapting, or maintaining a foreign bundle.faq_search_queries table for popularity analytics) even though none of the Symfony code ports to Laravel. Use the release notes as a checklist when we spec our tables.LIKE/MySQL full-text and log queries; only escalate to a dedicated search engine (Meilisearch/Scout) if query-volume data justifies it. This de-risks the build decision.Consider it only in one narrow case: we are maintaining an inherited Symfony 3 application that already depends on GenjFaqBundle, and even then the correct move is to fork and vendor the MIT-licensed code rather than rely on the upstream archive. If that inherited app needs scheduling or basic search, v2.0.0's feature set is the floor of what a fork would need to provide.
Look elsewhere — or build — in every other case, against these criteria:
LIKE-tier matching, no relevance ranking, no indexing beyond MySQL). It does not change the build-vs-buy math and is not a reason to adopt.Bottom line: do not adopt — the v2.0.0 release does not change the recommendation. The new version adds useful ideas (activation flags, scheduled publish/expiry, basic search, popular-query analytics) but is explicitly built for Symfony 3.2, an end-of-life framework that cannot run on our modern PHP stack and whose bundle architecture does not translate to Laravel. The release confirms the package is still anchored to a dead runtime; the overall low composite score stands.
For engineering: the v2.0.0 features are cheap to reproduce. Treat them as a spec: is_active, publish_at, expires_at, a slug, category ordering, a LIKE/full-text search, and a faq_search_queries log for popularity. That is roughly 3–4 days behind our existing admin tooling, with tests and full ownership. The maintainer's own "very, very, very, very simple mysql search" is a signal we should not over-invest in search on day one — start simple, log queries, and escalate to Scout only if data demands it. There is no shared code to salvage across the framework gap.
For executives: adopting it would add an unmaintained dependency pinned to end-of-life Symfony to our supply chain, in exchange for saving a few days on a non-differentiating feature. The recommended path is unchanged: build the FAQ surface internally (the release even gives us a sensible feature shortlist and a low-risk search baseline) or hand content ownership to our CMS/helpdesk. Revisit only if we acquire or inherit a Symfony 3 codebase — in which case we fork and vendor the MIT code rather than track upstream.
How can I help you explore Laravel packages today?