Copied to clipboard

Flag this post as spam?

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


  • Tim C 161 posts 528 karma points
    Sep 12, 2016 @ 08:59
    Tim C
    0

    I have raised this issue before, so my apologies, but this is my last attempt!

    I am trying to build an intranet where thousands of employees could create,edit and publish documents to the site.

    These documents will be fairly simple (possibly one rich text field and a few other simpler fields).

    I want to treat them as Umbraco back-end documents (rather than say data in separate SQL tables) so they can be included in partial views.

    There will be other, more complex documents but these will be managed by a smaller number of back-end users, so that is fine.

    I don't believe it is correct to treat the thousands of employees as users as I have read this will cause performance issues.

    Therefore, before giving up, my last thought - suggested by others - is to create them as members, create a few front end pages that include forms, and they then submit these forms to a new controller that can check their membership and use the API to create, edit and/or publish the document submitted,

    They should only be able to edit documents created by themselves, so the controller would need to know who the logged in member is (and compare that to the membership id I would store on all documents as creator).

    1. Is this possible? Is it ok, or would it affect performance/security?

    2. If it is possible, can I just upload controllers and views to the App_Code folder without compiling and uploading dlls etc?

    3. Finally, I believe it is possible to authenticate members based on their Windows (Active Directory) log in?

    Sorry for asking so many questions and many thanks to anyone who can help.

  • Marc Goodson 2141 posts 14344 karma points MVP 8x c-trib
    Sep 12, 2016 @ 22:22
    Marc Goodson
    1

    Hi Tim

    1) Yes, members is the better choice I think for your intranet scenario, Umbraco membership is designed to give identity to visitors to a website, whereas Users access the back office in order to update the website content.

    In terms of performance, alot depends on how your intranet is used, so if every ten seconds a member in the company uploads and shares a new document/information with the rest of the company, then almost anything will be slow! - but if it's one or two documents a day, performance will be fine...

    2) Yes you can just add custom controllers to your app_code folder and they will compile on the fly, views you add to the views folder - one thing to consider if you are trying to avoid coding too much, as your previous posts may suggest, is to take a look at Umbraco Forms -

    https://our.umbraco.org/projects/developer-tools/umbraco-forms/

    this is a paid for add in (a few hundred euros) and would enable you to create forms with a drag and drop designer, and add the forms to your intranet pages. Umbraco forms has built in workflow actions after the form has been submitted that will automatically create Umbraco Content nodes, which would suit your aims for having members create backoffice Umbraco content.

    3) Yes, Umbraco membership is built on top of the Asp.Net Membership provider, and is pluggable so it's perfectly possible to create your own custom membership provider to authenticate with an AD, usually we setup an 'automatic login page' so visitors to the intranet site are span out to a 'fake login' page, that triggers the authentication - via the AD - reads their User.Identity.Name, and then creates them as Umbraco Members via the MemberService, and then logs them into the site with forms authentication, but the actual authentication is via the AD. Theres a good article about extending membership here: http://24days.in/umbraco/2015/extending-membership/

    regards

    Marc

  • Tim C 161 posts 528 karma points
    Sep 13, 2016 @ 07:10
    Tim C
    0

    Marc

    Thank you for a comprehensive and excellent answer.

    So Umbraco forms would allow members to create document nodes? I am guessing it doesn't allow editing of existing nodes, so that may not work for us.

    If not, I could create a controller that would automatically be aware of which member is logged in (ie it can access member id ) and could then use the api to create/edit/publish?

    Thanks again

  • Alex Skrypnyk 6132 posts 23951 karma points MVP 7x admin c-trib
    Sep 13, 2016 @ 13:08
    Alex Skrypnyk
    0

    If not, I could create a controller that would automatically be aware of which member is logged in (ie it can access member id ) and could then use the api to create/edit/publish?

    Yes, you can add your custom logic to Umbraco forms. Read more:

    https://our.umbraco.org/documentation/products/umbracoforms/developer/extending/adding-a-workflowtype

  • Marc Goodson 2141 posts 14344 karma points MVP 8x c-trib
    Sep 13, 2016 @ 19:45
    Marc Goodson
    101

    Hi Tim

    Yes umbraco forms might be a curve ball for you what you are trying to do, I was just trying to think of what you might be able to achieve without writing a line of code.

    But yes I have built wiki-like functionality before where the Members of the site can add and update the content, that is stored in Umbraco... using custom forms/controllers and the contentservice api.

    regards

    Marc

  • Tim C 161 posts 528 karma points
    Sep 14, 2016 @ 09:25
    Tim C
    0

    But yes I have built wiki-like functionality before where the Members of the site can add and update the content, that is stored in Umbraco... using custom forms/controllers and the contentservice api.

    Could you share?... ;-)

  • Marc Goodson 2141 posts 14344 karma points MVP 8x c-trib
    Sep 15, 2016 @ 13:37
    Marc Goodson
    0

    Hi Tim

    Sorry, I can't, not easily, it's baked into a client's project :-(

    One thing might be of interest though, is taking a look at the official certification courses: (disclaimer I run the one day courses in the UK) - In particular the Umbraco, Mvc and Visual Studio course where the hands on solution we work with, has the functionality to edit Umbraco nodes via the front end of the site; using SurfaceControllers to handle the form posts, and the Content Service API to create and update Umbraco content.

    http://umbraco.com/products-and-support/training/level-2-course/

    These episodes on Umbraco TV: http://umbraco.tv/videos/umbraco-v7/developer/fundamentals/surface-controllers/introduction/ and http://umbraco.tv/videos/umbraco-v7/developer/fundamentals/content-api/introduction/

    will give you a good idea of the work involved

    regards

    Marc

Please Sign in or register to post replies

Write your reply to:

Draft