http://drupal.org/sandbox/chilic/1295836

MASHA (short for Mark & Share) is a JavaScript utility allowing you to mark interesting parts of web page content and share it. Just select text (paragraphs, sentences, words) on MASHA powered page and copy generated URL from location bar.

Demo site: http://mashajs.com

Comments

andypost’s picture

Category: support » task

+1 to full project but needs code review

klausi’s picture

Status: Needs review » Needs work
chilic’s picture

Thanks for remarks. This information is very useful for me.

misc’s picture

@chilic has been contacted to ask if the application is abandoned.

After ten weeks with a status of needs work: the applicant may be contacted by a reviewer to determine whether the application was indeed abandoned. The action taken by the reviewer should be documented in the project application issue.

http://drupal.org/node/894256

chilic’s picture

Sorry, this aplication be complited in this week.

klausi’s picture

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

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

chilic’s picture

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

Please review code for version 6.x-1.x

chilic’s picture

Status: Needs work » Needs review
monymirza’s picture

Status: Needs review » Needs work
chilic’s picture

@monymirza
Thank you,
Please see the branch 6.x-1.x
http://ventral.org/pareview/httpgitdrupalorgsandboxchilic1295836git-6x-1x

P.S. branch 7.x-1.x need work.

chilic’s picture

Status: Needs work » Needs review
Aleksey Zubko’s picture

NIce js library.

But I can't get the module to work.

Coder's review:

masha.module

Line 15: Functions must not contain multiple empty lines in a row; found 2 empty lines [sniffer_squiz_whitespace_superfluouswhitespace_emptylines]Line 29: Comments may not appear after statements. [sniffer_squiz_commenting_poststatementcomment_found]
    '#tag' => 'script', // The #tag is the html tag - <link />

masha.js

File: @file block missing (Drupal Docs) [comment_docblock_file]

Caught by me:

  1. There is no "masha" directory in the archive I've downloaded from http://mashajs.com/#download. Anyway I ain't found any place in the code where library been loaded.
  2. masha.module:33 Looks like you trying to reach missing file ierange.js, that you have removed as a 3rd party after @klausi's remark.
  3. hook_page_alter() You should keep all your HTML in a theme functions, so other developers will be able to easily override theme.
  4. masha.module:46 upmsg_arrow.png is missing, as far as it's a masha library's part.
  5. masha.module:46 There is russian text that need to be wrapped into t() function.
  6. Also I think that you should to preset all default values for the variables you will use in hook_install().
chilic’s picture

Thanks for review.
Sorry, now complite only 6.x-1.x branch.

7.x-1.x under active development.

klausi’s picture

We are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)

chilic’s picture

Ok :-)

piouPiouM’s picture

Hello,

Here, a manual review for the branch 6.x-1.x:

  1. Please remove the .gitignore file who is specific to your development environment. You may set these configuration globally, in ~/.gitignore.
  2. In masha.info:
    1. Order to be consistent, write the module name in uppercase as you do in the description.
    2. If you do not know which package to display the module does not provide information (drupal.by here). It will then be grouped into the "Others" category.
  3. The hook_header() does not exists in Drupal.
  4. You should use a custom theme function to set the base HTML wrapper for MASHA message.
  5. In masha.js, the best secure way to use jQuery and avoid conflicts with another librairies is to encapsulate
    your code in a IIFE (Immediately-Invoked Function Expression) (see JavaScript should be compatible with libraries other than jQuery), like this:
    (function ($) {
      if (Drupal.jsEnabled){
        $(document).ready(function(){
          function init_masha(){
            MaSha.instance = new MaSha(Drupal.settings.masha);
          }
    
          if (window.addEventListener){
            window.addEventListener('load', init_masha);
          }
          else {
            window.attachEvent('onload', init_masha);
          }
        });
     }
    })(jQuery);
    
chilic’s picture

@piouPiouM
Thanks for review.

chilic’s picture

Status: Needs review » Needs work
PA robot’s picture

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

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

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