Changes

Line 76: Line 76:  
:'''In-Depth analysis:'''
 
:'''In-Depth analysis:'''
   −
:The easiest way to implement step-1 would be to check which mime types exist on the client side in the etc/cups/mime.types file with a simple python method (getAllowableMIMETypes) , and access it with a :python script and compile our sugar shell accordingly. So any mime type non-existent there will have its corresponding activities print button disabled.  
+
:The easiest way to implement step-1 would be to check which mime types exist on the client side in the etc/cups/mime.types file with a simple python method (getAllowableMIMETypes) , and access it with a :python script and compile our sugar shell accordingly. So any mime type non-existent there will have its corresponding activities print button disabled. We will also write code for it to accept copy Mime info from activities .info files (whether a new activity or old)
    
:As an Alternative, CUPS print function returns a python -1/ C 0 when a non-supported MIME type is used, so I can take advantage of that and display a non supported format error.
 
:As an Alternative, CUPS print function returns a python -1/ C 0 when a non-supported MIME type is used, so I can take advantage of that and display a non supported format error.
   −
:for step-2, We use CUPS. The API has a nice array of functions, one of which is to get the printers name (the cups-pdf virtual printer). Since we know the name is CUPS-PDF, we can check it, and print our :file as a PDF to the journal. We will also be using an automatic script to configure the network printers client sides but they will come into light only when the teacher approves for print. And the API can be made by generalising the pycups methods and sugar api in general.
+
:for step-2, We use CUPS. The API has a nice array of functions, one of which is to get the printers name (the cups-pdf virtual printer). Since we know the name is CUPS-PDF, we can check it, and print our :file as a PDF to the journal. And the API can be made by generalising the pycups methods and sugar api in general.
 
:For the sake of our python convenience we will be using a python wrapper to cups, pycups. We will be using our Sugar api to create a nice simple widget for this. And we will use D-Bus for transfer of :objects to journal. The print button will be just saving the file in its original mime format, and then a Cups-PDF job takes place and outputs a pdf in the to print objects category. And, the original :saved mime type is destroyed.
 
:For the sake of our python convenience we will be using a python wrapper to cups, pycups. We will be using our Sugar api to create a nice simple widget for this. And we will use D-Bus for transfer of :objects to journal. The print button will be just saving the file in its original mime format, and then a Cups-PDF job takes place and outputs a pdf in the to print objects category. And, the original :saved mime type is destroyed.
   Line 127: Line 127:  
:'''April 20th to May 26th:'''
 
:'''April 20th to May 26th:'''
 
:* Research the sugar API extensively  
 
:* Research the sugar API extensively  
:* Write sample D-BUS communication programs
+
:* Write sample D-BUS communication programs and xmlrpc programs
 
:* Hack into moodle code, and create purposeful hacks (modifying the limits for plugin in consideration, and such)
 
:* Hack into moodle code, and create purposeful hacks (modifying the limits for plugin in consideration, and such)
 
:* Talk with the design team and produce prototype interface designs
 
:* Talk with the design team and produce prototype interface designs
Line 136: Line 136:     
:'''Week 1 : '''
 
:'''Week 1 : '''
:Start writing code which actually configures the network printer server side, and on the clients side.  
+
:Start writing code which actually configures the network printer server side. Write code which prints to local cups-pdf printer.  
    
:'''Week 2 : '''
 
:'''Week 2 : '''
:Write code which prints to local configured pdf clients side, and start working on UIs for this and integrating them into sugar
+
Start Work on writing a control panel activity which takes in the moodle account details, integrate this with a print button in each activity.
   −
:'''Week 3 '''
+
:'''Week 3 : '''
:Finish working on UIs, add buttons to each activity, and append a new printer module(api) to Sugar packages (api)
+
:Finish working on UIs, and append a new printer module(api) to Sugar packages (api) which abstracts a lot of code. Also write code to save to save to journal for our case 3) b)
 +
 
 +
:Mile stone 1 :'' See to it that the code can print to the pdf virtual printer. But ofcourse apart from pdf printing others :will be disabled. Get mentor and community feedback. 
   −
:Mile stone 1 :'' See to it that the code can print to a local printer, a network printer and the pdf virtual printer. But ofcourse apart from pdf printing others :will be disabled. Get mentor and community feedback.
      
:'''Milestone 2'''
 
:'''Milestone 2'''
    
:'''Week 4 '''
 
:'''Week 4 '''
:Start working on moodle, build a 'For printing' page plugin, see to it that it accepts files from client side, and stores them in moodle's webfolder (datastore)
+
:Start working on moodle, build a 'For printing' page plugin, see to it that it accepts files from client side, and stores them in moodle's webfolder (datastore) and from our print activity that we wrote previously
    
:'''Week 5'''
 
:'''Week 5'''
Line 159: Line 160:     
:'''week 7'''
 
:'''week 7'''
:Test code on a server with a printer, and test if everything works, get mentor and community feedback, and if any integration bugs remain, drill on them.   
+
:Test code on a server with a printer, and test if everything works, get mentor and community feedback, and if any integration bugs remain, drill them out.   
    
:Milestone 2: '' It would be to finish the moodle plugin, and see to it that printing can be done through it by the teacher''
 
:Milestone 2: '' It would be to finish the moodle plugin, and see to it that printing can be done through it by the teacher''
143

edits