1-888-365-2779
+1-888-365-2779
Try Now
More in this section

Forums / General Discussions / SF as the basis for writing an ERP-enabled, multi-company portal

SF as the basis for writing an ERP-enabled, multi-company portal

2 posts, 0 answered
  1. Raman
    Raman avatar
    10 posts
    Registered:
    25 Mar 2010
    17 Jul 2010
    Link to this post
    Dear friends

    We are about to write a portal which has the  the following major requirements. Pl. help me get on the track.

    1. Multi-company support: SF must have a feature that lets you add the user profile fields like company, department, currency, etc. How easy is it to implement, do we need to create the db tables or does this feature come out-of-the-box? Is there any other way to implement this feature?

    2. Super-admin vs. Company-admin: Let's say we have 10 companies registered on our portal. Now each company has 'n' number of users. We want that there should be a company-admin user for each company who further manages/creates the users of his company. This feature is inherent in the DotNetNuke. Is there an easy way to implement in SF? The super-admin is the one who will be the overall in-charge of the web portal.

    3. Maintenance: We might need to use something like example.com/companyA or companyA/example.com (sub-domain) i.e. assign sub-domain to each company. In this case, how difficult or easy will it be to maintain different sub-domains/companies, for instance, the upgrades made by the super-admin and the backups done by the company-admin.

    Pl. note that different companies will not only have different users but different roles too. The content in terms of the modules may also differ, fi, the companyA might not be using the Quotes module whereas the companyB might be using both Quotes and Invoices.

    4. Performance: The portal may grow to cater hundreds of such companies. Will the performance be affected in such a scenario if the companies are accessed using this way: example.com/companyA. This is witnessed in the case of DotNetNuke as each portal/sub-domain is represented as an object in memory.

    5. Users, Roles, and Modules: The company A might be enrolled to the Invoice module and the companyB to both Invoice and Quote. We want that when a user of companyA logins he should be able to view/work-on the Invoice module only whereas the companyB's user should be able to see both.

    Further, there could be 2 different types of users (roles) in companyB: QuoteCreator and QuoteApprover. When the QuoteCreator accesses the Quote module functionality, he should not have access to the Approver portions of the Quotes module.

    Is this possible in SF 4?

    6. Different companies will need to exchange pages (like Quotes) and some pieces of data (like Quote approved or rejected). Which SF feature(s) can we use to implement this?

    I am not used to the CMS language. Instead, I have expressed my requirements in a System Requirements tone. So pl. bear with it.

    The Telerik RAD/Ajax controls are beyond compare and this is what compelling me to make the SF as the basis of this huge portal.

    Am I in the right direction, pl. guide me! Or, shall I go for a framework other than the CMS-type? It is not ideal to use the CMS as the framework for the requirements listed above. But at the same time, we want all this on a web portal. This very portal will later be extended to include CMS-things like news, blogs, RSS, ...

    Looking forward to hear from the CMS/SF experts.

    Thanking you in anticipation!
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    16 Jun 2017
    18 Jul 2010
    Link to this post
    Hi Raman,



    1. Multi-company support: SF must have a feature that lets you add the user profile fields like company, department, currency, etc. How easy is it to implement, do we need to create the db tables or does this feature come out-of-the-box? Is there any other way to implement this feature?

    Sitefinity follows standard ASP.NET Profile Provider implementation. You only have to declared your custom profile properties in the web.config file and add several TextBox controls and labels for the newly added properties. Database changes are not required.

    2. Super-admin vs. Company-admin: Let's say we have 10 companies registered on our portal. Now each company has 'n' number of users. We want that there should be a company-admin user for each company who further manages/creates the users of his company. This feature is inherent in the DotNetNuke. Is there an easy way to implement in SF? The super-admin is the one who will be the overall in-charge of the web portal.

    Sitefinity follows standard ASP.NET Membership and Role providers implementation. You can create multiple roles and users with different permissions. Note that there are granular permissions only for pages - each page could have different permissions for a given role. For content data - permissions are per module and provider.

    3. Maintenance: We might need to use something like example.com/companyA or companyA/example.com (sub-domain) i.e. assign sub-domain to each company. In this case, how difficult or easy will it be to maintain different sub-domains/companies, for instance, the upgrades made by the super-admin and the backups done by the company-admin.


    Pl. note that different companies will not only have different users but different roles too. The content in terms of the modules may also differ, fi, the companyA might not be using the Quotes module whereas the companyB might be using both Quotes and Invoices.

    The upgrades are manual. For this scenario you can use a simple website with multiple providers for each one. In this case you will have one database and one website. Another option is using "domain page mapping.". The third option is using separate databases for a single website, which means that you have to perform two upgrades.

    Since Sitefinity uses provider model you could have to or more website that share content between them.


    4. Performance: The portal may grow to cater hundreds of such companies. Will the performance be affected in such a scenario if the companies are accessed using this way: example.com/companyA. This is witnessed in the case of DotNetNuke as each portal/sub-domain is represented as an object in memory.

    The performance depends on many factors. For such scenarios you should have load balancing environment. All Generic Content based modules use web service for content binding. Pages section could handle over 50 000 pages.

    5. Users, Roles, and Modules: The company A might be enrolled to the Invoice module and the companyB to both Invoice and Quote. We want that when a user of companyA logins he should be able to view/work-on the Invoice module only whereas the companyB's user should be able to see both.

    This could be achieved if there is a user that belongs to a role - CompanyA any you have assigned view/edit permissions to this role only for Invoice module. There should be another role - CompanyB which users should have permissions over module Invoice and Quote.

    Further, there could be 2 different types of users (roles) in companyB: QuoteCreator and QuoteApprover. When the QuoteCreator accesses the Quote module functionality, he should not have access to the Approver portions of the Quotes module.

    You could achieve this when you use workflow.

    Is this possible in SF 4?


    All of the above will be possible in Sitefinity 4.0.

    6. Different companies will need to exchange pages (like Quotes) and some pieces of data (like Quote approved or rejected). Which SF feature(s) can we use to implement this?

    You can use workflow, but you can reject the whole page, you cannot reject only a certain control from it.


    All the best,
    Ivan Dimitrov
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
2 posts, 0 answered