Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Brad 94 posts 151 karma points
    Aug 16, 2009 @ 08:04
    Brad
    0

    Product administration

    Hi

    I have done some minor dev work with Umbraco so I'm not a comlete noob, but one concept I don't have an idea on is this.

    I'm using 'products' in this example but the idea could apply to any number of items you might typically control from a database. 

    How would you administer your Products in your Umbraco system if those products are to be part of a 'standard' purchase system (with orders, customer details, shipping details etc) ?

    My issue is I just can't see how Umbraco can store all that info.

    If your site is just a 'brochure site'. Ie: just lists your products, then fine. Just make a 'product' datatype that can be a child of the Product page datatype.

    But if you need to maintain some referential integrity between your order system, shipping system and all the other stuff that is normally in a relational database, surely you cannot have your products as mere Umbraco datatype.

    All that being the case. Then how do you display and administer your products?

    Display is easy. Make a usercontrol or two that gets your products  out of the database and displays them as required by your site.Then use those usercontrols as marcos in umbraco. Simple. 

    But admin is a whole new ball game. These products are now not longer controlled by the Umbraco system. Yet you might want to sell your client one admin. Not one for site content and another to adminsiter their products.

    So if you want to administer the products in the Umbraco system when you login, I'd image you need to build your admin pages a usual, but someone add them to the Umbraco cms. Is that possible? Am I on the right track here.

    Please don't point me to the e-commerce plug in for umbraco at Codeplex. This is not about e-commerce. This is simply a data structure concept that I am not clear on.

     

     

  • Paul Blair 466 posts 731 karma points
    Aug 16, 2009 @ 09:41
    Paul Blair
    0

    One option would be to create the product item in code from whatever Admin system you set - so this doesn't have to be the Umbraco backend. You can still use the Umbraco API to create the product nodes and you can then use node ID as the foriegn key in other tables for referential integrity.

  • Masood Afzal 176 posts 522 karma points
    Aug 16, 2009 @ 09:44
    Masood Afzal
    0

    You may consider adding a 'custom section' for products admin in umbraco.

    Please have a look at this link: http://www.nibble.be/?p=71

     

  • Chris Koiak 700 posts 2626 karma points
    Aug 16, 2009 @ 09:53
    Chris Koiak
    0

    Hi Brad,

    You're right, Umbraco doesn't support referential integrity between custom data objects/types.

    This is ok, as it's not the primary purpose of Umbraco; it's a CMS. It's not a 'one size fits all' application.

    Within Umbraco, you can create relationships between nodes (using mutli content pickers, etc) to establish related content, the key here is that it is the content that is related, not business objects.

    To achieve what you're discussion you would implement your admin interface as a custom section. This is bascially just a series of .NET pages, using whatever code/business layer you write, accessing whatever DB structures you design. See packages like Commerce (http://commerce4umbraco.codeplex.com/) for examples custom sections ;-)

    A meta data structure, like the one in Umbraco, is great for a CMS. In fact, it's basically the core and purpose to any CMS. However, it does not fit well for bespoke, single purpose web application as you cannot define or control the relationships between your data objects.

    Cheers,

    Chris

  • Richard Soeteman 4046 posts 12899 karma points MVP 2x
    Aug 16, 2009 @ 09:54
    Richard Soeteman
    0

    Hi Brad,

    Good question. If you have a large product or client or whatever database it doesn't make really sense to hold it in Umbraco datatypes. and you may prefer to hold the data in a database. To maintain the data from this database in Umbraco you have a few options

    1. Create a new section in umbraco where you can maintain the data. Simply create a new page that have crud operations. and add them to the tree. Check out the blogpost from Tim how to integrate a new section into umbraco

    2. Create a datatype that contains functionality for the crud operations. I've build this for a client a few months back. What's great about this approuch is that you can use it in document types and you can apply automatic filters based on the document properties to filter data. It's a lot of work though.

    To display database data in your website is the simple part. You can use a usercontrol or an xslt macro to display data. When you are using an xslt macro I recommend watching the following video that explains how this works.

    Also I would still recommend to view the source of Commerce4Umbraco. That is also using a technique to maintain external data in Umbraco. So it gives you a good insight.

    Hope this helps you,

    Richard

Please Sign in or register to post replies

Write your reply to:

Draft