Download & Extend

Replace User reference, Nodereference with References, Vertical session schedule view

Project:Conference Organizing Distribution Support Modules
Version:7.x-1.x-dev
Component:cod_session
Category:task
Priority:critical
Assigned:Unassigned
Status:closed (fixed)
Issue tags:da_drupalcon

Issue Summary

Hi guys, i don't know if it is me or it is a bug, but y downloaded the dev version of cod_support and cod_session has user_reference and node_reference as a dependency, it is that correct? Because in drupal 7 we have references (http://drupal.org/project/references) and Entity Relationships http://drupal.org/project/entityreference

Thanks!

Comments

#1

Correct. user_reference and node_reference are submodules of references.

The cod_session module must list references module as a dependency alongside node_reference and user_reference.

AttachmentSize
cod-references-dependency-1668908-2.patch 411 bytes

#2

Status:active» needs review

changed status

#3

What about using entity_reference instead? The reference module might get deprecated in the near future as per note in the module http://drupal.org/project/references

  • As the past couple months showed, the current maintainers are not up to the task. This module accepts new maintainers.
  • References will most probably be deprecated in the near future in favor of Entity Reference, which should probably be considered first on fresh D7 projects. Another, more radical, alternative would be the Relation module.

Something to consider.

#4

Looks like Entity Reference is the way we are going
#1658282: Evaluation of the Entityreferences Module vs References

#5

Status:needs review» needs work

changing status

#6

Assigned to:Anonymous» brantwynn
Status:needs work» needs review

I have removed user_reference and node_reference from cod_session and replaced those fields with entityreferences.

I have also rebuilt all of the views to use these new fields.

Notes:

Needs a View Mode - I believe we will need an Entity View Mode for 'user' that displays First Name and Last Name only. This is apparently the only way to make this output the same way as it was for the speaker(s) field in COD6 views.

I am having an error setting contextual arguments using entityreference. See below:
Screen Shot 2012-07-06 at 4.15.25 PM.png
Unsure what to do about the entityreference as a contextual argument bit - this problem only applies to the sessions_speaker_confirmation view. I haven't found any issues in the entityreferences module's queue regarding views contextual arguments...

Does anyone disagree with this direction for cod_session using entityreferences?

Next steps are to add a hook_entity_info_alter to make a new user view mode. If this patch is approved, it would need to be applied before other patches that affect cod_session and those will need to be rebuilt to support this change.

AttachmentSize
Screen Shot 2012-07-06 at 4.15.25 PM.png 81.54 KB
cod_session-entityreference-1668908-6.patch 159.12 KB

#7

Title:User Reference and Node Reference as Dependency» Remove User Reference and Node Reference from cod_session

#8

Priority:normal» major

is the change field_speakers to field_session_speakers intentional? marking as major because a lot of sub tickets are dependent with this change.

#9

Hi, other than that there might be additional changes on the sources i.e. changing from "nid" to "target_id" in "some_field[LANGUAGE_NONE][0]['nid']" or "uid" to "target_id" in "some_field[LANGUAGE_NONE][0]['uid']".

#10

is the change field_speakers to field_session_speakers intentional? marking as major because a lot of sub tickets are dependent with this change.

Yes. It makes sense to namespace all fields to a single bundle. Features has shown to have issues with overrides when fields are shared across content types. Especially if they are managed by separate features. In this case, both content types that use field_speakers are managed by a single Feature, but this may not always be the case. So I would argue that all content types should have their own fields, namespaced as such. So it wasn't so much that a field was renamed here. field_speakers was removed from two bundles, and replaced for each bundle with a namespaced entityreference field.

Also consider that since these fields are no longer user_reference, but entityreference, most of the dependencies (ie: Views) would be lost even if we had kept the same machine name and shared the field across multiple bundles.

Hi, other than that there might be additional changes on the sources i.e. changing from "nid" to "target_id" in "some_field[LANGUAGE_NONE][0]['nid']" or "uid" to "target_id" in "some_field[LANGUAGE_NONE][0]['uid']".

I believe this has to do with using entityreference fields versus relationships fields so that is something we can't really avoid?

#11

