/** * A simple set of functions to check our version 1.0 update service. * * @package WordPress * @since 2.3.0 */ /** * Check WordPress version against the newest version. * * The WordPress version, PHP version, and Locale is sent. Checks against the * WordPress server at api.wordpress.org server. Will only check if WordPress * isn't installing. * * @since 2.3.0 * @uses $wp_version Used to check against the newest WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_version_check( $extra_stats = array(), $force_check = false ) { if ( defined('WP_INSTALLING') ) return; global $wpdb, $wp_local_package; include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); $translations = wp_get_installed_translations( 'core' ); // Invalidate the transient when $wp_version changes if ( is_object( $current ) && $wp_version != $current->version_checked ) $current = false; if ( ! is_object($current) ) { $current = new stdClass; $current->updates = array(); $current->version_checked = $wp_version; } if ( ! empty( $extra_stats ) ) $force_check = true; // Wait 60 seconds between multiple version check requests $timeout = 60; $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( ! $force_check && $time_not_changed ) return false; $locale = get_locale(); /** * Filter the locale requested for WordPress core translations. * * @since 2.8.0 * * @param string $locale Current locale. */ $locale = apply_filters( 'core_version_check_locale', $locale ); // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_core', $current ); if ( method_exists( $wpdb, 'db_version' ) ) $mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version()); else $mysql_version = 'N/A'; if ( is_multisite() ) { $user_count = get_user_count(); $num_blogs = get_blog_count(); $wp_install = network_site_url(); $multisite_enabled = 1; } else { $user_count = count_users(); $user_count = $user_count['total_users']; $multisite_enabled = 0; $num_blogs = 1; $wp_install = home_url( '/' ); } $query = array( 'version' => $wp_version, 'php' => $php_version, 'locale' => $locale, 'mysql' => $mysql_version, 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 'blogs' => $num_blogs, 'users' => $user_count, 'multisite_enabled' => $multisite_enabled, ); $post_body = array( 'translations' => json_encode( $translations ), ); if ( is_array( $extra_stats ) ) $post_body = array_merge( $post_body, $extra_stats ); $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), 'headers' => array( 'wp_install' => $wp_install, 'wp_blog' => home_url( '/' ) ), 'body' => $post_body, ); $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) return false; $offers = $body['offers']; foreach ( $offers as &$offer ) { foreach ( $offer as $offer_key => $value ) { if ( 'packages' == $offer_key ) $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) ); elseif ( 'download' == $offer_key ) $offer['download'] = esc_url( $value ); else $offer[ $offer_key ] = esc_html( $value ); } $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) ); } $updates = new stdClass(); $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; if ( isset( $body['translations'] ) ) $updates->translations = $body['translations']; set_site_transient( 'update_core', $updates ); if ( ! empty( $body['ttl'] ) ) { $ttl = (int) $body['ttl']; if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) { // Queue an event to re-run the update check in $ttl seconds. wp_schedule_single_event( time() + $ttl, 'wp_version_check' ); } } // Trigger a background updates check if running non-interactively, and we weren't called from the update handler. if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) { do_action( 'wp_maybe_auto_update' ); } } /** * Check plugin versions against the latest versions hosted on WordPress.org. * * The WordPress version, PHP version, and Locale is sent along with a list of * all plugins installed. Checks against the WordPress server at * api.wordpress.org. Will only check if WordPress isn't installing. * * @since 2.3.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; // If running blog-side, bail unless we've not checked in the last 12 hours if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $translations = wp_get_installed_translations( 'plugins' ); $active = get_option( 'active_plugins', array() ); $current = get_site_transient( 'update_plugins' ); if ( ! is_object($current) ) $current = new stdClass; $new_option = new stdClass; $new_option->last_checked = time(); // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-plugins.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $plugin_changed = false; foreach ( $plugins as $file => $p ) { $new_option->checked[ $file ] = $p['Version']; if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) $plugin_changed = true; } if ( isset ( $current->response ) && is_array( $current->response ) ) { foreach ( $current->response as $plugin_file => $update_details ) { if ( ! isset($plugins[ $plugin_file ]) ) { $plugin_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $plugin_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_plugins', $current ); $to_send = compact( 'plugins', 'active' ); $locales = array( get_locale() ); /** * Filter the locales requested for plugin translations. * * @since 3.7.0 * * @param array $locales Plugin locale. Default is current locale of the site. */ $locales = apply_filters( 'plugins_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 plugins $timeout = 3 + (int) ( count( $plugins ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'plugins' => json_encode( $to_send ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), 'all' => json_encode( true ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); foreach ( $response['plugins'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); foreach ( $response['no_update'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); if ( is_array( $response ) ) { $new_option->response = $response['plugins']; $new_option->translations = $response['translations']; // TODO: Perhaps better to store no_update in a separate transient with an expiry? $new_option->no_update = $response['no_update']; } else { $new_option->response = array(); $new_option->translations = array(); $new_option->no_update = array(); } set_site_transient( 'update_plugins', $new_option ); } /** * Check theme versions against the latest versions hosted on WordPress.org. * * A list of all themes installed in sent to WP. Checks against the * WordPress server at api.wordpress.org. Will only check if WordPress isn't * installing. * * @since 2.7.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_themes( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; $installed_themes = wp_get_themes(); $translations = wp_get_installed_translations( 'themes' ); $last_update = get_site_transient( 'update_themes' ); if ( ! is_object($last_update) ) $last_update = new stdClass; $themes = $checked = $request = array(); // Put slug of current theme into request. $request['active'] = get_option( 'stylesheet' ); foreach ( $installed_themes as $theme ) { $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); $themes[ $theme->get_stylesheet() ] = array( 'Name' => $theme->get('Name'), 'Title' => $theme->get('Name'), 'Version' => $theme->get('Version'), 'Author' => $theme->get('Author'), 'Author URI' => $theme->get('AuthorURI'), 'Template' => $theme->get_template(), 'Stylesheet' => $theme->get_stylesheet(), ); } // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-themes.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $theme_changed = false; foreach ( $checked as $slug => $v ) { if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) $theme_changed = true; } if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { foreach ( $last_update->response as $slug => $update_details ) { if ( ! isset($checked[ $slug ]) ) { $theme_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $theme_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $last_update->last_checked = time(); set_site_transient( 'update_themes', $last_update ); $request['themes'] = $themes; $locales = array( get_locale() ); /** * Filter the locales requested for theme translations. * * @since 3.7.0 * * @param array $locales Theme locale. Default is current locale of the site. */ $locales = apply_filters( 'themes_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 themes $timeout = 3 + (int) ( count( $themes ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'themes' => json_encode( $request ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time(); $new_update->checked = $checked; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); if ( is_array( $response ) ) { $new_update->response = $response['themes']; $new_update->translations = $response['translations']; } set_site_transient( 'update_themes', $new_update ); } /** * Performs WordPress automatic background updates. * * @since 3.7.0 */ function wp_maybe_auto_update() { include_once( ABSPATH . '/wp-admin/includes/admin.php' ); include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' ); $upgrader = new WP_Automatic_Updater; $upgrader->run(); } /** * Retrieves a list of all language updates available. * * @since 3.7.0 */ function wp_get_translation_updates() { $updates = array(); $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' ); foreach ( $transients as $transient => $type ) { $transient = get_site_transient( $transient ); if ( empty( $transient->translations ) ) continue; foreach ( $transient->translations as $translation ) { $updates[] = (object) $translation; } } return $updates; } /** * Collect counts and UI strings for available updates * * @since 3.3.0 * * @return array */ function wp_get_update_data() { $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 ); if ( $plugins = current_user_can( 'update_plugins' ) ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( ! empty( $update_plugins->response ) ) $counts['plugins'] = count( $update_plugins->response ); } if ( $themes = current_user_can( 'update_themes' ) ) { $update_themes = get_site_transient( 'update_themes' ); if ( ! empty( $update_themes->response ) ) $counts['themes'] = count( $update_themes->response ); } if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) { $update_wordpress = get_core_updates( array('dismissed' => false) ); if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) $counts['wordpress'] = 1; } if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() ) $counts['translations'] = 1; $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations']; $titles = array(); if ( $counts['wordpress'] ) $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] ); if ( $counts['plugins'] ) $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] ); if ( $counts['themes'] ) $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] ); if ( $counts['translations'] ) $titles['translations'] = __( 'Translation Updates' ); $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : ''; $update_data = array( 'counts' => $counts, 'title' => $update_title ); /** * Filter the returned array of update data for plugins, themes, and WordPress core. * * @since 3.5.0 * * @param array $update_data { * Fetched update data. * * @type array $counts An array of counts for available plugin, theme, and WordPress updates. * @type string $update_title Titles of available updates. * } * @param array $titles An array of update counts and UI strings for available updates. */ return apply_filters( 'wp_get_update_data', $update_data, $titles ); } function _maybe_update_core() { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) && isset( $current->version_checked ) && $current->version_checked == $wp_version ) return; wp_version_check(); } /** * Check the last time plugins were run before checking plugin versions. * * This might have been backported to WordPress 2.6.1 for performance reasons. * This is used for the wp-admin to check only so often instead of every page * load. * * @since 2.7.0 * @access private */ function _maybe_update_plugins() { $current = get_site_transient( 'update_plugins' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_plugins(); } /** * Check themes versions only after a duration of time. * * This is for performance reasons to make sure that on the theme version * checker is not run on every page load. * * @since 2.7.0 * @access private */ function _maybe_update_themes() { $current = get_site_transient( 'update_themes' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_themes(); } /** * Schedule core, theme, and plugin update checks. * * @since 3.1.0 */ function wp_schedule_update_checks() { if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_version_check'); if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); if ( ( wp_next_scheduled( 'wp_maybe_auto_update' ) > ( time() + HOUR_IN_SECONDS ) ) && ! defined('WP_INSTALLING') ) wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) return; add_action( 'admin_init', '_maybe_update_core' ); add_action( 'wp_version_check', 'wp_version_check' ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'load-plugins.php', 'wp_update_plugins' ); add_action( 'load-update.php', 'wp_update_plugins' ); add_action( 'load-update-core.php', 'wp_update_plugins' ); add_action( 'admin_init', '_maybe_update_plugins' ); add_action( 'wp_update_plugins', 'wp_update_plugins' ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'load-themes.php', 'wp_update_themes' ); add_action( 'load-update.php', 'wp_update_themes' ); add_action( 'load-update-core.php', 'wp_update_themes' ); add_action( 'admin_init', '_maybe_update_themes' ); add_action( 'wp_update_themes', 'wp_update_themes' ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' ); add_action('init', 'wp_schedule_update_checks'); ¿Cómo mejorar la efectividad de las organizaciones de "política vigilada"?SesiónDeControl.com
Arrow

