我已经研究了一段时间的Orchard CMS,我对它的某些功能感到满意,但也有一些问题我不知道如何处理:
All the items (content type) are linear and they don't support a tree like data structure (Ex: books > titles > web-links)
One of the big problem (depending how you see things) is that the model and the view for the items are coupled (content part > driver with display / editor views)
So for a new page the model, view and position are locked and you can have only one view of the model.
Use of advance language futures the are not suited for beginner developers and are not very clear (dynamic functions, clay objects - nice future, ...)
// Creating table VPlayerRecord SchemaBuilder.CreateTable("VPlayerRecord", table => table .ContentPartRecord() .Column("Title", DbType.String) .Column("VideoUrl", DbType.String) .Column("WidthPx", DbType.Double) .Column("HeightPx", DbType.Double) );
This syntax is not very clear for beginner developers and is a bit over engineered. Also because the model is a dynamic object in the view we don't have any intellisense support.
To build a new page we have something like three degree of separation (3 projects)
- Build a content part module
- Build a content type
- Build a theme module