Community Blogs

Browse by Tags

Related Posts

  • CS Dev Guide: Emailing in Community Server 2007

    Back in September 2006 I wrote a CS Dev Guide post about emailing in Community Server 2.1 . In Community Server 2007 emailing has changed a lot and now we can consider it as something completely new. I can say that Ken Robertson has done a great job on enhancing email features in Community Server 2007 and thank to his additions, now emailing is extendable and you can customize emailing features easily. In this post I want to talk about emailing in Community Server 2007 which is now known as MailRoom in APIs. CommunityServer.MailGateway.MailRoom is responsible for emailing in Community Server 2007 (I ignore MailGateway as a commercial add-on here). There you can find an EmailJob which sends queued emails on a regular basis. Beside this, there...


  • CS Dev Guide: Forum Moderation

    You know that the forum application in Community Server is the most powerful and important application in it. There are many features that make this application great and one of them is the rich set of moderation tasks provided for forum moderators and users. There are many moderation features that you can use in Community Server forums such as approving, deleting and moving a post or joining or splitting a thread. These are all coming from a set of API that will be covered in this post. There are some static methods in CommunityServer.Components.Moderate method factory that help you on these moderation tasks. I use a practical approach to describe important methods in this factory. In below code, ApprovePostByID() is a method that approves...


  • CS Dev Guide: Views

    Views counts are a main part of Community Server statistics for all applications including weblog, file gallery, photo gallery and ... Usually views statistics get updated behind the scene but sometimes you may need to work with them directly. This post discusses about this topic shortly. As a background, you should know that there are two types of views in Community Server: web views and aggregate views. Web views are those that come from web browsers and aggregate views are those that come from feed readers. It's worth to know the technique to catch aggregate views: Community Server adds the address of an HttpHandler to all post bodies in feed readers which contains the identifier of the post in query string and displays an image. After that...


  • CS Dev Guide: Weblog Files

    The ability to upload files to a weblog and manage them via folders is a new feature in Community Server 2007 that is accessible via control panel and Manage Blog Files menu. There are some newly added APIs to work with these folders and files for each particular blog. In this post I talk about them shortly. CommunityServer.Blogs.Components.WeblogFile and CommunityServer.Blogs.Components.WeblogFiles are two classes that play a role in this scenario. WeblogFile is the code representation of a weblog file or folder and WeblogFiles is a method factory to work with files and folders and to get, add or delete them. WeblogFile has four read only properties that you can create an instance based on them via its public constructor. These properties specify...


  • CS Dev Guide: IP Banning

    IP banning is a commercial feature of Community Server which is available in commercial versions (I don't know if it's still a commercial feature in 2007 or not). However, the topic of this book is working with IP banning features in Community Server API and code. IP banning has its own namespace located at CommunityServer.IPBanning and all IP banning classes are located at CommunityServer.IPBanning.Components . As a background, you have to know that it's possible to block a single IP or a range of IPs in Community Server control panel. A single banned IP is named address and a range of IPs is named network in Community Server API. IP banning, itself, is a CSModule that is located at CommunityServer.IPBanning.Components.IPBanningModule . There...


  • CS Dev Guide: File Gallery

    It seems that my CS Dev Guides aren't updated for a while! Let me return to CS Dev Guide with a post about file gallery API . At first glance, file gallery API appears to be different from other APIs but this difference is only and only in naming. As you saw previously in my forgotten CS Dev Guide series, each section is derived from CommunityServer.Components.Section base class and is named based on that particular application for example, Weblog or Forum . On the other hand, individual items for an application are derived from CommunityServer.Components.Post class and have gotten a prefix with the name of that application for example, WeblogPost or GalleryPost . But in file gallery things are different and we deal with some other names. In...


  • CS Dev Guide: How to Write a Custom Chameleon Control

    I have to change the name of my blog to "Custom Controls"! And this time I want to talk about writing a custom Chameleon control in a new CS Dev Guide. But seriously how can you write a custom Chameleon control?! The first step is to understand the class hierarchy in Chameleon. Chameleon controls are located in some namespaces: There is a general CommunityServer.Controls namespace where you can find all Chameleon base classes and all controls that are used for general purposes. There are also some namespaces dedicated to controls that are used in a specific application. For example CommunityServer.Blogs.Controls contains all classes for blog controls. Choose a Base Class After understanding the complex class structure of Chameleon controls Read...


  • CS Dev Guide: Thread

    In previous post of my CS Dev Guide series I talked about ForumPost class and promised to cover CommunityServer.Discussions.Components.Thread in next post. First a short background about the concept of threads: in Community Server each CommunityServer.Components.Post object belongs to a thread. In weblog application original blog post starts the thread and all comments and trackbacks to that post belong to that thread. Same is true for photo gallery. But in forum application first post makes the thread and all replies belong to this thread. In database threads are stored into cs_Threads table and posts are stored into cs_Posts table. There is a relation between cs_Threads and cs_Posts tables. In forum application the concept of threads comes...


  • CS Dev Guide: ForumPost

    Like weblog and photo gallery, forum application has its own post type to deal with its data and like WeblogPost and GalleryPost , CommunityServer.Discussions.Components.ForumPost is derived from Post base class and extends it. Here you'll see the concept of a thread in action because threads weren't obvious in weblog and gallery applications. In addition to some properties that ForumPost class has, it has a method with two overloads that is named GetBodySummary() and you can pass a size for excerpt with one or more words, a font color and a background color to get a HTML code to display in your application. This method returns something similar to what you see in search results. On the other hand CommunityServer.Discussions.Components.Posts...


  • CS Dev Guide: Forums

    Forum is the most powerful application in Community Server. I think blogs and forums are most commonly used applications in Community Server. In new series of my CS Dev Guide posts I want to talk about forums and some related topics about them. This first post is dedicated to forum itself and how to get, add, delete or update a forum. CommunityServer.Discussions.Components.Forum is the main class to represent a forum. It's derived from CommunityServer.Component.Section base class and extends its properties to fit into forum application needs. As always CommunityServer.Discussions.Components.Forums is the method factory to provide some static methods that help you to get, add, delete or update Forum objects. Most of the added properties to Section...


Page 1 of 5 (44 items) 1 2 3 4 5 Next >
Microsoft Communities