I need to add several new columns to the post tables to handle some of our site specifics. I am assuming this will require code changes if I am to both display the new columns and make them searchable (I'd like them to be queryable through the SearchQuery object). What objects do I need to focus on in order to make this change? What are the community's best practices when making such a change?
Thanks,
Alex
Have a look at extended attributres - these requrie no changes to the database and you can effectively make custom columns. For example, if you have a look at the database, you'll see there are no columns for any of the video settings for forum posts (e.g. VideoURL, Video ImageURL). If you look in the source code, (Posts.cs, line 286 onwards for 2007 SP2 SDK), you'll see that they are set through extended attributes.
CS Documentation - now available in downloadable PDF form
My CS Site
My main concern is how performant this solution will be for a large system (our beta blog already has 300 posts in one week). Without indexing in the database, extended attributes are unusable if they need to be constantly searched which our extended columns will need to be. I am planning to use extended attributes in other parts of the system but really need to know what to modify for values that need to have their own columns in the db.
If you have a look in your current posts table, you should see that a lot of the posts (forum posts & blog posts) all use extended attributes. If you're worried about the performance, CS has a very strong Caching API which you could also have a look at.
Copyright© 2008 Telligent Systems Inc. All rights reserved CommunityServer.com • Telligent.com