Our focus for the 3.0 release is simplifying the platform and making it easier for people to theme the application.
From a technical point of view the current Community Server theme engine is incredibly robust. There are several other applications available that base their theme engine off of a similar technique. The design yields great UI flexibility coupled with some under-the-hood tricks to ensure that ASP.NET compiles the theme (instead of runtime loading on each request). It’s been a very, very proven system.
The challenge we had with the theme engine is that we took a developer’s approach to building UI, i.e. implementing concepts such as inheritance and abstraction to ensure we had tons of flexibility. Unfortunately flexibility usually has a side affect called complexity. For example, a blog theme in Community Server 2.1 has about 55 files associated with it. Each distinct area of a page, such as the search area, would have its own file.
For Community Server 3.0 our goal has been to keep the high level of flexibility so that a Community Server site could have full fidelity with what the design team envisioned, but to also simplify the entire system. So far we’ve made a lot of progress:
Blog Themes (85% reduction)
2.1 Blog Theme: 55 Files
3.0 Blog Theme: 8 Files
Site Theme (58% reduction)
2.1 Site Theme: 164 Files
3.0 Site Theme: 70 Files
In addition to simplifying the theme system we’ll also be introducing something new: dynamic themes. More on that later…
If you want more information on what else is being done, follow Ben’s blog.
Published with BlogMailr