Hey rdbean, How did that work out? I think that you were angling to generate the events in Excel then use a CSV import, and I have had grief with that.
I have what I think is a pretty hot way of doing this, but it took me hours of having Access give me error messages, and finding out that Excel data connections seem to not be live, i.e. don\'t allow adding data.
Anyway,
Create one occurrence of each event.
Use any tool like PHPMyAdmin, etc. to generate a SQL dump of records you want to replicate.
Open the file in a good editor that has a Column mode. I use UltraEdit.
Null out the ID field of the one original record for the event you are working on, so that you aren\'t creating key errors.
Make a bunch of copies of that line in your file.
Go to Excel, and create a column of the dates you want, using a simple formula like =A1+7, and copy that for as many weeks as you want.
Use Right Click, format cells on the dates to make them into yyyy-mm-dd format.
Copy the dates.
Go to the SQL file in your editor.
Go into column mode, and replace the column of publish up and publish down dates with your copied dates.
Once you know what you are doing, it\'s fairly quick.
Now, just take your SQL back to PHPMyAdmin and run it.
The cool thing is that you don\'t have to mess with the field mapping in PHPMyAdmin or the errors that Access seems to give around null fields. You can also easily use search and replace and do the insert again.
To make this fully functional, you have to have a record in jos_dtregister_group_event for each event. Do the same trick. More precisely, you are omitting the \'slab_id\' primary key from the insert. You have to make the event_ids in the insert match up with the event ids that got created in the prior (events) insert.
Set up Registration under Registration Management for one event.
Export the SQL for that record.
In Ultraedit, use column mode, and you can fill with sequential numbers.
Run the SQL file.
To make it really, really good, you might want to apply the same trick to jos_dtregister_field_event. That insert looks like:
INSERT INTO `jos_dtregister_field_event` (`field_id`, `event_id`, `showed`) VALUES
(1, 81 , 1),
And you just have to make a bunch of rows with the eventids as the middle number for which you want the field to be active.
Post any improvements here, please.
Please also encourage Nathan to step up and create a simple PHP script for us to clone events.
Update: 5/27/08 - I just did this again, and am glad I had this note to refer back to. It really is just a couple of minutes, once you know where all the buttons are.
Thanks,
Ken