Hi, other than that there might be additional changes on the sources i.e. changing from "nid" to "target_id" in "some_field[LANGUAGE_NONE][0]['nid']" or "uid" to "target_id" in "some_field[LANGUAGE_NONE][0]['uid']".

I believe this has to do with using entityreference fields versus relationships fields so that is something we can't really avoid?

Yep, agree. Can't avoid this change.

#12

It makes sense to namespace all fields to a single bundle. Features has shown to have issues with overrides when fields are shared across content types. Especially if they are managed by separate features. In this case, both content types that use field_speakers are managed by a single Feature, but this may not always be the case. So I would argue that all content types should have their own fields, namespaced as such. So it wasn't so much that a field was renamed here. field_speakers was removed from two bundles, and replaced for each bundle with a namespaced entityreference field.

Also consider that since these fields are no longer user_reference, but entityreference, most of the dependencies (ie: Views) would be lost even if we had kept the same machine name and shared the field across multiple bundles.

Adding the namespace to the fields makes sense. It's inevitable that site builders will need to use Features at some point or another. They might have to import a Content Type or Role from a previous site. Anything we can do to avoid conflicts/overrides will pay off for site builders later on.

brantywnn also points out that there isn't any good way to avoid the work associated with this task. I'm in favor of namespacing the fields.

#13

Re: error posted in #6

#1484352: Illegal choice *relationship* in Flag element causes Views contextual filters to fail deals with this, and a patch was committed to the 7.x-2.x-dev version of flag. If I update my local site to use flag 2.x-dev, the error is resolved.

#14

As for namespacing fields to a content type, I think that is generally ok. There is one edge case I think of where it could create some additional work/headaches for site maintainers. On the Munich site we had a request to add Track to BoFs, if something like that were in COD, using a separate field for each content type introduces the ability for the 'track' of a bof vs. session to become out sync with the other, if there were any changes to the available options. Other than an edge case like that, I see no issues with it.

Also, patch in #6 applied clean, and after updating the Flag module to 2.x-dev, works properly as best I can tell.

#15

Namespacing fields and siloing them to a content type will inevitably create these workflow problems for edge cases.

The decision to decouple these content types is dependent on two questions:

1. Are you planning on always keeping these two closely related content types inside a single feature?
-- If so, shared fields are probably okay... but we are locked into this system with D6 and its not exactly flexible.

2. Is the extra work (or rework of changing these fields to be namespaced) worth the end result that content types are completely independent from from one another?
-- Loose coupling allows for the content types to potentially be managed by separate Features.

The interdependance of many of the current Features in cod have shown us how difficult it can be to patch and work on the system. There are a number of issues on this very queue that share interdependence and are blocked due to tight coupling... </rant>

#16

It's very easy for a site builder to add an existing field to an existing content type. It's harder to split things up after the fact, since oftentimes, a maintainer won't realize that there is a reason to separate fields until AFTER there is already data living in the database. At that point, things are messy.

My vote is for content types which are independent of one another, but I'd be open to hearing some thoughts from maintainers who have been with this project for awhile.

#17

Status:needs review» reviewed & tested by the community

I tested the patch in #6 - it is clean and works as described. No more problems with contextual filters.

Still, I'm a bit concerned. Since the latest commit to Cod Support, I'm getting overrides to both cod_base and cod_session on my fresh installation. There are also more overrides once I apply the patch - although that is to be expected. It just doesn't feel right to be applying patches on Features which already have overrides.

My guess is that cod_session was fine when the patch in #6 was created. But, since the new commit, something changed.

#18

Status:reviewed & tested by the community» postponed

Due to significant changes to cod_session in #1379382: Single column session schedule I'm thinking re-rolling this patch will be necessary. It will be much easier to reconfigure these content types and views after the new session schedule formatting has been committed.

#19

Attached is a new patch. This patch depends on #1379382: Single column session schedule being applied first.

Unfortunately I had to keep the shared references around at least for now. Its not ideal but there are many tightly coupled dependencies in cod_session.module that require the shared fields.

Also, even if I were to decouple field_session_slot (Time Slot) and field_session_room (Room) from these two content types, they still share field_accepted (Status).

