WebEx API aggregate for Drupal 7 by
College Board / Inspiring Minds

@author Joshua E Hoegen

Project Page: http://drupal.org/sandbox/joshhoegen/1866336


Usage


  1. Enable Module
  2. Go to /admin/config/webex_aggregate/list & "Add New WebEx List"
  3. Enter WebEx credentials & save
  4. Add WebEx block to a page
  5. Edit feed via link above block output or at /admin/webex_event_list/list

Reviewed Projects
http://drupal.org/node/1919058#comment-7074464

http://drupal.org/node/1910728#comment-7074822

Comments

arjkap’s picture

Hi Josh,

Your repo on your sandbox project page is empty. It will be great if you can clone the repo from your git to drupalcode.org too so that it is available on http://drupalcode.org/sandbox/joshhoegen/1866336.git
Then you can also use the automated code review at http://ventral.org/
Also, specify a version specific branch.

The "README.txt" file is more than sufficient hence no need for "README.md".

Also the .module file has
/*
*
*
/ type comments. Not in line with drupal standards. Please correct according to http://drupal.org/node/1354#general.

Also the @file directive is missing in the module as well as in the includes folder http://drupal.org/node/1354#files

On line 66 of module try using use "db_select" rather than "db_query"

Please specify comments for functions like 'function webex_event_list_block_view($delta = '')' and 'function webex_event_list_theme()' in line with http://drupal.org/node/1354#functions

The .info file has an incomplete

5 project status url =

Please remove the redundant files like .gitignore and .gitattributes from the repo as well.

vineet.osscube’s picture

Manual Review :

1) Please add README.TXT file in your module that tells the project description & other useful information.

arjkap’s picture

Status: Needs review » Needs work

Because of a number of coding standard errors. Please rectify and I'll be happy to review in detail again.

joshhoegen’s picture

Awesome! Thanks for the feedback. I'll get right on it.

joshhoegen’s picture

Ok, so I've made the recommended changes, though http://ventral.org is still kicking my butt! I'm getting hit for this:

if ($debug) {
  drupal_set_message(t('WebEx JSON: ' . check_plain($return)));
}

Is there something wrong with that?

Thanks for your time!

-Josh

joshhoegen’s picture

I see how i'm supposed to properly use the t() function... My apologies....

joshhoegen’s picture

Status: Needs work » Needs review

Hey guys,

After the beating at Ventral.org, I no longer have any code standard errors. I hope you find everything in a safe & sound state to release this in the wild! :)

- Josh

ain’s picture

Status: Needs review » Needs work
Issue tags: +PAreview: security

Automated review

  1. Quite a few errors, see http://ventral.org/pareview/httpgitdrupalorgsandboxjoshhoegen1866336git-...

Manual review

  1. You have a master branch in your Git repo of the project which is confusing. By the Drupal community standards you should only have branches for the actual module versions, e.g. 7.x-1.x (which you have) or 6.x-1.x.
  2. Translation support t() missing in a few implementations in webex_aggregate.module, e.g. webex_aggregate_menu(). It's also partly missing in webex_aggregate_form.inc, webex_aggregate_list.inc, block--webex_aggregate_title.tpl.php, block--webex_aggregate_date.tpl.php.
  3. Translation support is also missing from the Javascript implementations in webex_aggregate.admin.js and webex_aggregate.js.
  4. console.log('colorbox'); found on webex_aggregate.js ln 34, this is likely to break Javascript on some browsers.
  5. webex_aggregate.js ln 34 has the dependency on Shadowbox object, how's that dependency resolved? Libraries API is not deployed, no additional code is given. Please document or resolve the dependency.
  6. README Usage pt 2 incorrect. The correct path is not /admin/webex_event_list/list but /admin/config/webex_aggregate/list and the link says "Add New WebEx Aggregate". It could be that I'm doing something wrong, but README is clearly not in sync at this point and is confusing, please adjust. Please also consider bringing your README in sync with a project page.
  7. Clicking on "Add New WebEx Aggregate" link ends up on 404 if Clean URLs are disabled.
  8. $webex_info->webex_json in webex_aggregate_output() is not sanitized, see Handle text in a secure fashion. Because the module in its current form is vulnerable, I'm adding a security tag. Please don't remove it, it is used for tracking purposes.
joshhoegen’s picture

Priority: Normal » Major
Status: Needs work » Needs review

Thank you for your review, Ain!
Ok, guys, I have 0 warnings left at http://ventral.org/pareview/httpgitdrupalorgsandboxjoshhoegen1866336git.

As far as the last review:

* = fixed

1. * deleted master branch
2. ? webex_aggregate.module, e.g. webex_aggregate_menu().
I received this feedback: Do not use t() in hook_menu() - http://drupal.org/node/140311
* webex_aggregate_form.inc
Is using “!val’ for standalone values that should not be translated preferred? If so, i think we're good.
The form api never uses this on #default_value, which makes sense to me.
* webex_aggregate_list.inc
Untranslated per: http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.ht...
* block--webex_aggregate_title.tpl.php
* block--webex_aggregate_date.tpl.php
3. * translation in js
4. * Yikes! Thanks & sorry!
5. * Removed color/shadowbox references as they were unnecessary.
6. * README updated
7. * Used proper url functions to ensure this works with clean urls disabled.
8. ? The industry would suggest otherwise for json data at this stage. It is cleansed on the way in & handled with Drupal's string functions on the way out. Also, it's not Drupal user entered data, as it is the return of Cisco's WebEx API, which has it's own mechanisms for safety. If you have another suggestion for this use-case, i'll glaly test it out.

Thanks for your time,

- Josh

a_thakur’s picture

The webex_aggregrate.install() file should implement hook_uninstall() where you would delete the variables which have been set in the module.

joshhoegen’s picture

added hook_uninstall() & deleted appropriate variables

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 :-)

joshhoegen’s picture

Thanks for the insight! I will get crackin' this weekend! :)

joshhoegen’s picture

Issue summary: View changes

Added Sandbox page, changed Project Page to "Git"

joshhoegen’s picture

Issue summary: View changes

Starting list of reviewed projects.

joshhoegen’s picture

Issue summary: View changes

removed TODO

joshhoegen’s picture

Issue summary: View changes

updated path in step one of "Usage"

joshhoegen’s picture

Issue summary: View changes

Additions to "Reviewed Projects".

joshhoegen’s picture

Issue summary: View changes

removed github link

kfritsche’s picture

Status: Needs review » Needs work

Automated review:
- See http://ventral.org/pareview/httpgitdrupalorgsandboxjoshhoegen1866336git again (only two minor things)

Manual review:

.gitignore:
- Line 1: $ cat .gitignore?

webex_aggregate.install:
- Line 123: hook_uninstall shouldn't return anything

webex_aggregate.module:
- Line 80,91: Remove unused commented code.
- Line 84: Unused variable $k
- Line 99: $deltas not defined. Init with $delta = array().
- Line 161-165: module_load_include should only be called inside a function when these files are needed. Or are included by the menu_hook. If you need them anytime, use files[] in the info file - like for classes.

block--webex_aggregate_date.tpl.php
- Line 39: Use l() ;)

block--webex_aggregate_title.tpl.php
- Line 45: Use l() - What is the target of this link?

webex_aggregate_form.inc:
- Line 22: Unused variable $debug.
- Line 33: There is a function drupal_jeson_decode() which should be used.
- Line 205 to 218: Values submitted by the form are stored in $form_states['values'], therefore this block can be deleted. With form_state_values_clean you can remove added data by drupal.

webex_aggregate_list.inc:
- Line 24,31,32: Use t()
- Line 27-35: You could also theme('table', ...)
- Admin form - Why not using checkboxes?
- Line 70: Use $form['xxx'] => array('#markup' => ...) instead of $form['#suffix']. #suffix is not intended for this is.

webex_api_handler.inc:
- Line 136, 338, 339: Unused variables.
- Line 269: This seems wrong for me (dirname($_SERVER['SCRIPT_FILENAME'])). What do you want to achieve here?

webex_db_handler.inc:
- Line 27, 63, 94: The new db_select should be used here.
- Line 58: Documentation and function signature are not in sync.
- Line 168, 204, 237, 256, 259: Unused variable.

webex_output.inc:
- Line 27: Unused variable.
- Line 69: Where the function bundle_output is coming from?

WebexAPI.class.php:
- seems good to me.

joshhoegen’s picture

Awesome! Thank you, kfritsche... For real! Sorry it took so long to get back here. Work has been completely bananas! I should be able to get crackin' on these items this weekend.

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.

interestingaftermath’s picture

Hi Josh, did you ever do any more work on this? I'm interested in helping.

joshhoegen’s picture

Status: Closed (won't fix) » Active

Hey, @interestingaftermath! Your help would be so appreciated. Life just threw me three maniac curveballs. I'll re-open this for you tonight!

kscheirer’s picture

Priority: Major » Normal

Just fixing priority.

kscheirer’s picture

Title: WebEx Aggregate » [D7] WebEx Aggregate

and title.

klausi’s picture

Status: Active » Needs work

Still some issues on http://pareview.sh/pareview/httpgitdrupalorgsandboxjoshhoegen1866336git . Please set this to "needs review" once you are ready. See also https://drupal.org/node/532400

klausi’s picture

Issue summary: View changes

updated malformed anchor tag

joshhoegen’s picture

Issue summary: View changes
Status: Needs work » Needs review
joshhoegen’s picture

hey @klausi, I made you a maintainer! Let me know if you need help or input! :)

klausi’s picture

Status: Needs review » Needs work

No need to make me a maintainer - you should be the one to fix the problems, since this is your project application.

Please set this back to needs review once the pointed out problems are fixed.

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 (see also the project application workflow).

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

joshhoegen’s picture

I digress.