Hi Tharaka, I've just been trawling through my emails and there's been some confusion here. The google-melange deadline is 20th April for project submissions, however, because the ASF is a large and single organization it gets an allocation of GSoC places. The ASF then needs to go through all the project proposals and their respective ranking reviews to decide which projects get allocated places.
As such the deadline for ranking the projects was the 16th, I'll send you the email explaining as such. Mehdi On 17 April 2012 21:07, mehdi houshmand <med1...@gmail.com> wrote: > Hi Tharaka, > > Really? I could have sworn there was a 16th April deadline! I haven't had > an email with your request ( > https://issues.apache.org/jira/secure/IssueNavigator!executeAdvanced.jspa), > the dev-community gets spammed with everyone's projects proposals, and > there have been a lot. I just found yours at (for anyone else looking for > it): > > http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/tharaka/1 > > The ASF protocol is to create an issue on JIRA (link above) and then do > one on google-melange, it allows a link for searching and keeping track of > things. I think there are other reasons, but I forget them, anywho, my > sincerest apologies, I'll review it in the morning. > > Mehdi > > > On 17 April 2012 17:01, Tharaka Nayanajith Wijebandara < > tharaka...@gmail.com> wrote: > >> Hi Mehdi, >> >> >> I can't understand what actually happened. I submitted my proposal before >> the deadline (April 6:19:00 UTC) and still it's available in >> google-melange >> site. Also according to timeline mentors are supposed to review the >> proposal before the 20th April. I may be wrong, but don't have any idea >> about why you said that we have missed the deadline. Anyway I'm still >> ready >> to continue with this project. >> >> On Tue, Apr 17, 2012 at 4:31 PM, Dexter Mishra <dexter.mis...@gmail.com >> >wrote: >> >> > Well Still who ever wants want to work can work on that. It will be >> their >> > credit. GSc is not the only way. >> > >> > On Tue, Apr 17, 2012 at 12:24 PM, mehdi houshmand <med1...@gmail.com> >> > wrote: >> > >> > > Ok, well, disappointingly we've missed the deadline to submit a >> proposal >> > > and review said proposal. Thanks for all the support from everyone, >> sorry >> > > we couldn't arrange it this year. >> > > >> > > Mehdi >> > > >> > > On 10 April 2012 08:22, mehdi houshmand <med1...@gmail.com> wrote: >> > > >> > > > Hi Tharaka, >> > > > >> > > > Sorry for the slow response, my bad, I don't have any worthwhile >> excuse >> > > > other than it's holiday season over here. As for the proposal, thats >> > > fine, >> > > > I'd be happy with that proposal. If no one else has any comments on >> > this, >> > > > I'd suggest moving writing this up on google-melange and getting the >> > ball >> > > > rolling. >> > > > >> > > > Keep up the good work, >> > > > >> > > > Mehdi >> > > > >> > > > >> > > > On 5 April 2012 08:45, Tharaka Nayanajith Wijebandara < >> > > > tharaka...@gmail.com> wrote: >> > > > >> > > >> Hi, >> > > >> >> > > >> Thank you very much for your feedbacks and suggestions. >> > > >> >> > > >> After going through all of your feedbacks, I modified the proposal >> > with >> > > >> them and used some my own ideas also. Additionally, I included the >> > > >> proposed >> > > >> time line of the project and I would like to see your comments >> here. >> > > >> >> > > >> >> > > >> *Project Title* >> > > >> >> > > >> Implement PDF object inspector and enhance features of PDFReader >> GUI. >> > > >> >> > > >> >> > > >> *Abstract* >> > > >> >> > > >> PDFReader is small GUI application which comes with Apache PDFBox >> pure >> > > >> java >> > > >> PDF library. Currently it is only capable of rendering PDFs. This >> > > project >> > > >> is to redesign PDFReader GUI with a plugin framework and implement >> > some >> > > >> developer oriented features for it. Primary objectives of project >> are >> > as >> > > >> follows. >> > > >> >> > > >> (1). Design a plugin framework for the PDFReader. >> > > >> >> > > >> (2). Implement PDF basic viewing features. (Zooming, rotating, page >> > > >> thumbnail viewer) >> > > >> >> > > >> (3). Implement a PDF object inspector to display PDF object >> > properties. >> > > >> >> > > >> (4). Implement Export command for converting PDFs into different >> file >> > > >> formats (JPEG, PNG, TXT). >> > > >> >> > > >> >> > > >> >> > > >> *Project Details* >> > > >> >> > > >> * >> > > >> * >> > > >> >> > > >> PDFBox already has so many features required, but currently most of >> > them >> > > >> only available for developers and from command line. Aim of this >> > project >> > > >> is >> > > >> extending PDFReader into well designed application which allows >> access >> > > to >> > > >> some PDFBox features through GUI and integrating some developer >> > oriented >> > > >> features. However, project itself is not going to consider GUI >> access >> > to >> > > >> all available PDFBox features. Instead of that it re-architects >> > > PDFReader >> > > >> into pluggable application which developer can easily integrate >> other >> > > >> features by developing plugins. >> > > >> >> > > >> >> > > >> In that case, most important primary objective of the project is >> > > designing >> > > >> a simple plugin framework for the PDFReader. In the >> implementation, we >> > > can >> > > >> use JAR Service Provider mechanism as the base of the plugin >> > framework. >> > > >> For >> > > >> that first, it's required to identify what are pluggable classes >> which >> > > is >> > > >> going to use in the application and define interfaces for those >> > classes >> > > >> with the basic methods. Then we can implement some mechanism for >> > plugin >> > > >> developer to define what are the classes to use, and where (which >> > > >> JAR/directory) to load them from. When application loads, it will >> > check >> > > >> specific locations for plugins and create instance of those plugins >> > > using >> > > >> class loader. Here after application can use those plugin >> instances as >> > > >> components of application itself. >> > > >> >> > > >> >> > > >> Rotating and zooming functions are basic features which is >> available >> > in >> > > >> every PDF viewer and it allow user to view PDF pages from different >> > > >> perspectives. However current PDFReader is unable to provide those >> > > >> features. This project will address to this problem as part of >> second >> > > >> primary objective by implementing some menu commands for those >> > features. >> > > >> In >> > > >> the implementation, it will be matter of changing some codes in >> > > PageDrawer >> > > >> and other related class which are responsible to render PDF pages >> > using >> > > >> Java2D. >> > > >> >> > > >> >> > > >> Other interesting feature which is going to archive as another >> part of >> > > >> second objective is developing page thumbnail viewer for the >> > PDFReader. >> > > >> This will be cool GUI component for user to navigate through the >> PDF >> > > >> Document very easily. It will be image list which has small image >> of >> > the >> > > >> every PDF page of the current document with page numbers. User can >> > > simply >> > > >> click on the image to jump the particular page. This component >> will be >> > > >> developed as plugin for PDFReader and user will be able to show and >> > hide >> > > >> using the menu command. >> > > >> >> > > >> >> > > >> Third objective is implementing an object inspector for PDFReader >> and >> > it >> > > >> will be very much useful to developer who wants to debug PDF >> > documents. >> > > >> User can enable click one the any object on the PDF viewer and then >> > in a >> > > >> small window, it will show the information about particular object >> > while >> > > >> highlighting the object inside the viewer. As an example if user >> click >> > > on >> > > >> image of the PDF it will show the information such as image size, >> > color >> > > >> space, resolution and bit depth. If object is text, it will show >> the >> > > >> details about font, color space and color values. In implementation >> > this >> > > >> also will be developed as another plugin for the PDFReader. >> > > >> >> > > >> >> > > >> Export feature is last primary objective which I'm going to >> implement >> > > >> within this project and it also will be developed as several >> plugins. >> > As >> > > >> most of the available software, it's good idea to add 'Export' menu >> > item >> > > >> into file menu. This menu item will have submenu which contains >> > > different >> > > >> commands for different file formats (JPEG, PNG, TXT) and each of >> those >> > > >> commands will popup small dialog box which allows user to change >> > export >> > > >> settings such as page range, password, encoding type, file name and >> > > >> location. After change those settings, user can simply click 'OK' >> > button >> > > >> of >> > > >> the settings dialog box to start the converting process. Every >> command >> > > for >> > > >> particular file format will be developed as a plugin and in future >> > > >> developers can easily integrate commands for new file formats to >> > convert >> > > >> PDFs. >> > > >> >> > > >> >> > > >> In addition to these primary objectives there are few secondary >> > > objectives >> > > >> which I'm going to consider with this project and major one will be >> > the >> > > >> 'Add Text' feature. It will allow user to draw textbox in any >> place of >> > > the >> > > >> PDF page and type new text. There will be Small window or view will >> > > appear >> > > >> in this mode and user can change the font size, color and other >> > related >> > > >> properties. These new text objects will added to PDF page by >> inserting >> > > new >> > > >> optional content group to the page and in case user wants to >> remove or >> > > >> edit >> > > >> this newly added text, it's possible before saving PDF permanently. >> > > >> >> > > >> >> > > >> >> > > >> Add 'print' menu item, develop plugin for mange (add, edit, delete) >> > > >> bookmarks and View for the basic PDF properties will be the set of >> > > another >> > > >> secondary objectives which I'm going to look at within this >> project. >> > > Since >> > > >> most of them are already available in command line, it will be >> easy to >> > > add >> > > >> those features as plugins for GUI if there will be enough time >> after >> > > >> achieving primary objectives. >> > > >> >> > > >> >> > > >> >> > > >> *Benefits to PDFBox* >> > > >> >> > > >> Most of the modern code libraries are delivered with GUI >> application >> > to >> > > >> test the features before studying API. However, features of PDFBox >> are >> > > >> mostly accessible through the command line interface and it >> > discourages >> > > >> users and new developers from using PDFBox. By having GUI for >> access >> > > these >> > > >> features any user can simply use them and developer can test the >> > > features >> > > >> without going through the code. Since designing plugin framework >> is a >> > > >> primary objective of the project, developers will be able to easily >> > > append >> > > >> new features for GUI in future. >> > > >> >> > > >> PDF object inspector will be great tool for developer and it will >> make >> > > >> easy >> > > >> debugging PDFs. Furthermore, it will help to new developers to >> study >> > the >> > > >> structure of PDF file and understanding PDFBox core >> functionalities. >> > > >> >> > > >> >> > > >> >> > > >> *Project Timeline and Deliverables* >> > > >> >> > > >> *May 21 - May 28* >> > > >> >> > > >> · Read and understand the current PDFReader Code >> > > >> >> > > >> · Create basic design for plugin framework >> > > >> >> > > >> *May 28 - Jun 08* >> > > >> >> > > >> Discuss plugin framework design with community >> > > >> >> > > >> *Jun 08 - Jun 18* >> > > >> >> > > >> Implement plugin framework >> > > >> >> > > >> *Jun 18 - Jun 25* >> > > >> >> > > >> Code some basic examples and test cases for plugin >> > > >> framework >> > > >> >> > > >> *Jun 25 - Jul 02* >> > > >> >> > > >> Implement basic zooming and rotating features >> > > >> >> > > >> *Jul 02 - Jul 09* >> > > >> >> > > >> Implement page thumbnail viewer >> > > >> >> > > >> *Jul 09 - Jul 11* >> > > >> >> > > >> Study and Create design for Object Inspector >> > > >> >> > > >> *Jul 12 - Jul 13* >> > > >> >> > > >> Submit mid-term evaluation >> > > >> >> > > >> *Jul 13 - Jul 23* >> > > >> >> > > >> Implement PDF Object Inspector >> > > >> >> > > >> *Jul 23 - Jul 30* >> > > >> >> > > >> Implement export PDF feature >> > > >> >> > > >> *Jul 30 - Aug 06* >> > > >> >> > > >> Implement some secondary objectives >> > > >> >> > > >> *Aug 06 - Aug 13* >> > > >> >> > > >> Test, debug the code and complete documentation >> > > >> >> > > >> *Aug 13 - Aug 20* >> > > >> >> > > >> Submit the design and conclusion >> > > >> >> > > >> >> > > >> >> > > >> *Exams and other commitments* >> > > >> >> > > >> I have semester end examination of University from 28th May to 8th >> > June. >> > > >> After that I can work fulltime (40+ hours per week) on this project >> > > until >> > > >> end. >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> On Wed, Apr 4, 2012 at 12:44 PM, mehdi houshmand < >> med1...@gmail.com> >> > > >> wrote: >> > > >> >> > > >> > > >> > > >> > > >> > > >> > > <snip> >> > > >> > > How about just implementing the "add text" feature? That >> should be >> > > >> > > relatively easy. Add a new optional content group to the page >> and >> > > add >> > > >> > > all text as part of that. That makes this a cool tool to fill >> out >> > > >> forms >> > > >> > > that were scanned, or that are not AcroForms. I fully agree >> that >> > the >> > > >> > > replace feature is going to be tough, relatively speaking. >> > > >> > > >> > > >> > >> > > >> > Yeah, my bad here, I shouldn't have missed it but I'm inclined to >> > > agree >> > > >> > with Andreas. If we implemented deleting text, it could get >> pretty >> > > >> tricksy, >> > > >> > especially when CID coded fonts are used. This is a perfect >> > candidate >> > > >> of a >> > > >> > secondary objective. >> > > >> > >> > > >> > >> > > >> > > I wouldn't put the bar too high for this project. Get some >> > > low-hanging >> > > >> > > fruit that adds some cool and useful functionality to the GUI. >> > More >> > > >> can >> > > >> > > always be added later. >> > > >> > > >> > > >> > > More ideas for low-hanging fruit (as additional tasks if you >> end >> > up >> > > >> with >> > > >> > > spare time after the main objectives above): >> > > >> > > - Allow the "Save As..." menu item not only save a modified >> PDF, >> > but >> > > >> > > also bitmaps (PNG, JPEG), plain text and HTML (i.e. from text >> > > >> > extraction). >> > > >> > > That would make a plug-in for each output format, so we could >> add >> > > >> others >> > > >> > > later. >> > > >> > > - Add a "Print..." menu item. >> > > >> > > - Integrate preflight as a plug-in into the application. >> > > >> > > - Split, concatenate, page reorder, page rotation (not just >> > viewing >> > > >> but >> > > >> > > modifying the PDF), overlay/underlay. >> > > >> > > - Menu item: "Create PDF from image(s)" and "Add page from >> image". >> > > >> > > - A dialog/view listing the fonts in the PDF. >> > > >> > > - A dialog/view for the basic PDF properties like in Acrobat's >> > > >> > > Properties Dialog. >> > > >> > > - A dialog/view listing all images with their properties and >> > > effective >> > > >> > > resolution in the PDF. >> > > >> > > - I could go on and on... :-) I'm seeing a serious itch going >> to >> > > catch >> > > >> > > me once you've set up a good base for that GUI. I'm so looking >> > > forward >> > > >> > > to this! >> > > >> > > >> > > >> > > Anyway, points 1 and 2 will be the most important tasks because >> > they >> > > >> > > provide the basis for easily adding additional functionality. >> > > >> > > >> > > >> > >> > > >> > Yeah, those look like good tasks, maybe we'll add the two you >> > suggest >> > > to >> > > >> > the primary objectives and the rest into secondary or even >> tertiary >> > > >> > objectives. It's good to see you getting geared up for this >> > Jeremias, >> > > >> we're >> > > >> > no doubt going to call on your expertise ;-). >> > > >> > >> > > >> > Thanks for the support >> > > >> > >> > > >> > Mehdi >> > > >> > >> > > >> >> > > >> >> > > >> >> > > >> -- >> > > >> Thanks & Regards, >> > > >> Tharaka Wijebandara, >> > > >> Faculty of Information Technology, >> > > >> University of Moratuwa. >> > > >> >> > > > >> > > > >> > > >> > >> >> >> >> -- >> Thanks & Regards, >> Tharaka Wijebandara, >> Faculty of Information Technology, >> University of Moratuwa. >> > >