Responsive Slideshow Module:
Responsive Slideshow module can be used to create responsive slideshow while using Bootstrap theme.
A new content type 'Responsive Slideshow' will be created on the Module installation. Enable the block 'Responsive Slideshow' provided by the module to the required region. Here, privileged user can configure the user interface settings of the Responsive Slideshow. Please find the attached screen shot as follows,
The Responsive Slideshow block is configured to appear in the front page. The visibility settings can be configured as per the requirement.Please find the attached screen shot, Responsive_slideshow.jpg
This module requires jQuery Update module to be enabled.
Sandbox Project Page: https://www.drupal.org/sandbox/vineethaw/2478405
Git Link:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/vineethaw/2478405.git responsive_slideshow
cd responsive_slideshow
Projects Reviewed:
https://www.drupal.org/node/2470847#comment-9875173
https://www.drupal.org/node/2475755#comment-9875305
https://www.drupal.org/node/2470637#comment-9875447
https://www.drupal.org/node/2477153#comment-9875601
https://www.drupal.org/node/2483483#comment-9964351
https://www.drupal.org/node/2488462#comment-9967641
https://www.drupal.org/node/2427159#comment-9967685
https://www.drupal.org/node/2429983#comment-9967899
Comment | File | Size | Author |
---|---|---|---|
#64 | responsive-slideshow.mp4 | 2.52 MB | Manjit.Singh |
#52 | resposinator_test.zip | 2.11 MB | vineethaw |
#51 | Responsinator2.png | 64.24 KB | Ordasoft |
#51 | Responsinator1.png | 183.55 KB | Ordasoft |
#47 | Screenshot.png | 56.58 KB | vineethaw |
Comments
Comment #1
vineethaw CreditAttribution: vineethaw commentedComment #2
vineethaw CreditAttribution: vineethaw commentedComment #3
PA robot CreditAttribution: PA robot commentedWe 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.
Comment #4
camoa CreditAttribution: camoa at Camo Advanced Tech commentedHere is my bit:
1. in the Readme file, line 41: "The the image style dimensions of the image can be" has a double The.
2. If it is responsive, is not clear how to setup, or if it is possible, the image styles for different breakpoints.
3. responsive_slideshow_build_string, returns a string with HTML code, in general that is not a good practice. I advise to change this to a template and preprocess function and some suggestion so themers can work better with it.
Comment #5
camoa CreditAttribution: camoa at Camo Advanced Tech commentedComment #6
vineethaw CreditAttribution: vineethaw commentedHello Camoa,
Proceeding with the changes mentioned. Will update soon.
Comment #7
vineethaw CreditAttribution: vineethaw commentedHello Camoa,
The issues#1,#3 are fixed.
#2-The image style is created and can be edited in its configuration page 'admin/config/media/image-styles/edit/responsive_slideshow_style'
All the changes are committed.
Comment #8
vineethaw CreditAttribution: vineethaw commentedAdded the projects reviewed links.
Comment #9
andrefy CreditAttribution: andrefy as a volunteer commentedHi viennethaw, thanks for the contribution. I took a quick look and it seems that you could use the https://www.drupal.org/node/222158, system_settings_form() method instead of handle the responsive_slideshow_settings_submit() by yourself.
This may no needed
Also this is not necessary but you could provide some initial default values for variables you are using
Regards
Comment #10
vineethaw CreditAttribution: vineethaw commentedHello andrefy,
Thanks for the review.
Have included system_settings_form() as mentioned. The changes are committed as well.
Comment #11
Shamsher_Alam CreditAttribution: Shamsher_Alam commentedDefault value not set of variable.Value should be contain all variable for default selection.
#default_value' => variable_get('responsive_slideshow_description_length')
#default_value' => variable_get('responsive_slideshow_interval'),
it should be look like this:
#default_value' => variable_get('responsive_slideshow_description_length',NULL)
#default_value' => variable_get('responsive_slideshow_interval',NULL),
Comment #12
vineethaw CreditAttribution: vineethaw commentedHello Shamsher_Alam,
Thanks for reviewing.
The function variable_get will set the default value to NULL if this variable has never been set. So I have not changed the code.
Please correct me if I am wrong.
Comment #13
paulmckibbenHi vineethaw,
I found only one minor issue.
responsive_slideshow.info has typo in the description/misspelling of bootstrap: "Module for getting responsive slideshow in bootsrap theme."
Other than that, your code looks good to me.
Comment #14
klausiA typo is surely not an application blocker, anything else that you found or should this be RTBC instead?
Comment #15
vineethaw CreditAttribution: vineethaw commentedHello paulmckibben,
Thanks for the review. Have corrected the info file and committed.
Comment #16
Sumit kumar CreditAttribution: Sumit kumar commentedThanks for contribution @vineethaw
Remove position: absolute; from responsive_slideshow.css file .Because its overwritten if this module is use bootstrap theme then its fetch
style for .carousel-indicators from bootstrap theme .
Other then that , your code is working good for me.
Comment #17
vineethaw CreditAttribution: vineethaw commentedHi Sumit,
Thanks for the review.
I have overridden style only for small devices using media query, as the indicators were not displayed correctly.
Comment #18
vineethaw CreditAttribution: vineethaw commentedAdded the review bonus tag here.
Comment #19
prajaankit CreditAttribution: prajaankit commentedHi vineethaw,
I see your code it ruining well,
inotice that in .install file you use
/**
* Implements hook_uninstall().
*/
function responsive_slideshow_uninstall() {
// Machine name of the content type.
$name = 'responsive_slideshow';
// Gather all job nodes created.
$sql = 'SELECT nid FROM {node} n WHERE n.type = :type';
$result = db_query($sql, array(':type' => $name));
$nids = array();
foreach ($result as $row) {
$nids[] = $row->nid;
}
friend you can not use the drupal7 query standard it is look like the way of write in query in drupal6
Comment #21
davidgrayston CreditAttribution: davidgrayston commentedCode looks good - followed the README and successfully created a slideshow
A few suggestions (but not critical):
$block['content']
instead of calling theme() directly. Could also break the array onto multiple lines.&$form, &$form_state, $form_id
. You could maybe also use responsive_slideshow_settings_validate() instead.Following up on #20, you could use EntityFieldQuery - see https://www.drupal.org/node/1343708. Also, as this is tied to the responsive_slideshow content type, you could also introduce some caching around this query and invalidate the cache when saving a responsive_slideshow node.
Comment #22
darol100 CreditAttribution: darol100 as a volunteer and commented@davidgrayston, @prajaankit,
This should be on "Need Work" or "RTBC" ?
Comment #23
davidgrayston CreditAttribution: davidgrayston commentedApologies, my second point was incorrect – I should have said the callback arguments don't match those in the documentation: https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.h...
responsive_slideshow_numeric_validation($form_state)
Should be
responsive_slideshow_numeric_validation($form, &$form_state)
This will probably mean the use of $form_state in the function will need to be changed to $form
Happy to change to RTBC once this has been looked at (unless others feel this isn't a blocking issue)
Comment #24
vineethaw CreditAttribution: vineethaw commented@ prajaankit : Code changed in hook_uninstall() as per the standard.
@davidgrayston : responsive_slideshow_numeric_validation($form, &$form_state) arguments are changed.
All the changes are committed.
Comment #25
davidgrayston CreditAttribution: davidgrayston commentedGreat! There's just one last quick thing - the automated review has highlighted that the default branch hasn't been set - see http://pareview.sh/pareview/httpgitdrupalorgsandboxvineethaw2478405git
I can test your changes today and will update the status
Comment #26
vineethaw CreditAttribution: vineethaw commentedHi davidgrayston,
Thanks for the review,
git default branch set.
Comment #27
camoa CreditAttribution: camoa at Camo Advanced Tech commentedI think this is mostly done
Comment #28
davidgrayston CreditAttribution: davidgrayston commentedThe module is still working with the recent changes so happy to leave as RTBC
I spotted a small problem with the description being printed twice:
$sliders[$key]['description'] .= $sliders[$key]['description'] . '... ';
Should be:
$sliders[$key]['description'] .= '... ';
Worth fixing now but I don't think this should block the application so leaving status as RTBC
Comment #29
vineethaw CreditAttribution: vineethaw commented@davidgrayston
The slider description issues is fixed and committed.
Comment #30
klausimanual review:
Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #31
davidgrayston CreditAttribution: davidgrayston commentedThe README contents could be sanitized using check_plain() in hook_help()
Comment #32
klausinope, since the README content is not user provided input it does not have to be sanitized.
Comment #33
davidgrayston CreditAttribution: davidgrayston commentedI've taken another look at the code and can see that the image title/alt attributes aren't escaped
You can execute JavaScript on the page by entering something like this as the node title, image alt or image title:
"><script>alert('Hello!')</script><"
Comment #34
davidgrayston CreditAttribution: davidgrayston commentedThis also happens to description if you have views module enabled
$sliders[$key]['description']
has tags stripped, but then$slide_desc
is used insteadReproduce by using this as the teaser or description:
<script>alert('Hello!')</script>
Comment #35
Manjit.SinghGood catch davidgrayston ;)
1.
$sliders[$key]['title']
is looks good now..2.
$sliders[$key]['description']
is still a vulnerable. Please check https://www.drupal.org/node/28984 and https://api.drupal.org/api/drupal/includes%21common.inc/group/sanitizati...Other than that code looks good to me.. Let's wait for Klausi's feedback ;)
Comment #36
vineethaw CreditAttribution: vineethaw commented@ Kalusi,
All the pointed items are addressed.
@Manjit.Singh and @davidgrayston,
The slider description is sanitized. All the changes are committed.
Comment #37
vineethaw CreditAttribution: vineethaw commentedComment #38
vineethaw CreditAttribution: vineethaw commentedother projects review URLs added.
Comment #39
vineethaw CreditAttribution: vineethaw commentedComment #40
Ordasoft CreditAttribution: Ordasoft commentedHello,
README.txt/README.md
NO: Follows README Template.
https://www.drupal.org/node/2181737
sorry, for me that not start work, only show nodes at home page like nodes list, and without any "Responsive Slideshow"
Also why you need set image count in module ? Why not take that from database ?
Thanks
Comment #41
vineethaw CreditAttribution: vineethaw commentedHello,
In the Readme.txt file the Installation steps are clearly mentioned. As mentioned in the readme file you need to configure the 'Responsive Slideshow' block to your required region ,then only the slideshow will be visible in your site.
I have set the variables in the install file and provided a user interface for altering the default values like slide count,description length, interval.
Comment #42
Ordasoft CreditAttribution: Ordasoft commentedHello vineethaw,
For me all continue not work, please check http://ordasvit.com/drupal736test/
Access details I sent to you email.
Also not see change in README, please exactly like https://www.drupal.org/node/2181737
I not understand: why you need set image count in module ? Why not take that from database ?
"Enter the interval between the slides in the carousel." - what unit user must use ?
Thanks
Comment #43
vineethaw CreditAttribution: vineethaw commented@Ordasoft,
Got the Access details.checking it..
Comment #44
vineethaw CreditAttribution: vineethaw commented@Ordasoft,
I logged in your site and could understand that the theme enabled in your site is not Bootstrap. This module works only with Bootstrap theme which is clearly mentioned in the readme file.
I have updated the readme.txt as per your suggestion.
Regarding your query 'Enter the interval between the slides in the carousel." - what unit user must use ?' , I have provided the unit used as a Help Text there.
And Regarding the query of taking count from database, I have provided the no.5 as a standard number to start off with the slideshow.
In the User interface you can change the number at any time.
Will hold on your suggestion of taking count from database for now. If necessary will update it as enhancement.
Changes Committed.
Comment #45
vineethaw CreditAttribution: vineethaw commentedComment #46
Ordasoft CreditAttribution: Ordasoft commentedHello vineethaw,
I special install to http://ordasvit.com/drupal736test/ responsive theme. And that theme has bootstrap. Your module continue not work.
Responsive you may check:https://www.responsinator.com/
Thanks
Comment #47
vineethaw CreditAttribution: vineethaw commentedHi Ordasoft ,
As we have mentioned in the above comments, you have to enable the Drupal Bootstrap theme by default to test this module. We have tested your site and looks, still you are not enabled the Bootstrap theme. In your site its using some other theme. Even after getting your comment, we have tested the same at our end and its working fine.
Already we had a review and fixes with 10 Drupal community members, nobody posted this kind of issues. Looks, as this is an individual and configuration issue, we can support you to work this module at your end.
Currently it looks, you have enabled the os_delta theme (refer the attached image, Screenshot1.png).
It should suppose to be as in the attached image, Screenshot.png. Please change this and let me know the status.
Herewith I am changing the status to 'Needs Review'.
Thanks
Comment #48
Ordasoft CreditAttribution: Ordasoft commentedHello,
I am sorry, but Drupal create some rules for review, And I ask from you all only by these rules.
I not see change in README, please exactly like "README Template" https://www.drupal.org/node/2181737 don't fix
I not see in your module Requirements - nothing about some exactly theme. If you write "Bootstrap theme" - that or all themes what support Bootstrap or some exactly theme with link to it. But as me seem - module created for some exactly theme - that bad module. Module must support as many themes as possible.
Thanks,
Comment #49
klausiREADME improvements and a link to the required bootstrap theme are surely not application blockers, anything else that you found or should this be RTBC instead?
Comment #50
Ordasoft CreditAttribution: Ordasoft commentedHello,
I am sorry, but if module has requirements, it must show all requirements details in README.
Also as me seem for module very bad - if it work only for one theme.
Module incorrect change size for some devices at time Responsible
http://www.responsinator.com/?url=ordasvit.com%2Fdrupal736test%2F
it incorrect work for:
iPhone 5 portrait · width: 320px
iPhone 5 landscape · width: 568px
iPhone 6 portrait · width: 375px
iPhone 6 Plump portrait · width: 414px
Android portrait · width: 240px
Android landscape · width: 320px
and other width .....
Thanks
Comment #51
Ordasoft CreditAttribution: Ordasoft commentedComment #52
vineethaw CreditAttribution: vineethaw commentedHello Ordasoft,
I have already mentioned it will work exclusively for Drupal Bootstrap theme. I have created the module such a way to support this theme. Not sure which all modules you may want to support. But as of now it works with only Bootstrap theme. Of-course, as we are in an active development mode, will make the module with more supporting features with other themes as well and planning to upgrade the module versions regularly.
Also, I have tested the same with responsinator tool. Looks, its working fine with all the possible scenarios. Please find the attached screen-shots (resposinator_test.zip) which we have tested. The file name itself shows the resolution which it worked.
Hi Klausi,
Can you please review and let me know, what all necessary fixes need to be done in this version. As I am testing here, its working fine at my end. Also, some of the members already tested the module and made RTBC. As per Ordasoft's review comments, I am not getting proper clarity from the module update status. Please correct me if something mentioned wrongly there in the module.
Thanks
Vineetha
Comment #53
vineethaw CreditAttribution: vineethaw commentedChanging the status as 'Need Review'
Comment #54
Ordasoft CreditAttribution: Ordasoft commentedHello vineethaw,
If you recheck your sent images, you will see this "responsive Slideshow" - responsive not at all requirement views!!
Why you show some image with text, some other without text?
If text broke sliders, please or fix or remove text from show.
Please correct positions of arrows .
On http://ordasvit.com/drupal736test/ - I special created test host(where all may see how real that look and work), and now on it installed your Bootstrap theme from drupal.org and your module. And all looks not good
Thanks
Comment #55
vineethaw CreditAttribution: vineethaw commentedHi Klausi,
Can you please review and let me know, what all necessary fixes need to be done in this version. Also, some of the members already tested the module and made RTBC. We could fix all the issues posted so far except Ordasoft's comments. As per Ordasoft's review comments, I am not getting proper clarity from the module update status. Please correct and advise me if something mentioned wrongly there in the module.
Thanks
Vineetha
Comment #56
babusaheb.vikas CreditAttribution: babusaheb.vikas commented1. No need to use quotes in description and package in .info file
It should be
description = Module for getting responsive slideshow in bootstrap theme.
package = Bootstrap
2. It would be better if the *.info file look like this:
name = Responsive Slideshow
description = Module for getting responsive slideshow in bootstrap theme.
package = Bootstrap
core = 7.x
configure = admin/config/user-interface/responsive_slideshow
dependencies[] = image
dependencies[] = jquery_update
Comment #57
vineethaw CreditAttribution: vineethaw commentedHi Vikas,
Changes have been made accordingly and committed.
Thanks
Vineetha
Comment #58
klausimanual review:
Comment #59
vineethaw CreditAttribution: vineethaw commentedHello Klausi,
Please find the updates as follows;
#1- Have addressed the reason for creating the module in project page.
#2- Have included the function truncate_utf8() .
#3,#4- Modified as mentioned.
#5- Included node_access().
#6,#7- Modified as mentioned.
All the changes have been updated and committed.
Please review.
Thanks
Vineetha
Comment #60
RajeevChoudhary CreditAttribution: RajeevChoudhary as a volunteer and commentedPlease update this as per instructions
Comment #61
vineethaw CreditAttribution: vineethaw commentedRajeev,
I have made the updates as suggested, except #8 which Manjit Singh will be looking into. Can you please make clear what is to be updated.
Comment #62
klausiSorry for the delay.
responsive_slideshow_homepage(): this is vulnerable to XSS exploits. If I enter
"><script>alert('title');</script>
as node title and that node is displayed in a slideshow I will get a nasty javascript popup. You need to sanitize user provided text before printing to HTML. Make sure to read https://www.drupal.org/node/28984 again.This is currently a security blocker.
Comment #63
vineethaw CreditAttribution: vineethaw commentedHello,
Sanitized the data and changes are committed.
Kindly review.
Comment #64
Manjit.SinghThanks @vineethaw for the contribution. title is now properly sanitize user provided text. But still
alert('description');responsive_slideshow_homepage():
is vulnerable to XSS exploits. If I enteras a node description, then node is displayed a nasty javascript popup. Please check screencast for the more information.
Comment #65
vineethaw CreditAttribution: vineethaw commentedHello Manjit.Singh,
Thanks for the review. The function responsive_slideshow_homepage() uses check_plain to sanitize the title and description. As you have mentioned, I have entered the alert script in all the fields and the popup is not shown in the page which displays the block as per functionality of this module. The javascript popup is shown in the node view page.
So could you please advise me what is to be done in this case.
Comment #66
vineethaw CreditAttribution: vineethaw commentedComment #67
Manjit.SinghPlease use check_markup() for this rather than check_plain().
When we should use textarea we are usually use check_markup() to sanitize the use provided data.
Comment #68
vineethaw CreditAttribution: vineethaw commentedI have used check_markup() instead of check_plain() in the function responsive_slideshow_homepage() as suggested to sanitize the textarea data.
Please review.
Comment #69
klausiThe Git commits are not connected to your user account. You need to specify an email address. See https://www.drupal.org/node/1022156 and https://www.drupal.org/node/1051722
manual review:
But otherwise looks good to me now.
Assigning to Naveen as he might have time to take a final look at this.
Comment #70
vineethaw CreditAttribution: vineethaw commentedHello Klausi,
I have rechecked the functionality and removed the responsive_slideshow_module_implements_alter(). The module works even without the responsive_slideshow_module_implements_alter(). Kindly review.
Also, email id is now connected to user account. Please review and advise me if still not updated.
Comment #71
naveenvalechaSorry for coming late.I was on tour.
The Git commits are not connected to of both the module contributors(vineethaw, sajiniantony) You need to specify an email address. See https://www.drupal.org/node/1022156 and https://www.drupal.org/node/1051722
if your commits are associated with different emails then file an issue in the drupal infra to update your email in the commits https://www.drupal.org/project/issues/infrastructure?categories=All
Review of the 7.x-1.x branch (commit 50e4e6b):
Manual Review :
No Blocker comes up
Comment #72
naveenvalechaThanks for your contribution, vineethaw!
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.
Comment #73
vineethaw CreditAttribution: vineethaw commentedThank you all for giving me a great support and review process to complete this module.
Thanks
Vineetha