Overview:
Fluidproject's UI Options provides accessibility options for users to modify a page's font size, line height, font style, contrast, and link style. The changes are retained using cookies.

This module integrates the library into Drupal's non-admin pages. I couldn't find any other modules that integrate this framework or similar accessibility modules.

Demo:
http://fluidproject.org

Requirements:

  • Libraries API
  • Fluidproject's Infusion /src/components, lib, and framework folders copied to sites/all/libraries/fluid https://github.com/fluid-project/infusion
  • jQuery version 1.7 or higher. You can use the jquery_update module to do this

Limitations:

  • Internationalization is not done through the Drupal interface but through JSON files within the module folder. More on this in the README.
  • It has been tested with the most popular themes successfully. Some themes (i.e. Bootstrap) need additional CSS in order for font-sizing or line heights to work (setting percentage or EM values).
  • The contrast settings do not work for elements that use CSS gradients.
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/ashopin/2385899.git fluidproject_ui_options

https://www.drupal.org/sandbox/ashopin/2385899

Reviewed the following projects:

  1. https://www.drupal.org/node/2372113#comment-9802667
  2. https://www.drupal.org/node/2395279#comment-9800039
  3. https://www.drupal.org/node/2432943#comment-9658429
  4. https://www.drupal.org/node/2442479#comment-9803577
  5. https://www.drupal.org/node/2369009#comment-9803491
CommentFileSizeAuthor
#17 coder.txt38.19 KBnaveenvalecha
Support from Acquia helps fund testing for Drupal Acquia logo

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

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.

ashopin’s picture

Status: Needs work » Needs review

I have addressed most of the issues.

Thanks.

Oleks Iv’s picture

Hi, ashopin

Automated Review

Here there are still errors and warnings http://pareview.sh/pareview/httpgitdrupalorgsandboxashopin2385899git

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
No: Does not follow the licensing requirements.
Pay attention on point 6.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
No: Does not follow the guidelines for in-project documentation and/or the README Template.
Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements.
Coding style & Drupal API usage
  1. (*) Don't put a lot of html code right into the #markup at fluidproject_ui_options_page_build(&$page).
    Use hook_theme() + template file for it.
  2. (*) Don't attach js and css for all site pages. Do it only for pages where it really should be used.
  3. Please use $page['#attached']['js'][] and $page['#attached']['css'][] instead of drupal_add_js() and drupal_add_css()
  4. (+) Follow JavaScript coding standards and fix issues in your js.
  5. (+) Follow comment standards and fix your comments.
  6. (*) Remove message folder with .json files and recreate it with hook_menu() with json callbacks.

The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

Oleks Iv’s picture

Status: Needs review » Needs work
ashopin’s picture

Status: Needs work » Needs review

@alexsergivan

Thank you for the detailed review.

Automated Review: I addressed the issues the found that I could.

Licensing: Is this referring to the 'Enactors.css'? That is part of the 3rd party framework I'm integrating, it is minified because that's how it's supplied.

README: I rewrote it as per one of the example layouts provided.

  1. I moved the HTML out of #markup into a template file and am using hook_theme().
  2. There is a condition that only loads the files for non-admin pages, which is the intended functionality.
  3. I've used #attached for both.
  4. Which issues?
  5. Which comments?
  6. The JSON structure is a requirement of the 3rd party framework.

Thanks again.

prakhyatgailani’s picture

I have followed instructions enabled the module and after creating a basic page, I am unable to to find the "+" as explained in the top left corner.
Moreover in the second step after hitting the URL "https://github.com/fluid-project/infusion/tree/" , getting the 404 error.

prakhyatgailani’s picture

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

Status: Needs work » Closed (duplicate)
Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://www.drupal.org/node/2433209

Project 2: https://www.drupal.org/node/2433171

Project 3: https://www.drupal.org/node/2395035

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

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

ashopin’s picture

Status: Closed (duplicate) » Needs review
ashopin’s picture

