CHANGES IN RELEASE 1.5.5

* NEW: allow to display results files located inside a subdirectory.
* NEW: allow to add a whole directory in zip results.
* bug fix: the queue was not set properly when some nativespecification are provided.

# Portal

   * bug fix: do not display default interface if custom interface is defined.
   * bug fix: correct the generated html for custom interfaces in job results page.

CHANGES IN RELEASE 1.5.3

# Portal
  * fix bug preventing results from loading when a running job finishes (#1928)
  * fix bug where a job results page sometimes displays twice the resultbox (#1764)

# Utilities
  * NEW mob_stat: script that provides basic statistics about portal usage
  * NEW mob_log_rotate: script to rotate and compress Mobyle logs

CHANGES IN RELEASE 1.5.2

# fix issue (#2044)
  When program parameters have example data but no comment, the [use example data] button does not work.

# fix issue (#2022)
  Error when submitting workflows that run tasks with multiple inputs

# fix issue (#1926)
  the status of the jobs with a retun code != 0
  are never updated so they are stuck in submitted, pending, running, ...

# fix issue (#1761)
  inline help is not displayed when coded in HTML
  
# add User-set per-job email notification for job completion (#1744)
  Users should be able to specify on a per-job basis if they want to get an email job completion notification.
  only show the control if dont_email_results is not set to true and if the user email is defined.



CHANGES IN RELEASE 1.5.1

# New converters for Alignment formats
	* We provide a set of new converters to convert alignments in fasta, nexus, phylip, stockholm in phylip-relaxed format.
	  phylip-relaxed is the format used by Phyml and morePhyml. These converters needs biopython to perform the conversion
	  so you NEED to install biopython if you want to use them (It's not need to install numpy or reportlab for these functionalities).
    The converters will automatically be installed with the Mobyle installation/upgrade, but to activate them you must
    add them in DATA_CONVERTER in the Mobyle configuration, like this:
       DATA_CONVERTER = {
           'Sequence': [ squizz_sequence('/usr/bin/squizz') ],
           'Alignment': [ 
                        squizz_alignment('/usr/bin/squizz'), 
                        fasta_phyml(None), 
                        phylipi_phyml(None),
                        phylips_phyml(None),
                        clustal_phyml(None),
                        nexus_phyml(None),
                        stockholm_phyml(None)
                        ]
                    }
    To take full advantage of these new converters, you also need to update your program definitions (>=5.1.1).

# BMPS
  * Workflow description update fixed (#1636)
  * Default values sometimes not displayed in form task panels fixed (#1762)
  
# Portal
  * Tutorial images fixed in debian package-like configurations (#1631)
  * Example data can now also contain XML (#1640)
  * Portal freeze upon loading fixed (#1647)
  * accents supported in job names (#1673)
  * renamed jobs correctly sorted (#1674)
  * Font size for workflows is now ok (#1709)
  * "Tutorials" and "My Workflows" menus can be customized again (#1737)
  * Portal freeze when closing widget window after bookmarking fixed (#1739)
  * Forms displaying sometimes when refreshing the portal fixed (#1757)
  * Parameter values unmodifiable after loading from history fixed (#1758)

# Execution server
  * BMPS job error fixed (#1742)
  
# Documentation
  * chaining rules description updated (#1675)
  
  
CHANGES IN RELEASE 1.5.0

# BMPS: BCBB Mobyle Pipeline System is a graphic interface which lets users create their own workflows, which can be launched directly
  from the BMPS interface but also from the Mobyle portal.

# Portal
  * bookmarks and jobs can now be renamed in left menus (#1162)
  * tutorials are now customizable. please note that to keep previous tutorials you have to download and deploy the pasteur-tutorials
    package (#1165).
  * the values chosen in Choice and MultipleChoice controls are now displayed in the "job inputs" panel using their label instead of
    their "command-line value" (#1220).
  * services now support multiple-file inputs.

# Execution server
  * Job submissions control configuration: !! MAX_SIMILAR_JOB_PER_USER replaces SIMULTANEOUS_JOBS !!
	  MAX_SIMILAR_JOB_PER_USER represent the number of jobs than a user can submit at a given time
	  - 0 disable this control, then the user may submit as many "same" jobs he wants (default).
	  - if the email is not provided (depend of the configuration) this control is disabled.
  * support for module is now included (http://modules.sourceforge.net/)

CHANGES IN RELEASE 1.0.7
# Portal
 *bugfix: Foreign jobs opened in the Mobyle portal freeze the interface (#1182)
 *bugfix: Program import blocked because of an irrelevant XSL transformation (#1224) 
 *bugfix: Interactive pipes broken in Mobyle (#1227)
 *bugfix: job submission fails silently in case of error (#1232)
# Execution server
 *bugfix: Help request emails sent only to the first recipient if multiple recipients are specified (#1123)

CHANGES IN RELEASE 1.0.6
# Portal
 * bugfix: "further analysis" button not working from data bookmarks (#1155).
 * bugfix: simple bookmark click induces chaining if a service is selected in "further analysis" (#1159)
 * bugfix: recurring problem in AJAX workspace update (#1156)
 * bugfix: advanced options button is not displayed when all the parameters are "issimple" (#1175)
# Admin tools
 * it is no longer possible to publish services with mandatory parameters and no vdef as advanced parameters (i.e. not "issimple") (#1166).
# Execution server
 * bugfix in DRMAA error handling (r4157-r4158).

CHANGES IN RELEASE 1.0.5
# Portal
 * possibility to display only "simple" parameters by default, and toggle between simple and advanced forms. "Modified"
   parameter values are also outlined in the portal (#1064).
 * data edited in "viewers" can now also be reused directly (piped/bookmarked) in the portal (beta/hidden feature since r3610)
 * viewers custom code now also supports more flexible custom operations (#859)
 * it is now possible to specify a progress report file: the contents of this file are now displayed and updated even during 
   its execution (#867)
 * several minor bugs fixed: jumps in the portal upon history refresh (#1070), no error message sent when the user workspace 
   is full (#1065), pipe problems (#932), job outputs interface customization (#929), documentation links (#1078) 
# Execution server
 * the configuration of the acceptance or refusal of jobs based on the number of similar jobs is now completely configurable
  (#1122)
 * the handling and reporting of drmaa errors has been improved (#1076)
 * logs do not disappear partially anymore when they are rotated (#1075) 
# Admin tool fixes
 * custom messages can be specified when blacklisting a user per IP or email (#1123)
 * updating does not overwrite your CustomClasses __init__.py! (#1136)
 * mobclean does not crash when processing "dirty" job folders (#857)
 * mobdeploy minor fix (#835)
# Documentation
 * interface customization documentation improved (#921)
 * portal header and footer documentation corrected (#800)

CHANGES IN RELEASE 1.0.4

# Portal:
  * improved workflow display (#745 , #747 , #753)
  * nested workflow jobs do not display in a new tab (#751)
# Execution server:
  * Mobyle allows multiple job executions if they are subtasks of the same workflow (#738)
  * allow a workflow to execute a workflow as a subtask (#734)
# Admin tool fixes:
  * mobvalid and mobdeploy apply new rules for parameter name. 
  from now on, some words are forbidden as parameter names (because they can create conflicts in the resulting HTML DOM) (#683).
  * mobjobw displays workflows as other jobs (#742)
  * mobyle can deploy several imported services in one time (#756)

CHANGES IN RELEASE 1.0.3

# A few bugfixes in the portal interface:
  * user parameter and error messages are sent with user help requests (#699, 
    broken in prior 1.x releases).
  * double submissions caused by a defective waiting screen fixed (#682)
  * broken MobLinks functionality is back (#725).
  * portal static document links are now versioned, allowing to bypass browser
    cache mechanisms upon portal update (#681).
  * users can simultaneously log-in from multiple browsers (#680)
# Execution server:
  * workflow status is updated on each subtask status update (#686).
  * workflow status updates are now performed less frequently (#693).
  * user error messages now explicitely mention the expected datatype (#709).
  * user parameter values can now only be ascii-compatible (#727).
  * job status is properly set even if the DRM is unreachable (#728).
# Admin tool fixes:
  * mobclean now does not fail if the '.htaccess' file exists (#703),
    checks that no other instance of itself is running prior to launch (#710),
    and uses a lot less memory to run (r3931, r3932, r3933).
# HTTP API fix:
  * job simulation can be used (#723, but still needs to behave correctly with files #724)  

CHANGES IN RELEASE 1.0.2

# Mobyle does not require the PyCaptcha anymore (r3864,r3865,r3870)
# A few bugfixes in the Execution server:
  * job emails are now always sent if configuration specifies it (#679).
  * workflow execution engine does not fail if linking two parameters between the same tasks(#649),
    and handles correctly no-output style workflows (r3853).
  * workflow jobs now seamlessly handle the removal of remote jobs (#640).
# A few bugfixes in the portal interface:
  * comments can be expanded in the standalone job result pages (#673)
    (warning: this requires that you redeploy your services, and existing jobs won't be fixed).
  * freezed screens after job submission (#669).
  * paragraph comments do not appear automatically upon paragraph "maximizing" (#666).
  * modal dialogs (e.g. captcha problem) do not remain on screen after validation (#647).
  * input fields such as captcha answer now automatically have the focus, even on old (e.g.,FF3.5)
    browsers (#571).
# Admin tool fixes:
  * mobclean does not complain anymore about any .htaccess file in the jobs directory (#667). 
  * mobdeploy does not deploy anymore invalid service descriptions (#589).
# API improvement:
  * it is now possible to get a service description using JobFacade.parseService() instead of
    JobFacade.create() (#583).

CHANGES IN RELEASE 1.0.1

# minor features:
  * portal customization improvement (#585): the header and footer of the portal
    can now be customized, check the configuration guide for more details.
  * a download button is now directly available for data bookmarks (#596).
# multiple bugfixes in the portal interface:
  * the jobs tab removal checkboxes now work properly (#573).
  * the simple parameters can now be modified after a refused submission fails (#574).
  * job results and workspace data can now be directly piped to workflows (#581).
  * jobs can now be accessed from another session to facilitate sharing and maintenance (#588, #625).
  * interface is more informative about workspace refreshes and other actions (#592,#593).
  * multiple workflow execution problems (#594, #605, #606, #608, #624).
  * multiple workflow diagram browser compatibility issues fixed (#292, #567).

NEW IN MOBYLE v1.0

# Viewers: viewers offer the possibility to visualize data in the Mobyle portal
using web-compatible components, to provide a more readable representation. 
For instance, multiple alignments can be visualized with Jalview, Protein 3D 
structures can be visualized with JMol, RNA Secondary structures with VARNA, or
phylogenetic trees with Archaeopteryx.

# Workflows (beta): Mobyle services chainings can now be automated by providing
predefined workflows.

# Many portal improvements, including the possibility to customize your welcome page
and user workspace management interfaces that facilitate the visualization and cleanup
of user jobs and data. 

# A new plugin-like architecture for the converter modules: you can associate
to each data type and format a validator/converter module, that will detect,
validate and convert the format of user data when appropriate.

# The execution system has been rewritten to be highly flexible: 
Mobyle now supports new DRMs, including LSF (via the DRMAA API). It is also 
possible to manage multiple execution configurations, allowing for instance
to send jobs to different DRMs based on your needs.

# OpenID support: you can now configure Mobyle to let users authenticate themselves
using OpenID, in order for them to avoid the management of a new Mobyle-specific
password.

# Google Analytics support: you can configure Mobyle to track users
activity with a Google Analytics account.
