Latest release is 0.81 (2006/01/09) Changes since release 0.80 * Added pub_alleletype table and a converter to upgrade existing schemas. * Added Jargs library for option parsing (http://jargs.sf.net) * Relocated database configuration settings into a separate configuration file 'databases.xml'. A sample template has been placed in data/databases.xml.sample. We've done this to accomodate different username/password combinations when accessing things like unit-test databases or the Gene Ontology databases. * Added schema auto-upgrader. bin/test_database_connection.pl now checks to see if the schema being run is the latest version. If not, it'll raise a warning and prompt the user to run bin/upgrade_schema.pl * Modified default compilation target to 'dist', to reduce possibility of confusion. * Added required configuration parameter 'pub.pub_home' to program.properties. Rationale: Some resources that the web application depends on are static; in the past, they've lived in the auxillary data directory (var), but this has been confusing in the past, since the same directory is used for writing temporary data. We've formally separated the two into different directories: $pub_home/data: static resources and configuration templates. $pub_home/var: non-static, user-configurable resources * Added 'ant dist-precompile' ant task to compile jsps up front. The resulting distribution directory is rewritten to use those compiled jsps. * Internal: added 'ant cpd' target to hunt for copy-and-paste. ant cpd will make a 'cpd.txt' file in the current drectory that catalogs code duplication. See: http://pmd.sourceforge.net/cpd.html for details. Bug fixes: * Fixed bug 819604: removed uniqueness constraint on pub_alias.alias. * Fixed bug 1064830: if a gene's locus is changed, then if that gene is linked to alleles, an interface for updating the gene-allele links is provided. This interface doesn't show up if there are no alleles linked to the affected gene. * Fixed bug 1168713: parameter name for DisplayAllele.jsp was using the old parameter name 'table_row_id' rather than 'table_id'. * Fixed bug 1175026: added separate sections in Gene detail page that one can jump through. * Fixed bug 1178871: adding an allele to a gene was adding to obsoleted relatives of that gene. Fixed by properly filtering for is_obsolete='n'. * Fixed bug 1338668: added gene description to the Gene searcher. * Fixed bug 1344361: added allele search. * Fixed bug 1350582: GeneSearcher wasn't passing in conn object properly. * Fixed bug 1382031: hit searches now ensure pub_gene_locus link is not obsolete. * Fixed bug 1385552: hit searches for untouched hits did not properly use is_valid constraints. Changes since release 0.70 * Related to bug 1036577: locus entry or update checks for duplicate names and emits warning page if duplication is found. * Fixed bug 1105651: progatated annotations preserve dateUpdated/updatedBy. * Fixed bug 1283426: propagated annotations were being marked temporary regardless of user's choice. * Fixed bug 1036577: updating gene names checks for duplication, and emits a warning page before continuing. * Added pub_sourcetype type table to pub_source to enforce ref-integrity. * Fixed bug 1291459. Added germplasm description display and update. Also changed GeneralDB.updateThisField to store NULL instead of empty string all the time. * Source tree cleanup. Internal: moved source tree to subversion. Now with the freedom to move directories, I am. *grin* * Fixed internal bug: didn't propagate gene name changes to the associated pub object. * Fixed bug 1283426: propagated annotations didn't save all the attributes of the source annotation. * Switched hit-generating algorithm to use Aho-Corasick search. Hit generation should be much improved. New hit generator algorithm is the default now; to use the old one, pass --old to bin/generate_new_hits.pl. * Fixed bug in pub.db.command.AddAllele where the newly constructed pubObject wasn't getting its allele id set. * Converted many java.sql.Statement to java.sql.PreparedStatement where possible to reduce risk of SQL-injection attacks. * Fixed resource leakage problem with java.sql.Statement objects: added necessary try { ... } finally { stmt.close(); } anywhere that a statement object is being constructed. * Added bin/set_passwd.pl command to make it easier to set user passwords, without having to drop into writing SQL. * Changed pub_user password function from MySQL's PASSWORD() to standard MD5 hash. All new users will get md5 hash passwords. The current login code will accept both PASSWORD() and MD5() versions, but we plan to remove support for PASSWORD() in the next release. * Database structural changes pub_updatehistory: removed columns: table_name table_id affected_table_name affected_table_id in place of two foreign keys to the pub_object table: pub_object_id affected_pub_object_id We've written a migration script in: maint/fixes/20050525_extensions_to_pub_updatehistory to apply those changes to an existing database. Motivation: reduce the number of tables that do ad-hoc linkage. latest changes by Iris from April, 2005 -- May, 2005 * Fix a bug from pubfetch which sometimes chops the pubmed_id. * AddHit : when the relationship_ids is not valid, giving an error message rather than set the relationship type id to "0" in hit table. * When user AddArticle from "Add?dispatch=article" either by giving an pubmed_id or fill the whole form, when the pubsource doesn't exist, add pubsource automaticaly. * Add a "note" field in pub_alias table to closely mimic tair database. modify interface for this field from allele and germplasm page. * Add "add/update alias" functionality from germplasm interface. * Feature enhancements Added add_user.pl script to add new users to the system. Users are able to visit the system, but are not allowed to make changes to the database. * Bug fixes Fixed pub.db.choices.GeneModelType so it doesn't use a hardcoded list of gene model types, but instead consults the database. 1066972: annotation display on a term's detail page didn't allow one to see more than thirty annotations at a time. 1069122: pub.db.command.AddHit did not consider empty strings as "null" values. 1076402: broken BLAST url now redirected to arabidopsis.org's BLAST. 1036579: missing add communication link now added to the header. 1078588: fixed links and added some methods to SequenceBeanImpl to try several strategies for linkout. 1047940: added check to associated allele and gene Changes since release 0.69 * Added integration with RGD Pubfetch. Now allows bulk loading of articles from Pubmed and Agricola. Option added in header as "Add:Articles in bulk". * Tomcat 5 JSP compatibility fixes. Fixed several erroneous JSPs that used the jsp:useBean tag inappropriately. * Bug fixes 1008877 GO term/synonym loader now obsoletes synonyms that no longer exist in GO. 927944 Adding a new gene with the same name as an existing gene will ask for override confirmation. 992495 Antiquated "Propagate annotations" links removed from interface. 805198 replaced_by field on add term page is not working [fill me in with summary] 805201 term obsoletion in add term table is not working correctly [fill me in with summary] 895323 adding term as a hit to publication if it's used for annotation 905671 output format on hit search. Display of hits now provides different view. User has the choice between a gene-centric or article-centric view. 953664 remove white space in the beginning and end of query. 988137 Gene symbols converted to upper case when loaded. Bulk gene loader no longer uppercases gene names, as requested by RGD. 992491 new feature: link out to GO database Link out to the GO's Amigo browser from the term detail page. 993952 hits to obsolete papers are displaying Corrected display of hits to obsoleted terms. 996758 AddSequence not a servlet Removed references to antiquated "AddSequence" servlet. Changes since release 20030416 * Added a configuration utility for Pubsearch, to make it easier to install. We've also recently released a binary for outside consumption. * We've also added a new command in our ant build scripts to easily create a package of our source code in a nice tar.gz file. * Added read-only/read-write accounts --- one step toward adding capabilities to individual user accounts. Now accounts can be limited to just searching for data. * Fixed the Sequence display to show the associated genes to that sequence. * New commands for adding new Communications or URL data types. * Formalized the notion of a DatabaseConstraintException in Pub, and are slowly implementing these exceptions to raise in any database platform, even MySQL. * Allow addition of user-defined Sequences that don't require a db_name or db_accession. * Switched over to using a different annotation strategy. We now target genes that are part of a non-annotated locus. * We're now using the new AmiGO browser from the Gene Ontology project. * Generalized selection of references in the annotation page. All reference types have a uniform interface for selection. We are also preparing to add a new DatabaseReference reference type in a week or two. * Added connection-logging facility to make it easier to debug SQL statements. * Implemented fix for the Invoker security problem that Tomcat announced. Current versions of Tomcat do not allow the use of '/servlet/**classname**' that we've been using in Pubsearch to do dynamic dispatch of servlets. We've implemented an alternative way of dispatching, so the system should be compatible with Tomcat 4.1 now. * And a whole lot of bug fixing.