[[user-comments:mozilla-devel:staff_client_source_code|User Comments]] ===== To Do ===== Currently, a rewrite is happening here: **/ILS/Open-ILS/xul/staff_client/** ([[http://svn.open-ils.org/trac/ILS/browser/trunk/Open-ILS/xul/staff_client|SVN]]). If you have feedback, advice, code, etc., then please join our mailing lists ([[http://evergreen-ils.org/listserv.html|evergreen-ils.org]])! Or alternatively, mail us at [[feedback@evergreen-ils.org]] My current to-do list is here: [[scratchpad::staff_client_todo]] ===== Inside the staff client (for Developers and Admins) ===== - [[mozilla-devel:introduction_and_technology]] - [[mozilla-devel:building_the_staff_client]] - [[mozilla-devel:a_walk-through_of_the_source_code]] ===== Scratch Pad ===== * [[scratchpad:multiple_registrations_hack_with_hosts_file|Multiple Workstation Registrations Hack with Hosts File]] * [[scratchpad:packaging_the_staff_client_for_windows|Packaging the staff client for Windows]] * [[scratchpad:debug_console|Debug console for staff client]] * [[scratchpad:pinging|Ping testing the server]] * [[scratchpad:console_clipboard|Copying from the debug console or a command window in Windows]] * To build and run a versionless staff client in Linux, in /ILS/Open-ILS/xul/staff_client/:rm -rf ~/.pines/ && make STAFF_CLIENT_BUILD_ID='' && cd build/ && /some/path/xulrunner application.ini ; cd .. * To build and run a staff client in Linux with a specific build ID, in /ILS/Open-ILS/xul/staff_client/:rm -rf ~/.pines/ && make STAFF_CLIENT_BUILD_ID='SOME_BUILD_ID' && cd build/ && /some/path/xulrunner application.ini ; cd .. * [[http://dev.gapines.org/opac/extras/docgen.xsl|auto-generated api documentation]] * [[scratchpad:mock_staff_client_portal|Mock Staff Client Portal]] * [[scratchpad:sample_script|Sample script for Circ meeting]] * [[scratchpad:debugging_checkin|debugging checkin]] * [[scratchpad:staff_client_menus|How to add top-level menus to the staff client]] * [[staff_client:removing_the_staff_client|Removing the staff client]] * [[http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/|where to get the latest xulrunners]] * To tweak a perl module, edit and copy to correct location in /openils/lib/perl5/ (or wherever, depending on install), in our case on weezie or dev: cp -r ILS/Open-ILS/src/perlmods/OpenILS/* /openils/lib/perl5/OpenILS/ then as root, do su - opensrf -c '/openils/bin/osrf_ctl.sh -d /tmp/ -p /openils/conf/bootstrap.conf -c /openils/conf/opensrf_core.xml -a restart_perl' * To restart the C code, as root do su - opensrf -c '/openils/bin/osrf_ctl.sh -d /tmp/ -p /openils/conf/bootstrap.conf -c /openils/conf/opensrf_core.xml -a restart_c' * The config cgi's for dev: http://fw1/cgi-bin/config.cgi * To invoke psql on frankenweezie1 PGUSER=postgres /opt/pg811/bin/psql -p 5433 develooper * To invoke oilsrequestor on dev oils_requestor -f ~/.srfsh.xml -i fm_IDL.xml -c srfsh -u staff1 -p staff1 * From generate_fines.srfsh: open-ils.storage.action.circulation.overdue.generate_fines 1 * Listing barcodes for open copy transits via sql: select b.barcode, c.shortname, a.* from action.transit_copy as a, asset.copy as b, actor.org_unit as c where a.target_copy = b.id and c.id = a.dest and dest_recv_time is null; * Listing patron's and barcodes for open circulations via sql: select c.usrname, b.barcode, a.id from "action".circulation as a, asset.copy as b, actor.usr as c where a.usr = c.id and a.target_copy = b.id and xact_finish is null; * List holds ready for pickup:select u.usrname, c.barcode, h.id from action.hold_request as h, asset.copy as c, actor.usr as u where h.current_copy = c.id and h.usr = u.id and h.fulfillment_time is null; * List permission groups having a specific permission via sql:select t.name from permission.grp_tree as t where t.id in ( select grp from permission.grp_perm_map where perm = (select id from permission.perm_list where code = 'COPY_IS_REFERENCE.override') ); * List permissions for a specific permission group via sql:select code, depth, grantable, a.description from permission.grp_perm_map as c, permission.perm_list as a, permission.grp_tree as b where grp = b.id and perm = a.id and b.name = 'Circ1'; * How to update just the xul on a brick in production:~/evergreen.sh -a detach_brick ~/evergreen.sh -a update_cvs ~/evergreen.sh -a build_xul -x ~/evergreen.sh -a attach_brick * How to update the whole shebang on a brick in production: cd /root/scripts/ ; ./evergreen_all.sh -u -x * New ways to update production: Fetch a bundle as opensrf: ./evergreen.sh -u http://open-ils.org/downloads/ -f Evergreen-ILS-1.0.2.2.tar.gz -a fetch Full update as root: ./evergreen_all.sh -u http://open-ils.org/downloads/ -f Evergreen-ILS-1.0.2.2.tar.gz * To start clark kent (reporting) on fw3 (db03): su postgres -c 'PERL5LIB=/openils/lib/perl5/ /openils/bin/clark-kent.pl -c 4 -d' * An example of rolling back the XUL on a brick: su - opensrf -c 'cd /openils/var/web/xul/ ; ls -l sc_v100_rc2 ; rm sc_v100_rc2 ; ln -s sc_v100_rc2-50 sc_v100_rc2 ; ls -l sc_v100_rc2' * Using autogen to update static files:su opensrf -c "cd /openils/bin/ && ./autogen.sh ../conf/bootstrap.conf" * evergreen.sh is for bricks, osrf_ctl.sh is for a single box * in srfsh, to see applications/services registered with the router, enter: request router opensrf.router.info.class.list **Viewing Reports via web browser** * In command line go to where you have the srf shell configured and type in srfsh. user@computer:~$ srfsh * Login to it: srfsh# login admin open-ils * If you had a successful login you will see something like this: Received Data: { "ilsevent":0, "textcode":"SUCCESS", "desc":" ", "pid":28132, "stacktrace":"oils_auth.c:312", "payload":{ "authtoken":"4d2e586236332400795c8d26d95907fd", "authtime":420.000000 } } * Keep the terminal open and go to a browser (with OpenSRF and Evergreen running) and go to: localhost/reports/ * Click on the oils_report.xhtml link. You should see "You are logged in as" and "Loading..." * In the address bar you see "https://localhost/reports/oils_rpt.xhtml" add the following onto it ?ses= * And after the equals sign paste in the "authtoken" that you got from logging in with the srf shell (which should still be open) https://localhost/reports/oils_rpt.xhtml?ses=4d2e586236332400795c8d26d95907fd * You should now be able to see the reports pages and use the interface