Bandsintown's fully customizable website widget automatically syncs your tour information, ticket links, Facebook events, and Bandsintown specials to your website. Please refer to it's official page for more info.
This simple module provides a configurable block and a field formatter to let you add Bandsintown widget to any preferred place on your Drupal 8 site.
Sandbox:
https://www.drupal.org/sandbox/buenos/2729269
Git clone command:
git clone --branch 8.x-1.x https://git.drupal.org/sandbox/buenos/2729269.git bandsintown
Bandsintown API overview page:
http://www.bandsintown.com/artist_platform/website_plugins
Manual reviews of other projects:
[D7] https://www.drupal.org/node/2724197#comment-11223701
[D7] https://www.drupal.org/node/2731465#comment-11223949
[D8] https://www.drupal.org/node/2729157#comment-11224977
| Comment | File | Size | Author |
|---|---|---|---|
| screencapture-drupal8-4-loc-node-1-1463662501248.png | 107.55 KB | buenos |
Comments
Comment #2
PA robot commentedThere are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpsgitdrupalorgsandboxbuenos2729269git
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.
Comment #3
buenos commentedAdded TODO.txt and README.txt files.
Comment #4
asiby commentedYou don't have any bonus review in your track record. Please take the time to manually review at least three project application and a the link to those projects in this application's summary.
Comment #5
buenos commentedComment #6
buenos commentedComment #7
buenos commentedComment #8
buenos commentedComment #9
naveenvalechaAssigning to myself for review that would probably be tonight
Comment #10
bapi_22 commentedHi buenos,
Firstly try to resolve the issue in automated review
http://pareview.sh/pareview/httpsgitdrupalorgsandboxbuenos2729269git
Comment #11
buenos commentedHi bapi_22,
I've fixed issues with coding standards in both README.txt and TODO.txt files. No need to resolve issues in bit_widget.js file as it is minified.
Comment #12
klausiThe Libraries API module is a recommended method for adding 3rd party dependencies without directly including the code on Drupal.org.
Comment #13
naveenvalechayou can make your js file directly external like I did in sharethis module. so the changes would be
bandsintown.libraries.yml from :
To
OR use the libraries module for dependencies.
Unassigning from myself. will pick it after the changes will be done, will review some other application.
Edit:
Another major one :
core key is missing in .info.yml file.
add
core: 8.xin bandsintown.info.yml file.Comment #14
buenos commentedAdded core key into info.yml file, made js file directly external, fixed url in README.txt.
Comment #15
asiby commentedAutomated Review
Review of the 8.x-1.x branch (commit 0f03ff5):
Manual Review
propertyDefinitions(), the$propertiesvariable is not initialized. I believe the code should be changed fromto
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.
Comment #16
buenos commented1. Fixed PHP Fatal error.
2. Defined $properties variable like this:
$properties = array();as the suggested
$properties = parent::propertyDefinitions($field_definition);throws an error:
Fatal error: Cannot call abstract method Drupal\Core\Field\FieldItemInterface::propertyDefinitions()Comment #17
naveenvalechaManual Review :
bandsintown_is_bandsintowntoo into this service.$this->getConfiguration()instead of directly using$this->configurationNothing blocker found. Assigning to mpdonadio to give it a final look when he'll get time.
Comment #18
asiby commentedWhich version of Drupal 8 are you using. I am using 8.1.0 and the line
$properties = parent::propertyDefinitions($field_definition);works just fine for me on that version. This is strange.Comment #19
buenos commentedI am using 8.1.1
Comment #20
asiby commentedOk That explains it. I will upgrade and see how it goes.
Comment #21
mpdonadioSorry for the delay; dealing with a personal issue.
Automated Review
Review of the 8.x-1.x branch (commit b464fa9):
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
Get rid of the TODO.txt and make issues about the things the module needs. That way you can tie commits back to the issue.
BandsintownFormSettings should use injected dependencies (eg, link generator and translation) instead of statics methods and globals. Also in other classes.
I think the variables in the Twig are all OK; I can't exploit them (because quotes and gt/lt are escaped), but I think the
iframe path should really be built up as a Url() object and passed in instead as a best practice.
There is an interesting security issue here. The libraries.yml has an external library with an explicit http path in it. This file supports protocol relative URLs (see https://www.drupal.org/theme-guide/8/assets#external). As-is, this would create a mixed mode problem for a https-only site. However, the certificate on https://widget.bandsintown.com/javascripts/bit_widget.js is bad because it is really coming from a CloundFront via a CNAME, and the CF end isn't set up with the cert for widget.bandsintown.com. So, the https version shouldn't really be used. If I don't hear back from @klausi on this tomorrow, I will approve this app.
Comment #22
mpdonadioOK, since the JS in question is really for a read-only purpose, I don't think we have a true security problem here, though HTTPS sites using this widget will have mixed mode problems. You should open an issue with bandsintown about this; they should really fix this on their end, and then you can use the protocol-relative URL in your YAML. So, since I don't think we have any blockers...
Thanks for your contribution, buenos!
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 #23
buenos commentedThank you all for your reviews!!!
I've fixed most of the non-blocking issues.