Hi Ramamoorthy,
My project deals mainly with the reporting part of your idea (though just in a general way - not doing specifically what you want).
Let's look at your requirements:
- - Create a category specific to a project
- - Create multiple courses under that category [project]
- - Subscribe certain project members to categoryI think this not so straightforward.
Use Meta Courses and Child Courses for the above. If Moodle allowed you to enroll students into a Course category you would be better off (less work to do later when it comes to reporting).
- - Schedule the training plan
Do this by creating sessions in Attendance module?
- - Take attendance for each of the planned course [If there is an option to capture the attendance if an only if someone has provided the feedback, it would be great]
Do you mean you don't want them to appear on the list unless they've provided feedback to a specific feedback questionaire? If so, you would need to edit the attendances.php file and possibly the locallib.php file. You would also need to create a form of some sort and add
database table/fields where you can store which feedback instance has to be completed for them to appear on the list. This whole part is a big job!
- - Then take report at category [project] level to see who all attended the coursse
Here you need to edit the adv_report.php and reportlib.php files (if you're using my modifications) or you could just edit report.php can locallib.php so that the report recoginises whether the course is a meta / child course and the act accordingly (show all attendance for related courses).
- - Report shou be have fields like 'Category' , 'Course name' , 'Teacher', "Atennded date', 'Quiz marks' etc .
I have added extra fields to my reports (and to the whole way I use the attendance module) so you have lots of examples to work from, only your fields are probably not so straightforward
(mine don't have any logic/rules attached). My reports do allow you to view attendance of all courses that you have
permission to view (or one at a time).