Mejorando la vigilancia política


7
Miguel Ángel Gonzalo

Archivero-Bibliotecario de las Cortes Generales de España. Webmaster de www.congreso.es


Escrito el 26 de febrero de 2013 a las 13:03 | Clasificado en Nacional

Desde Opening Parliament se trabaja por la apertura de los parlamentos como arma contra la desafección. Andrew Maldenbaum enumera buenas prácticas de organizaciones sociales que trabajan en vigilancia política para favorecer una mejor participación.

Nube de palabras del debate sobre el estado de la nación
Nube de palabras del debate sobre el estado de la nación

Desde el pasado 15 de febrero hasta el lunes 25 se han registrado más de 175.000 tuits con el hastag #DEN2013. Otros expertos como David Álvarez o Cesar Calderón se han ocupado de los análisis cualitativos o cuantitativos de esos datos. Baste decir que es evidente el interés en las redes sociales por una conversación acerca de lo dicho en el Debate.

La ciudadanía reclama que los políticos se ocupen de los problemas reales (paro, corrupción, etc). Esos temas se tocaron en el debate como se puede ver en la nube de tags pero en el barómetro del CIS sobre el debate sólo el 9.5 % piensa que predominaron “las propuestas para solucionar los problemas del país”. Estas aparentes contradicciones hacen que la representación política deviene en movediza y elusiva.

