PAPI Overview, Status, and Discussion Michael Sweet Easy Software Products June 17, 2003.

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming Lecture 10 API Review; Where Next.
Advertisements

11 March 2003DRAFT 1 FSG Open Print JTAPI (Job Ticket API) Claudia Alimpich IBM Printing Systems Division Boulder Colorado
PSI 1.0 Usage An overview of usage models enabled by the PSI set of interfaces.
PSI Usage 0.94b An overview of usage models enabled by the PSI set of interfaces.
Universal Printer Description Format UPDF. UPDF Version 1.0 Agenda UPDF Overview –History –Design Last Call –Review changes –Approval or requirements.
Free Standard Group: OpenPrinting 1 10 April 2006 FSG Design Objective Oriented Encapsulation Data (attributes) Methods (constructor/destructor, setter/getter)
1 Copyright © 2010, Printer Working Group. All rights reserved. IPP Working Group Session 10 February 2010 Scottsdale, AZ - PWG F2F Meeting.
1 Copyright © 2010, Printer Working Group. All rights reserved. IPP Working Group Session 10 February 2010 Scottsdale, AZ - PWG F2F Meeting.
The EBSCONET Subscription Management System is a multi-lingual
OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
Overview of Twitter API Nathan Liu. Twitter API Essentials Twitter API is a Representational State Transfer(REST) style web services exposed over HTTP(S).
Pharos Uniprint 8.3.
1 Lesson 14 Sharing Documents Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
By Rashid Khan Lesson 7-Preparing for Output: Printer Configuration and Management.
CHAPTER Hard Resource (Printer) Sharing. Chapter Objectives Explain the concept of sharing a hard resource Present the step-by-step process of placing.
CN1260 Client Operating System Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
Windows Server 2008 Chapter 6 Last Update
Chapter 13: Sharing Printers on Windows Server 2008 R2 Networks BAI617.
Overview What are the provisioning methods used in the Australian registry system? How are these provisioning systems secured?
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
Sharing Resources Lesson 6. Objectives Manage NTFS and share permissions Determine effective permissions Configure Windows printing.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Database Programming in Java Corresponds with Chapter 32, 33.
Designing and Implementing Web Data Services in Perl
BIF703 Miscellaneous Commands. File related commands  grep - print lines matching a pattern  head - output the first part of files  tail - output the.
Software Engineering CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
JavaScript, Fourth Edition Chapter 5 Validating Form Data with JavaScript.
NoteSearch - Find what you’re looking for. Prototype Team B.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Jaws Digital Courier Justin Coombes Product Manager Jaws Product Line / Global Graphics.
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
LexBIG/LexGrid Services for LexBIG 2.3 Model and API for the Grid.
Module 5: Implementing Printing. Overview Introduction to Printing in the Windows Server 2003 Family Installing and Sharing Printers Managing Access to.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
UNIT III - JDBC JDBC Overview – JDBC implementation – Connection class – Statements - Catching Database Results, handling database Queries. Networking–
SCIM conference call 4 September Issue #2 Add pagination capability to plural Resource attributes User Group retrieval could be resource intensive,
Mercury. One single online platform: Mercury Highlights – USP’s Web-based platform: accessible from any computer in any location without installing any.
CIP4 Tutorial - JDF Capabilities January 23, Welcome Steve Hiebert Chair, CIP4 Product Description WG Software Architect Indigo Digital Press Division.
Improving SLP Efficiency and Extendability by Using Global Attributes and Preference Filters Weibin Zhao Henning Schulzrinne
Chapter – 8 Software Tools.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
HMA Sep 2009 – Slide 1 Daniele Marchionni Elsag Datamat HMA Follow On – Task 4 - Workplan.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Global MP3 Geoffrey Beers Deborah Ford Final Presentation Mike Quinn Mark Ridao Delivered by: Additional help by:
ICE Integrated Cloud Environment Cloud Scanning and Mobile Printing
Chapter 5 Validating Form Data with JavaScript
Printer Management Chapter 5 - Objectives.
Introduction to Entity Framework
JDBC Database Management Database connectivity
Online Civil Pensioner’s Medical Services
Printer Admin Print Job Manager
Its Benefit to Cloud Printing
KMIP Entity Object and Client Registration
IPP Document Encryption Topics
Architecture Competency Group
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
IPP Workgroup Session, Day 1
PHP Forms and Databases.
For Documents and Pages Robert Herriot, Xerox
A Scripting Server for Domain Automation Tasks
IPP Job Storage 2.0: Fixing JPS2
IPP Workgroup Session, Day 1
IPP Workgroup Session, Day 1
Introduction to Classes and Objects
Presentation transcript:

PAPI Overview, Status, and Discussion Michael Sweet Easy Software Products June 17, 2003

PAPI 1.0 Draft Status ● 0.9 (1.0 release candidate) released in December 2002 ● Need to get PAPI 1.0 approved for implementations to proceed ● Is the current spec satisfactory to all interested parties? ● Do we have a process in place for approving FSG standards?

