This gets you pretty close to what you want. I changed some grades to make it easier to see it is doing the right thing.
#+BEGIN_SRC emacs-lisp (setq assignments '()) (setq students '()) ;; get assignments (org-map-entries (lambda () (when (= 1 (nth 0 (org-heading-components))) (add-to-list 'assignments (nth 4 (org-heading-components)) t)))) ;; get student names as list of cons cells (org-map-entries (lambda () (when (= 2 (nth 0 (org-heading-components))) (add-to-list 'students (cons (nth 4 (org-heading-components)) '()) t)))) ;;loop over entries (dolist (assignment assignments) (save-excursion ;; jump to assignment (org-open-link-from-string (format "[[*%s]]" assignment)) ;; map over entries (org-map-entries (lambda () (let* ((student (car (assoc (nth 4 (org-heading-components)) students)))) (when student (setf (cdr (assoc student students)) (append (cdr (assoc student students)) (list (org-entry-get (point) "GRADE"))))))) nil 'tree))) (setq gradebook (append (list (append '("Student") assignments) 'hline) students)) (orgtbl-to-csv gradebook nil) #+END_SRC #+RESULTS: : Student,Definition,Darwin : Student One,10,40 : Student Two,20,50 : Student Three,30,60 Matt Price writes: > Hello eveyrone! > > I know the big guns are all working on last-minute 8.3 bugs (thank you!). > > I am hoping to get some guidance before heading off on vacation. I have > switched over to doing all grading for my courses in org. My workflow: > > - export a csv file containing student names. > - generate grading templates for each student, for each assignment > - email comments back to students > - enter marks in an official spreadsheet which can be used for final grade > submission > > A sample "Comments.org" is at the bottom of this email (it was a little > long). > > So, here are my questions: > > - I currently store my grades as properties of level-2 headlines. However, > I would really like to be able to see the grades when the headline is > folded, so I can have a quick visual sense of how many papers I've marked, > how well the students are doing, and so forth. THe best would be to be > able to see the actual marks in the headlines; but if I could, say, adjust > the color of the healdine based on the property value, that would be cool > too. > > - It seems silly to record the grades once in org, and then again in a > libreoffice spreadsheet. Better would be to generate a table and/or csv > spreadsheet directly from the headlines and property values. So, the > example below would give the table: > | Student | Definition | Darwin | > | Student One | 0 | 0 | > | Student Two | 0 | 0 | > | Student Three | 0 | 0 | > > and from there I guess I could generate a CSV just with org-table-export. > > Had anyone done either of these tasks before? Any guidance on how to do > it? > > Thanks as always, > Matt > > ------------------------------------------ > * Definition > ** TODO Student One > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student....@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Definition Assignment (Student One) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > ** TODO Student Two > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student....@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Definition Assignment (Student Two) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > ** TODO Student Three > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student.th...@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Definition Assignment (Student Three) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > > > * Darwin > ** TODO Student One > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student....@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Darwin Assignment (Student One) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > ** TODO Student Two > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student....@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Darwin Assignment (Student Two) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > ** TODO Student Three > :PROPERTIES: > :GRADE: 0 > :MAIL_TO: student.th...@utoronto.edu > :MAIL_CC: matt.pr...@utoronto.ca > :MAIL_REPLY: matt.pr...@utoronto.ca > :MAIL_SUBJECT: Comments on Darwin Assignment (Student Three) > :END: > - Organization :: > - Clarity of Thesis :: > - Presentation of Evidence :: > - Grammar and Spelling :: > - Style :: > - Citations :: > - Further Comments :: > - Grade :: > --------------------------------------------- > > I have three remaining issues -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu