Hello Jaime, I'll start by answering your question on the CategoryManager
. There is indeed no such manager, and the reason is that "category" is not a type, so to say, but rather an instance. Namely, Sitefinity provides taxonomies as a mean to organize content and data in general. There are four types of taxonomies that Sitefinity supports:
- Flat taxonomy
- Hierarchical taxonomy
- Facet taxonomy
- Network taxonomy
In the user interface, however, we only use flat and hierarchical taxonomies (other two are available through APIs).
Category is an instance of Hierarchical taxonomy, which as it name indicates means that taxa in this taxonomy is organized in hierarchy (parent / child relationships). Tags, on the other hand are instance of Flat taxonomy, as no relationship exists between flat taxa (tags).
Here is a link to the article which offers samples and explanations how to use hierarchical taxonomies API:
The bottom line reason for this is that we did not want to limit people to what kind of taxonomies they want to use. For example, some people may want to use "Categories", other may want to use "Groups", yet other may have some completely different hierarchical organization (e.g. think organizational chart of the company).
Also, we wanted to support multiple hierarchical taxonomies without trying to "force fit" everything to be called "Category".
When Sitefinity installs for the very first time, we automatically create two taxonomies by default "Categories" and "Tags", as our user experience team thinks this makes system easier to grasp for the first time users. Also, a lot of times we have to make slight changes of terminology when it comes to user interface and API, as generally it's two different types of people using those two interfaces (e.g. developers vs. marketers). Think, for example, how you perceive word "type" and how it's perceived by a colleague in marketing department.
Hope, this provides sufficient explanation to the first question.
As for the Silver bullet statement, I agree Sitefinity is not one. I don't think there is one. I am not going to try to prove you wrong, as it's pointless and in the end rude, but I'd like to offer some statements that can perhaps clear some misunderstandings and show efforts and directions we are undertaking in order to make Sitefinity a better product.
In January we have released our new documentation portal which has been completely rethought to be much more task orientated, as opposed to long and dry theory. You can find the portal here:
We have also reorganized our documentation team to be more agile. Documentation team is working in two week sprints and has a "release" every two weeks. Here are some recent updates on documentation "releases":
Other important thing regarding documentation is the fact that we are now managing documentation through Sitefinity, which allows us to rapidly publish new articles, as opposed to a lengthy procedures which took place before (compiling, uploading etc). Here is a blog post which details this effort, should you be interested:
Finally, we are making rather big efforts in providing as many as possible video guides for common tasks. We upload several videos per week, so if this is something you think would be able to help you, I'd suggest subscribing to our YouTube channel:
Finally, the API that is used in our user interface is the very same API that we expose to all other developers. Are there problems? Yes. Could it be simpler? Yes. We are taking all these concerns very seriously, and you will be able to see some really big improvements in the very next release, Sitefinity 5.1, which will feature almost no new features and is completely concentrated on making existing features work better, perform better and be simpler to work against.
I hope I was able to address you concerns. Should you have any other questions, I'd be glad to assist with those as well.
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking
system and vote to affect the priority of the items