|
Size: 2875
Comment:
|
Size: 5363
Comment:
|
| 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.2) for Babase was developed by [[KarlPinc|Karl O. Pinc]]. It consists of minor changes amd a major bug fix 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. The focus of Tyler's thesis was how to rank automatically, but for stability reasons this functionality is not in the current version of Ranker. However, we hope to include this functionality in a future version of Ranker. == Prerequisites to Running Ranker == * If your computer is not connected to Duke's network--where Papio is hosted--you must first connect to Duke via [[DukeVPN|Duke's VPN]]. * __Important__: Until 2018, a different VPN (see [[BabaseVPN]]) was required by most users to use Ranker. That VPN will no longer work. Non-Duke users __must__ use the Duke VPN. * You must have a Babase login. * Your computer must have Java Standard Edition 5 or later. |
| Line 5: | Line 13: |
| This section describes how to run the ranker normally without the need to make changes to or see the code. | * Verify that you are connected to Duke's network, either by being at Duke or by connecting via VPN. * Now, you need to make a connection directly with the server. Open a terminal and enter the following (all on one line): {{{ ssh -L 5432:localhost:5432 MYPAPIOLOGIN@papio.biology.duke.edu }}} (Note that MYPAPIOLOGIN is your SSH login to the __server__, not your Babase login.) You will be prompted for your password. After entering this, your connection to the server is complete and you likely won't need the terminal anymore. Feel free to hide or minimize it (but don't close it!). * Point your browser to https://papio.biology.duke.edu/ranker/ranker.jnlp to launch the Ranker. * If, for some reason, 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 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. * When the "Welcome" window appears, choose "Create/load ranking from Babase". A login screen will appear. * The "Host" has been preset to {{{papio-vpn.biology.duke.edu}}}. '''This default text is out of date, and should be updated in a future version of Ranker.''' Remove the text and replace it with {{{localhost}}}. * The "Port" is preset to {{{5432}}}. Leave this alone. * The "Use SSL?" field is preset to be unchecked. Leave it unchecked. * The "User Name" and "Password" are your Babase credentials. * The "Database" defaults to "babase". You should probably leave this as-is unless you know that you want to connect to a different database. * Hit "Connect" to log in. * You take it from here! * When you're done using Ranker, return to your terminal and enter, simply: {{{ exit }}} You're now free to close your terminal window and disconnect from the VPN. == Software Development for Ranker == '''''This section is currently under development.''''' |
| Line 7: | Line 39: |
| 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 |
The Ranker code currently resides under {{{~junyang/ranker/}}} on {{{papio.biology.duke.edu}}}. It should be managed by a source control system eventually. |
| Line 10: | Line 41: |
| == Making Changes and Running the Program == === Install Software === |
==== Development Environment ==== |
| Line 15: | Line 44: |
| * 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 52: |
| === 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 55: |
| ==== Command line execution ==== From /var/www/html/ranker/ run: |
|
| Line 22: | Line 58: |
| === 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. |
{{{ 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.2 (2012-11-19) |
| Line 25: | Line 64: |
| === 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. |
Ranker version 1.2 contains a major bug fix. |
| Line 28: | Line 66: |
| == Updating the Ranker Program == === Exporting the JAR files === Export the project choosing Java->Jar File as the type of exported file. |
Detail: |
| Line 32: | Line 68: |
| === Get the libraries === You can find the libraries in the lib folder within the archive of the code. |
* Program was not sorting by anything when loading ranks by the db, resulting in a ranking that was often but not always the rank, depending on the order in which rows were saved and the order in which the db happened to return rows. Fixed by sorting by rank when loading arrays. |
| Line 35: | Line 70: |
| === Put it in the right spot === * Make sure the ranker.jar and the library JARs in the same folder. |
Ranker version 1.1 |
| Line 38: | Line 72: |
| === Create the Keys === From the command line in Mac OS X this can be accomplished by doing the following: |
Ranker version 1.1 corresponds to the release of Babase 3.0 and contains the necessary fixes to account for backwards incompatible changes. |
| Line 41: | Line 74: |
| Typing the following into the terminal * keytool -genkey -alias babase -keyStore babasestore.ks |
Detail: |
| Line 44: | Line 76: |
| 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. |
* Change the BIOGRAPH.Dcausestatus column name to Dcauseconfidence. |
Ranker
The current version of the Ranker program (v1.2) for Babase was developed by Karl O. Pinc. It consists of minor changes amd a major bug fix 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.
The focus of Tyler's thesis was how to rank automatically, but for stability reasons this functionality is not in the current version of Ranker. However, we hope to include this functionality in a future version of Ranker.
Prerequisites to Running Ranker
If your computer is not connected to Duke's network--where Papio is hosted--you must first connect to Duke via Duke's VPN.
Important: Until 2018, a different VPN (see BabaseVPN) was required by most users to use Ranker. That VPN will no longer work. Non-Duke users must use the Duke VPN.
- You must have a Babase login.
- Your computer must have Java Standard Edition 5 or later.
Running the Ranker
- Verify that you are connected to Duke's network, either by being at Duke or by connecting via VPN.
- Now, you need to make a connection directly with the server. Open a terminal and enter the following (all on one line):
ssh -L 5432:localhost:5432 MYPAPIOLOGIN@papio.biology.duke.edu
(Note that MYPAPIOLOGIN is your SSH login to the server, not your Babase login.) You will be prompted for your password. After entering this, your connection to the server is complete and you likely won't need the terminal anymore. Feel free to hide or minimize it (but don't close it!).
Point your browser to https://papio.biology.duke.edu/ranker/ranker.jnlp to launch the Ranker.
- If, for some reason, 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 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.
- When the "Welcome" window appears, choose "Create/load ranking from Babase". A login screen will appear.
The "Host" has been preset to papio-vpn.biology.duke.edu. This default text is out of date, and should be updated in a future version of Ranker. Remove the text and replace it with localhost.
The "Port" is preset to 5432. Leave this alone.
- The "Use SSL?" field is preset to be unchecked. Leave it unchecked.
- The "User Name" and "Password" are your Babase credentials.
- The "Database" defaults to "babase". You should probably leave this as-is unless you know that you want to connect to a different database.
- Hit "Connect" to log in.
- You take it from here!
- When you're done using Ranker, return to your terminal and enter, simply:
exit
You're now free to close your terminal window and disconnect from the VPN.
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:
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/
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.2 (2012-11-19)
Ranker version 1.2 contains a major bug fix.
Detail:
- Program was not sorting by anything when loading ranks by the db, resulting in a ranking that was often but not always the rank, depending on the order in which rows were saved and the order in which the db happened to return rows. Fixed by sorting by rank when loading arrays.
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.
