Archive Ensembl HomeArchive Ensembl Home

Web Code Changelog - Release 63

ViewConfigs and ImageConfigs

  • EnsEMBL::Web::ViewConfig modules are now linked to the component that shares their namespace, e.g. EnsEMBL::Web::Component::Location::ViewBottom links to EnsEMBL::Web::ViewConfig::Location::ViewBottom.
    Plugin files need to be renamed accordingly.
  • EnsEMBL::Web::ViewConfig->_set_default has been renamed to EnsEMBL::Web::ViewConfig->set_default, and now takes a hashref as an argument, rather than a hash.
  • EnsEMBL::Web::ViewConfig->add_image_configs has been renamed to EnsEMBL::Web::ViewConfig->add_image_config.
    A ViewConfig can have no more than one ImageConfig. The arguments to EnsEMBL::Web::ViewConfig->add_image_config are image config name and (optionally) 'nodas'.
  • EnsEMBL::Web::ViewConfig->storable is no longer required, as all ViewConfigs are storable.
    However, EnsEMBL::Web::ImageConfig->storable should be set to 0 for any ImageConfigs which are not attached to a ViewConfig.
  • The URL parameter when setting values on ImageConfigs from the control panel is now image_config, rather than diff.
    Additionally, the parameter for setting values on ViewConfigs is now view_config.
  • The arguments for EnsEMBL::Web::Hub->get_viewconfig are now module name (e.g. 'ViewBottom'), type (optional, defaults to EnsEMBL::Web::Hub->type) and 'cache' (optional, should only be used if you want to change the ViewConfig used when calling EnsEMBL::Web::Hub->param).
    EnsEMBL::Web::Hub->get_viewconfig is called with the cache parameter in the new function of EnsEMBL::Web::Component so that the param set is correct in the component.
  • As only one EnsEMBL::Web::ImageConfig can exist per EnsEMBL::Web::ViewConfig, ImageConfigs have been merged for Components using multiple types. These Components are:
    • EnsEMBL::Web::Component::Gene::GeneSpliceImage (EnsEMBL::Web::ImageConfig::GeneSpliceView)
    • EnsEMBL::Web::Component::Gene::GeneSNPImage    (EnsEMBL::Web::ImageConfig::GeneSNPView)
    • EnsEMBL::Web::Component::Transcript::SNPView   (EnsEMBL::Web::ImageConfig::TranscriptSNPView)
    • EnsEMBL::Web::Component::Location::LDImage     (EnsEMBL::Web::ImageConfig::ldview)
    Additionally, EnsEMBL::Web::Component::Location::Compara_AlignSliceBottom, EnsEMBL::Web::Component::Location::MultiTop and EnsEMBL::Web::Component::Location::MultiBottom have modified since release 62 to support changes to their ImageConfigs.
  • EnsEMBL::Web::ViewConfig records are stored in the database under a code. The code defaults to EnsEMBL::Web::Hub->type . '::' . EnsEMBL::Web::Component->id (e.g. 'Location::ViewBottom').
    This can be altered by setting $self->code = $code in a ViewConfig init function, which should be done when two ViewConfigs should share the same database record.
    This behavior was previously achieved by using page URLs with the same EnsEMBL::Web::Hub->type and EnsEMBL::Web::Hub->action, but a different EnsEMBL::Web::Hub->function.
  • A modify function has been added to both EnsEMBL::Web::ViewConfig and EnsEMBL::Web::ImageConfig as an empty stub.
    It is called directly after init in both cases, and can be used to make changes to configuration without having to overwrite the existing init function.
  • EnsEMBL::Web::ImageConfig->create_menus now takes a list of menu keys only.
    A new function, EnsEMBL::Web::ImageConfig->menus has been added to define all menu captions in one place, with a lookup done for the arguments given to create_menus.
    Individual menus can have their captions changed by doing $self->get_node([MENU_KEY])->set('caption', [CAPTION]) where necessary.

Ensembl Search

  • All Exalead frontend code has been removed from the web code, as this search engine is only used in release 59 and earlier.
  • The Altavista and EBeye child modules have also been removed from EnsEMBL::Web::Factory::Search, and the UniSearch (text search) code moved into the parent EnsEMBL::Web::Factory::Search module.
  • Other search frontend code, including Configuration::Search and various Component::Search modules, have been updated to reflect these changes.
  • A new public plugin, lucene, has been created for the Lucene search front end. A single module, Lucene::WebServiceWrapper, provides access to the lucene server, whilst modules within the EnsEMBL::Lucene and EnsEMBL::Web namespaces are used to override the simple text-based search with more sophisticated behaviour. This plugin should be used as a template when adding other search engines to Ensembl.


  • EnsEMBL::Web::OrderedTree and EnsEMBL::Web::OrderedTree::Node have been replaced by EnsEMBL::Web::Tree, which is a renaming of EnsEMBL::Web::NewTree.
    EnsEMBL::Web::Tree is used in Configuration, ViewConfig and ImageConfig modules.