I'm researching CMS platforms, and have a few questions regarding Umbraco. Having watched a few of the videos, my colleagues' main objection is having to use the Umbraco web UI to create 'document types' - we are used to writing these out quickly in code with our proprietary CMS platform.
So, my first question is:
Do you have to use the web UI to create document types / page types? During development of large / more complex websites / web applications, have you ever considered this a disadvantage? I suppose my question is, does is hamper development speed.
My second question requires an example:
Say I write a 'Dogs' web application. I want an easy way to add and manage new dogs in the application for my client, and I want the ability to iterate through them and use them throughout the website in different areas. Dogs are:
Dog Name
Height
Colour
Tail Size
Number of Spots
Would I create a 'document type' for this? As the dog objects would never be pages themselves; rather I would use them within different templates (An 'All Dogs' page for instance). So, they are more of a custom data type.
How would you implement this in Umbraco?
I'm trying to get a handle on development speed and flexibility.
1) I'm no .NET wizard so I'm not sure wether or not you can actually create the using the API only. But I can't see why it should not be possible.
However I don't think that it's a problem to create and structure the document types using the back office. If you're using the same structure and document types accross many sites it's a matter of either make a package to recreate them on another Umbraco instance or simply export and import them. Of course if you have a document type with many properties that needs to be set it can be a cumbersome task. But with the inheritance possibilities I don't think that this is a big issue at all.
I think this issue is about preference and how you see the development cycle of a website.
2) If you have the data to be used in the custom datatype in a database outside of Umbraco it's definately an option to create a custom datatype to achieve this task. You could also create the structure in the content tree in a tree that should not be displayed as pages and then use a multiple picker data type to fetch the required "dog document type" you need.
Umbraco is a very flexible system and you can use it almost any way you desire. In your case you should maybe just consider Umbraco as foundation/framework, which provides you with a lot of flexibility to achieve your goal in a way that makes sense to you rather than a limited CMS. Because it's really not limited :-)
I've pass this information on, and have a slightly expanded question from a colleague, again relevant to the Web UI for content types:
--------------------------
I've noticed that in Umbraco the "Content Items" are created through the admin UI.
I've used system like this before and the issue I ran into was the fact that there was no concrete c# classes for the objects. Instead the syntax was more like
myShapelessObject = GetObject["ObjectName"]; and myBool = Convert.ToBoolean(myShapelessObject.GetAttribute["boolName"]);
Rather than myCSharpDefinedObject = GetObject("Name"); myBool = myCSharpDefinedObject.boolName;
The concrete classes in c# then allow a much more sophisticated form of coding to be used.
Does Umbraco allow custom c# objects without having to write code modules and then import them into the project as add-on / extensions? And if so are the admin UI create/edit screen automatically generated from the "shape" of the object?
There is a package "Linq2Umbraco" which I think provides what you need: classes mapping to your umbraco objects. I actually think this comes default in from version 4.5.2.
New User: Umbraco dev and functionality questions
Hi,
I'm researching CMS platforms, and have a few questions regarding Umbraco. Having watched a few of the videos, my colleagues' main objection is having to use the Umbraco web UI to create 'document types' - we are used to writing these out quickly in code with our proprietary CMS platform.
So, my first question is:
Hi Tom
1) I'm no .NET wizard so I'm not sure wether or not you can actually create the using the API only. But I can't see why it should not be possible.
However I don't think that it's a problem to create and structure the document types using the back office. If you're using the same structure and document types accross many sites it's a matter of either make a package to recreate them on another Umbraco instance or simply export and import them. Of course if you have a document type with many properties that needs to be set it can be a cumbersome task. But with the inheritance possibilities I don't think that this is a big issue at all.
I think this issue is about preference and how you see the development cycle of a website.
2) If you have the data to be used in the custom datatype in a database outside of Umbraco it's definately an option to create a custom datatype to achieve this task. You could also create the structure in the content tree in a tree that should not be displayed as pages and then use a multiple picker data type to fetch the required "dog document type" you need.
Umbraco is a very flexible system and you can use it almost any way you desire. In your case you should maybe just consider Umbraco as foundation/framework, which provides you with a lot of flexibility to achieve your goal in a way that makes sense to you rather than a limited CMS. Because it's really not limited :-)
I hope the above is of use to you.
/Jan
Jan,
Thanks for your response, informative. I suppose the next step is to dive in and actually try it!
Tom
I've pass this information on, and have a slightly expanded question from a colleague, again relevant to the Web UI for content types:
--------------------------
I've noticed that in Umbraco the "Content Items" are created through the admin UI.
I've used system like this before and the issue I ran into was the fact that there was no concrete c# classes for the objects. Instead the syntax was more like
myShapelessObject = GetObject["ObjectName"]; and
myBool = Convert.ToBoolean(myShapelessObject.GetAttribute["boolName"]);
Rather than
myCSharpDefinedObject = GetObject("Name");
myBool = myCSharpDefinedObject.boolName;
The concrete classes in c# then allow a much more sophisticated form of coding to be used.
Does Umbraco allow custom c# objects without having to write code modules and then import them into the project as add-on / extensions? And if so are the admin UI create/edit screen automatically generated from the "shape" of the object?
--------------------------
Thanks again for your time,
Tom
Hello Tom,
There is a package "Linq2Umbraco" which I think provides what you need: classes mapping to your umbraco objects. I actually think this comes default in from version 4.5.2.
There is a wiki page available at http://our.umbraco.org/wiki/reference/api-cheatsheet/linq-to-umbraco
Cheers,
Michael.
is working on a reply...