Differences between revisions 8 and 43 (spanning 35 versions)
Revision 8 as of 2007-05-17 04:29:41
Size: 2876
Editor: cpe-066-057-229-060
Comment:
Revision 43 as of 2012-08-04 01:27:29
Size: 4192
Editor: KarlPinc
Comment: Where code lives.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
The New Ranker Program for Babase was designed by Dr Jun Yang of Duke's Computer Science Department and Tyler Brock, Senior at Duke University as his graduation project. The current version of the Ranker program (v1.1) for Babase was developed by [[KarlPinc|Karl O. Pinc]]. It consists of minor changes to the version developed by [[JunYang|Jun Yang]]. This version was based on an earlier version developed by [[JunYang|Jun Yang]] and [[TylerBrock|Tyler J. Brock]] from Fall 2006 to Spring 2007. It was Tyler's Graduation with Distinction project when he graduated from Duke University in 2007. Tyler's thesis has been attached to this page and includes visuals of the program as well as conceptual visuals describing how the program works. It is a PDF file; use Acrobat Reader to view it.

The focus of Tyler's thesis was how to rank automatically; however, for stability reasons, this functionality is not in the current version of the Ranker. However, we plan to include this functionality in the next version of the Ranker.

== Prerequisites to Running the Ranker ==
 * If your computer is not on the same trusted network as papio (e.g., your computer is outside the biology.duke.edu domain), you must have VPN access to papio. See [[BabaseVPN|Babase VPN]] for details on how to set up VPN on your computer.
 * You must have a Babase PostgreSQL account on papio.
 * Your computer must have Java Standard Edition 5 or later.
Line 5: Line 12:
This section describes how to run the ranker normally without the need to make changes to or see the code.  * If your computer is not on the same trusted network as papio, first establish a VPN connection to papio. See [[BabaseVPN|Babase VPN]] for detailed instructions.
 * Point your browser to https://papio.biology.duke.edu/ranker/ranker.jnlp to launch the Ranker.
  * If, for some reason, the Ranker does not launch automatically and you are shown the text contents of the ranker.jnlp file or are prompted to download it, save the file on your desktop and double-click it to launch the Ranker manually.
 * You may get a security warning about papio's certificate; click "Yes" to continue.
 * You may get a security warning about the application's digital signature; click "Run" to proceed.
 * At the login menu, the host has been preset to {{{papio-vpn.biology.duke.edu}}}. If you are NOT running VPN (because your computer is on the same trusted network as papio), change the host to {{{papio.biology.duke.edu}}} (by removing "-vpn" from the string), and then check the "Use SSL?" box. If you are running VPN, you do not need to modify the default values.
  * To login to {{{papio-vpn.biology.duke.edu}}} use your database username and password.
  * To login to {{{papio.biology.duke.edu}}} use your database username and password.
Line 7: Line 21:
Go to https://papio.biology.duke.edu and click on the ranker.jnlp, the program should launch
 * Make sure you say that you trust the certificate
== Software Development for Ranker ==
'''''This section is currently under development.'''''
Line 10: Line 24:
== Making Changes and Running the Program == The Ranker code currently resides under {{{~junyang/ranker/}}} on {{{papio.biology.duke.edu}}}. It should be managed by a source control system eventually.
Line 12: Line 26:
=== Install Software === ==== Development Environment ====
Line 15: Line 29:
 * Sun Java JDK with version greater than 5.0 available http://java.sun.com
 * Eclipse Software Development Version 3.2 available http://www.eclipse.org
 * Java version 5.0 or later, available at http://java.sun.com/
 * Ant version 1.7 or later, available at http://ant.apache.org/
 * A copy of the code; tarballs are attached to this page
 * Obtain the following third-party libraries:
  * PostgeSQL JDBC Driver, at http://jdbc.postgresql.org/
  * TableLayout manager, at https://tablelayout.dev.java.net/
  * jcalendar, at http://www.toedter.com/en/jcalendar/
Line 18: Line 37:
=== Import Project ===
Once the JDK and Eclipse are installed you can unzip the code for the project and open eclipse. Then, if you import->general->existing project into workspace and select the project file within the extracted folder, the project should appear within your eclipse workspace.
==== Sign the JAR file ====
See instructions in signature/README.txt in the ranker development directory on papio. The signed JAR file can now be copied under install/, a symbolic link to the installation directory on papio. Note that all third-party jars must be signed by the same certificate as well, as per Java security policy. The Makefile does all these automatically.
Line 21: Line 40:
==== Command line execution ====
From /var/www/html/ranker/ run: {{{
java -cp ranker.jar:lib/jcalendar-1.3.2.jar:lib/postgresql-8.2-506.jdbc3.jar:lib/TableLayout.jar babase.ranker.Main
}}}
== Change Log ==
Ranker version 1.1
Line 22: Line 47:
=== Make Changes ===
After the project is open one can make changes to the code within the eclipse environment, most of which is within the babase.ranker package.
Ranker version 1.1 corresponds to the release of Babase 3.0 and contains the necessary fixes to account for backwards incompatible changes.
Line 25: Line 49:
=== Compile and Run Program With Changes ===
To run the program, make sure you are connected to the VPN bring the ranker.java file to the focus of the editor and click on the run menu. From there, select to run as a Java application. Before the program runs, the changes are compiled.

