Description

gcalviews integrates Google Calendars with the Views module. It provides a database table for Google Calendar resources such as Events that is in turn exposed to the Views module. First release only supports Events and exposes Event data as a serialized field in Views.

Resources are added on a per-calendar basis using gauth to call the Google Calendar API.

Example use cases
Create a simple calendar using data from a Google Calendar. Select exactly which fields ( startdate, location, summary, etc ) you want to display.
Filter on location: Create a view that displays only Events at a specific location.

Related modules and why gcalviews is different
https://drupal.org/project/fullcalendar - renders a full Google Calendar with limited Views customization. gcalviews provides full Views support to Google Calendar.

Requires gcal, gauth and views

Sandbox

https://drupal.org/sandbox/cchow/2223053

Git

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/CChow/2223053.git gcalviews

Comments

PA robot’s picture

Status: Needs review » Needs work

Git clone failed for http://git.drupal.org/sandbox/cchow/2223053.git while invoking http://pareview.sh/pareview/httpgitdrupalorgsandboxcchow2223053git

Git clone failed. Aborting.

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.

Roensby’s picture

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

Status: Needs review » Needs work
Roensby’s picture

Status: Needs work » Needs review
clayfreeman’s picture

Status: Needs review » Needs work

There are some issues that need to be sorted out below.

Review of the 7.x-1.x branch:

  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards).
    
    FILE: ...iew_temp/views/handlers/gcalviews_views_handler_field_resource_data.inc
    --------------------------------------------------------------------------------
    FOUND 7 ERROR(S) AFFECTING 4 LINE(S)
    --------------------------------------------------------------------------------
     14 | ERROR | Class name must begin with a capital letter
     14 | ERROR | Class name must use UpperCamel naming without underscores
     19 | ERROR | Method name
        |       | "gcalviews_views_handler_field_resource_data::option_definition"
        |       | is not in lowerCamel format, it must not contain underscores
     19 | ERROR | No scope modifier specified for function "option_definition"
     28 | ERROR | Method name
        |       | "gcalviews_views_handler_field_resource_data::options_form" is
        |       | not in lowerCamel format, it must not contain underscores
     28 | ERROR | No scope modifier specified for function "options_form"
     60 | ERROR | No scope modifier specified for function "render"
    --------------------------------------------------------------------------------
    

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.

Source: http://pareview.sh/ - PAReview.sh online service

Roensby’s picture

The issues remaining are, as I understand, conflicts between general Drupal and Views coding standards, (e.g. the Views module doesn't use CamelCase). I don't think I need to resolve this?

Roensby’s picture

Status: Needs work » Needs review
@purush’s picture

Status: Needs review » Needs work

Hi CChow,

Upon Manual Review,

1 - Variables that are created in this module which are not deleted while unistalling the module.

/**
 * Implements hook_cron().
 */
function gcalviews_cron() {
  $interval = variable_get('gcalviews_interval', 60 * 60 * 24);
  if (time() >= variable_get('gcalviews_next_execution', 0)) {
    gcalviews_rebuild_resources();
    variable_set('gcalviews_execution', time() + $interval);

Variables can be deleted using variable_del() on the hook_unistall() in the .install file.

2 - Configuration form code is written in the .module file.

/**
 * Implements hook_menu().
 */
function gcalviews_menu() {

  $items = array();

  $items['admin/config/services/gcalviews'] = array(
    'title' => 'Google Calendar API integration with Views',
    'description' => 'Manage Google Calendar integration with the Views module',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('gcalviews_overview'),
    'access arguments' => array('administer gcalview calendars'),
    'description' => 'Administer Google Calender API integration with Views',
  );

but the Administer Configuration forms should be in the seperate .inc file for each of the forms(file name should form_name.admin.inc).

/**
 * Implements hook_menu().
 */
function gcalviews_menu() {

  $items['admin/config/services/gcalviews'] = array(
    'title' => 'Google Calendar API integration with Views',
    'description' => 'Manage Google Calendar integration with the Views module',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('gcalviews_overview_admin_form'),
    'file' => 'includes/gcalviews_overview.admin.inc',
    'access arguments' => array('administer gcalview calendars'),
    'description' => 'Administer Google Calender API integration with Views',
  );

Thanks
Purushothaman C

Roensby’s picture

Status: Needs work » Needs review

Thank you for the fixes. I have implemented as you have suggested.

gisle’s picture

Status: Needs review » Postponed (maintainer needs more info)

Please take a moment to make your project page follow tips for a great project page. In particular, you should add the section "Similar projects and how they are different" and explain how your project is different from Google calendar block, but you also need to address this as outlined in the next paragraph

Module duplication and fragmentation is a huge problem on drupal.org and we prefer collaboration over competition. Unless you can argue that your module is unique and cannot be fitted into Google calendar block, please open an issue in the that project's issue queue to discuss what you need. You should also get in contact with the maintainer(s) to offer your help to move the project forward. If you cannot reach the maintainer(s) please follow the abandoned project process.

If that fails for whatever reason please get back to us and set this back to "Needs review" after you've added a "Similar projects" section to the project page.

PA robot’s picture

Status: Postponed (maintainer needs more info) » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

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