Archive for the 'News' Category

Wikifying the Documentation

Wikifying may not be a word but the (little) documentation of Halalan is now using the wiki provided by Google Code.

Link is here: http://code.google.com/p/halalan/w/list.

Here’s hoping that using a wiki may improved the quality and quantity of the documentation.

Halalan In The News

How UP Diliman Implemented Its Own Automated Voting System

A lesson for Comelec, UP pulls off automated elections

Multiple Election Instances

A new feature is slowly coming in to Halalan. This is the ability to hold different elections simultaneously. This is in respone to the need of the UP Diliman student council elections where different precincts have different closing times and some other issues. This feature will mostly answer the stated need but will also take into consideration other use cases to make Halalan as general as possible.

This post will discuss the changes in the administration side of Halalan. The voting side will be tackled in another post.

Elections Page

This is a new page in the admin side. An election is (as of now) composed of only its name and its parent. An election can be linked to another election to facilitate managing of connected elections. As of now, only two-level (parent-child) elections are possible. A parent election is the one who has no parent election. A child election is the one who links to another election. The idea behind this parent-child link is if a precinct holds a college-level and university-level elections at the same time then the parent will be the university-level and the child will be the college-level. This way, the precinct can close the college-level election anytime it wants because it has the sole control over it while the university-level election will remain running since some precincts may still be voting under it. An advantage of this is voting for the university-level election (parent election) can be statistically broken down to the college-level election (child election). In other words, votes for a, say university student council chairperson, can be broken down to how many votes each college has. One more thing to point out is that starting/stopping a parent election will also start/stop all its children election. On the other hand, starting/stopping a child election will only start/stop itself. This is also true with regards to showing/hiding election results.

One of the functions of this page is to add/edit/delete election instances. An election is closely tied with the other components (e.g., positions, voters, candidates) so modifying one has repercussions all over the system. It is strongly recommended that once an election has been started to never edit or delete it unless its data are not needed anymore or it is long over. Another function of this page is to control the status of an election whether it is running or not and to show/hide its results. Another thing one can do in this page is to view all positions related to an election which brings us to the next page.

Positions Page

As mentioned before, one can view all positions related to an election in the elections page. This is because an election is directly connected to positions which is the only change in this page. A position should now be tied to one or more elections in addition to its usual elements such as name, maximum, ordinality, etc. since an election needs some positions.

Candidates Page

The only change here is that a candidate is now required to run in a specific election. Choosing an election will change the position dropdown to reflect all positions available under the chosen election only.

Voters Page

Just like in the candidates page, voters now also belong to elections. The main difference is the a candidate belongs to only one election and one position while a voter may vote in one or more elections and one or more positions.

In Summary

This post may not be clear enough to be understandable so here is a list that hopefully will make things clearer.

  • Elections are created. A parent-child election may exists. Actions done (start/stop election and/or show/hide results) to the parent will happen to the child but not the other way around.
  • Positions belong to one or more elections.
  • Candidates may only run for one election and one position.
  • Voters may vote in one or more elections and one or more positions.

If questions remain unanswered, please consider joining the Halalan mailing list and start a discussion there.

Admin Reloaded

The admin side of Halalan recently received some changes. It now uses CodeIgniter’s Form Validation library instead of the manual and tedious error-checking in the previous releases. With all the changes that happened, some bugs may have crept into the code. Helping in testing the changes is very much appreciated.

Here’s how to test the recent changes:

  • Checkout revision 550 of the 1.x.x branch (e.g., svn checkout -r 550 http://halalan.googlecode.com/svn/branches/1.x.x halalan-test)
  • Input the database settings at system/application/config/database.php
  • Go to the Halalan URL + install (e.g., http://localhost/halalan-test/install)
  • Copy the generated configuration to system/application/config/halalan.php
  • Update: For easier installation, just copy this halalan.php to system/application/config/ and change $config['halalan']['image_trail_path'] and $config['base_url'] to reflect your settings
  • Create writable directories: public/captcha, public/uploads/logos, public/uploads/pictures, public/uploads/csvs
  • Update: Make sure that the folder specified in $config['halalan']['image_trail_path'] is also writable
  • Login to the system and play with it

If any problems are encountered, send an email to the mailing list or post a comment below.

1.x.x in Branches, 2.x.x in Trunk

1.x.x is now found in branches. Only bug fixes are expected to be made but some necessary features (as requested by users and we deem necessary) cannot hurt. On the other hand, fresh ideas are very welcome for 2.x.x. Trunk will be started from scratch and the development of 2.x.x will be done there.

New Site

Halalan is now hosted http://halalan.uplug.org/. We now share the same space with our organization, the University of the Philippines Linux Users’ Group.

EDIT: All dead links have been fixed.

Halalan Google Code

Halalan is now hosted at Google Code. You can see it here. Furthermore, all issues can now be filed under the Issues tab.

1.0.0 Notes

Often, a 1.0.0 version signifies a stable, feature-complete release. However, in the case of Halalan, that is not true. We just felt it deserves the 1.0.0 version. Posted below are some notes to preempt frustrations.

  • PostgreSQL support is temporarily gone. It will be re-added soon.
  • The Filipino language file is incomplete.
  • Pagination in voters and dowloading of its list is also temporarily gone. It will be re-added soon.

Please tell us any Halalan-related frustrations at halalan(at)googlegroups(dot)com. If you’re not yet a member, you can join here.

Code Cleanup

There will be a code cleanup this coming Sunday, November 18. Interested parties can join as at the #unplug channel on the irc.freenode.net server.

See you there!

Introducing the Halalan Bullets

Halalan Bullets are biweekly reports on the happenings around Halalan from the time of the previous report up to the next one written as an unordered or unnumbered list. Thus, the name Bullets.

The first edition is already up and see you for more.