This module allows a drupal administrator to create blocks dynamically by "connecting" the module to their active ZeitConnect account. Each use who registers with the ZeitConnect service will be assigned an API key. They can enter this key in the module's configuration page. The configuration page will update with a list of available widgets. The user can then mark checkboxes to indicate which widgets they would like to make blocks for. Once this is done, they can go to the standard "blocks" page and enable the blocks in the standard way.
I'm not aware of any similar projects . . .
The ZeitConnect connect website, which includes a description of the service is:
An example of a widget being rendered on our demo site can be seen here:
The module source has been pushed to:
git clone --branch master tonybuckingham@git.drupal.org:sandbox/tonybuckingham/1475676.git
project:
http://drupal.org/sandbox/tonybuckingham/1475676
Currently, this is a Drupal 7 module only; will most likely be developing a Drupal 6 version as well.
Reviews of other projects:
http://drupal.org/node/1475184#comment-5718090
http://drupal.org/node/1476916#comment-5718354
http://drupal.org/node/1459628#comment-5727438
http://drupal.org/node/1478968#comment-5732004
http://drupal.org/node/1413072#comment-5732444
http://drupal.org/node/1445414#comment-5733242
http://drupal.org/node/1485756#comment-5781194
http://drupal.org/node/1370952#comment-5781016
http://drupal.org/node/1498892#comment-5780702
| Comment | File | Size | Author |
|---|---|---|---|
| #21 | zeitconnect-1475706-21.patch | 4.93 KB | tim.plunkett |
| #12 | screenshot.png | 77.26 KB | chhavik |
| #7 | block.png | 26.3 KB | anilbhatt |
Comments
Comment #1
patrickd commentedwelcome,
i've added the missing project link
you're not authenticated to git correctly, so commits won't be associated with your useraccount,
have a look at the git instructions on your project page.
You are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
(At least this has to be done before switching back to needs review)
while waiting for an in-depht review of your module you can start out fixing some coding style issues detected by automated tools:
http://ventral.org/pareview/httpgitdrupalorgsandboxtonybuckingham1475676git
You can also get a review bonus and we will come back to your application sooner.
regards
Comment #2
tonybuckingham commentedOk, I've made those changes . . .
Comment #3
tonybuckingham commentedComment #4
anilbhatt commentedManual Review:
1. Write hook_uninstall() to unset your variables.
2. In zeitconnect.admin.inc > line 81 use drupal_write_record() instead of db_query();
3. Replace 'delete queries' or 'select queries' with db_delete() or db_select() respectively.
4. In zeitconnect.admin.inc > line 23 use t() function to wrap description.
5. In zeitconnect.admin.inc > line 32, if you are not using $keys, then remove it.
6. Declare the $names before the foreach statement on line 33, in zeitconnect.admin.inc.
Comment #5
anilbhatt commentedComment #6
tonybuckingham commentedThanks Anil,
I've made the changes you recommended . . .
For anyone testing this module, you can use the following API token when configuring the module:
5a66d5c10260f6b162731a499cf325de
Comment #7
anilbhatt commentedManual Review:
1) admin.inc line 28, t() function missing, every description and title of form element should be wrap with this function.
2) When i installed your application and visit the admin page i got the following warnings:
3) After submit i got these messages
Notice: Trying to get property of non-object in zeitconnect_admin_settings_form_submit() (line 83 of zeitconnect\zeitconnect.admin.inc).Notice: Trying to get property of non-object in zeitconnect_admin_settings_form_submit() (line 83 of zeitconnect\zeitconnect.admin.inc).
4) Block description is showing blank. See attached block.png file.
Comment #8
anilbhatt commentedComment #9
tonybuckingham commentedThanks Anil,
To address each of your points:
1) fixed . . .
2) My understanding from reading more about the file_get_contents function is that it is susceptible to connectivity issues related to firewalls and proxies. I have modified my code to use standard sockets instead, and have included better handling to catch connectivity issues.
3) fixed . . . will check the contents of $widget before trying to parse it
4) in an older version of the 'zeitconnect' schema I was using 'wname' as one of the table columns. The new schema uses 'name' for that field. I suspect your database may have had an old version of the zeitconnect table. Please be sure to fully uninstall and re-install the module when testing again.
Thanks for your help!
Comment #9.0
tonybuckingham commentedadded project page
Comment #9.1
tonybuckingham commentedAdd a project I manually reviewed
Comment #9.2
tonybuckingham commentedAdd another manually reviewed project
Comment #10
tonybuckingham commentedAdding "review bonus" tag
Comment #11
chhavik commenteduse l() function here as it contains link
Comment #12
chhavik commentedForgot to attach screenshot, here it is.
Comment #13
tonybuckingham commentedThanks . . . I have made the changes you recommended.
In the case of the "non-loading" widget, what was happening is that two widgets had been enabled on the same page. The javascript responsible for rendering these widgets does not support this, but as you have demonstrated, it is clearly a circumstance which can come about when using this drupal module. I have added logic to the widget loading script to detect whether another widget already exists on the page, so that the user will see a notification message instead of the never-ending "loading" gif.
ZeitConnect is actually an active service currently in use by several customers. The data being used in this example comes from a Yoga studio that happens to have a lot of active classes across 5 studios, and the particular widget you are referring to (Basic YY widget) was configured in the system to include *all* classes in all five studios. I have created a new widget in the system which demonstrates how a customer would normally configure a widget for use on the site. If you re-visit the module's configuration page, you'll see a new widget, "One studio" which includes data for only one location. It is up to the customer to configure each widget in determining how much data will be included.
The majority of our customers don't have as many classes as this particular customer, so the widget's "length" is simply not an issue with the average customer. We have discussed pagination with Yoga Yoga in particular and they have indicated they feel it is important to display an entire week's worth of data on one page. The widget does, of course, include four configurable "filters". On the "Basic YY widget", you'll notice that you can select a "location" from one of the dropdowns at the upper right of the widget to reduce the "length" of the widget.
Here is an example of an actual customer's schedule on their site: http://www.yogayoga.com/schedule
Comment #13.0
tonybuckingham commentedAdded reference to manually reviewed project
Comment #13.1
tonybuckingham commentedAdding to list of projects reviewed
Comment #13.2
tonybuckingham commentedAdding another reviewed project to the list
Comment #14
tonybuckingham commentedAdding "review bonus" tag
Comment #15
klausimanual review:
Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #16
tonybuckingham commentedThanks, klausi, I've made the changes you recommended . . .
I found, however, that both drupal_add_js and the #attached array method insert javascript into the head of the document. In this case, I actually need the script tag to be inserted into the contents of the block where the javascript will perform its rendering, so neither of those approaches is applicable.
Comment #16.0
tonybuckingham commentedAdding to reviewed project list
Comment #16.1
tonybuckingham commentedAdding another project reviewed
Comment #16.2
tonybuckingham commentedAdding another reviewed project
Comment #17
tonybuckingham commentedAdding review bonus tag
Comment #18
klausimanual review:
But that are just minor issues, otherwise looks RTBC to me. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #19
klausiAssigning to tim.plunkett as he might have time to finally approve this.
Comment #20
tonybuckingham commentedThanks, klausi, I made those changes . . .
Comment #21
tim.plunkettThis looks great! I've attached a patch with a few tweaks, but nothing major.
Welcome to the community of project contributors on drupal.org.
I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.
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.
As you continue to work on your module, keep in mind: Commit messages - providing history and credit and Release naming conventions.
Comment #22.0
(not verified) commentedAdded another reviewed project