# crowdsignal-forms **Repository Path**: mirrors_Automattic/crowdsignal-forms ## Basic Information - **Project Name**: crowdsignal-forms - **Description**: Gutenberg blocks for Crowdsignal - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: trunk - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-10 - **Last Updated**: 2026-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Crowdsignal Forms Contributors: [Automattic](https://automattic.com) Tags: polls, forms, surveys, gutenberg, block Requires at least: 6.0 Requires PHP: 5.6.20 Tested up to: 6.9 Stable tag: 1.4.5 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html The Crowdsignal Forms plugin allows you to create and manage polls right from within the block editor. ## Description The Crowdsignal Forms plugin allows you to create and manage polls right from within the block editor. Creating polls is as simple and as fast as writing a bullet point list. No embed blocks and no copy pasting needed anymore. Customize the look and feel of your polls to match your brand, and pick your favorite color. The poll block supports the styling of your theme by default, and from there you can customize the styling of your polls the way you want. With Crowdsignal’s results page you can view all responses as they come in. See the geo-locations of your voters and analyze IP addresses for any suspicious voting behavior. See advanced stats and analytics for understanding your audience. Analyze your results and then export them in a number of different formats. Set close dates for polls, create polls with single or multiple choice answers, choose whether to show your readers the poll results or keep them private. You can create an unlimited number of polls with a free [Crowdsignal](https://crowdsignal.com/) account and your first 2,500 signals are free. A signal is a response you get to a poll. If you are on a free plan, you still have full access to the first 2,500 signals. Any further responses you collect will still be recorded but if you [upgrade](https://crowdsignal.com/pricing/) you will get access to our unlocked reports to see them. You’ll also get access to a [range of features](https://crowdsignal.com/features/) not available to free users. ## Installation The easiest way to install this plugin is through the "Add New Plugins" page on your site. 1. Go to the Plugins page and click "Add New". 2. Type "Crowdsignal Forms" in the search box and press return. 3. Click the "Install Now" button. Once installed you must connect your site to Crowdsignal.com 1. Activate the plugin and you will be brought to the Getting Started page. 2. Click "Let's get started" to open a popup that will allow you to login or create a new Crowdsignal account. 3. You'll be presented with an API key to use so press Connect and you'll be brought back to your own site. 4. The popup will disappear and the message, "You’re ready to start using Crowdsignal!" will be shown. 5. Happy polling! Create a post and add a new "poll" block! ## Frequently Asked Questions ### Why Crowdsignal Forms? We’re starting with just the Crowdsignal poll block but more blocks are coming soon. ### Who is Crowdsignal? Crowdsignal is built by Automattic, the company behind WordPress.com, WooCommerce, Tumblr and more. We’re here to stay! ### Where can I find help with this plugin? Automattic is a distributed team working from all around the world, so it’s always business hours for our ~more than 250~ gazillion Happiness Engineers. Check out our [support documentation](https://crowdsignal.com/support/), the [support forum](https://wordpress.org/support/plugin/crowdsignal-forms/) or [reach out to us](https://crowdsignal.com/contact/) anytime and we'll be happy to help. ### What plans do you offer? Compare our [simple and affordable plans](https://crowdsignal.com/pricing/) or take a [product tour](https://crowdsignal.com/features/) to learn more. ## Screenshots Poll block: ![image](https://user-images.githubusercontent.com/157240/116736784-b7f77a00-a9c6-11eb-8b05-606084cfdb91.png) Vote block: ![image](https://user-images.githubusercontent.com/157240/116736949-f9882500-a9c6-11eb-99e5-9e4b5fe12706.png) Customizable NPS block: ![image](https://user-images.githubusercontent.com/157240/116736474-533c1f80-a9c6-11eb-8671-ef981cdd35e2.png) Applause block and custom colors: ![image](https://user-images.githubusercontent.com/157240/116736193-f04a8880-a9c5-11eb-9854-3cacf9d5ec5b.png) Feedback Button block: ![image](https://user-images.githubusercontent.com/157240/116735866-7c0fe500-a9c5-11eb-8358-a3fd01a1cfd2.png) ## Development ### Requirements - Node.js 18.13.0 (see `.nvmrc`) - pnpm 9+ - PHP 8.1+ - Composer - Docker (for local WordPress environment) ### Setup ```bash # Install dependencies pnpm install composer install # Build the plugin pnpm build ``` ### Docker Environment A Docker-based WordPress environment is provided for development and testing. ```bash # Build and start containers (creates docker/.env from default.env if needed) make docker_build make docker_up ``` The local WordPress site will be available at http://localhost:8000/ Default credentials (see `docker/default.env`): - Username: `wordpress` - Password: `wordpress` Other useful commands: ```bash make docker_sh # Shell into WordPress container make docker_stop # Stop containers make docker_down # Stop and remove containers make phpunit # Run PHP unit tests make phpcs # Run PHP CodeSniffer ``` ### Building ```bash pnpm build # Full production build pnpm run build:poll # Build specific block pnpm run build:styles # Compile SCSS only ``` ### Testing ```bash pnpm test # Run JavaScript tests make phpunit # Run PHP tests (requires Docker) ``` ### Linting ```bash pnpm run lint:js # ESLint pnpm run lint:styles # Stylelint ./vendor/bin/phpcs # PHP CodeSniffer ``` ## Releases Releases use a two-phase flow: 1. `make release VERSION=x.y.z` (run from `trunk`) bumps the version, assembles the changelog from the GitHub milestone `x.y.z`, and opens a PR with the changelog editable in the body. 2. Merging that PR runs `.github/workflows/create-release.yml`, which writes the changelog into `readme.txt`, tags, builds `dist/crowdsignal-forms.zip`, creates the GitHub release, and deploys to WordPress.org. Create a milestone named exactly `x.y.z` and assign the release's PRs to it first. WordPress.org release confirmation is enabled, so the deploy is held pending an email confirmation before it goes live. ## Changelog Recent releases are in the `== Changelog ==` section of [`readme.txt`](readme.txt); older history is in the [GitHub releases](https://github.com/Automattic/crowdsignal-forms/releases).