Project objectives

The main objective of the project LIFE13 NAT/IT/001129 is the conservation and recovery of native populations of two barbel species in the Emilian tributaries of the Po river, in 14 sites of the Rete Natura 2000, through in situ and ex situ interventions as well as the drawing up of guidelines. Italian populations of Common Barbel (Barbus plebejus) and Southern Barbel (Barbus meridionalis, syn. B. caninus) are increasingly declining as also evidenced by the update of the IUCN Red List where the risk status of the two species has been listed as “vulnerable” and “endangered” respectively. In the Emilia Romagna Region the constant qualitative-quantitative decline of populations of both species asks for targeted interventions both at environmental level and with reference to ex situ breeding practices. Starting with the detailed study of the density and distribution of populations, as well as an analysis of threats, the specific objectives of the proposal are as follows:

  1. to create new populations and/or reinforce existing populations, in connection with environmental suitability and the composition of the fish community, through specific in situ interventions (reduction of biodiversity loss /defragmentation) and ex situ breeding practices);
  2. to identify the threats to the survival of the species at a local scale, and open up discussion among stakeholders in order to reduce such threats through an interprovincial approach thanks to a lasting governance for the protection of target species and , indirectly, of river biodiversity;
  3. to eradicate/control the spread of invasive alien species;
  4. to establish guidelines for the conservation and sustainable management of species, also to be used for the creation of a general European model; to transfer best practices.
The project objectives will be achieved in compliance with the IUCN guidelines: such objectives will not affect the conservation of global biodiversity, but rather have a positive impact also on other fish species of community interest such as the Western vairone (Leuciscus souffia), the Mediterranean trout (Salmo macrostigma), the roach (Chondrostoma genei) and the Twaite shad (Alosa fallax), which are present in the area of investigation. The University of Parma is the leader of the project; associated beneficiaries are: the Po river Basin Authority, the Management Body for Parks and Biodiversity of the Western Emilia region, the Foundation Mario Negri Sud, the academic Spin Off Gen Tech S.r.l. and the Tuscan-Emilian Apennine National Park. The project will last four years with a total budget of 2,189,378 Euros , 50% of which co-financed by the European Union through the Eu’s financial programme LIFE+. The project encompasses n. 26 specific actions.


class "Gallery" already exists while executing "::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_sect_menu private variabl..." (in namespace eval "::rwdatas" script line 3) invoked from within "namespace eval ::rwdatas { ::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_s..."

OUTPUT BUFFER:

