Matthias Schlomann wrote
A database documentation is availible from www.dnnforums.com .
I'm not sure if you were replying to my request for the PDB, but I was asking for the program database file that the compiler creates during a build, to make debugging easier.
At any rate, I figured out the problem I was having, and in fully testing, figured out the problem DNN User was having as well. I was also experiencing DNN User's issue, it just wasn't noticed until he brought it up. I'm suprised no one else has seen this yet, or if they have they've fixed it in silence. The underlying issue is that the script to fix-up the lists in this post http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/7/threadid/181497/scope/posts/Default.aspx has a couple of bugs in it.
The following are the last three inserts from the post as it stands right now:
INSERT INTO {databaseOwner}{objectQualifier}Lists
(ListName, Value, Text, ParentID, Level, SortOrder, DefinitionID)
VALUES
('ForumType', '2', 'Normal', 0, 0, 1, @ModuleDefId)
INSERT INTO {databaseOwner}{objectQualifier}Lists
(ListName, Value, Text, ParentID, Level, SortOrder, DefinitionID)
VALUES
('ForumType', '2', 'Notification', 0, 0, 2, @ModuleDefId)
INSERT INTO {databaseOwner}{objectQualifier}Lists
(ListName, Value, Text, ParentID, Level, SortOrder, DefinitionID)
VALUES
('ForumType', '2', 'Link', 0, 0, 3, @ModuleDefId)
All three forum types are set to the same value. I compared this with a system that was working. Normal should be 0, Notification is 1, Link is 2. Once I fixed this in the DB, I could edit an existing forum.
Since DNN User first reported not being able to add one, I tested that and fixing the ForumTypes didn't fix the inability to add a new forum. The issue with adding a new one (again in my database, YMMV, but it's pretty clear to me that the sql script was lacking) was that all of my ForumBehavior items were missing. These items should have been added to the sql script in the post referred to above, since it's a workaround to the IUpgradeable not working correctly in some cases. Once I added the ForumBehavior items (I copied them from a working system, you could also create the rows by looking at AddLists() in UpgradeLogic.vb), I was able to add new forums.
I know people involved with the project care, so my suggestion would be to do a SQL Compare (using RedGate or similar utility) to ensure that various supported upgrade scenarios end up with the same data as a freshly installed system. This was clearly not done. Instead, I had to take my site offline, create crashdumps with windbg after reproducing the issue, unassemble where the exception was thrown, compare it to the source code, and deduce from there why certain items were null.
Right now what should be done is the sql script in the referred to post should be fixed ASAP. It should include everything in UpgradeLogic.vb, because it seems like if it doesn't get run, there's more missing than what is currently in the script, like ForumBehavior.
Hope that helps someone besides me.
Regards,
Chris Rock