NYC-Camp / website

The NYC Camp website repo.
GNU General Public License v2.0
5 stars 68 forks source link

Event Registration Implementation/UI #117

Open willykaram opened 10 years ago

willykaram commented 10 years ago

We need to implement and test/QA the event registration. We should decide on a layout for the individual event pages and the UI for same. Currently users have to visit each event node in order to register and they don't have a UI to easily show them everything that they're registered for.

If possible it would be ideal to create a page with a custom form that enables registration entities to be created for each of the events for a users.

This would ideally be 4 columns, with the events for each day listed under the column in check boxes that use ajax to register/unregister a users. We could also have an umbrella row above the four columns that's used for the conference registration.

At a minimum we could create a page that lists all the events as suggested above with the event node registration form all exposed and then we can use some simple ctools/ajax hooks to submit the registration for the form from that page on click without reload. We could link the event title to the pages, but also provide quick view of the event without needing to visit the page.

Overall what we're aiming for is a simple UI that allows a users to see all the event available, what they're registered for, and to register/unregister as appropriate. From a UI perspective I think it would be best to implement this on a single page w/ajax.

Also note that Rainer and I are working on images/icons for all of the events and can sketch-up a wireframe/design for this page it the above is not clear.

sergesemashko commented 10 years ago

Hey @willykaram , I'm actually working on #68 and we discussed to do not implement accordion, because it's a bad mobile experience. We agreed upon another schedule icon near the menu and show the camp program like a menu on the left side.

esod commented 10 years ago

So I guess this is not what we're looking for?

http://qr-code3-nyccamp2014.gotpantheon.com/user/1/registrations

sergesemashko commented 10 years ago

@esod my request is not merged yet, https://github.com/NYC-Camp/website/pull/159

ForestMars commented 10 years ago

Ok, this is now overly complicated for being only 20 days away from the conference. Either someone needs to take responsibility for actually doing this, or it needs to be scaled back considerably. I doubt we should be adding any new UI at this point. And we certainly should not be ideating new UI this late in the game.

What's still needed functionally? It looks like just adding events when the user registers for them, so they show up at http://www.nyccamp.org/user/%/schedule. @esod Is that a quick fix?

Then the pages could obviously use some styling. Who is going to be doing this?

esod commented 10 years ago

Yes, sounds like what I've already done (see above) will be useable.

ForestMars commented 10 years ago

Checking now to see if registering for an event adds it to your schedule (since you don't register for sessions, but instead use the "Add to my schedule" link.)

ForestMars commented 10 years ago

@esod - I don't see "add to my schedule" on the qr-code3 branch. Am I just missing it?

Also, can we combine "my registrations" and "my schedule" into a single view for the user? Many will be confused having 2 different schedules, one for "registrations" and one for sessions. They will just want to see a list sorted by date and time, I think.

esod commented 10 years ago

I think one view will be the way to go too. Perhaps we'll want to label each entry as session, event, or schedule item. I'll see how it looks when I get registrations in to the personal schedule view.

The "add to my schedule" flag is now enabled on the qr-code3 branch. That's the workaround I have to do because Display Suite is overriding the node templates while not permitting custom fields because there are no ds layouts. Display Suite is not implemented fully and it's a blocker. I'm thinking of a pr to fix this, but it's late in the development cycle and a pr like this does introduce risk. I think this is a post mortem issue.

But anyway, there's no code involved in the workaround to add the session_schedule flag. The downside is the flag is on all sessions whether they are accepted or not. The code I wrote prints the flag on accepted sessions only. This is an issue that will "resolve" itself because I assume that as we run up to the camp only Accepted sessions will be published.

ForestMars commented 10 years ago
  1. I see that only "accepted" sessions appear, however what about sessions that are trainings? summit sessions? BoF sessions? I think people are going to want to add any type of session to their schedule, and not just those accepted for Saturday in the AV rooms.
  2. Having said that I'm not especially married to the current approach of having a different status for sessions that are on training day, summit day, pre-scheduled BoF's etc. So we could change that, we just don't want it to be confusing (eg. if your session is set to be a BoF, doesn't that mean it wasn't accepted? Also, take a look at the Rules for sending out emails when a session is accepted for a training, summit or BoF; the rules just check the status field, although they could instead check the session_type field (aka other_info.)
  3. I see that "My registrations" and "My schedule" are still on different tabs. Did you want to develop that in a different branch, or do the whole thing as a single PR?
  4. We probably don't need the event node author's name on the "My registrations" tab. In many cases that's just NYC Camp (admin) anyway.

Would be great to get this in. Although worth noting that the schedule grid is probably a more pressing concern.

esod commented 10 years ago

Okay. looks like the union is working. http://qr-code3-nyccamp2014.gotpantheon.com/user/1/my-union

To make a union of two views, I'm using this module: https://drupal.org/sandbox/jalama/1785294 and I've patched Views and Core. See big jim's comments on the module page.

I think a union is the only possibility here because the two view displays we are trying to combine use different base tables/entities, content and registration respectively.

It would be nice to get BoF's and schedule items in this view as well.

ForestMars commented 10 years ago

@esod++

Is this ready for a PR? We can probably do without BoFs for now, as I don't think that is even set up yet...?

esod commented 10 years ago

The union is not sorting correctly.

not-sorting-correctly

The individual tabs, My Events are My Sessions, are perfect.

ForestMars commented 10 years ago

Is this an aggregation problem with the group by statement?

Maybe privatepaste the sql query it's using?

esod commented 10 years ago

http://privatepaste.com/d4fd600495

esod commented 10 years ago

This is from my local.

http://privatepaste.com/82e7cdef72

looks different but it's not sorting either.