Tutorial: different scenarios of voting contests with NorrCompetition

Tutorial: different scenarios of voting contests with NorrCompetition

This tutorial will help you to understand how to set up voting contests.

Flexibility of NorrCompetition allows to create different scenarios of voting contests on your Joomla website using the combination of contest options, voting options and permissions.

Timezone

Before the start we should make sure that the timezone is set correctly in Joomla site options.

Why this is important for voting contests? Imagine website’s timezone is set to UTC and our local timezone is Europe/Prague (UTC+2). So when we use time dependant options like the contest end date this time difference between website's timezone and our local timezone will be applied and contest will end 2 hours earlier then we set it.

That's why we should always set website's timezone according to region were are making our contests for.

To check the timezone we should open Global Configuration, then proceed to Server tab and under Location Settings and find Server Time Zone option.

Timezone option
Timezone option

No corrections needed? Great. Now we can start.

Options

First of all let's explore all options that we will cover in this post.

Status - the status of contest: active or completed.

Here and after we presume that we are creating contests with the status set to Active.

Dates:

  • Created Date - the created date and time of contest (is set automatically on contest creation).
  • Start Date - the start date and time of contest.
  • End Date - the end date and time of contest.
  • Voting Start Date - the start date and time of voting.
  • Voting End Date - the end date and time of voting.
Contest Start and End dates
Contest Start and End dates
Voting Start and End dates
Voting Start and End dates

Voting Start Date and Voting End Date are active only within contest Start Date and End Date. For example, if Voting End Date is set greater then contest End Date then Voting End Date will be equal to contest End Date. So Start Date and End Date always override Voting Start Date and Voting End Date.

Count Past Votes - can be set to Yes or No. If set to Yes then all the votes regardless of the voting period will be included for counting the current votes of the voter.

Permissions:

  • Create - global option that allows contestants to submit entries.
  • Create Before Contest Start - allows contestants to submit entries when contest is created, but not started yet.
  • Create After Contest Start - allows contestants to submit entries after contest has started.
  • Create After Vote Start - allows contestants to submit entries after vote has started.

Now we need to set the permissions that will allow to submit entries regardless of contest options. Proceed to Permissions and set Create, Create Before Contest Start, Create After Contest Start, Create After Vote Start to Allowed.

Ok, we are ready to play around with combinations of the above mentioned settings and create scenarios for our voting contests. For all cases we will take 01-04-2018 12:00 as contest created date.

Scenarios

Case #1

Dates: none are set.

Result: contestants can submit entries, the voting is active. To close the contest and voting you need to set the status to Completed manually.

Case #2

Dates: start date is not set (equals to created date) and end date is set to 01-05-2018 00:00.

Result: contestants can submit entries and voting is active till 01-05-2018 00:00. The contest Status will be automatically set to Completed on 01-05-2018 00:00.

To simplify our next cases here and after we presume that the end date is set to 01-05-2018 00:00.

Case #3

Dates: start date is set to 03-04-2018 10:00.

Result: contestants can submit entries and voting is active from 03-04-2018 10:00 till 01-05-2108 00:00.

When the contest created date differs from other dates we can start to play around with permissions. Proceed to Permissions and set Create After Contest Start to Deny.

Result: contestants will be able to submit entries only from created date till start date. As you can see we are giving a period for contestants to submit entries and after that the voting on that entries will start.

Case #4

Let's advance our case #3.

Dates:

  • start date is set to 03-04-2018 10:00.
  • voting start date is set to 05-04-2018 00:00.

Result: contestants can submit entries from created date till start date. The voting is active from 05-04-2018 00:00 00:00 till 01-05-2108 00:00.

This case is helpful when you need some time to check entries before the start of voting. In this case this is a period between 03-04-2018 10:00 and 05-04-2018 00:00.

Case #5

Imagine we need to announce our contest and after some period of time to allow to submit entries? We can adjust Case #4 a little bit to achieve this.

Proceed to Permissions and set Create After Contest Start to Allow and Create Before Contest Start to Deny. Let's break down this by dates:

  • created date is 01-04-2018 12:00 - the announcement of contest, entries submission is denied till the start.
  • start date is 03-04-2018 10:00 - now contestants are able to submit entries.
  • voting start date is 05-04-2018 00:00 - the start of voting.

Case #6

Ok, Case #5 is looking powerful, but how to deny submission of entries after the start of voting? Easy. Just set Create After Vote Start to Deny in Permissions. That's where flexibility comes into play:

  • created date is 01-04-2018 12:00 - the announcement of contest, entries submission is denied till the start.
  • start date is 03-04-2018 10:00 - now contestants are able to submit entries.
  • voting start date is 05-04-2018 00:00 - the start of voting. Submission of entries is closed.

You might think that this is all. But wait, we haven't touch Voting End Date option yet. Also Count Past Votes option is looking like some Voodoo setting :) Our next case will explain what we can do with this two to make voting contests super powerful.

Case #7

In most cases End Date is enough and you do not need to set Voting End Date. But what if we set it to 14-04-2018 12:00. Remember our contest end date is 01-05-2108 00:00. So voting will be closed before the end of contest. You might think why we need this gap? The answer is multiple stage contests.

When voting is closed you can sum up the results of voting, choose the entries with highest rating and open another stage of voting only for these entries by setting Voting Start Date to 16-04-2018 10:00 and Voting End Date the same as contest End Date (another way is to clear Voting End Date). You can do this as many times as you want between contest start and end dates.

But why do we need Count Past Votes option? Imagine we have set one vote per entry. If we have multiple stage contest, a user won't be able to vote (yes, we can clear the votes for selected entries, but this won't work for cookies and sometimes you do not want to clear the votes). In this case we can set Count Past Votes option to Yes and all votes that a user have made for entries before Voting Start Date will not count. This allows to vote several times for entry even when one vote per entry is set.

Summary

As you can see NorrCompetition is powerful enough to cover almost all possible scenarios of voting contests with the rich set of settings. I hope you like this post and will feel more confident when will be setting your voting contests next time.

Google Plus
Vk
Dmitry Rekun

Dmitry Rekun

Being a fan of Open Source software, Dmitry is involved in professional web-development and programming who loves to create a clean code. He has a deep passion for Joomla and is an active contributor of the Joomla Project.