Categories
Web

Website of a campaign promoting children’s participation

MunVuoro campaign main siteMunVuoro Children's PagesMunVuoro! (MyTurn!) campaign is a joint participatory project of eight Finnish organizations for children and youth. The main purpose is to develop methods for child participation and to support education for democracy

The website consists of the main informational pages for organizers and interactive pages for children. The target group are children aged 6 to 12.

The site was realized with the WordPress CMS.

Categories
Web

Hide Pages from WordPress Dashboard Editor View by User Capability

I’m building a multi-user WordPress environment where users are grouped by specific privileges, primarily concerning access to the dashboard. The goal is to restrict users from editing pages they shouldn’t touch.

While role and capability plugins like Members handle permissions well, they don’t allow fine-grained control over which pages appear in the dashboard. Most available plugins focus on hiding posts/pages from the public site, and those few that affect the backend – like Manage Your Posts – are limited to showing only an author’s own posts, which doesn’t apply when editors need access to others’ content.

function edit_page_per_capability($query) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit-pages.php' ) !== false ) {
   if (current_user_can('organizer')) {
      $query->set('post__in', array(184,186) );
   }
   elseif ( current_user_can( 'instructor' ) ) {
      $query->set('page_id', '186');
   }
   elseif ( current_user_can( 'office' ) ) {
      $query->set('page_id', '8');
   }
}
}
add_filter('pre_get_posts','edit_page_per_capability');

By modifying the core function from Manage Your Posts, I created a filter that limits the Pages list in the dashboard to only those allowed for each user group. Capabilities are still managed via Members, and the filtering uses page IDs mapped to each group’s permissions.

To make this work with WordPress 3.0+, update the admin URL to /wp-admin/edit.php?post_type=page. For better readability, consider using query_posts() with slugs instead of numeric IDs.

To implement, drop the code into your theme’s functions.php file and tailor it to your access structure.

Categories
Web

Live Feeds from Deepwater Horizon Disaster Site

I created an aggregate page compiling multiple ROV camera feeds from the Deepwater Horizon site, which became very popular during the peak of the rescue operations, providing easy access to live underwater footage for a wide audience.

The original accompanying text:

The duration of operations at the BP oil spill site is unknown, but live feeds from underwater ROVs working there were available and collected on a single page (now disabled as operations have ended).

You can save the page and open the HTML file locally for convenient offline viewing. Resizing the browser window requires refreshing the page to adjust player sizes accordingly.

Updates:

  • July 20: New feeds added

  • August 18: Inactive feeds removed

  • September 2: Feeds added

  • September 18: Feeds updated

  • November 5: Main operations ended; page taken down.

Categories
Sound

Sound Design for an Exhibition on Flight

The Finnish Aviation Museum organized Myyttinen Lento (Mythical Flight), an exhibition exploring flight-related myths and legends designed to spark the imagination of children and adults alike. A highlight was a magic carpet visitors could ride.

I collaborated with Marko Ahokangas from the Theatre Academy of Finland’s Lighting and Sound Design department – he created the sounds, while I programmed the sound player. Using Plogue Bidule, we crafted a continuously evolving, never-repeating eight-channel soundscape that filled the exhibition space.

Spatial audio was managed via four independent eight-channel linear output selectors, modulated by sine wave oscillators, dividing sounds into fast and slow categories controlled by separate sub-programs.

A synthesized wind-like instrument formed a musical layer, dynamically tuning its pitch (via FFT) to frequencies extracted from other sounds – e.g., matching airplane sounds to produce harmonious tones.

Presented here is a two-channel sample of the final soundscape.

Categories
Web

Website Design for a Youth Camp

TaigaMetsä theme is inspired by Finnish folklore and is aimed at children and youth aged 10 to 16. The website was built using WordPress. In addition to designing the site and creating all visuals and graphics, I managed the web community and oversaw media production for the entire event.

TaigaMetsä-metsäseikkailu-lasten-ja-nuorten-kesäleiri