Es por ello que esa perdida de confianza en las instituciones está impulsando plataformas de innovación y fomento de la participación. A su vez, desde la teoría política y la teoría de movimiento sociales, se señala el rol fundamental que la participación y la deliberación en el espacio público juegan, frente a los modelos tradicionales de delegación y voto mayoritario. De este modo es necesario enfrentarse a los nuevos espacios públicos como complemento, y no como sustitución, de los existentes.

Como señala Antoni Gutierrez Rubí en su libro “Política vigilada”:

 “En una sociedad decepcionada, crítica y muy informada, la política democrática está cada vez más vigilada por los ciudadanos. Se está produciendo un cambio radical en la comprensión y aceptación de una determinada praxis en la gestión política e institucional”

Una de esas organizaciones es “Opening Parliament” que se define como  “foro destinado a ayudar a conectar a las organizaciones cívicas del mundo que participan en la vigilancia, el apoyo y la apertura de los parlamentos de sus países y las instituciones legislativas”

Las organizaciones participantes están trabajando para crear unos parlamentos fuertes, abiertos y responsables, a través de mejorar la participación ciudadana en el proceso legislativo y acercar los parlamentos a la ciudadanía a la que representan.  Así, proporciona un foro para la colaboración internacional en los esfuerzos para mejorar el acceso a la información parlamentaria y compartir experiencias y buenas prácticas entre las organizaciones dedicadas a la monitorización de la actividad parlamentaria.


