Difference between revisions of "Print"

From CSLabsWiki
(listed full goals)
(Goals)
Line 56: Line 56:
 
###request more balance
 
###request more balance
 
##Useful and visible links
 
##Useful and visible links
 
 
#Fluid communication between the server and the printer
 
#Fluid communication between the server and the printer
 
##paper availability
 
##paper availability
Line 64: Line 63:
 
##monitors excess printing
 
##monitors excess printing
 
##print preview
 
##print preview
 
 
#Simple back-end management of users
 
#Simple back-end management of users
 
##communicate with users
 
##communicate with users

Revision as of 23:40, 30 October 2013

Hostname: print.cslabs.clarkson.edu
Operating system: Ubuntu Hardy (8.04) x64
LDAP Support: No
Development Status: Stable
Status: Running


Purpose

The print vm is a web-based printing interface that offers accounts to COSI members. Users can register accounts using their Clarkson usernames and print to the CSLabs Printer using the web interface. This service supports only Open Source file types, promoting the Guiding Principles of COSI. See Printing for more information on this process.

Technical Information

The machine uses cups (specifically the lp command) to interface with the printer, PyKota to handle quotas, and an Apache/PHP/MySQL stack to handle the web interface. The source code for the web interface is available through the svn server (print-server repository). As the files contain passwords, anonymous access is disallowed, but you can request access by emailing <email>request@cslabs.clarkson.edu</email>.

Set up process

To interface with the printer, cupsys and cupsys-client were installed. The packages python-mysqldb, python-egenix-mxdatetime, python-pysnmp4, pkpgcounter, python-reportlab, and subversion were installed as dependencies for PyKota. PyKota 0.07 was installed from source following the instructions on [1] and in the README. Finally, apache2, php5, libapache2-mod-php5, mysql-server, mysql-client, and php5-mysql were installed for the web services. The configuration files have been omitted because the primary changes from the defaults were to set passwords.

Manual Maintenance

Creating a user:

$ pkusers --add --limitby balance --balance 100 <<USERNAME>>
$ edpykota --add --printer CSLabsPrinter <<USERNAME>>
$ mysql pykota
mysql> UPDATE users SET password=<<MD5ed PASSWORD>> WHERE username=<<USERNAME>>

Increasing the balance for a user (Omit the <<USERNAME>> field to make changes to all users):

$ pkusers --balance +<<NUM PAGES>> --comment "<<REASON FOR INCREASE>>" <<USERNAME>>


Pull balance information:

$ pkusers -L

Development

A new print server is currently being developed to improve upon the current server. For more information, contact Peter Vaillancourt.

Goals

  1. Interactive Website for the user that is:
    1. Functional
    2. Looks nice
    3. Users can:
      1. create accounts
      2. view balance
      3. print
      4. request more balance
    4. Useful and visible links
  2. Fluid communication between the server and the printer
    1. paper availability
    2. ink level
    3. prints
    4. cancel jobs
    5. monitors excess printing
    6. print preview
  3. Simple back-end management of users
    1. communicate with users
    2. delete users
    3. view/edit user info (graphs!)
    4. add printer balance easily
    5. remove printer balance