Hello, My name is Nihal. I am a 4th year, CSE undergraduate student at National Institute of Technology Surathkal (NITK). I am proficient in C/C++/Java/PHP languages. Looking through GSOC organizations and projects. I came across Xapian. I have looked through the project list for GSOC'17. Improving Xapian's PHP Bindings project looked right for me. I have been reading up on the resources provided. If i'm not wrong, there are two parts of the project. - Reimplementing SWIG's PHP backend using PHP/Zend C API. (I am looking into the PHP/Zend C API, if there are any more resources that I can read on this) - Making the binding look more PHP like. (With the double floating point argument problem and PHP namespaces) Before jumping into this project, I'd like to get to know the code base. I have built the project and was looking at ticket #159, should be able to introspect the query object. It'll be great If anyone could help me start up with this. And would also like to know if IRC is best for these project related discussions or the mailing-list. I know this doesn't ease up on the project at hand, but I want to get to know the code base a little. Thank you Nihal -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xapian.org/pipermail/xapian-devel/attachments/20170217/caf233a3/attachment.html>
Hi Nihal, On Fri, Feb 17, 2017 at 04:20:15PM +0530, Nihal N wrote:> If i'm not wrong, there are two parts of the project.The idea lists 3 parts - there's also: | The final part would be updating Getting Started with Xapian for the | changes, and adding PHP versions of the example code which hasn't yet | been translated to PHP. The ideas are really just that - ideas - and it's OK to adapt them and add or remove parts as you turn the idea into your proposal, though you'll need to convince us that what you propose is of a suitable scope for the time available given your skills and experience, and that it's a sensible combination of thinks to work on. We expect that the projects should include test coverage and appropriate documentation, and updating the Getting Started guide fulfils the latter nicely.> - Reimplementing SWIG's PHP backend using PHP/Zend C API. (I am looking > into the PHP/Zend C API, if there are any more resources that I can read on > this)The project idea links to some resources. The first was written before PHP7 and PHP7 made some changes to this API, so it is now wrong in the details, but as an overview it's still useful. I don't know of a good direct equivalent for PHP7 (if you find one, do let us know).> - Making the binding look more PHP like. (With the double floating point > argument problem and PHP namespaces)Note those are just some examples of the sort of changes. I'd suggest investigating the current PHP API for Xapian with a critical eye to identify places where it doesn't look natural to someone used to coding in PHP.> Before jumping into this project, I'd like to get to know the code base. I > have built the project and was looking at ticket #159, should be able to > introspect the query object. It'll be great If anyone could help me start > up with this.I'd suggest looking at the query introspection methods that exist currently and how they're implemented as a first step.> And would also like to know if IRC is best for these project > related discussions or the mailing-list. I know this doesn't ease up on the > project at hand, but I want to get to know the code base a little.You can ask questions on IRC or the mailing list - which is best depends on what some of questions you're asking (IRC is good for short questions and interaction; mailing list better if you need to describe a complex situation in detail) and whether you're able to stay on IRC long enough to get an answer - we aren't all at our computers 24 hours a day, so you may have to wait several hours until somebody who can answer is around. Cheers, Olly
On Tue, Feb 21, 2017 at 7:51 AM, Olly Betts <olly at survex.com> wrote:> > Hi Nihal, >Hi Olly, Sorry for the delayed reply.> > The idea lists 3 parts - there's also: > > > | The final part would be updating Getting Started with Xapian for the > > | changes, and adding PHP versions of the example code which hasn't yet > > | been translated to PHP. >Yes, definitely testing and documentation also are a major part of the project. And also the example code translations for which haven't been translated yet.> > > The project idea links to some resources. The first was written before > > PHP7 and PHP7 made some changes to this API, so it is now wrong in the > > details, but as an overview it's still useful. I don't know of a good > > direct equivalent for PHP7 (if you find one, do let us know). > > I haven't found a direct equivalent for php7. But I have found some > resourceswhich in addition to the first link can be used to successfully used to>understand the difference and write a php7 extension. LINK 1 <https://github.com/beberlei/whitewashing.de/blob/master/drafts/porting_extension_to_php7.rst> (A example upgrade of extension of php5 to php7, changes in Zend API calls can be looked into and also the potential problems faced.) LINK 2 <http://php.net/manual/en/migration70.php> (php7 migration guide for detailed info on the changes)> > > I'd suggest looking at the query introspection methods that exist > > currently and how they're implemented as a first step. >Yes, I've looked into the Query::get_terms_being function which is mentioned in the ticket history. If i am right, the query introspection is to return the operator performed at the top-level nodes and return few parameters like term, wqf, and position for leaf nodes. Can I get more assistance regarding this? Thanks, Nihal -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xapian.org/pipermail/xapian-devel/attachments/20170303/65a4c44a/attachment.html>