Skip to content


Repository files navigation

Polls - an app, similar to doodle or dudle, for Nextcloud written in PHP and JS/Vue.

psalm tests puild lint Dependabot status Software License

Free meeting schedule tool

  • ⏭️ Easy poll creation
  • 🛠️ Highly customizable
    • ✉️ Make your poll confidential by hiding the results until you want them to be discovered
    • 🕶️ Obfuscate participants' names from other participants
    • ⏲️ Set an automatic expiry date
    • ➕ Allow participants to add more options
    • ✅ Limit votes per option or user
    • ... 💱 and a lot more
  • 📬 Invite everyone you want
  • 🚀 Export your poll to different spreadsheet formats or HTML
  • 🧧 Let Polls automatically remind your invited users
  • 💬 Comments
  • ☑️ Confirm options after poll closing
  • 📢 Subscribe to notifications per poll
  • 📅 Get hints about possible conflicting entries in your calendar around the date option
  • 🧰 Usable via REST-API
  • Supports the following nextcloud apps
    • Circles
    • Contacts
    • Activity

Installation / Update

This app is supposed to work on Nextcloud version 21+.

Install latest release

You can download and install the latest release from the Nextcloud app store.

Available occ commands

Command Description
polls:db:clean-migrations Remove obsolete migrations, which are no more needed
polls:db:purge Drop Polls' tables and remove migration and settings records
polls:db:rebuild Rebuild Polls' database including indices
polls:index:create Create all necessary indices and foreign key constraints
polls:index:remove Remove all indices
polls:poll:transfer-ownership <source-user> <target-user> Transfer poll ownership from to
polls:share:add [--user USER] [--group GROUP] [--email EMAIL] [--] <id> Add user/group/email with to shares
polls:share:remove [--user USER] [--group GROUP] [--email EMAIL] [--] <id> Remove user/group/email with from shares



Manage your polls and create new ones

Manage Polls

Many configuration options


Share your poll with other people

Edit poll

Vote on mobile

Share poll

Install from git

If you want to run the latest development version from git source, you need to clone the repo to your apps folder:

git clone
  • Install dev environment with make setup-dev or
  • install runtime environment with make setup-build
  • Compile javascript with npm run build
  • Run a complete build with make appstore (Find the output in the build directory)
  • call occ app:enable polls to enable Polls

Installation variants

First time install

Nextcloud executes

  • unexecuteted migration classes (not listed in the *_migrations table) and the
  • install repair step.

After a version update (changed version attribute in appinfo/info.xml)

Nextcloud executes

  • pre-migration repair steps,
  • unexecuteted migration classes (not listed in the *_migrations table) and the
  • post-migration repair steps

Enabling already installed but disabled app without version change

Nextcloud executes

  • pre-migration repair steps,
  • unexecuteted migration classes (not listed in the *_migrations table) and the
  • post-migration repair steps and the
  • install repair step

❗ As a compromise at the moment we allow the index creation to be ran twice when enabling the app via app store or occ, to ensure all indexes are created properly for every install/update/enabling path.

Removing Polls from instance

Call occ polls:db:purge to remove Polls completely.

  • removes all Polls related tables
  • removes all Polls related migration records
  • removes all Polls related app config records (this also disables Polls)

This does not remove Polls' files (call occ app:remove polls to remove it complete afterwards) but it resets Polls into an 'uninstalled' state. Enabling the app is then equivalent to a first time install and calls the migration and the install repair step (see above).

Contribution Guidelines

Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.

For more information please review the guidelines for contributing to this repository.