Trying to create basic blog posts in Umbraco - asp.net-mvc

I've been trying for hours now to add blog posts into our site through the Umbraco back office. It feels so unintuitive how everything works and I'm beginning to get very frustrated, here's what I'm trying to do/have done:
I create a document type, "BlogPost", it contains data that can be entered in a content node relating to the blog post, description, title, etc.
I create a document type, "BlogPage", as a document type to be used as a root content node, which will hold all the BlogPost content nodes, that way I can simply loop through them and render each one on our site
I go to create the BlogPost content node, and it assigns it an url of "/", which simply redirects to the home page
What I don't understand is how am I supposed to just get data that was entered in Umbraco for my view? We have an extremely stylized theme for our site, so I can't use things like Articulate, and I shouldn't have to, all I want to do is store a collection of blog posts together, pull that data from Umbraco, and load it into an ASP.NET view, but there is absolutely zero documentation or examples of how to do this online, I would be incredibly grateful if someone could point me in the right direction on how I should go about doing what I'm trying to do.

If I understand correctly you are developing a blog section on an existing website. First thing to do is inderdaad create a new documenttype for the blogpost itself and add a documenttype for the container of blogposts.
Did you create new templates for these documenttypes? You can find some documentation on templates here
Inside the template you'll want to query data from Umbraco. Information about querying data is available here
Next up is adding the newly created templates to the documenttypes and you're ready to create your content.
Make sure that for the content you create the template is set (see Properties tab), here you can also see the url Umbraco created for the content.
Did you start the Umbraco website from scratch or are you developing on an existing website? Because a blogpost should not redirect to / by default, unless it's the root node of your website. This sounds like custom functiality. Maybe a rewrite or error handling module?
Edit: Also some information on how to get started with templating in Umbraco is available here

Related

Contao 4 Pagebuilder Module?

I just started a new project on Contao 4 CMS and are a bit stunned by the absense of an easy "editor friendly" way to edit and manipulate the content.
Is there some kind of custom module which adds this "pagebuilder" feature as we know it from other cms systems like Wordpress or Drupal (with Paragraphs module)?
In Contao (all versions) the actual content of pages (i.e. page articles), news articles, events etc. is represented by so called "content elements". You do not need to enable anything in order to be able to create and edit content elements (assuming you have an administrator account - because editing can be restricted for non-admins, depending on the settings). See the manual to get an overview over content elements in general and which content element types are available by default.
Btw. you need to make sure that the "Articles" module is enabled for at least one section of your layout in your page layout's settings, in order to be able to create page articles and edit their content.
See also the Create the first start page article in the manual.

Locating Models in the Umbraco hierarchy

I am helping a friend of mine to edit a few things on his website that was built using Umbraco. I am not the original author and I am pretty new to Umbraco but, I can't seem to find the answer anywhere. There is a form that is being used to send an email whenever someone wants to order supplies from the website. The form was previously working. However, he has lost access to the email account and had to create a new one. The problem is I cannot seem to locate the model to look inside of it and change where the emails are being sent.
I cannot locate the Models (there are multiple) in the Umbraco hierarchy even though I can find references to where they're are called inside of the different forms. See below:
#inherits Umbraco.Web.Mvc.UmbracoViewPage<Aeon.Models.OrderSuppliesModel>
I know this is not a URL so I am a little confused on why this is not in any of the Umbraco hierarchy. I know that since it is referencing something and previously worked it has to be there somewhere. The only other place I would think they could be is in the root directory which I don't have access to yet. Could they possibly be located there? Any type of help on this matter would be greatly appreciated.
Since you don't have access to the code, you will have to hope there is a variable somewhere which lets you set the email, rather than it being hardcoded into the controller.
Umbraco nodes
Sometimes Umbraco developers store the email on a field on a node in Umbraco. The common places are:
on the page node which has the form on it
on a settings node
on the home page node
Web.config
The Web.config also has a section which can be used to easily setup variables. Checkout the <appSettings> section to see if there are keys and/or values which might indicate they're used for email.
Also, you haven't specifically said if it is the SMTP email account which has broken, or if it's the email account which submissions are being sent to. Look for the <mailSettings> section on the Web.config if you want to see the SMTP settings. There may be a 'from' field on the <smtp> element.
umbracoSettings.config
In the umbracoSettings.config there is an element which will look something like this:
<notifications>
<!-- the email that should be used as from mail when umbraco sends a notification -->
<email>your#email.here</email>
</notifications>
Forms are not directly handled within Umbraco. I am assuming you are using ver 6+.
To get a form to work you rely on the core MVC functionality, which means you create a Surface Controller with Get and POST actions to handle the logic.
There will be a reference to the specific model being passed to the view within the controller logic, but its common for standard static configuration information to be stored in an Umbraco node itself. Example of such are "SMTP server" "From Address" & "Use Encryption" etc. Some people as an alternative store this information as keys in web.config.
If you are specifically looking to change the model being passed to the form (OrderSuppliesModel), if you are using Visual Studio, the model should be colored in a teal color and when you hover over it, it shows the full namespace. Click it and press F12. This should link you directly to the class module.
hope it helps.
If you're lucky, they're using Umbraco Forms/Contour. When you log into the back office, do you see a section called either "Forms" or "Contour"?
If so, you should be able to find the form in the Forms tree, and at the bottom of the form you should be able to edit the workflows, which will allow you to change who gets emails sent to them etc.
If you don't have those sections, could you post the view that has the form on so we can see what it's doing please?

