I got a test installation installed and working and I've started going through videos. So far it looks like a pretty amazing platform! I am surprised though that there aren't more built in things to use, like forum, blog, news list, RSS etc. You have to get packages or build it yourself?
My main questions for now are can I use the built in .Net navigation controls? Specificallly the ASP.Net Menu and Site Map Path controls. I see I could put them in the templates, but how to get them to display the pages of the site? In a regular .Net site I use the SiteMapDataSource control. Does that work here? There isn't a Web.Sitemap file though?
The reason I am asking is that I want to convert an existing site without having to redo more than I need to. I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.
The great thing about umbraco is that it's not littered with a thousand options you may or may not need. It's a content management framework that makes it fairly simple to develop your site the way that you want. It provides for a great amount of customization and extensibility.
Additional functionality comes in the form of packages as you've seen. They are similar to plugins and extensions much like you would find in other CMSs.
Check out the xslt macro videos as well as the xslt templates included in the base install. I think you'll find without much effort you can do some pretty impressive things with what's already there. It might mean changing how you do things, but it's worth it. IMO.
As for IE8 not working for Runway....the problem is most likely the css...an easy fix :)
Thanks, I did find the big list of projects after I posted.
Can someone help with my main questions?
My main questions for now are can I use the built in .Net navigation controls? Specificallly the ASP.Net Menu and Site Map Path controls. I see I could put them in the templates, but how to get them to display the pages of the site? In a regular .Net site I use the SiteMapDataSource control. Does that work here? There isn't a Web.Sitemap file though?
The reason I am asking is that I want to convert an existing site without having to redo more than I need to. I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.
If you go to the Developer section, right click on " XSLT Files" and click
"Create," you can click the drop down list under "Choose a
template." There are prebuilt XSLT templates that will let you accomplish things very quickly. For example, there is "List Sub Pages From Current Page" which will display the sub-pages of the current page (good for a side navigation) and there is "List Sub Pages By Level" which is good for a top navigation. These templates will give you all of the code to make it work and they even include comments here and there to explain things. Just drop
the macro (that it created automatically for you) into your template and you are off and running.
Thanks for the reply. But that doesn't seem to have anything to do with my question.
I would like to know if you can use the built in ASP.Net Menu and Site Map Path controls with Umbraco and have them dynamically display the menu items and paths, just like the do when you build an ASP.Net site from scratch.
Can anyone answer this? Seems like it shouldn't be too hard.
If I recall the sitemap path control uses an xml file at the root folder of the site called Web.Sitemap. What we have been trying to describe, maybe not clearly is that to generate that same xml information you normally have in the web.sitemap, you would use macros and xslt. The benefit is that it combines the xml file and the sitemap path control html (and menu), and is dynamically generated real-time and always up to date.
In theory the aspnet menu and sitemappath control should work just fine, as long as you manually generate the sitemap each time you add or update pages. How did you generate the sitemap in your old site? I think the posts here were trying to give you a simpler solution in the long term.
Web.Sitemap is the usual way of providing data for the ASP.Net navigation controls such as the Menu, but not the only way. There is also a database provider. Other CMS's I've used took care of this one way or another and I never had to think about it.
I guess what you would want here is a custom SiteMapProvider class that reads the page links from the same place as the XSLT would. This could be in the core Umbraco code.
As for the Runway menu, it is leaving artifacts on the screen when a menu closes. I suspect the javascript more than the CSS. But I am not going to spend one second trying to figure it out. The whole point of using a CMS is to not have to deal with that kind of thing. There are other better CSS menus out there. I'll find something.
My underdstanding is that this provider is a valid data source for the Asp.Net Nav controls - though I haven't confirmed it. I suspect this to be the case , however, as I have used the sitemap provider dependency when creating a path-based authorization module and it 'just' worked.
Thanks! That may have been what I was looking for. I've been trying to just use Umbraco without going through source code, but maybe I need to take a look.
In any case, over the weekend I implemented a menu based on Superfish. I modified the Runway dropdown macro xslt to work with it. Works pretty well, except that the macro does not return the Home page, only child pages. Anyone know how to get it to add the Home page url as well? I'm sure it is in the xpath syntax somewhere.
I will check out their sitemap provider for future use.
The simplest solution, since there is only a single "home" node and the url is always is the root url would be to hard code the "home page" node in the xslt of the macro just prior to the for-each loop.
You can also use the umbraco.library:GetXmlAll() to get all nodes in the tree and begin the xpath selection from the root.
In case you happen to run multiple sites or a site with multiple langages, you can use
<xsl:variable name="rootNode" select="$currentPage/ancestor-or-self::node [@level=1]" /> <ul> <li> <!-- Add the class selected if the root node ID matches our current node ID in the for each loop --> <xsl:if test="$rootNode/@id = $currentPage/@id"> <xsl:attribute name="class"> <xsl:text> item selected </xsl:text> </xsl:attribute> </xsl:if>
New to Umbraco: I have questions
I got a test installation installed and working and I've started going through videos. So far it looks like a pretty amazing platform! I am surprised though that there aren't more built in things to use, like forum, blog, news list, RSS etc. You have to get packages or build it yourself?
My main questions for now are can I use the built in .Net navigation controls? Specificallly the ASP.Net Menu and Site Map Path controls. I see I could put them in the templates, but how to get them to display the pages of the site? In a regular .Net site I use the SiteMapDataSource control. Does that work here? There isn't a Web.Sitemap file though?
The reason I am asking is that I want to convert an existing site without having to redo more than I need to. I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.
Thanks.
The great thing about umbraco is that it's not littered with a thousand options you may or may not need. It's a content management framework that makes it fairly simple to develop your site the way that you want. It provides for a great amount of customization and extensibility.
Additional functionality comes in the form of packages as you've seen. They are similar to plugins and extensions much like you would find in other CMSs.
Check out the xslt macro videos as well as the xslt templates included in the base install. I think you'll find without much effort you can do some pretty impressive things with what's already there. It might mean changing how you do things, but it's worth it. IMO.
As for IE8 not working for Runway....the problem is most likely the css...an easy fix :)
-Chris
Hi Ed,
all the items you are after eg. blogs, RSS, multi level navigation etc etc can more than likely be found here http://our.umbraco.org/projects
All the projects are built by the community and as chris said its a CMS framework which allows you build each install custom to your client needs.
Tom
Thanks, I did find the big list of projects after I posted.
Can someone help with my main questions?
My main questions for now are can I use the built in .Net navigation controls? Specificallly the ASP.Net Menu and Site Map Path controls. I see I could put them in the templates, but how to get them to display the pages of the site? In a regular .Net site I use the SiteMapDataSource control. Does that work here? There isn't a Web.Sitemap file though?
The reason I am asking is that I want to convert an existing site without having to redo more than I need to. I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.
Ed,
First of all, welcome to Umbraco!
If you go to the Developer section, right click on " XSLT Files" and click "Create," you can click the drop down list under "Choose a template." There are prebuilt XSLT templates that will let you accomplish things very quickly. For example, there is "List Sub Pages From Current Page" which will display the sub-pages of the current page (good for a side navigation) and there is "List Sub Pages By Level" which is good for a top navigation. These templates will give you all of the code to make it work and they even include comments here and there to explain things. Just drop the macro (that it created automatically for you) into your template and you are off and running.
Hope this helps!
--
Donald
Donald,
Thanks for the reply. But that doesn't seem to have anything to do with my question.
I would like to know if you can use the built in ASP.Net Menu and Site Map Path controls with Umbraco and have them dynamically display the menu items and paths, just like the do when you build an ASP.Net site from scratch.
Can anyone answer this? Seems like it shouldn't be too hard.
Thanks.
Ed,
If I recall the sitemap path control uses an xml file at the root folder of the site called Web.Sitemap. What we have been trying to describe, maybe not clearly is that to generate that same xml information you normally have in the web.sitemap, you would use macros and xslt. The benefit is that it combines the xml file and the sitemap path control html (and menu), and is dynamically generated real-time and always up to date.
In theory the aspnet menu and sitemappath control should work just fine, as long as you manually generate the sitemap each time you add or update pages. How did you generate the sitemap in your old site? I think the posts here were trying to give you a simpler solution in the long term.
-Chris
Web.Sitemap is the usual way of providing data for the ASP.Net navigation controls such as the Menu, but not the only way. There is also a database provider. Other CMS's I've used took care of this one way or another and I never had to think about it.
I guess what you would want here is a custom SiteMapProvider class that reads the page links from the same place as the XSLT would. This could be in the core Umbraco code.
As for the Runway menu, it is leaving artifacts on the screen when a menu closes. I suspect the javascript more than the CSS. But I am not going to spend one second trying to figure it out. The whole point of using a CMS is to not have to deal with that kind of thing. There are other better CSS menus out there. I'll find something.
Ed -
Not sure if this is too late to help with this case, but Umbraco does have a sitemap provider, see the
section in web.config.
My underdstanding is that this provider is a valid data source for the Asp.Net Nav controls - though I haven't confirmed it. I suspect this to be the case , however, as I have used the sitemap provider dependency when creating a path-based authorization module and it 'just' worked.
Here's the post with the dependency on sitemap: http://our.umbraco.org/forum/developers/extending-umbraco/2923-Authorization-Alternatives-when-Integrating-with-AspNet-Sites
-Paul
Paul,
Thanks! That may have been what I was looking for. I've been trying to just use Umbraco without going through source code, but maybe I need to take a look.
In any case, over the weekend I implemented a menu based on Superfish. I modified the Runway dropdown macro xslt to work with it. Works pretty well, except that the macro does not return the Home page, only child pages. Anyone know how to get it to add the Home page url as well? I'm sure it is in the xpath syntax somewhere.
I will check out their sitemap provider for future use.
Ed,
The simplest solution, since there is only a single "home" node and the url is always is the root url would be to hard code the "home page" node in the xslt of the macro just prior to the for-each loop.
You can also use the umbraco.library:GetXmlAll() to get all nodes in the tree and begin the xpath selection from the root.
Glad to hear you got things working.
-Chris
In case you happen to run multiple sites or a site with multiple langages, you can use
--
Donald
is working on a reply...