Issue summary: View changes
ashopin’s picture

@Prakhyat Gailani

I've updated the README so that that link works. I installed the module from scratch and realized that the jQuery version needs to be at least 1.7. I updated the project page and the README to reflect this.

Thanks.

PA robot’s picture

Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://www.drupal.org/node/2395035

Project 2: https://www.drupal.org/node/2433209

Project 3: https://www.drupal.org/node/2433171

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

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

ashopin’s picture

Closed my other submissions, misunderstood the "Multiple Applications" bot.

TheSteveLavigne’s picture

Status: Needs review » Reviewed & tested by the community
ashopin’s picture

Issue summary: View changes
ashopin’s picture

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

Status: Reviewed & tested by the community » Needs work
Issue tags: -PAreview: review bonus
FileSize
38.19 KB

Automated Review :
Need to fix these. http://pareview.sh/pareview/httpgitdrupalorgsandboxashopin2385899git
Also file attached.

Manual Review :

  1. As specified on the project page that the module needs jquery 1.7+ So add a hard dependency of jquery_update module in the fluidproject_ui.info file.
  2. load.js : Use drupal javascript framework for the javascript.See https://www.drupal.org/node/304258 . Don't use the hard codeed path sites/all/modules/fluid/messages/,.... in the file.Pass the paths of module path into javascript by passing the values.
  3. hook_help is missing in module.It would be nice to add it.
  4. (*)fluidproject_ui_options_page_build : If the region page_top will not be in the theme then it will throw the error.So there is need conditional check ? Please add a comment.

Removing review bonus.Please get another review bonus for 2nd review.

ashopin’s picture

Status: Needs work » Needs review

Thank you for the review.

  1. I've added the hard dependency.
  2. I've updated the JS framework as recommended.
  3. I will add hook_help at a future date.
  4. I have tested with the top most used themes and have not received any errors. It adds the region.
naveenvalecha’s picture

Assigned: Unassigned » er.pushpinderrana
  1. Fix all the errors reported via pareview http://pareview.sh/pareview/httpgitdrupalorgsandboxashopin2385899git
  2. Git default branch is not set, see the documentation on setting a default branch.
  3. Remove the files .DS_Store from the module
  4. fluidproject_ui_options_preprocess_page : You are adding js/css files using drupal_add_js/drupal_add_css rather use #attached to add the JS/CSS file with page rendered array.It will give some performance hits as well.

The above are not blockers.
Assigning to er.pushpinderrana for next review if he has time.

ashopin’s picture

Thank you again!

  1. The remaining errors are due to the CSS file included with the 3rd party. I cannot change their files. I am speaking with the developers of the Fluid module to update their framework structure so that I can move it to the libraries instead of in the module.
  2. Done
  3. Done
  4. I am doing that, I don't think you have the latest version $page['page_top']['fluid']['#attached']['js']
ashopin’s picture

Issue summary: View changes
ashopin’s picture

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

Assigned: er.pushpinderrana » Unassigned
Status: Needs review » Fixed

manual review:

  1. fluidproject_ui_options_preprocess_page(): why do you need this function when have fluidproject_ui_options_page_build() anyway where you can add your JS? Please add a comment or move the JS to fluidproject_ui_options_page_build().
  2. load.js: you should use 2 spaces for indentation.
  3. Enactors.css: where does that come from? Is that third party CSS that should also be in libraries?
  4. fluidproject_ui_options_page_build(): don't call theme() here, just use the #theme key in the render array to place your stuff. See https://www.drupal.org/node/930760
  5. README.txt: "Major rewrite for Drupal 6 by Peter Wolanin (pwolanin).": erm, really?

Since this was RTBC already and Naveen also thinks it's fine now I think we can directly approve, so ...

Thanks for your contribution, ashopin!

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.

ashopin’s picture

Thank you, klausi!

I've implemented 1, 2, and 5. I will update the other items shortly.

Status: Fixed » Closed (fixed)

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