También sirve como carta de presentación de la declaración sobre transparencia parlamentaria, un conjunto de principios compartidos en la apertura, transparencia y accesibilidad de los parlamentos desarrollado por las asociaciones participantes.

Entre las organizaciones que soportan la organización están la Sunligh Foundation,  el National Democratic InstituteRed Latinoamericana por la Transparencia Legislativa, la Open Society Foundations, la Omidyar Network o la National Endowment for Democracy

Opening parliament mantiene un blog vivo en su página web y, desde Sesión de Control, cedemos este espacio a uno de las personas que mantienen el mismo, Andrew Maldelbaum, publicando una traducción al español de dos de sus últimos post, ‘Facilitating constructive citizen-MP online engagement: The demand side’  y ‘Facilitating constructive citizen-MP online engagement: The supply side’

‘Facilitando un compromiso online constructivo entre ciudadanía y parlamentarios’

(Publicado originalmente el 11 de febrero de 2013 en el blog “Opening Parliament, por Andrew Maldenbaum)

¿Cómo estimular el compromiso constructivo entre la ciudadanía y los miembros del parlamento? Esta fue la pregunta principal, entre otras, que un grupo de organizaciones dedicadas a la monitorización de la actividad parlamentaria debatió en un encuentro gracias al Personal Democray Forum y al Instituto para el Estado de Derecho

En este post, nos centraremos en las buenas prácticas identificadas para conseguir que los ciudadanos puedan participar en el trabajo parlamentario en línea. En un par de días se pudieron presentar prácticas efectivas para promover la participación con los parlamentarios.  Los ponentes fueron: Jerry Weyer de Politikercheck.lu (Luxemburgo), que representa al ParliamentWatch y Iveta Kazoka de Providus.lv (Letonia), que se centró en su plataforma de comunicación electrónica (pero también ha trabajado en una plataforma de crowdsourcing de ideas y un sitio web de e-petición popular en Letonía), Alina Ostling de la European University Institute, que autora del trabajo Parliamentary Informatics Projects – Who Are Their Users and What Is Their Impact?

Los siete puntos discutidos- junto con un buen número de ideas prácticas y herramientas fueron los siguientes:

1. Llegar en el momento preciso importa

Es más posible que los ciudadanos se involucren en un diálogo con los candidatos antes de emitir su voto. Poner en marcha herramientas de asesoramiento a disposición de los votantes durante la campaña electoral puede ayudar al compromiso y, además, puede hacer fluir temas clave hacia la página web del candidato.

2. Conveniencia es clave

El valor añadido de las páginas web puestas en marcha por organizaciones de monitorización del trabajo parlamentario suele ser que hacen más fácil la participación, ya sea porque mejorar el acceso a la información o a los análisis como que facilitan el acceso a los propios parlamentarios.

Las páginas web de comunicación directa con el parlamentario reducen las barreras de la participación porque permiten a los ciudadanos enviar una pregunta a sus representantes simplemente haciendo clic en el botón de “enviar. El Proyecto Providus ha intentando hacer aún más fácil el contacto con los ciudadanos mediante el desarrollo de un widget que permite formular preguntas a su diputados y que automáticamente son enviadas al mismo y publicadas en el espacio de comunicación con el parlamentario.

3. “Gamification”

A todo el mundo le gusta jugar. Dar puntos a los ciudadanos por participar y reconocer a los usuarios más activos en la página web puede estimular la competencia y proporcionar razones como la propia diversión más allá de la preocupación política o la frustración por participar. Por ejemplo, Providus da “diplomas” a los ciudadanos que mejoran el compromiso político.

4. Comprender porqué los ciudadanos se enganchan

Es importante para que los usuarios repitan en las páginas web de las organizaciones de activismo social que se satisfagan las expectativas de los usuarios. Algunas de las razones por las cuales los usuarios usan estas páginas web son: porque reciben respuestas de los diputados, porque piensan que la información facilitada por las organizaciones es fiable y neutral y porque esperan encontrar un apoyo para reafirmarse en sus prioridades y creencias. Como señaló Paul Lenz, de mySociety, la partipación ciudadana sólo vale si con ella se consiguen algo a cambio.

