Line 65: |
Line 65: |
| | | |
| :'''5)''' The school server converts the requests into PDF and will store them in a web folder. And through moodle the teacher will have a page displaying the contents of the folder(a type of queue), and he/she will be able to download them to his remote system, and check them and approve them for printing if he/she wishes. After his approval, a background process on the school server prints to a network printer. Otherwise the job will be left to remain, or be discarded. | | :'''5)''' The school server converts the requests into PDF and will store them in a web folder. And through moodle the teacher will have a page displaying the contents of the folder(a type of queue), and he/she will be able to download them to his remote system, and check them and approve them for printing if he/she wishes. After his approval, a background process on the school server prints to a network printer. Otherwise the job will be left to remain, or be discarded. |
− | | + | :'''6)''' There will a system to cancel print outs, the user would just have to hit the cancel button. |
| | | |
| :'''In-Depth analysis:''' | | :'''In-Depth analysis:''' |
Line 82: |
Line 82: |
| :for step-5, We will be saving the printed pdf files into a web folder, and we will add a page which lists the contents dynamically to moodle.And provide access rights only to the teacher's log in. The :teacher can download the file to his/her terminal from the page, view it and approve it for printing. Here comes to light a background program written in C which listens to requests every sleep(30) secs, :and this will every time it wakes up access the moodle's datastore( mysql table) and checks if the approve has been hit for a specific id(id is generated with respect to job arrival, and every time a job :in between is printed or removed, the ids sort themselves back). Consequently a remove buttom will also be provided, which does just what it says. | | :for step-5, We will be saving the printed pdf files into a web folder, and we will add a page which lists the contents dynamically to moodle.And provide access rights only to the teacher's log in. The :teacher can download the file to his/her terminal from the page, view it and approve it for printing. Here comes to light a background program written in C which listens to requests every sleep(30) secs, :and this will every time it wakes up access the moodle's datastore( mysql table) and checks if the approve has been hit for a specific id(id is generated with respect to job arrival, and every time a job :in between is printed or removed, the ids sort themselves back). Consequently a remove buttom will also be provided, which does just what it says. |
| | | |
| + | :for step-6,With the function cupsCancelJob() the student can cancel the job before his request goes to server (or before it can be printed to pdf). |
| + | : And after actually entering the web folder, The cool background program running on the server comes into picture |
| + | : 1) we would send in a query with the name of the file and a .pdf extension |
| + | : 2) if that file exists on web folder delete, otherwise do nothing |
| + | : 3) send suitable message back |
| + | : This latter would be done only when cupsCancelJob() yields an error. |
| + | |
| | | |
| | | |