Drupal Sphinx search module enables the Sphinx-powered search with high-performance
and more relevant search results.

Features:
* Google-like search syntax;
* High searching performance;
* Improved search result relevance;
* Supports friendly URLs SEO settings;
* Supports morphological word forms dictionaries;
* Supports stemming (English, Russian and Czech are built-in);
* Supports stopwords;
* Supports both single-byte encodings and UTF-8;
* And many other Sphinx features

Requirements:
* Sphinx Search 0.9.9 or higher
* Drupal 7.x

Project sandbox link: https://drupal.org/sandbox/ivinco/1197408
Project source code: git clone --branch master ivinco@git.drupal.org:sandbox/ivinco/1197408.git sphinx_search_for_drupal

Comments

PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpgitdrupalorgsandboxivinco1197408git

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

ivinco’s picture

Hello,

We have fixed everything according to this page: http://pareview.sh/pareview/httpgitdrupalorgsandboxivinco1197408git

In fact there are few things robot still shows as wrong but those things are not.

Please review when you have a chance. Thanks!

ivinco’s picture

Priority: Normal » Major
Status: Needs work » Needs review

Hello,

Is there any chance you guys can look into our plugin soon?

Thanks!

nitesh sethia’s picture

Hey,

Switch your branch from master to something like 7.x. Also don't forget to delete the master branch.

ivinco’s picture

Hello Nitesh Sethia,

Thanks! We've moved our branch to 7.x-1.0.

dieuwe’s picture

Priority: Major » Normal
Status: Needs review » Needs work

Hello,

There are still some issues with you code that are picked up by the automated code reviewers.

Firstly, your working branch should be 7.x-1.x and not 7.x-1.0. Specific version numbers should be release tags and not branches. See: https://drupal.org/node/1015226

Secondly, all class names should be prefixed with your module name, so in lib/sphinxapi.php on line 445 you should probably rename SphinxClient to SphinxdrupalClient and rename all instances of it throughout your code.

There are also 2 undefined variable warnings in sphinxdrupal.pages.inc line 242 ($search_results) and line 300 ($search_options)

Report here:
http://pareview.sh/pareview/httpgitdrupalorgsandboxivinco1197408git

ivinco’s picture

Status: Needs work » Needs review

Hello,

Thanks! We thought renaming the Libraray file would be unappropriate but OK, we've fixed everything that autoscript has found.

Could you please review the latest code?

dieuwe’s picture

Ah, yes, I see now that it's actually a 3rd party GPL library. I don't actually think you need to rename it in that case, sorry about that.

Manual examination of .module file:

1. Comment blocks for Drupal hooks should start with:

/**
* Implements hook_HOOK_NAME().
*/

I don't believe you are required to use @param and @return comments for hooks, but am not sure if those are actually discouraged or forbidden.


2. Don't require_once your class file.

This should be placed in your module.info file.
See: https://drupal.org/node/542202#files


3. Don't require_once your pages.inc file.

In your hook_menu you can use the 'file' option with a path to the specified file.
See: https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...

In your hook_block_view(), just use module_load_include('inc', 'sphinxdrupal', 'sphinxdrupal.admin'); to load the file so that drupal_get_form can find it.
See: https://api.drupal.org/api/drupal/includes!module.inc/function/module_lo...

4. Move sphinxdrupal_admin() and sphinxdrupal_admin_validate() to an admin.inc file.

See my 3rd point for modifying the corresponding menu entry.

Missing sphinxdrupal.install:

You use a number of variables in your module, but you are missing a hook_uninstall() to remove those when the module is uninstalled. See: https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...

Similar modules:

Here is a list of Sphinx modules that I came across:
Sphinx Search - https://drupal.org/project/sphinxsearch
Sphinx - https://drupal.org/project/sphinx
Search API Sphinx - https://drupal.org/project/search_api_sphinx
Sphinx API - https://drupal.org/project/sphinxapi

I feel like that is a lot of module duplication, and while I understand that none of those seem to have functional Drupal 7 versions, could you explain how else your module is different? (The person who is going to grant you full project access will probably want a solid answer to this question.)

I hope this post is clear enough, if you disagree with any of my suggested improvements, please let me know.

dieuwe’s picture

Status: Needs review » Needs work
ivinco’s picture

Status: Needs work » Needs review

Hello,

We think that we've made proper changes to the code as you suggested. Could you please review?

About your question:
> could you explain how else your module is different?

First of all, our advanced search module is supposed to be actively maintained based on user's feedback. We have done similar modules for other projects using Sphinx Search Engine (SSE) and we have succeeded in getting them better in respect to user's feedback for about 5 years at least.
Second of all our module includes Sphinx API out of the box so it's not required to install another modules for the same purpose as the latest updated modules does (Search API Sphinx).

Thanks!

mitchell’s picture

@ivinco: What do you think about reviving the sphinxsearch module and making your code the D7 branch?

ivinco’s picture

Hi mitchell,

1. Are you asking us to work on another project and make it compatible with
Drupal 7 instead of completing work on our plugin?

2. We've done a lot of work to make our plugin compatible with the coding
standards - is there something else that's stopping you now from approving
our plugin?

Thanks!

mitchell’s picture

1. I'm suggesting that it may be worthwhile to ask the maintainer of sphinxsearch if he intends to create a 7.x release, and if not to add you as a maintainer so you can find and replace sphinxdrupal with sphinxsearch and push that as the 7.x branch. The nice thing about that is the namespace is a perfect match for the integration, which helps discoverability, and there are already users there who may be able to upgrade.

2. It looks good to me. If you're opposed to #1, then I'll go ahead and approve it, but I think it's worth considering for building a user base.

Cheers!

ivinco’s picture

Hi Mitchell,

1. Unfotunatly we don't have budget to maintain someone's module and it's up to you to ask original maintainer to upgrade it to 7.x.

2. Well, one of our goals was to increase a user base for our module in fact it's not that efficient when the one is not public. If it's possible we would like to ask you to approve our module.

Thanks for you help!

rolodmonkey’s picture

Title: Sphinx Search for Drupal 7.x » [D7] Sphinx Search for Drupal

If I am reading the request correctly, they are not asking you to maintain someone else's module. They are suggesting that it might be a good idea to make your module the D7 version of the existing module. You would be a co-maintainer, working on the D7 branch, and the other maintainer could still work on the D6 branch.

This would also achieve your other goal, since it would instantly provide you with a namespace that is already visible and discovered.

chi’s picture

Maybe it's worth to take care about sphinx module. It has shorter name than sphinxsearch and it also doesn't have D7 version.

mikran’s picture

Status: Needs review » Needs work

I agree with Chi. The Sphinx module would be really good name for this.

Duplicate modules for Sphinx are really bad already.

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.