How’s that for setting an expectation?
This is Brent Taylor, Sitefinity expert for PlanetMagpie Web Development. I had really high hopes for the new Module Builder module introduced in Sitefinity 4. And it delivers on many of them. However, I feel Sitefinity might have rushed this to production a bit. I’m really glad it’s here; the upgrades are very welcome! They just came with a few snags.
Good: Data Type Builder, Solid Interface
First off, some good things about the new CMS package. I envisioned a data type builder, and that IS what they provided. Plus, the familiar interface for creating data entry validation rules and assigning appearance properties for admin forms was a pleasant surprise.
Not So Good: Missing Data Types in Module Builder, Lack of Relational Data Capability
One missing data type was the GUID. Developers use the GUID data type to relate data from one table to another. Hopefully that will be added in a future iteration. I admit I need to spend more time on the results. How do I affect the presentation of the module’s administrative UI? (More to research here. I’ll try to bring this element to light in a future post.)
That brings us to relational data. This is where the Module Builder, for lack of a better term, falls flat. There is no way to relate module data items to anything except classifications. Huh??
The Module Builder needs to allow for relating of “one to one” and “one to many” items found in not only Classifications, but to the data items in the Content Modules (Content Blocks, News, Events, etc.), and to items stored for the other modules created in the Module Builder.
I need this before I even start a project using custom modules. What use is a Location/Address Module if I can’t assign the location or address to a Contact item in my new Contact Module? Maybe I can build it…
Don’t get me wrong; I love that this is the direction Sitefinity’s heading. It saves hours creating the flat data collections we know and love today.
Another missing element is permission-controlled or role-driven data entry forms for the end user side of things. Self-administration is critical, but from what I can see it’s sorely lacking. If we could relate the custom module to forms in the Forms module that would satisfy the need. (Hoping for this feature in 2012!)
Conclusion: More Experimentation Needed!
The display of custom Module Builder data is somewhat unclear too. I have to go the distance, create the pages and use the Module Builder widgets to see what I get. I’ll talk about the results soon, in another post here on the Sitefinity CMS Insider.