source [file join $rweb_root tcl before.tcl] # # -- gallery.tcl # # datasource per pagina gestione delle # # package require Barbie package require rwbinary namespace eval ::rwdatas { ::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_sect_menu private variable gallery_menu private common thumb_h_size 200 private common gallery_dir private common thumbnails_dir private method page_handled {v p} public method willHandle {arglist keyvar} public method fetchData {key reassigned_key} public method init {args} public method menu_list {page} #public method to_url {lm} { return [Barbie::to_url $lm] } #public method will_provide {keyword reassigned_key} public proc create_thumbnail {photo} public proc gallery {} public proc gallery_latest_entries {dbhandle nentries} public proc thumbnail_fs_path {photo} public proc thumbnail_path {photo} public proc thumbnail_exists {photo} } ::itcl::body Gallery::thumbnail_exists {photo} { return [file exists [thumbnail_fs_path $photo]] } ::itcl::body Gallery::thumbnail_fs_path {photo} { return [file join galleria thumbnails ${photo}] } ::itcl::body Gallery::thumbnail_path {photo} { return [::rivetweb::rewrite_generic_path [join [list galleria thumbnails $photo] "/"]] } ::itcl::body Gallery::create_thumbnail {photo} { set thumbnail [thumbnail_fs_path $photo] set photo_name [file join $gallery_dir $photo] if {[catch {exec gm convert $photo_name -geometry $thumb_h_size $thumbnail} e]} { ::rivet::apache_log_error err "Error creating thumbnail $thumbnail: $e" return -code error -errorcode thumbnail_creation_error $e $e } } # -- page_handled # # ::itcl::body Gallery::page_handled {varsqs page_key} { upvar $page_key p foreach p [list photo gallery] { if {[dict exists $varsqs $p]} { return true } } return false } ::itcl::body Gallery::willHandle {arglist keyvar} { upvar $keyvar key set varsqs [dict create {*}$arglist] if {[dict exists $varsqs photo]} { set photo_filename [dict get $varsqs photo] # # proposed change #set key "view_photo_[regsub -all {[^[:alnum:]]} ${photo_filename}]" # set key "view_photo_[::rivet::escape_string ${photo_filename}]" return -code break -errorcode rw_ok } elseif {[dict exists $varsqs gallery]} { set key "view_gallery" return -code break -errorcode rw_ok } return -code continue -errorcode rw_continue } ::itcl::body Gallery::fetchData {key reassigned_key} { upvar $reassigned_key rkey set rkey $key set key [::rivet::unescape_string $key] switch -regexp -matchvar photo_name -- $key { view_photo_(.+) { $this check_class ::rwpage::Photo set photo_name [lindex $photo_name 1] set p [::rwpage::Photo ::#auto $key $gallery_dir $photo_name] #::rivet::apache_log_error notice "new instance of $p ::rwpage::Photo" } view_gallery { $this check_class ::rwpage::Gallery set p [::rwpage::Gallery ::#auto $key $gallery_dir] #::rivet::apache_log_error notice "new instance of $p ::rwpage::Gallery" } default { set p "" } } #::rivet::apache_log_error notice "new instance of ::rwpage::Photo (binary: [$p binary_content])" return $p } ::itcl::body Gallery::gallery_latest_entries {dbhandle nentries} { set q "select g.*,s.descrizione from galleria g " append q "join sezioni s on s.sectionid=g.sezione " append q "order by g.creazione desc limit $nentries;" set galleria_d [dict create] $dbhandle forall $q photo_a { dict set galleria_d [incr idx] [dict create {*}[array get photo_a]] } return $galleria_d } ::itcl::body Gallery::gallery {} { set q "select g.*,s.descrizione from galleria g " append q "join sezioni s on s.sectionid=g.sezione order by s.descrizione,s.ordine,g.ordine;" set galleria_d [dict create] $::barbie::dbhandle forall $q photo_a { set photo_name $photo_a(filename) set sezione $photo_a(sezione) set descrizione $photo_a(descrizione) unset photo_a(sezione) unset photo_a(filename) unset photo_a(descrizione) dict set galleria_d $sezione photos $photo_name \ [dict create {*}[array get photo_a]] dict set galleria_d $sezione descrizione $descrizione } return $galleria_d } ::itcl::body Gallery::init {args} { Barbie::init $args set gallery_dir [file join $::rivetweb::site_base galleria] if {![file exists $gallery_dir]} { file mkdir $gallery_dir } set thumbnails_dir [file join $gallery_dir thumbnails] if {![file exists $thumbnails_dir]} { file mkdir $thumbnails_dir } set galleria_d [::rwdatas::Gallery::gallery] $this register_class ::rwpage::Photo $this register_class ::rwpage::Gallery } ::itcl::body Gallery::menu_list {page} { set page_class [$page info class] if {($page_class == "::rwpage::Gallery") || \ ($page_class == "::rwpage::Photo")} { set mm $::rivetweb::menumodel set lm $::rivetweb::linkmodel set galleria_d [::rwdatas::Gallery::gallery] if {[dict size $galleria_d] == 0} { return [Datasource::menu_list $page] } catch {$gallery_menu destroy} set gallery_menu [$mm create_menu sezioni_galleria none normal] $gallery_menu assign title "Photo Gallery" en $gallery_menu assign title "Galleria Fotografica" it dict for {sectid section_d} $galleria_d { set gallery_section [$lm create Gallery "" \ [list it [dict get $galleria_d $sectid descrizione]] \ [dict create gallery 1 section $sectid] ""] $gallery_menu add_link $gallery_section } return [list evidenza $gallery_menu] } else { return {} } } } package provide Gallery 1.0 source [file join $rweb_root tcl after.tcl]