Very nice plugin!
I think this could be very useful to a lot of forums.
Looking at the source, I've got some remarks. Please use
YourPlugin\locale\en.php for language files. This is the only accepted naming convention in Vanilla 2.2. I know you are using 2.1 and so would not see any difference - especially because it only holds terms of another plugin
As far as I can see there is no check if the session user has access rights to the discussions category. You assume that everyone with
DiscussionNote.Add permission also has access to the categories in
Plugins.DiscussionNote.CategoryNums. It would make your plugin more universally usable if you add that PermissionCategory check. I guess you try to get around that with your $Simplekey but there are better ways to ensure that people only d the things they are allowed to.
Did you know that every table in Vanilla where it makes sense has a column called "Attributes" which is able to store different information in a serialized format? As long as you do not want to store information that should be used directly in a sql statement (sort by, where etc.), you should consider using that column. It is of type Text, so it holds 65k characters. Room enough for your 200 chars. Every WhateverModel extends Gdn_Model and that holds a useful function:
saveToSerializedColumn(). So you could use
$discussionModel->saveToSerializedColumn('Attributes', 'DiscussionNote', $Note).