Not to mention the fact that the cod_schedule View is architected so that both Sessions and Schedule Items will show up using the aforementioned fields for its Filters.

Note: this patch is not for BoFs - it is only for Sessions and Schedule Items.

AttachmentSize
cod-references-dependency-1668908-19.patch 66.79 KB

#20

Assigned to:brantwynn» Anonymous
Status:postponed» needs review

#21

4 lines with trailing whitespace in the patch:

cod-references-dependency-1668908-19.patch:864: trailing whitespace.
 
cod-references-dependency-1668908-19.patch:873: trailing whitespace.
 
cod-references-dependency-1668908-19.patch:917: trailing whitespace.
    $result = db_query($sql, array(':day' => '%W %M, %d %Y'));
cod-references-dependency-1668908-19.patch:923: trailing whitespace.
  } 
warning: 4 lines add whitespace errors.

#22

whitespace removed

AttachmentSize
cod-references-dependency-1668908-22.patch 66.79 KB

#23

Brant : patch looks good, feature is in default, was able to have a authenticated user submit a session. Admin was able to view it in the proposed sessions view, approve and assign to a room/time, and it showed up on the correct tab of the schedule. Nice!

#24

sorry, clarification, when enabled it is overridden, but I can revert the fields and the override is removed

#25

Status:needs review» needs work

works here as well. 2 issues:

1. I was able to recreate the overridden for Permissions issue too.
2. When I install cod_bof, I'm getting this error when I visit the Features admin page. But this may just be a ticket of it's own or can this be fixed here?
cod_session_error_2012-07-19_1250.png

marking as needs work to clarify the issues above.

AttachmentSize
cod_session_error_2012-07-19_1250.png 32.13 KB

#26

The above error I think is because of this:

Unfortunately I had to keep the shared references around at least for now. Its not ideal but there are many tightly coupled dependencies in cod_session.module that require the shared fields.

cod_bof still uses node_reference as noted above.

Note: this patch is not for BoFs...

Patch applies cleanly on my end. I see Entity Reference for the fields field_session_speakers (Session), field_session_slot (Session and Schedule Item) and field_session_room (Session and Schedule Item) for the Session content type.

#27

sorry, clarification, when enabled it is overridden, but I can revert the fields and the override is removed

Regarding this, not sure if I'm doing this correctly but I applied the latest patches and did a `drush fu cod_session`. Attached is the resulting diff.

AttachmentSize
cod-references-dependency-1668908-27.patch 2.8 KB

#28

Sorry, incorrect patch.

AttachmentSize
cod-references-dependency-1668908-28.patch 67.14 KB

#29

Sorry, my latest patch to #1379382: Single column session schedule seems to break this patch

#30

I submitted a new patch to #1379382: Single column session schedule that plays nice :)

#31

Status:needs work» needs review

Oh, yeah, I've used the patch in #28 several times over now, applies clean, works as advertised. Someone else want to review it and RTBC?

#32

#28 applies cleanly for me.

#33

Well, I'm seeing some overrides on field permissions. Here's the output of a fd on cod_session:

Component: field
        'field_name' => 'field_session_room',
        'field_permissions' => array(),
