Posted by saepl on June 4, 2010 at 6:02am
I am working bringing and old drupal site up to date and replacing the current course database from something made in Visual Basic to something in Drupal.
I have created a content type with a bunch of CCK and taxonomy to categorise the course but I am having some troubles and I am hoping I can get some feedback on best practices to creating an online course database. Some of the problems I am having:
- The same class can be offered by distance, intensive (1 week long) or standard semester. Do I create three different nodes, one for each time the class is offered?
- How can I let someone add the class offered as "fall 2010" and then convert that to timestamps of a beginning and an end?
- What is the best way to setup the class times so they can be displayed on a calendar (recurring dates and Date module?)
I have created a content type for courses but I am running into problems pulling data from views, not using real dates for class start and end times or actual class times and it's all just giving me a lot of headaches and I know there must be a better way!
Help is appreciated!
Comments
Are you making a list or ... more than that?
By "course database" do you mean that this is just a list (and a means of signing up?) or is it also the courses themselves? Either way, I think you would have to make each one a node and differentiate between them with taxonomy terms. After all, they are independent even if they have the same content, right?
By setting up class times so that they show up in a calendar are you looking to enable sign-up or just a schedule (aka "time-table") for existing courses? The former sounds like you want to use the event module or create similar functionality with views and cck; the latter sounds like ... something else, not necessarily dynamic.
If this somehow includes the courses, themselves, then it would be good to know what your structure is. Fortunately or unfortunately,as I'm sure you know, there are many ways to do courses. I'm sure you've looked at Organic Groups, Open Atrium, DrupalEd (about which this group was founded) and phpEdu or the latest eduglu, which looks like it uses spaces, context and features like Open Atrium -- which way are you going?
David
http://FlossEd.org - Free & Open Source Schools -- Free & Open Minds
Sorry I was not more clear.
Sorry I was not more clear. I am just looking to create a time table.
Based on a bit more research I have done I am thinking of creating two different content types, one called "course description" and one called "course schedule". I was thinking of linking the schedule to the description by uing nodereference. Then I can have a view at the bottom of each course description node that pulls in the schedule info and this way I can have multiple schedules.
It looks like the Date module doesn't allow unlimited repeating dates so I will have about 5 repeating date fields which should be ok to account for all scenarios of when a particular class timetable is.
Question, how could I present something easy to a user to search, for example, for all courses offered in Fall 2010 if the course schedules have a start and end date created by the date module? I somehow have to relate the dates to a semester. Any practical suggestions?
Question #2
I was also wondering if your second question, saepl, was possible.
It would be great if we could determine a session, for example, with a "semester" node with start and end dates, and then have multiple course nodes that repeat within the semester time frame, for example, once a week on tuesdays.
Creating a schedule is pretty easy with date, calendar and views, but the latter doesn't seem possible quite yet.
Any thoughts?
@modesia, I ended up using
@modesia,
I ended up using taxonomy (free tagging) to create the "semesters" It works very well. Then I used the views bulk operations module to allow the database manager to quickly unpublish all the courses for a given "semester" (taxonomy term)
Some more info: The course database I created uses two content types: Course and Course Offering. There can be multiple Course Offerings for a given course. I use node reference module and views module to link to each other. The Course Offering has 5 cck date fields (mon,tue,wed,thur,fri) and each of these allow repeatable dates, then I use the calendar view to display when the course is offered (what day of the week and times). You can see the finished result at http://www.boothuc.ca/courses
Let me know if you have more questions.