PAPI 1.0 Overview ● Provides abstraction of server, queues (printers and classes), and jobs ● High-level API concentrates on providing a common interface to multiple printing systems ● Currently supports server connection and authentication, basic queue and job enumeration, job submission, and printer state/capabilities ● Implementations for CUPS, System V lp, and Berkeley lpr exist, release as OSS pending

PAPI 1.0 Overview (con't) ● Data types introduced by PAPI: – papi_status_t - status/error code enumerations – papi_service_t - server/service connection – papi_job_t - job object – papi_stream_t - stream object – papi_printer_t - printer object – papi_job_ticket_t - job ticket object – papi_filter_t - filter for limiting printer lists

PAPI 1.0 Overview (con't) ● Service API: – papiServiceCreate - creates a new service object for submitting jobs, listing printers, etc. – papiServiceDestroy - destroys a service object – papiSetFoo - sets the corresponding service object attribute (UserName, Password, Encryption, AuthCB, AppData) – papiGetFoo - gets the current value of the corresponding service object attribute

PAPI 1.0 Overview (con't) ● Printer API: – papiPrintersList - retrieves a list of printer/class queues – papiPrinterQuery - queries detailed information about a printer object – papiPrinterModify - sets printer object attributes – papiPrinterPause, papiPrinterResume - stops and starts a printer object – papiPrinterPurgeJobs - cancels all jobs on a printer – papiPrinterListJobs - lists jobs on a printer

PAPI 1.0 Overview (con't) ● Printer API (con't): – papiPrinterGetAttributeList - gets a list of the attributes from a printer object – papiPrinterFree - frees a printer object – papiPrinterListFree - frees a list of printer objects

PAPI 1.0 Overview (con't) ● Attributes API: – papiAttributeListAdd, papiAttributeListAddFoo - adds a single attribute to an attribute list; “Foo” is String, Integer, Boolean, Range, Resolution, Datetime, or Collection – papiAttributeDelete - deletes a single attribute – papiAttributeListGetFoo - gets the value associated with an attribute – papiAttributeListFree - frees an attribute list

PAPI 1.0 Overview (con't) ● Attributes API (con't): – papiAttributeListFind - searches for the first matching attribute in a list – papiAttributeListGetNext - searches for the next matching attribure in a list – papiAttributeListFromString - creates an attribute list from a string using a text-based format defined in the spec – papiAttributeListToString - creates a string from an attribute list using the format defined in the spec

PAPI 1.0 Overview (con't) ● Job API: – papiJobSubmit, papiJobSubmitByReference - submits a file or URL for printing – papiJobValidate - verifies that the document format and job attributes are valid for/supported by the printer object – papiJobStreamOpen - opens a job stream for on-the- fly printing – papiJobStreamWrite - writes print data to a job stream – papiJobStreamClose - closes the job stream and finishes printing

PAPI 1.0 Overview (con't) ● Job API (con't): – papiJobQuery - gets a list of specific job attributes – papiJobModify - modifies the job attributes – papiJobCancel - cancels a job – papiJobHold, papiJobRelease - holds and resumes a job – papiJobRestart - restarts a stopped or canceled job – papiJobGetAttributeList - gets a list of all job attributes

PAPI 1.0 Overview (con't) ● Job API (con't): – papiJobGetFoo - gets the corresponding attribute for a job; “Foo” can currently be PrinterName, Id, or JobTicket – papiJobFree - frees a job object – papiJobListFree - frees a list of job objects

PAPI 1.0 Overview (con't) ● Miscellaneous API: – papiStatusString - returns the textual representation of a papi_status_t enumeration (generally the IPP- defined string from RFC 2911)

PAPI 1.1/2.0 Discussion ● Constraints attributes from PAPI Capabilities 0.3 Draft? ● Media: margins, dimensions, media-col support? ● Fonts: name, family, style/appearance, weight, vendor, version, encoding, character repetoire? ● Colorspaces and/or profiles? ● Context sensitive information, e.g. the supported attributes and values for a particular document format?

PAPI 1.1/2.0 Discussion (con't) ● Localization/globalization support in PAPI? ● Additional printer state data - ink types, levels, media remaining, media loaded, etc? ● Extension support, i.e. define an interface/attribute listing the available extensions/extension attributes? ● Support for other languages besides C/C++ required? ● Support document object?

PAPI 1.1/2.0 Discussion (con't) ● Newer 2003 IPP attributes/stuff? ● Anything else?

Constraints Attributes ● Example constraints: job-constraints-col = /* Constraint: no high print quality with 240 dpi */ /* resolution - (print-quality == high) AND */ /* (printer-resolution == 240dpi) */ { print-quality = high printer-resolution = 240dpi }, /* Constraint: no transparency with duplex - */ /* (sides != one-sided) AND (media == transparency) */ { job-constraints-inverted = sides sides = one-sided media = transparency }

Where Do We Go From Here? ● Need to get 1.0 approved ● Need to get OSS 1.0-based implementation(s) out for developers to play with ● Is GNOME/KDE/OpenOffice support important for general adoption? ● Do we provide a test suite which conforming PAPI implementations must pass? ● Should the future print graphics API(s) interface with PAPI to tailor their output to the destination device, or do we push for device-independent?