CVS edit link for Becky Kinney
I work in Educational Technology, both at the University of Delaware, and as a freelance consultant. I have an MA in education, and have been employed as an educational technology consultant for about 10 years.My first module is a simple block module that collects, stores and displays private notes which users enter while viewing a Drupal node. The notes are visible in a textarea input, which submits via AHAH and returns a success message immediately beneath the form submit button. That way, the student can see that his notes have been updated, but is not inconvenienced by a page refresh.
The module includes two blocks. The Page Notes block stores notes that are unique to each node/user combination. The Book Notes block keys off of the current page's Book ID rather than page ID, and is used when the instructor or Drupal administrator deems it better to store notes for an entire book rather than on a per-page basis. Although it is possible to deploy both blocks simultaneously, this is not the intended use. Using existing block visibility controls, it is of course possible to display Book Notes only within book pages, and Page Notes elsewhere.
Clearly the functionality of this module overlaps with features found in other modules. Before building this module, I experimented with using Flag to mark comments as private. However, there are a few key differences between a private comment and notes stored in my module:
* notes can more easily be seen and edited while the node content is fully available for viewing, and possibly interaction (as in a content page containing a game, video, or simulation)
* notes can be updated without refreshing the page, and without installing yet another module (Ajax, Ajax Comment, etc).
* notes can bridge across pages within a book
I look forward to your feedback.
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | notes.tar_.gz | 2.65 KB | Anonymous (not verified) |
Comments
Comment #1
Anonymous (not verified) commentedComment #2
avpadernoThanks for applying for a CVS account. I am adding the review tags, and somebody will review the code you have attached; I am also changing the status to make clear there is code to review.
Reviewing is done from volunteers; please have patience if this can take a little more time than you would expect.
Comment #3
avpadernoThe implementation of
hook_form()is used from a module that implements a node type; in that case, the modules needs to implement other hooks that the module doesn't define.Clearly the function is not an implementation of
hook_form().If the code just needed the node ID, then it should use
arg(1). Then,arg(1)contains the node ID only when the page viewed has a path likeI don't see then any relevant differences between
notes_form(), andnotes_book_form(); the code could be in a single function.Comment #4
avpadernoComment #5
avpadernoThere have not been replies in the last week. I am marking this application as .