== Updating the Ranker Program ==
=== Exporting the JAR files ===
Export the project choosing Java->Jar File as the type of exported file.

=== Get the libraries ===
You can find the libraries in the lib folder within the archive of the code.

=== Put it in the right spot ===
 * Make sure the ranker.jar and the library JARs in the same folder.

=== Create the Keys ===
From the command line in Mac OS X this can be accomplished by doing the following:

Typing the following into the terminal
 * keytool -genkey -alias babase -keyStore babasestore.ks

It will ask you for a password
 * Type babase as the password

Then it will ask for information regarding the certificate
 * Fill out the information.

When asked "Enter key password for <babase> (RETURN if same as keystore password):"
 * Simply hit enter and the keystore will be generated.

=== Sign the JARs ===
From the command line in Mac OS X this can be accomplished by doing the following:

Change directories to the folder containing both the JARs and the keystore file babasestore.ks and type the following for each JAR file to sign that particular JAR. (All of them must be signed)
 * jarsigner -keystore babasestore.ks -storepass babase jarname.jar babase

The JAR file is now signed and can be uploaded to the webserver.
Detail:
 * Change the BIOGRAPH.Dcausestatus column name to Dcauseconfidence.

Ranker

The current version of the Ranker program (v1.1) for Babase was developed by Karl O. Pinc. It consists of minor changes to the version developed by Jun Yang. This version was based on an earlier version developed by Jun Yang and Tyler J. Brock from Fall 2006 to Spring 2007. It was Tyler's Graduation with Distinction project when he graduated from Duke University in 2007. Tyler's thesis has been attached to this page and includes visuals of the program as well as conceptual visuals describing how the program works. It is a PDF file; use Acrobat Reader to view it.

The focus of Tyler's thesis was how to rank automatically; however, for stability reasons, this functionality is not in the current version of the Ranker. However, we plan to include this functionality in the next version of the Ranker.

Prerequisites to Running the Ranker

  • If your computer is not on the same trusted network as papio (e.g., your computer is outside the biology.duke.edu domain), you must have VPN access to papio. See Babase VPN for details on how to set up VPN on your computer.

  • You must have a Babase PostgreSQL account on papio.
  • Your computer must have Java Standard Edition 5 or later.

Running the Ranker

  • If your computer is not on the same trusted network as papio, first establish a VPN connection to papio. See Babase VPN for detailed instructions.

  • Point your browser to https://papio.biology.duke.edu/ranker/ranker.jnlp to launch the Ranker.

    • If, for some reason, the Ranker does not launch automatically and you are shown the text contents of the ranker.jnlp file or are prompted to download it, save the file on your desktop and double-click it to launch the Ranker manually.
  • You may get a security warning about papio's certificate; click "Yes" to continue.
  • You may get a security warning about the application's digital signature; click "Run" to proceed.
  • At the login menu, the host has been preset to papio-vpn.biology.duke.edu. If you are NOT running VPN (because your computer is on the same trusted network as papio), change the host to papio.biology.duke.edu (by removing "-vpn" from the string), and then check the "Use SSL?" box. If you are running VPN, you do not need to modify the default values.

    • To login to papio-vpn.biology.duke.edu use your database username and password.

    • To login to papio.biology.duke.edu use your database username and password.

Software Development for Ranker

This section is currently under development.

The Ranker code currently resides under ~junyang/ranker/ on papio.biology.duke.edu. It should be managed by a source control system eventually.

Development Environment

You will need the following environment in order to be able to make changes to the ranker code:

Sign the JAR file

See instructions in signature/README.txt in the ranker development directory on papio. The signed JAR file can now be copied under install/, a symbolic link to the installation directory on papio. Note that all third-party jars must be signed by the same certificate as well, as per Java security policy. The Makefile does all these automatically.

Command line execution

From /var/www/html/ranker/ run:

java -cp ranker.jar:lib/jcalendar-1.3.2.jar:lib/postgresql-8.2-506.jdbc3.jar:lib/TableLayout.jar babase.ranker.Main

Change Log

Ranker version 1.1

Ranker version 1.1 corresponds to the release of Babase 3.0 and contains the necessary fixes to account for backwards incompatible changes.

Detail:

  • Change the BIOGRAPH.Dcausestatus column name to Dcauseconfidence.

RankerProgram (last edited 2025-09-03 21:15:28 by JakeGordon)

Wiki content based upon work supported by the National Science Foundation under Grant Nos. 0323553 and 0323596. Any opinions, findings, conclusions or recommendations expressed in this material are those of the wiki contributor(s) and do not necessarily reflect the views of the National Science Foundation.