>       'foreign keys' => array(
>         'node' => array(
>           'columns' => array(
>             'target_id' => 'nid',
>           ),
>           'table' => 'node',
>         ),
>       ),
        'indexes' => array(
          'target_id' => array(
        'field_name' => 'field_session_slot',
        'field_permissions' => array(),
>       'foreign keys' => array(
>         'node' => array(
>           'columns' => array(
>             'target_id' => 'nid',
>           ),
>           'table' => 'node',
>         ),
>       ),
        'indexes' => array(
          'target_id' => array(
        'field_name' => 'field_session_room',
        'field_permissions' => array(),
>       'foreign keys' => array(
>         'node' => array(
>           'columns' => array(
>             'target_id' => 'nid',
>           ),
>           'table' => 'node',
>         ),
>       ),
        'indexes' => array(
          'target_id' => array(
        'field_name' => 'field_session_slot',
        'field_permissions' => array(),
>       'foreign keys' => array(
>         'node' => array(
>           'columns' => array(
>             'target_id' => 'nid',
>           ),
>           'table' => 'node',
>         ),
>       ),
        'indexes' => array(
          'target_id' => array(
        'field_name' => 'field_session_speakers',
        'field_permissions' => array(),
>       'foreign keys' => array(
>         'users' => array(
>           'columns' => array(
>             'target_id' => 'uid',
>           ),
>           'table' => 'users',
>         ),
>       ),
        'indexes' => array(
          'target_id' => array(

I don't think re-rolling this one will effect anything.

AttachmentSize
cod-references-dependency-1668908-33.patch 67.31 KB

#34

#35

Status:needs review» reviewed & tested by the community

I followed the method in #34 and everything applies clean . . . AND IT WORKS! I tested the session and schedule view pages, created test content, added to 'my schedule ' . . . No errors!

#36

The base functionality is there.

But... error checking done by hook_form_validate and messages set by hook_form_presave were not working due to the changes in entityreference.

I now have this fixed, but all I can provide (without significant reroll that would go against our DA initiative scope) is a patch...

...that must be applied using the following workflow:
#1379382-24: Single column session schedule (RTBC) ->
#1668908-33: Replace User reference, Nodereference with References, Vertical session schedule view (RTBC) ->
#1379382-43: Single column session schedule (RTBC) ->
#1668908-36: Replace User reference, Nodereference with References, Vertical session schedule view (this patch)

'cod_session_schedule_form_validate AND cod_session_node_presave not working with entityreferences' might be a new issue where #36 here could better live. But that would depend on the RTBC patches above getting committed into 7.x-1.x-dev.

Thoughts?

AttachmentSize
cod-references-dependency-1668908-36.patch 5.35 KB

#37

Status:reviewed & tested by the community» needs review

brantwynn:

I think a separate issue is appropriate, but it would be good to note the pyramid of patch dependencies in that issue as well. I'm going to test this new patch today.

#38

Status:needs review» needs work

Having problems applying #1668908-36: Replace User reference, Nodereference with References, Vertical session schedule view, all of the dependent patches are in place properly though.

#39

#40

Priority:major» critical

Adoption of entity references is an architectural decision with far-reaching consequences. This issue has become a block in many areas of COD 7.

Developers are fixing bugs and making improvements to COD with the assumption that entity references will be adopted in place of node and user references. Since these issues are so closely tied together, we're ending up with patches which depend on patches. Adoption of entity references is a fundamental issue that will help clear this up substantially.

Looking at #36 is in this thread paints a clear picture of the problems we're facing. Progress on moving COD to D7 will be expedited by a clear decision to adopt entity references. In particular, the following issues are dependent on this switch.

http://drupal.org/node/1379382
http://drupal.org/node/1661620
http://drupal.org/node/1669970
http://drupal.org/node/1661614

In addition, any further developments which depend on resolution of the aforementioned issues are also postponed - for example, improving the display of the BoF list. Each time we make any improvements or modifications to COD, we risk future re-work until we have a clear path forward regarding entity references.

#41

applied patch in #39. I am just using the sandbox.
Tested by creating new session and viewing as admin and regular authenticated user.

Patch attached to correct 2 issues found
- removed user_reference and node_reference in cod_session.info
- fixed Notice: Undefined index: field_speakers in cod_session_node_view_alter()

AttachmentSize
cod-references-dependency-1668908-41.patch 5.72 KB

#42

Patch applies cleanly on my end also using the sandbox. Although I see cod_session having "overridden" state again. Diff is similar to what was posted on #33.

#43

Patch applies cleanly to da_drupalcon sandbox.

I am not seeing any overrides to cod_session when applying #41 but cod_base PERMISSIONS are overridden- which is typical.

#44

Status:needs review» reviewed & tested by the community

the cod_base permission override is handled in #1477754: Rename "site administrator" role to "administrator"

Patch in #41 applies clean, I see no overrides, will apply to sandbox

#45

Status:reviewed & tested by the community» needs work

You've eliminated the LANGUAGE_NONE constant.

+++ b/cod_session/cod_session.moduleundefined
@@ -452,8 +452,8 @@ function cod_session_schedule_form_submit($form, $form_state) {
-  $item->field_session_slot[LANGUAGE_NONE][0]['nid'] = $form_state['values']['schedule']['slot']->nid;
-  $item->field_session_room[LANGUAGE_NONE][0]['nid'] = $form_state['values']['schedule']['room']->nid;
+  $item->field_session_slot['und'][0]['target_id'] = $form_state['values']['schedule']['slot']->nid;

#46

#41 also doesn't apply.

#47

Would $item->field_session_room[LANGUAGE_NONE][0]['target_id'] work with an entityreference field?

#41 is for the DA Drupalcon sandbox - would need rerolled to work in current state of cod_support.

#48

Status:needs work» postponed

Unfortunately, #41 isn't meshing with the current COD Support branch. Please remember that this issue has been through several rounds of revisions as we've been committing to the da_drupalcon branch. The work ezra-g has recommended in #45 in is important and needs to be resolved, but that work should proceed AFTER #1379382-43: Single column session schedule has been committed. We need to stick to the order in which patches were applied within the da_drupacon branch; otherwise we could risk re-working the 10 patches which are dependent upon #1379382-43: Single column session schedule.

#49

Status:postponed» needs work

- Of the patches listed on the sandbox page, only 2 patches are listed that change COD session.
- Neither one of these patches applies to COD_Support 6.x-1.x.
- Since these are the only reported changes to COD_Session as compared with the sandbox, we can expect that they should apply to COD_Support 7.x-1.x with patch -p1
- Since they don't apply, I looked into why and diffed just the sandbox cod_session directory against 7.x-1.x. (git diff 7.x-1.x DA/7.x-1.x-dev -- ./cod_session > da-session.diff)

There are ~3200 lines of changes between the two branches. Between the two patches you've filed, only ~800 lines have changed.

So, it appears you've made some changes that have not been filed against COD_Support as patches.

Attached is that ~3,200 line diff. For example, see:

-      'translatable' => '1',
-      'type' => 'node_reference',
+      'translatable' => '0',
+      'type' => 'entityreference',

This suggets that COD_Session was re-exported after changing from node reference to entity reference but that this export hasn't been filed as a patch.

In order to merge the projects, we need to identify the changes and the motivation for those changes.

#50

I searched through all of the patches which have been committed to the da_drupalcon sandbox. There are more than two files which modify cod_session as part of the issues they are resolving. These changes are usually to modify fields within cod_session - updating permissions, views, function calls, etc. In particular, the following patches make changes to cod_session:

1. #1687560-1: Cannot redeclare cod_session_node_view_alter(): Cannot redeclare cod_session_node_view_alter()
3. #1673018-11: Speaker confirmation shows incorrectly, add cod_session helper functions, update flag node title token: Speaker confirmation shows incorrectly, add cod_session helper functions, update flag node title token
6. #1379382-24: Single column session schedule: Single column session schedule
13. #1698454-5: Room and Timeslot permissions: Room and Timeslot permissions
14. #1661614-12: BoF and Sessions Should Not Be Allowed in Overlapping Rooms and Time Slots: BoF and Sessions Should Not Be Allowed in Overlapping Rooms and Time Slots
15. #1699272-9: cod_bof view should work with single column sessions schedule and tabs: cod_bof view should work with single column sessions schedule and tabs
17. #1661620-43: Authenticated Users Cannot Create BoFs Regardless of Permission Settings: Authenticated Users Cannot Create BoFs Regardless of Permission Settings

#51

Status:needs work» needs review

First major reroll of the session module

AttachmentSize
1668908-cod-session-redo.patch 131.28 KB

#52

japerry added that #51 should be reviewed with respect to all of the COD_Session issues in #50, so in essence it would cover/duplicate:

- The present issue
- #1379382-24: Single column session schedule
- #1698454-5: Room and Timeslot permissions

#53

Lets try this with entity references in the info file. oops

AttachmentSize
1668908-cod-session-redo-1.patch 132.4 KB

#55

Status:needs work» needs review

Re-roll #3! this takes in ezra's work and fixes the room number for fields.

AttachmentSize
1668908-cod-session-redo-2.patch 129.61 KB

#56

Status:needs review» needs work

Getting closer! However:

When submitting a room:

Notice: Undefined property: stdClass::$field_accepted in cod_session_is_declined() (line 534 of /Users/ezra/Developer/htdocs/dev/contrib/drupal-7-b/sites/all/modules/cod_support/cod_session/cod_session.module).

After submitting a session:

Notice: Undefined index: uid in cod_session_user_is_speaker() (line 545 of /Users/ezra/Developer/htdocs/dev/contrib/drupal-7-b/sites/all/modules/cod_support/cod_session/cod_session.module).

When viewing a session:

Notice: Undefined index: uid in cod_session_user_is_speaker() (line 545 of /Users/ezra/Developer/htdocs/dev/contrib/drupal-7-b/sites/all/modules/cod_support/cod_session/cod_session.module).
Notice: Undefined index: uid in cod_session_user_is_speaker() (line 545 of /Users/ezra/Developer/htdocs/dev/contrib/drupal-7-b/sites/all/modules/cod_support/cod_session/cod_session.module).

As a consequence, the session confirmation isn't displaying.

#57

Assigned to:Anonymous» japerry

Re-posting this, includes fixes from evaluations that make changes to the session module (and base)

AttachmentSize
1668908-cod-session-redo-4.patch 150.7 KB

#58

Patch applies clean, I am seeing overrides on cod_base though:

Component: info
  dependencies[] = advanced_help
  dependencies[] = comment
> dependencies[] = dashboard
  dependencies[] = features
  dependencies[] = field_permissions


Component: user_permission
        0 => 'administrator',
        1 => 'content editor',
>     ),
>   ),
>   'access dashboard' => array(
>     'module' => 'dashboard',
>     'name' => 'access dashboard',
>     'roles' => array(
>       0 => 'administrator',
      ),
    ),

I am going to leave the override in place and continue testing.

#59

On saving a new room :

Notice: Undefined property: stdClass::$field_accepted in cod_session_is_declined() (line 533 of /Users/twardnw/Sites/cod7.dev/sites/all/modules/cod_support/cod_session/cod_session.module).

On saving a new time slot:

Notice: Undefined property: stdClass::$field_accepted in cod_session_is_declined() (line 533 of /Users/twardnw/Sites/cod7.dev/sites/all/modules/cod_support/cod_session/cod_session.module).

Guess this patch doesn't touch the single-column schedule yet, a visit to program/session-schedule yields a 500 error and this in my Apache log:

[Mon Jul 30 10:29:19 2012] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined function quicktabs_build_quicktabs() in /Users/twardnw/Sites/cod7.dev/sites/all/modules/cod_support/cod_session/cod_session.module on line 172, referer: http://cod7.dev/program/sessions

Submitting a session by an authenticated user works fine, session is listed in the 'proposed sessions' at program/sessions/proposed
A 'Session Organizer' can edit the session and set the status, but does not have the ability to assign it to a room or time slot.

#60

Patch applies clean, I am seeing overrides on cod_base though:

Sorry, the overrides on cod_base are not coming from this patch

#61

Patch applies cleanly to cod_support at this time except for the overrides in cod_base noted in #58

When viewing a time slot or room I'm seeing:
Notice: Undefined property: stdClass::$field_accepted in cod_session_is_declined() (line 533 of /cod_support/cod_session/cod_session.module).

After viewing a session I'm seeing:
Notice: Undefined index: uid in cod_session_user_is_speaker() (line 544 of /cod_support/cod_session/cod_session.module).

Looks like you missed the quicktabs dependency. When I try to view the session schedule I get an exception:
Fatal error: Call to undefined function quicktabs_build_quicktabs()
-- Enabling quicktabs fixes this.

You should also have added quicktabs_tabstyles as a dependency.

Everything else looks good - leaving this assigned to japerry for now.

#62

After enabling quicktabs and quictabs_tabstyles the schedule is working.

#63

Regarding cod_session_is_declined - the reason you are seeing these errors is because the code is doing a node_view_alter and not checking to see what type of node its actually checking against. It should only be checking for that field on sessions.

You have:

// Display a message indicating when a session has been declined.
if ($build['#view_mode'] == 'full'  && cod_session_is_declined($node)) {

Try instead:

// Display a message indicating when a session has been declined.
if ($node->type == 'session' && $build['#view_mode'] == 'full'  && cod_session_is_declined($node)) {

#64

Status:needs work» needs review

Also entityreference fields use 'target_id' - not the entity-specific ID key (ie: uid)

543   foreach($node->field_speakers[LANGUAGE_NONE] as $speaker) {
544     if ($speaker['target_id'] == $uid)  {
545       return TRUE;
546     }
547   }

Not trying to step on any toes but here's a patch that fixes the quicktabs dependencies and these errors.

AttachmentSize
1668908-cod-session-GODZILLA-PATCH-64.patch 150.76 KB

#65

Patch applies clean, errors are gone, dependencies are showing for quicktabs and quicktabs_styles.

#66

Assigned to:japerry» Anonymous

#67

Assigned to:Anonymous» japerry
Status:needs review» reviewed & tested by the community

#64 is clean and works as expected. I tested Session creation with all of the different roles. The permission scheme is working correctly. Also, the multi-tab display in a single column is working.

#68

Assigned to:japerry» Anonymous

Somehow this got re-assigned in my last post.

#69

Status:reviewed & tested by the community» needs review

Here's a re-roll that makes the following changes:

A) Instead of building 1 Quicktab-per-day for the session schedule via custom code (hook_menu + hook_menu_local_tasks_alter), we use Quicktabs' built-in grouping functionality to group by the day of the session. We get this information by using the referenced timeslot relationship and defining a new date format equivalent to "Wednesday July, 03 2013" and we sort by the date, thus putting the tabs in the desired order. You can see the custom code that's removed in the attached interdiff. (This also resolved an issue where a 2 day schedule rendered a tab that displayed empty text.

B) This also removes the "tabs within tabs" design where the schedule view was tabbed on "Schedule" and "Your schedule" and then again another level deep for each day of the schedule. Let's avoid double-nesting tabs and use COD's quick-links menu for the "your schedule" link, or use the View footer or another solution.

C) With that change, we no longer need a custom Views display plugin to render the vertical schedule. As a result, the "Session schedule" formatter is renamed to "Session Schedule Grid" and is no longer the default for the COD_Session view.

D) Additional permission export to COD_Base to prevent the feature from being overidden on install.

Attached is a re-rolled patch with an interdiff.

AttachmentSize
1668908-CODZilla-69.patch 164.64 KB
1668908-CODZilla-69-Interdiff-to-64.patch 52.52 KB

#70

Here's a revision that includes fields missing from my re-roll in #69 in the vertical schedule view.
Note: You must apply the patch from http://drupal.org/node/1279928#comment-5902818 (#1279928: Features support for date_formats) to Features before testing the present patch.

AttachmentSize
1668908-CODZilla-70.patch 167.81 KB
1668908-CODZilla-70-interdiff-to-64.patch 58.45 KB

#71

passes my tests, sessions are being schedules, showing up in the schedule too, able to accept and decline, flags are being shown to the speakers of a session for confirmation.

#72

#70 is clean works well after applying the dependent patch from Features. Features list as DEFAULT, which is nice. I tested three rooms in several timeslots, across multiple days. The tabs are working. I also tested the node creation process for Authenticated users. They can propose sessions, but they must be approved and scheduled by an admin. All sessions appear in the correct tabs in the admin views.

#73

CODZilla #70 applies clean and works after applying #1279928-15: Features support for date_formats

Tabs are working here: http://screencast.com/t/lu29dCUMgggF

'Room' is missing from the single column session view. Other than that it looks good.

Seeing all admin views - each appear to be working fine.

#74

Status:needs review» reviewed & tested by the community

#75

Title:Remove User Reference and Node Reference from cod_session» Replace User reference, Nodereference with References, Vertical session schedule view
Category:support request» task
Status:reviewed & tested by the community» fixed

Thanks so much everyone for your persistence here an especially for the rapid collaboration around the CapitalCamp 2012 sprint. This is committed!

http://drupalcode.org/project/cod_support.git/commit/2059d1e

#76

#77

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

nobody click here