BP ScholarPress Schedule

The following timeline was created taking into account that the coding session starts on 24th of May and the midterm evaluation starts on 12th of July.

In short…

The BuddyPress ScholarPress project will be split into several minor tasks and two milestones, the midterm evaluation preview version and the beta/rc version at the end of the summer of code in 16th August. The final release version should be released until 30th of August.

The project can be divided into small tasks. I will focus on the main bulk of code that has to be written until the first milestone (midterm evaluation), leaving code improvements, bug-fixing, testing and UI/UX stuff during the second milestone.

First phase/milestone

The first milestone has 8 weeks during each I will be doing continuous commits and every end of the week we’ll have a briefing for the upcoming tasks and code reviews for the committed code. Here’s the list of tasks I will have to implement during the first 9 weeks (in order of importance):

  • Users as students and teachers, implement a mechanism to “tag” teachers. They will be allowed to manage the ScholarPress itself. Teachers can add/remove new teachers into BuddyPress. A teacher can be added/removed along with a “log” comment why it happened. This is the base we require to create the virtual “school”. [1]
  • Courses. Create courses. Basically it means porting the ScholarPress component into the BuddyPress. If it goes fast, consider working on the main dashboard too by integrating courses information into it.[2]
  • Bibliography. Basically port the SP component into BuddyPress. If it goes fast, start working on external importers from Connotea like webapi.
  • Assignments. Basically port the SP component into BuddyPress. Add the attachment feature, or integrate with a plugin like group attachments BP already has. If it goes fast, integrate with the existing courses and add to dashboard the assignments deadlines.
  • Schedule. Basically port the SP component into BuddyPress and extend it integrating the courses into it. The final result should look more like a timetable with the courses in it. If it goes fast, connect it to the dashboard. The notification part is left to the second milestone.
  • Gradebook. KB-Gradebook needs to be updates. Write a UI for manual grades addition to make it not depend on csv. Make csv parser more format compatible. Fix all the existing bugs. If it goes fast, start porting it to BuddyPress. This is debatable, needs review, query wp-edu list to get more feedback and ask about its lacks.

Second phase/milestone

There are 6 tasks to be done during first mileston. Good or worse until the start of the midterm evaluation they should offer a big picture of what has to be achieved. The second milestone is 6 weeks long and will include following tasks:

  • Finish work on Gradebook. Until the start of the second milestone I must have a list of features it should offer and start their implementation during first week.
  • Write the notifications hooks and connect the schedules, gradebook and assignments with it. Students will receive notifications on some actions. Write hooks and filters for all of them.
  • Finish the dashboard. Tight integration of Gradebook and the rest of components in it. Work on UI/UX part with Jeremy and Jane (JJ :)) for the best results. The dashboard will become the landing page for students so it’s one of the major components.
  • Start project review for bugs, define UI/UX imporvements. Work with templates, ajaxify where its better. Again a lot of brainstorm with JJ. Set up a public instance, maybe testbp.org for major testing and get the feedback.
  • Start writing documentation where it was lacking. Setup the scholarpress.net page for BP component. Work with Boone for code improvements/BP API (optimizations, phpdoc), major code review until the beta/RC.
  • Back-port good stuff back into SP. Gradebook, UI/UX work. Feedback/notification systems. A lot of work with Jeremy. Explicit tasks to be defined yet.

Final notes. Links, references.

  1. Use usermeta to tag users.
  2. Still use posts to save courses, add custom taxonomy to link courses to groups?!