5. Uso de redes sociales

El uso de las redes sociales puede ayudar a aumentar el tráfico de los sitios web. De los 100.000 visitanes del sitio web del CRTA (Serbia) incluyendo su popular “medidor de la verdad” y su recientemente lanzado sitio web sobre el Parlamento Abierto, entre el 15 y el 20% de su tráfico viene derivado desde las redes sociales, incluyendo Facebook, Twitter y Youtube.

6. Poniendo el foco en los usuarios potenciales

Uno de los resultaos más interesnates de la investigación de Annete Ostling sobre las webs de TheyWorkForYou, NosDeputes y OpenParlamento es que la mayoría de los usuarios son hombres. No está del todo claro porqué las mujeres no participan en estos sitios web de la misma manera pero está claro que un enfoque de género es una gran oportunidad para aumentar el alcande de los sitios web de monitorización de la actividad parlamentaria, al menos en estos países. El desarrollo de alianzas y colaboraciones con las organizaciones de igualdad de oportunidades puede ser una buena manera de mejorar la difusión de los sitios web.

7. Fomentar alianzas

Una habilidad de las organizaciones para potenciar sus sitios web está en buscar alianzas con otros grupos de interés. Por ejemplo, Marsad, un sitio web de la organización ParliamentWatch en Túnez, ha establecido alianzas con multitud de periodistas, a través de Spiegel Online, de forma que los datos procesados por las organizaciones están directamente disponibles para los usuarios de los medios de comunicación así como para los especialistas en derecho y abogados que han ayudado con sus contribuciones a poner en marcha el sitio web contra la corrupción. Los socios pueden ser otras organizaciones de la sociedad civil, medios de comunicación o incluso los propios parlamentarios. Cueste lo que cueste, conseguir “socios” puede ser una apuesta estratégica.

“Facilitando un compromiso online constructivo entre ciudadanía y parlamentarios: el lado de la oferta”

(Publicado originalmente el 15 de febrero de 2013 en el blog “Opening Parliament, por Andrew Maldenbaum)

Al hablar de participación entre ciudadanía y miembros del parlamento hay que decir que “se necesitan dos para bailar un tango. En mi último post, relaté las buenas prácticas aprendidas de nuestros colegas de Politikercheck.lu y de Providus.lv sobre enfoques adecuados desarrollados por organizaciones dedicadas a la monitorización del trabajo parlamentario en lo relativo a la posibilidad de producir encuentros y compromisos online con los ciudadanos. La siguiente pregunta que se discutió en #PDFPoland fue: ¿Qué enfoques están usando las organizaciones de vigilancia para asegurar que los parlamentarios responden de forma adecuada?.

Antes de seguir avanzando, hay que señalar que varios de los métodos descritos a continuación son bastante similares a los expuestos más arriba ya que muchos de ellos apelan a las mismas técnicas de motivación incluyendo fomentar la competencia, el deseo de ser reconocido y el diálogo constructivo para ganar apoyos. Apelar a estos motivos puede ayudar a las organizaciones sociales a atraer y mantener la participación de los parlamentarios en sus sitios web. Algunos enfoques acertados que están utilizando las organizaciones de monitorización parlamentaria (OMP) son:

1. Estimular la competencia

Los parlamentarios a menudo quieren parecer abierto y comunicativos. Así, dar premios o recompensas a los diputados más participativos puede ayudar a estimular la competencia. Providus, a través de la web GudrasGalvas, en Letonia, da unas “premios de actividad” a los diputados con los mayores registros de partipación en la página principal de la web. Los usuarios del sitio web pueden votar a su “parlamentario de la semana) que aparece en la web junto con una entrevista en vídeo. Politikercheck lleva a cabo una revisión anual del compromiso de los parlamentarios, elogiando a los que participan más. Recompensar las buenas prácticas puede ayudar al compromiso positivo mejor que castigar a los que no participan.

[En España la web del Proyecto Avizor sigue esta misma filosofía de destacar a los parlamentarios más comprometidos con la lucha contra la pobreza en lugar de ahondar en crítica. El miércoles 27 de febrero se entrega en el Circulo de Bellas Artes el premio al diputado más destacado en este aspecto. ]

2. Presión

