In Valid Logic

Endlessly expanding technology

Telligent Community and Telligent Enterprise released!

Today, all the Telligenti have been buzzing regarding the recent release of Telligent Community and Telligent Enterprise. From

"Telligent, a leader in community, collaboration and social analytics software, today announced the availability of version 5.0 of Telligent Community (previously Community Server) and version 2.0 of Telligent Enterprise (previously Community Server Evolution). The latest versions of Telligent’s community and collaboration software represent the company’s ongoing commitment to innovation and enterprise collaboration."

Finally, after months of feverish development, we've reached the point of a release for what is probably our biggest release in history. Our v5.0 is unlike any of our previous major releases. We have a completely new permissions system, revamped groups, new search, new email templating, and new widget based theming.

Soon I'll be having a series of posts going over some of the bigger technical points in some of my areas of expertise. In particular with this release, I'd worked on the search implementation and the new email templating.

In previous versions of CS, we had two implementations of search, the default Search Barrel and the more powerful Enterprise Search, which was built on Lucene.Net. Now, we've changed the search to be much easier to extend and change out. Previously, search was tightly coupled to the index. You couldn't easily add new types to Enterprise Search or index additional fields.

Our new search is comprised of a series of mappers, which define how to convert an object into a searchable document, and define your own content handlers, which are used to grab objects that need to be indexed, have them mapped, and passed over to the index. You can easily build on top of existing mappers, create mappers for new types, and add new content handlers to the search process. Additionally, the search is broken out into indexing and search, allowing you to easily create your own implementations. Our included implementation is now based on Solr. Why Solr? A better question is why not Solr? It did everything we wanted and then some. It is feature packed, high performance, and super reliable. With it, we were also able to easily build in thread collapsing. Tired of the search results all being messages from the same thread? Now we can collapse down the results, combining all the posts from a single thread into just one result.

What's new with emails? Over time, we found the old email templates to be too limiting. We had one big XML file containing all the emails, people often ran into confusion when editing HTML emails (since they had to be XML escaped), and the default tokens were limiting depending on the types of customizations you'd want to make. Our new emails are entirely based on nVelocity. If you are familiar at all with the theming in Graffiti, you will be right at home in the new email templates. The templates produce the mime documents that get sent out, allowing you do manipulate the message headers, attachments, and body content. Instead of providing a fixed set of tokens like [PostDate], you get the actual objects. You can now use $post.PostDate, or call $post.PostDate.ToString() and pass in a custom formatter. Want to do more? Can easily create Chalk modules to add new macros, or TemplateModules to manipulate the nVelocity context before templating, or the processed mime object after processing (useful for adding binary attachments and such).

Want to know more? Keep posted.

Tuesday, June 23, 2009

blog comments powered by Disqus