Community Server Issues - Part II

A while back, I complained about the big pain caused by the SOAP header change between Community Server 1.0 and 1.1 web service APIs. Scott was kind enough to explain why they made the change. Still, getting my blog editor to work with both versions is painful. At first I went for the easy route and created separate editions for each version. It turned out to be very silly and annoying to maintain two almost identical copies of the code. So I decided to bite the bullet and use conditional compilation to merge the code together. The process was smooth but tedious; those "#if…#else…#endif" clauses scattered everywhere really do not look pretty. After all, it worked fine and now I have one code base to work with. You will see the combined source code uploaded a few days after I am done with a major update on CSBlogger. Stay tuned if you are interested.


Anyway, back to the topic. At the time I posted the first one, the next issue I planned to talk about was that Community Server strips out all style formatting in blog entries. That, after a few weeks, seems to me not as bad as it originally appeared. I guess the point is that blogging is not web publishing and bloggers should try to keep their posts clean and plain. I don't necessarily agree with this but can live with it. Just that tables in my old posts now look so horrible that I had to change the custom CSS for my blog to make them at least look ok.


That leaves me with two remaining issues. Both on the blogservice web service API of Community Server:

  • the GetRecentPosts API turns out to be "GetOldPosts": it always return the oldest n posts if given n as the number of posts to retrieve from the server. This would make my blog editor too hard to use for those long time bloggers because they will have to retrieve all their blog entries to get the latest one. I don't know whether this happens also with the GetRecentArticles API;
  • the value of the Date field in a BlogPost is off several hours even though I had set the time zone in my user options. To workaround this, I had to manually add/substract a certain value to the date.


I hope those two are not my mistakes. :-) That is all I have in mind for now. Next time I will post some suggestions and feature requests on the web service APIs.


[Update] Just found one more issue: the "IsPublished" value of a BlogPost is always true when calling GetRecentPosts.

Have a nice day and thanks for listening to me murmuring!