Active
Project:
Signup
Version:
6.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
21 Aug 2008 at 12:22 UTC
Updated:
19 Mar 2012 at 17:17 UTC
Hola!
Recurring events feature is A MUST for a new project I'm doing consulting for. Repeat Date API seemed to fill the gap, but then I found that, without integration with the signup module, the use cases cannot be fulfilled.
I'm posting this as a feature request, as I couldn't make Signup work with recurring dates. I'm using Date (not Event) and it seems that signing up is limited to signups for the cck node, and not for the (node + date occurrence) pair.
I haven't seen this feature request listed or even mentioned anywhere, could you please tell me:
Thanks in advance. Salud!
Comments
Comment #1
mariano.barcia commentedgoing with Event for the moment...
Comment #2
shanefjordan commentedI'm going to test this and see where it really stands. Since signup is on a per node basis, my initial guess is that it will only work for the first node and not each additional node that is created by repeat. If it does not work and copy the signup to each node, I think there should be an option to copy to each node if that option is choosen. I'm actually trying to move off of event and go towards date/calendar. I've had too many issues with event not doing the things I need.
- Shane
Comment #3
briggsm commentedHey guys, do you have any new updates regarding this topic? I also have a need for this functionality.
Is it possible to use "Event" to be reminded of Recurring events (each time the event happens in the future)? I didn't think it was possible, but if so, at least it would be a temporary solution....
Thanks,
Mark
Comment #4
drfuzetto commentedI am using Dupal 6.x
I have the sign up feature enabled on a node that repeats and when a user signs up, there are signed up to every instance. How do I change it so they only sign up for that one instance?
I am using a cck date field with Repeat options.
My Date field to use with signup is set to .
I don't really understand this field.
Comment #5
MM10 commentedExact ditto on #4 by drfuzetto.
There must be some mechanism for allowing a user signup for each repeat instance, I just haven't figured it out.
Any suggestions or pointers would be really appreciated.
Comment #6
dwwThere's no mechanism. No one has written any code for this. Signup assumes each node is a unique event. The Date Repeat API stuff breaks that assumption. It's a rather large can of worms to change signup to deal with this, and no one has either written the code, or come up with funding to sponsor my time to do so. Hence, this is a "feature request" to add this code, not a "support request" about how to configure the existing code to make it work. ;)
At this point the 5.x-2.* series is supposed to be in feature freeze. I'm not really planning to do big changes there anymore. This should really happen in the D6 port. If the required changes for signup are large, it'll probably have to be in the 6.x-2.* series, in fact, since 6.x-1.0 is about to be released as a stable (bug-fix-only) series.
Comment #7
rbryer commentedI am using Date and Date Repeat API and for my use case it actually seems to work fine except for one issue (below)
My Use case is different from the above as I have a node 'Class' that repeats every Mon,Wed,Thurs for a month at 6pm. A user can sign up for the class which implies that they will attend all the classes i.e. I don't want to have to sign up for each individual class. This works fine, I get one email confirmation and the list of people signed up is correct. And on the actual node I can set the limit and it correctly stops when the limit is reached.
The issue arises in the 'Administer Sign Up' page. This is displaying incorrect information. If I have a sign up limit set to 10 and one person signs up, then the sign ups column displays '12' and the status is displayed as Closed. However, I can go to the node and still sign up. If I click on the 'View Sign Ups' link it only shows me the correct number of people.
For this I can deduce that
a) the '12' is being caused by the number of repeating events, in this one location the code is counting each repeat as a signup rather than the single sign up.
b) that the status column is being calculated on this page and being misrepresented, as the status calculation of the actual node is getting it write. This should be made an single function so that it is consistent.
I realise this is really a bug, but as its a bug on an integration with Sign Up .... which is not implemented but just happens to work .... I have added here for reference.
Comment #8
ussher commentedAlso looking for this functionality.
It would also be cool if the scheduling date did not have to be set on each instance of the event.
eg: if i have a tour company running multiple tours every day from april til november I would like to be able to set that each days bookings open on march 1st (when the booking staff are employed from) and they close on the day of the event. so that nobody can book a tour that has already happened.
rather than having to edit each day individually to set up the dates.
Comment #9
reaneyk commentedsubscribing
Comment #10
JamesCollier commentedI have a need for something similar - it's not exactly the same, but I'm not sure it warrants its own request.
I have a site with two content types that users can sign up for. Each *can* have multiple dates, which are processed using CCK and the Date field. When signing up for either type, only one date is allowed, so I need to pass the values of the date field (when there are multiple values) to the signup form by way of select list.
Any thoughts here? I'm a bit surprised I haven't been able to find someone with a similar request - if not dates, other CCK info.
Thanks for any help you can offer!
Comment #11
JamesCollier commentedAdding to my last comment, I might be able to sponsor at least part of this, if it is indeed a feature others can use.
Comment #12
OliverColeman commentedWell, I could possibly use #10, as well as what could be a variation to it: allowing selection of multiple dates with an option to select all future occurrences.
For the job I'm working on it makes a lot more sense to handle repeating events with a multi-valued Date field, because:
I'll probably write a patch for signup for this, but am a bit wary of writing a patch that might not get included, and where I'm using numerous modules that work with the module being patched (uc_signup, signup_scheduler, signup_status...)! Will need to look more into how signup works and how other modules interact with it before committing to anything, and I have other things to finish before getting around to this bit of the functionality. But it would be good to know anyones thoughts on the best way of modifying signup to handle multivalue Date fields!
Comment #13
dww@Oliver: that'd be something close to a complete re-write of the signup module. It was written from the ground up to assume signups per nodes, not signups per date field values on a node. The DB schema would have to be re-designed, and probably 1/3 to 1/2 of all the functions would have to change in some way, maybe more.
For all your talk about avoiding duplication, why don't you use a level of indirection? Have a node that represents the entire course, and each instance is a separate node which has a node reference pointing to its parent course node for truly shared data, and then the instance node can handle all the things specific to each instance (the real date/time, all the signup data, anything else that might change per class).
I spoke to KarenS at DCDC about this problem, and she said there are a whole bunch of things that are going to be exceptionally hard to get working with Date Repeat API (not just signup) unless it has an option to do some sort of separate nodes for each instance...
Comment #14
catorghans commentedThis thread confirmed my thoughts that signup and date repeat would mean a almost full rewrite of the signup module.
I think a module who just creates a node for every date you want repeated would solve these problems.
Module date_repeat_nodegen is a first attempt to that.
Comment #15
OliverColeman commentedWell, eventrepeat is a fairly full featured module for generating new nodes for each recurrence of events. Only problem is there's no D6 version and it seems to have become unmaintained as the new maintainer seems to be busy with other stuff. The D6 port issue states that porting will require almost a complete rewrite of the module as the D5 version is heavily dependent on num_rows which was removed from D6, and the Event timezone handling has changed.
date_repeat_nodegen uses the Date Repeat module to generate the pattern of repeating dates, which is nice. But so far it can only create new nodes, not edit the sequence of nodes once created. There's been only one dev release, in April, and nothing has happened since then; no replies to issues.
I need this for a client at some point (sooner rather than later), so will have to have a go at it myself if nothing changes soon. Not sure whether it would be better to try and finish porting eventrepeat, or extend date_repeat_nodegen. I'm leaning towards the latter as eventrepeat sounds like a bit of a beast (complex), but perhaps that's just the nature of feature rich recurring event modules!
Comment #16
dwwNote: I (and Karen) *fully* support solving the signup (and many other related) problems by some kind of "new nodes for future dates" solution with Date Repeat API... Y'all have our blessings to make a D6 version of that that doesn't suck. ;) Good luck!
Comment #17
jgoodwill01 commentedWould love to see something worked out with this. I too am trying to find a why to have online signups for classes that have repeating dates. Any anyone figured a way to do this that has worked successfully?
Comment #18
jcicolani commentedSubscribe
This sounds like it would be a hitch-pin feature for a lot of users (myself included) where there is a single node with multiple start dates associated with it (like a class).
If anyone has found a work-around using a master node and child nodes for individual dates I'd like to hear it.
Comment #19
bizkarl commentedHi, I think this can be accomplished by using this module ( http://drupal.org/project/date_repeat_nodegen ) that is an addon to Date Repeat API. This module separates each repeat of an event into separate event nodes. Then signups are for each node instead of one signup for all the repeats in one node etc.
Cheers,
Karl
Comment #20
dww@bizkarl: Yay, thanks for the pointer. That indeed sounds like exactly the approach that KarenS and I discussed about how to make stuff like this work with Date API. Sadly, there are no releases of that module at all, and it looks basically abandoned. It'd be great if someone wanted to adopt that module, give it some love, and make some releases.
Cheers,
-Derek
Comment #21
OliverColeman commentedThere's also http://drupal.org/project/node_repeat which works a bit differently compared to date_repeat_nodegen. It has some facilities for administering the sets/sequences of repeated nodes it creates.
Comment #22
jcicolani commentedNode_repeat is the solution I'm looking at right now. Unfortunately, it's not fully exposed to views yet.
What I'm looking to do is have a page that displays a course description and then a list of the available start dates students can enroll into. Node_repeat will nicely create clones of the original node with the updated dates, the database field nicely connects them through a series ID, but the series ID is not available in views.
As a newb (though with EXTENSIVE database and IT background) I'm not familiar enough with the implementation of queries or views to know the best way to approach this. Any help would be appreciated.
Comment #23
gribnif commentedsubscribe
Comment #24
hunt3r commentedAlso something I need to solve. Subscribe.
Comment #25
JGonzalez commented+1
Comment #26
gagarine commented-1 for a node clone system
Date is a field, they are no logic to duplicate a node because this node have multiple dates. I think this is an ugly workaround. Look like a complete rewrite so patch is not the right way to go. Perhaps create a new branch?
EDIT I change my mind. Date repeat is nice http://drupal.org/project/node_repeat is nice too. Some times you need independent node.. sometimes not.
Ideally Signup should support the twos options but working first on node_repeat sound the fastest way to get singup and date repeat working.
Comment #27
shanefjordan commentedThe signup module does work with the node repeat module. This is basically the same functionality as if it'd work with the date repeat.
Comment #28
pribeh commentedsubscribe. this would be a very powerful addition to signup.
Comment #29
seemas commentedsubscribe.
also CCK MULTIPLE DATES (not a date repeat) and SIGNUP module integration
Comment #30
SandraVdv commentedsubscribe.
I also think this would be an improvement for the signup module.
But I'm not convinced generating extra nodes for each date will be the 'best' solution...
You can get all the dates that are linked to a node, which has repeating dates, from the database.
Is there nothing that can be done with this info from the database?
Comment #31
Exploratus commentedsignup.
It would be great if it could just send emails for each date in a repeat sequence.
Comment #32
jvieille commentedAny progress on this?
Looks like a classic use case: sending reminders for repeating events - Birthday for example....
Drupal cannot readily do that, quite sad. There posts on this for more than 4 years.
I spent a significant time to figure out how to implement this, and did not found any doable solution assuming a reasonable effort.
Node repeat implementation is much too complex for the users.
Comment #33
MM10 commentedI don't mean to come across naive, but unfortunately I am-- do you think Rules/Trigger can give this functionality?
Comment #34
jvieille commentedI personally did not succeed with Rules - The Repeat stuff seems to need the recursive processing that is not available for D6.
Comment #35
pixelsweatshop commentedplus 1
Comment #36
pixelsweatshop commentedI am willing tp donate some funds to see this functionality implemented. I am sure others in this thread must be willing to do the same. Combined we might be able to support this getting done. Is that something you would be interested in @dww?
Comment #37
odegard commentedI'm also ready to help fund this work.
Comment #38
c4rl commentedSubscribing.
I wrote a custom module to do this for a particular project I'm working on that ties a signup to the event's nid and instance timestamp. As Derek described in comment 13 the design of the signup module is such that it assumes users are signing up for a single node, not instances of a given field on a node. Hence, I wrote my own.
Although the suggestions to create multiple nodes per date repeat instance may *seem* like a way forward, I think they could create other problems, especially as I consider how they would affect node reference fields, views relationships, node revisions, and doing SQL queries in general.
There are tricky use cases. For example, what happens if repeat rules are edited after users have already signed-up for given repeats? (My custom module doesn't yet account for this).
Event calendars beyond the most simple tend to have very specific use cases, and so creating a module/feature that would work as a one-size-fits-all is not easy. Eventually we end up with projects that don't accommodate every use case or projects that are more abstract (such as http://drupal.org/project/eventbookings) for the sake of developer flexibility.
Specificity is no exception in my custom module and so it will take some generalization to make suitable for release. I doubt it will fulfill every use case. I will consider creating a sandbox and will update this issue if or when that occurs. Cheers.
Comment #39
Breakerandi commentedFor me its a good solution to put a rule with rules module and signup rules module like this:
On event "view node"
if "type=node(with signup)"
if "status=close"
do "set status open"
of course, that works only if you or your users are watching the nodes, not in views and previews..
Comment #40
mstef commented+1 (d7)
Comment #41
shanefjordan commentedDue to how signup functions (and there are other modules functioning the same way), why not use the modules that work?
Instead of using Date Repeat, use Node Repeat and then signup will work and be on each node. You can get all the functionality that is wanted, it just may not be the exact setup you were hoping for. I originally thought I needed this to work with Date Repeat, until looking further and see it works perfect with Node Repeat.