Una forma usar de hacer que los parlamentarios se sientan presionados para responder a las preguntas de los ciudadanos es asegurarse de que entienden lo importantes que es responder a este tipo de cuestiones. Una votación o una asignación de un “+1” puesta a disposición de los usuarios de la puede para indicar el apoyo a una pregunta puede ser indicativo para los diputados de que sobre esa pregunta no está únicamente el que la formula sino que está respaldada por 300 o 3000 ciudadanos más. Esta presión sólo es útil si los parlamentarios saben que existe. Si los diputado no usan el correo electrónico o el fax se pueden utilizar otras formas de contacto informal para ayudar a asegurar que los parlamentarios saben que los ciudadanos están formulando requerimientos informativos.

3. Proporcionar funcionalidades especiales para los diputados

Aparte de la posibilidad de ponerse en contacto con los ciudadanos, los sitios web de las OMP pueden contemplar otras ventajas para los parlamentarios que ayuden a mantener su interés. Estas funcionalidades pueden ser un “clipping” de medios, publicación de los calendarios de actividades de los diputados y encuestas son algunas de las herramientas que pueden fomentar su participación.

4. Reducir el ruido para favorecer la participación constructiva

Muchos diputados y diputadas recurren a las redes sociales para cumplir sus objetivos de comunicación, al menos durante las elecciones. Una clara ventaja de las herramientas de comunicación que las web de la OMP es que ofrecen un ambiente más estructurado que prioriza la participación constructiva. Los miembros de ParliamentWatch moderan las preguntas formuladas por los ciudadanos de acuerdo con un estricto código de conducta. Los parlamentarios aprecian el poder participar sin tener que recibir insultos o descalificaciones o ser utilizado por sus rivales políticos con fines electoralistas. Los sitios web de las organizaciones deben ser vistos como justos e independientes como resultado de una moderación independiente.

5. Fomentar la confianza

 Los diputados y diputadas son más capaces de participar en una plataforma que es vista como independiente y confiable. Contar con códigos de conducta puede ser útil para establecer expectativas razonables hacia las herramientas de comunicación de las organizaciones de “política vigilada”. Por ejemplo, para ayudar a demostrar su imparcialidad, ParliamentWatch redirecciona todas las comunicaciones dirigidas a un parlamentario individual, incluidas aquellas que los moderados han decidido no publicar. Ser transparentes con los parlamentarios ayuda a forjar relaciones más sólidas.

6. Aprovechar las elecciones

Las elecciones son un buen momento para conseguir que los diputados respondan a las preguntas de los ciudadanos. Las elecciones pueden ser un buen punto de partida para que muchos ciudadanos se enganchen con el proceso político, por tanto, puede ser un buen momento para iniciar el tango.

Los votantes dicen...
  1. […] utilizar todo el talento disponible en nuestra sociedad para legislar, por ejemplo, favoreciendo la apertura de datos, su accesibilidad, usabilidad y reutilización, con el objetivo de crear ecosistemas públicos para resolver problemas complejos? Evitaríamos […]

  2. […] utilizar todo el talento disponible en nuestra sociedad para legislar, por ejemplo, favoreciendo la apertura de datos, su accesibilidad, facilidad de uso y reutilización, con el objetivo de crear ecosistemas públicos para resolver problemas complejos? Evitaríamos […]

  3. […] utilizar todo el talento disponible en nuestra sociedad para legislar, por ejemplo, favoreciendo la apertura de datos, su accesibilidad, usabilidad y reutilización, con el objetivo de crear ecosistemas públicos para resolver problemas […]

  4. […] todo el talento disponible en nuestra sociedad para legislar, por ejemplo, favoreciendo la apertura de datos, su accesibilidad, facilidad de uso y reutilización, con el objetivo de crear ecosistemas públicos para resolver problemas complejos? Evitaríamos […]

  5. […] los parlamentos y las iniciativas ciudadanas, en el fondo hablamos de innovación política, y de cómo los parlamentos han de abrirse a la ciudadanía en términos de transparencia. Pero también deberíamos analizar si las iniciativas ciudadanas han de acercarse más a estos […]

  6. […] los parlamentos y las iniciativas ciudadanas; en el fondo hablamos de innovación política, y de cómo los parlamentos han de abrirse a la ciudadanía en términos de transparencia. Pero también deberíamos analizar si las iniciativas ciudadanas han de acercarse más a estos […]

  7. […] todo el talento disponible en nuestra sociedad para legislar, por ejemplo, favoreciendo la apertura de datos, su accesibilidad, usabilidad y reutilización, con el objetivo de crear ecosistemas públicos para resolver problemas […]

Comparte tu punto de vista

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>