Copy course content

We have set up "master" templates for each of our courses. These templates contain both structure and content of each course.
I want automate the creating of the courses at the commencement of each semester, based on our timetable information.
I have got Valance to the point of creating a course from a template. From what I can see in the documentation it looks like I will have to parse the content of the template and copy individual items across to the unique courses.
Is this correct, or is there a simple way to copy the entire content from the template across to the actual course instance?
Content assigned to a course template does not get copied into a newly created course offering that lists the template as its CourseTemplate. If you want to store content in a course template and then copy it into a new course associated with that template, you can use the course content APIs to inquire about the template's content structure, and replicate it in the newly created course: the Content.ContentObjectData JSON blocks you use to create new content structure are a superset of the Content.ContentObject JSON blocks you see when you ask about the content structure.
Unfortunately, because of the rules around an org unit's file content store, we really don't recommend that you put actual file data into a course template's content store, because there's no easy way to refer to them from child course offerings, or copy them remotely into the child course offering's content space.
If you do store file data in the template's content space and want to put it into child course offerings, you need to fetch it from the LMS to the client and re-upload it into the new course offering.
You may get more leverage out of storing common course data objects in Desire2Learn's Learning Object Repository where what you put into the course template/offering's content structure are links, not files.
The answer seems to be that there is no simple way of bulk copying all the content from a template to a course offering using the Valence API.
I had a go at doing it by traversing the content structure by accessing the TOC object from the template then copying each individual module and topic in the structure.
Unfortunately this is made all the more difficult by the fact that the API doesn't return the id of the module or topic created. So, when it comes to adding the nested content objects, you have to requery the current course modules to find the object you just added.
At that point it has become all too hard and we're going to automate the creation of course offerings from the template, but advise teachers to use the built in Import/Export/Copy Components feature to copy the content from the template into the course offering.

customizing the record details page (show page?)

I'm brand new to rails, and have inherited an app I'm trying to make modifications to; it uses activeadmin - which seems nice, but is a bit opaque to me at the moment.
The show page - the page that shows a detailed, single record - doesn't seem to be generated by anything I can find. I found the file dealing with the list of all records, but can't find what's actually generating the details.
I need to add some custom info to this page that's not directly linked to the record in the database itself basically group of related resources.
What file am I looking for? Or do I need to create one somewhere? The listing page is in admin/users.rb
You want to edit admin/users.rb.
http://activeadmin.info/docs/6-show-screens.html
The above link documents how to customize the show page.

Creating custom content sections with umbraco

I'm working on an umbraco website just now and one of the requirements is to have a custom section in the back end that can be used to manage publish smaller micro-sites.
I have been able to create the new section and added some nodes to it. What I can't get to work is publishing them and making them viewable at the correct url.
As an example, say i have created a new section called microsite, inside that there is a folder called myportfolio. this should route to something like www.myumbracosite.com/microsite/myportfolio.
Does anyone know how to get this sort of thing working? Is it even possible to publish content from outsite of the main content section?
Any help would be greatly apprechiated.
Kind Regards
Colin G
From my understanding the custom sections are for linking to custom databases or data somewhere that needs an interface.
That said, you can use UrlRewriting and an existing content page with a macro to do something like that.
If you had a page called microsite, then using UrlRewriting you could make the parameter passed in to microsite.aspx (a content page in Umbraco) be "myportfolio".
With a user control on the microsite template it could display some content from your external database (or wherever your custom section stores it).
Not sure that's what you're looking for...
Why are you trying to create a new section for more content? The current Umbraco content area has all kinds of permissions for both users and members. Are the microsites all in the same install of Umbraco?
Another option is that the custom section could simply be used as a setup wizard for the new sites. You could create new content and users in their normal places and just use the new section to create them. It's not too hard to create content from C#, so it would probably be the same as doing it from a user control.
Could you provide a little more info?

Resources