From eCrystals Federation Project

Revision as of 09:49, 4 June 2010 by Mark (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


eCrystals alpha Bugs Tracker


  • Very High - critical failure of eCrystals or EPrints platform resulting in critical loss of data
  • High - major loss of data though a repeatable process (i.e. incorrect code)
  • Medium - minor loss of data (i.e. cryptic code)
  • Low - misleading (or no) user feedback (EPrints notice, warning and error messages), cosmetic issues, CSS and HTML formatting
  • Very Low - spelling and grammar errors


Bugs Tracker
# Filename Severity Description Submission Date
1. /opt/eprints3/perl_lib/EPrints/Plugin/InputForm/Component/ Low No user feedback for InChI and CheckCIF methods 05/12/2008
2. /opt/eprints3/perl_lib/EPrints/Plugin/Import/ High Unable to upload new eCrystal from XML file (found "eprint" element, expecting "eprints" collection element) 05/12/2008
3. /bin/ecrystals/ Very High No command line arguments validation 08/12/2008
4. /bin/ecrystals/ Medium Cryptic-code, use of $file_path and $file_in variables 08/12/2008
5. /bin/ecrystals/ Very High Calls to length() are NOT safe for non-UTF8 files [1] 08/12/2008
6. /bin/ecrystals/ Very High No error handling for call to wget 08/12/2008
7. /bin/ecrystals/ Low Explain TCP message boundaries in comments 08/12/2008
8. /bin/ecrystals/cronrun(.sh) Very High Script uses absolute paths (re-write as ../../bin/command or ~eprints/bin/command 08/12/2008
9. /bin/ecrystals/doi(.php) Medium Re-write as Perl 08/12/2008
10. /bin/ecrystals/ Medium Cryptic code (requires comments and descriptions) 08/12/2008
11. /bin/ecrystals/ Very High No command line arguments validation 08/12/2008
12. /bin/ecrystals/ Very High No error checking for call to InChI executable 08/12/2008
13. /bin/ecrystals/ Medium Script output is not documented. (i.e. script prints InChI identifier for supplied file.) 08/12/2008
14. /bin/ecrystals/ Very High This is a script. Rename to .pl (or no extension) 08/12/2008
15. /bin/ecrystals/ Very High No command line arguments validation 08/12/2008
16. /bin/ecrystals/ Medium Cryptic code for looping over letters #65 to #90 08/12/2008
17. /bin/ecrystals/ Medium Cryptic code for writing HTML keyword files 08/12/2008
18. /lib/defaultcfg/ecrystals/doi.conf Low Lack of tutorial or comments for configuration 09/12/2008
19. /lib/defaultcfg/lang/en/phrases/eprint_fields.xml Very Low Spelling errors on lines 9, 14, 32, 39, 65, 98 09/12/2008
20. /lib/defaultcfg/lang/en/phrases/eprint_types.xml Very Low Spelling errors on lines 36, 37, 57 09/12/2008
21. /lib/defaultcfg/lang/en/phrases/validate.xml Very Low Spelling errors on lines 15, 17, 18 09/12/2008
22. /lib/defaultcfg/cfg.d/ Low Lack of tutorial or comments for configuration of "Institution" 09/12/2008
23. /lib/defaultcfg/cfg.d/ Medium Cryptic code for MD5 salt generation (needs comments) on line 32 09/12/2008
24. /cgi/latest_tool Low Automatic (unwanted) escaping of SRC and HREF attributes (URLs) 02/06/2010
25. /cgi/latest_tool Low Fails to detect MIME types 02/06/2010

Quick Fixes

Hard-coded Strings

 use EPrints::SystemSettings;
 $EPrints::SystemSettings::conf->{'base_path'}; # evaluates to "/opt/eprints3"

Converting Strings to UTF-8

 use Unicode::String qw(utf8);
 my $in = "$";           # U+0024
 my $out = utf8( $in );  # 0x24

Capturing Exit Codes

When a command is executed using the backtick (quote-like) operator, the Perl interpreter creates a forked process and executes the command inside the parent shell. The exit status code of the last exec, system or `` call is shifted 8 times and recorded in the special variable $?. [2]

 my $stdout = `ls -l /opt/eprints3`;
 die( "Forked process failed" ) unless ($? == 0);
Personal tools