Dan, thanks a milliion for the clarification.
Yes the documentation is very helpful, but it doesnt say how to set or get settings. Just that the data is stored in the DB. In anycase, I just thought that you might want to review this as well.
Basically, there is no UniqueIndex on the SettingName, so if someone were to programatically attempt to add 2 key values with the same name, then the schedule item would fail during it's initialization code because, you cant have identical keys in a hash table. Also, since there is no Unique Index / Constraint on the field, it is perfectly legit, for an operator to create dupliucate entries in the table, and meanwhile the scheduled item will fail each time.
Here is the exception that is logged when this particular scenario occurrs.
Message: Item has already been added. Key in dictionary: "Test" Key being added: "Test"
ParamName:
InnerException:
TargetSite: Void Insert(System.Object, System.Object, Boolean)
StackTrace: at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) at System.Collections.Hashtable.Add(Object key, Object value) at DotNetNuke.Scheduling.SchedulingController.GetScheduleItemSettings(Int32 ScheduleID) at DotNetNuke.Scheduling.SchedulingController.GetSchedule() at DotNetNuke.Scheduling.CoreScheduler.LoadQueueFromTimer() at DotNetNuke.Scheduling.CoreScheduler.Start()
HelpLink:
Source: mscorlib
I use LLBLGEn and C#, and I create a portal module control that allows my host users to set settings for scheduled items. You are more than welcome to have this code if you want to use it when making your updates in the next version. It might save you some time. Dunno.
Did the chicken really cross the road, or did the road move beneath the chicken?