m2Serve connector lets you connect with the m2Serve studio. m2Serve is a drag-and-drop mobile app builder to build and deploy native apps, mobile web (HTML5) and hybrid apps for smartphones and tablets – iOS, Android, BlackBerry, Windows

This module allows you to connect any Drupal 7.x site with the m2serve Studio. Once connected, you can directly use all the content types, webservices, views available on your website to build the mobile application. On m2Serve studio you will be able to directly able to create the screens for every content type with just few clicks.

Project Page -- https://drupal.org/sandbox/prateekjain/2112189

To clone the repository -- git clone --branch 7.x-1.x prateekjain@git.drupal.org:sandbox/prateekjain/2112189.git

Manual reviews of other projects -

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/httpgitdrupalorgsandboxprateekjain2112189git

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.

swarad07’s picture

Looks good except few issues with variable names, class names and function names. That should be fixed. I guess 7.x-1.x is your branch, the bot scanned the master with some old code.

URL: http://pareview.sh/pareview/httpgitdrupalorgsandboxprateekjain2112189git...

Also you can delete maser branch, once you set the default branch as 7.x-1.x

swarad07’s picture

Manual Review:

  • $views = views_get_all_views(); in m2serve_services_views_list.resource.inc line no 16. -- This assumes that views module is installed and enabled. The module's info file doesn't mention views as a dependency. Your module may work without views, but you should Ideally check for views module before using it APIs, or let the user know that he needs to install views in order to use the full capability of the module views_get_all_views. See: https://api.drupal.org/api/drupal/includes!module.inc/function/module_ex...
prateekjain’s picture

Status: Needs work » Needs review

Thanks swarad07 !!

Fixed the class names, function names and variables as well. There are few warnings for unused variable. Is that fine?

Deleted the "master" branch and promoted 7.x-1.x as the default branch.

Also added the dependency for views module in m2serve_services_views_list.resource.inc.

kscheirer’s picture

Priority: Major » Normal

Major is only for issues that haven't been reviewed in 2 weeks, see https://drupal.org/node/539608#application-priorities.

hussainweb’s picture

Status: Needs review » Needs work

Apart from the function naming issues outlined in the automated report, I found a couple of other things you can consider:

  • The switch-case block at m2serve_connector.module:47 can be refactored to use m2serve_connector_get_request_type. I know they are not exactly same, but consider it if these two blocks are semantically the same.
  • The test case appears to be a unit test but it inherits from DrupalWebTestCase. Consider extending DrupalUnitTestCase instead.
  • There seems to be a few instances of commented code. It is not clear why they were removed. It would be a good idea if you can mark why you have commented code and in what event might someone want to uncomment it.
  • There are multiple spelling and grammatical mistakes in README.txt. It is still readable but it could use some cleaning up.
prateekjain’s picture

Status: Needs work » Fixed

Thanks hussainweb !!

#1 - m2serve_connector_get_request_type method is more generic and we have kept it so that for future development we use it. On the other hand, switch-case block at m2serve_connector.module:47 is specific to that condition as you mentioned. I am not changing it for now, since we will need the generic method in future.
#2 - For now we would like to stick with DrupalWebTestCase. Going forward, we can update if any requirement is there.
#3 - I have tried to do it for most of the code. Let me know in case if any specific commented code is unclear.
#4 - Fixed and updated the README.txt.

prateekjain’s picture

Status: Fixed » Needs review

Changing the status to "needs review".

hussainweb’s picture

Status: Needs review » Needs work

Accepted for #1 and #2. As far as #2 is concerned, I just feel unit test cases are more appropriate, but if these are the only tests that can be unit tested in near future, then fine.

For #3, I mean code that has been commented out, not comments for code. I saw this in the test file (which seems to be for future use) and a variable $view_display_count in m2serve_services_views_list.resource.inc and another such line in m2serve_connector_resource.inc.

For #4: README.txt is now understandable but there are a few minor punctuation and grammatical mistakes. For example:

  • ... build native, hybrid and mobile web apps very rapid for Drupal solutions.
  • Other places where lack of punctuation makes reading a little bit difficult.
  • No periods after sentences in bullet points.
  • Installation section should also describe how to install the module (just link to the page on d.o). This is just for completeness.

Lastly, I still see the issues in the automated report are not fixed. Particularly, functions not prefixed with module names. I know it is unlikely that there would be a clash on that name but it is still for the better. Further, there are some unused variables, which can be ignored but $results is undefined, but used in m2serve_connector_resource.inc:151. I think this should be fixed.

hussainweb’s picture

Also, similar to what is mentioned by @swarad07 in #3, the m2serve_connector.info also needs to list views as dependency. views_get_all_views is being used in m2serve_connector.admin.inc. I know you have an indirect dependency on views but here, you are directly using a views function and hence, you should explicitly list it as a dependency.

prateekjain’s picture

Added the dependency on views module..

prateekjain’s picture

Thanks hussainweb !!

