1. Publish Courses X days before the term starts.
Before a term begins, existing, unpublished course sites are published so that they are then available to the students enrolled in the courses.
The courses will be published a number of days before the start of the term, whose value is specified by a property.
*There is a special use case to consider.
*Say that this method is invoked, and all the course sites for the current term are published.
Now, suppose one particular instructor forgot to add some content, or made some mistakes setting up his course site, and he wants to unpublish his couse site while
he makes some changes to it. He goes into sakai, and uses the site setup tool to mark the course site as unpublished. But, suppose the next day this service is
invoked again (via a quartz job). His course would get published again, even though he doesn't want it to be, and has manually gone into sakai and set it to
unpublished. In order to prevent this case from happening, whenever this service marks a course site as published, it also sets a site property called rsmart.course_site.publish.set. (Note: Name will be changed in the contributed version)
Then, if an instructor manually resets his site to be unpublished, this service will not automatically publish it. Rather, the instructor who manually unpublished the
course site will have to go into sakai, use the site setup tool, and manually publish it.
Course Site Removal
unpublishes course sites whose terms have ended and a specified number of days have passed.
Once a term has ended, the course sites for that term remain available for a specified number of days, whose duration is specified in sakai.properties. After the specified period has elapsed, this invoking this service will either
remove or unpublish the course site, depending on the value of a sakai property.
This is a code working in our customers from a long time and they are very happy with the way it works. I will review it and create a version for Sakai 11 to contribute.