For #3 - Made few more changes. I have tried to explain the commented code with some text, so its easy to understand what commented code means and if anyone needs to use they can use it according to their need.

For #4 - I have made few more changes. Added the 'period's. Couple of spelling and grammatical mistakes are rectified. On installation section, I have added the required link. Let me know if you find anything still incomplete or wrong.

Defined and initialized the $results variable.

'm2serve_services_views_list' is the sub-module of m2serve_connector and I have named the functions based on the 'm2serve_services_views_list' module name. Let me know if that's not the convention, which name I should use?

hussainweb’s picture

Status: Needs work » Reviewed & tested by the community

I think we are good to go. It seems that the function name prefix error was a false positive.

prateekjain’s picture

Can anyone please help me with the permission to publish this to full project? It has been over a month this project reached the "RTBC" status.

Any help will be highly appreciated.

kscheirer’s picture

Priority: Normal » Major
Issue summary: View changes

No further action is required, but the best thing you can do is get a Review Bonus by reviewing other applications. That will get you to the top of the list of projects to get reviewed (and hopefully approved). Only manual reviews count, just using http://pareview.sh is not enough.

I'm also upping the priority to major since it's been more than 2 weeks.

prateekjain’s picture

Issue summary: View changes
prateekjain’s picture

Issue summary: View changes
prateekjain’s picture

Issue summary: View changes
prateekjain’s picture

Issue summary: View changes
prateekjain’s picture

Issue tags: +PAreview: review bonus
prateekjain’s picture

Issue summary: View changes
klausi’s picture

Issue summary: View changes
Issue tags: -PAreview: review bonus

Removing review bonus tag, you have not done all manual reviews, you just posted the output of an automated review tool. Make sure to read through the source code of the other projects, as requested on the review bonus page.

prateekjain’s picture

Hi Klausi,

I reviewed the other projects manually by looking into the code but anyways I will do it again for few other projects.

Thanks

prateekjain’s picture

Issue summary: View changes
prateekjain’s picture

Issue tags: +PAreview: review bonus

Added one more review. Will add more soon.

Adding back the 'PAReview: review bonus' tag.

swarad07’s picture

Dear klausi,

I am the co-maintainer/developer of the module. Hoping this helps to speed up the process, I am listing some of my manual reviews as well,

https://drupal.org/comment/8262523#comment-8262523
https://drupal.org/node/2130235#comment-8262543

Please let us know anything else we can do to make it a full project.

Cheers,
Swara

prateekjain’s picture

Priority: Major » Critical
Issue summary: View changes

Adding co-maintainer reviews link and changing the priority to critical since it has been more than 4 weeks.

klausi’s picture

Status: Reviewed & tested by the community » Fixed

Review of the 7.x-1.x branch:

  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards).
    
    FILE: /home/klausi/pareview_temp/m2serve_connector.module
    --------------------------------------------------------------------------------
    FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
    --------------------------------------------------------------------------------
     206 | ERROR | Invalid @return data type, expected object but found stdClass
    --------------------------------------------------------------------------------
    
  • DrupalPractice has found some issues with your code, but could be false positives.
    
    FILE: /home/klausi/pareview_temp/m2serve_connector.module
    --------------------------------------------------------------------------------
    FOUND 0 ERROR(S) AND 2 WARNING(S) AFFECTING 2 LINE(S)
    --------------------------------------------------------------------------------
     613 | WARNING | Are you accessing field values here? Then you should use
         |         | LANGUAGE_NONE instead of 'und'
     616 | WARNING | Are you accessing field values here? Then you should use
         |         | LANGUAGE_NONE instead of 'und'
    --------------------------------------------------------------------------------
    
    
    FILE: /home/klausi/pareview_temp/m2serve_connector.admin.inc
    --------------------------------------------------------------------------------
    FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S)
    --------------------------------------------------------------------------------
     194 | WARNING | Unused variable $key.
    --------------------------------------------------------------------------------
    
    
    FILE: /home/klausi/pareview_temp/resources/m2serve_connector_resource.inc
    --------------------------------------------------------------------------------
    FOUND 0 ERROR(S) AND 2 WARNING(S) AFFECTING 2 LINE(S)
    --------------------------------------------------------------------------------
      33 | WARNING | Unused variable $key.
     175 | WARNING | Unused variable $arr.
    --------------------------------------------------------------------------------
    

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. module name: why the long "m2serve_connector" and not simply "m2serve"?
  2. _m2serve_connector_resource_access(): looks broken, what about the empty user_access() calls?
  3. m2serve_connector.test: do not use t() for assertion messages, that only creates overhead for translators.

But that are not application blockers, so ...

Thanks for your contribution, prateekjain!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

prateekjain’s picture

Thanks Klausi !!

I have fixed the errors and warnings except one which is false positive.

#1 - 'm2serve' is a drag and drop mobile app builder and this module helps in connecting drupal website with it and helps in creating mobile app for the drupal website. Hence the name.

#2 - Fixed
#3 - Fixed

Thanks a lot !!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.