More in this section

Forums / Developing with Sitefinity / Extensibility questions

Extensibility questions

8 posts, 0 answered
  1. Nige
    Nige avatar
    6 posts
    Registered:
    15 Aug 2007
    24 Aug 2007
    Link to this post
    Hi,
    I'm currently in the process of evaluating Sitefinity as the basis for the next version of a product. Naturally this would building our current product as a series of modules.

    One of the major features we're looking for is being able leverage as much of of the built in functionality as possible and really mesh the two systems.

    Do you have any guidelines or documentation around creating larger modules as the implementation details in the examples I have found (using RadMultiPageView) do not scale well?

    Is it possible to use the workflow system built into Sitefinity to manage approvals and publishing of custom content (such as product descriptions)?

    The same with localization?

    Thank you
  2. Vlad
    Vlad avatar
    498 posts
    Registered:
    19 Jun 2017
    27 Aug 2007
    Link to this post
    Hello Nigel,

    Thank you for choosing to evaluate Sitefinity.

    You can find all information about creating modules in:
      - Developer Manual > Extending Sitefinity topic;
      - Sitefinity blogs;
      - Sitefinity forums;


    As for your second question, yes, it is possible to use the Sitefinity built-in workflow system to manage your custom content. Our GenericContent, News and Blogs modules demonstrate this behavior. Unfortunately, we still don't have guidelines how to do this, but we will provide some examples very soon.
    The same goes for localization.

    Best wishes,
    Vlad
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  3. Nige
    Nige avatar
    6 posts
    Registered:
    15 Aug 2007
    30 Aug 2007
    Link to this post
    Hi,

    Thanks for the replies. As part of our development we'll be using our own data access (NHibernate) due to some legacy database issues. Will this cause any issues when trying to use the localization and workflow sections of Sitefinity?

    Thanks
  4. Bob
    Bob avatar
    330 posts
    Registered:
    30 Dec 2016
    31 Aug 2007
    Link to this post
    Hi Nigel,

    There will be no problem to mix data access technologies in your projects. In fact, there are quite a few projects using this approach. In particular I know that no problems have been encountered combining with NHibernate and SubSonic.

    I’d like to elaborate a bit more on the Workflow module. Our workflow engine was developed as a temporary solution and pretty close match of the API to Windows Workflow Foundation engine. WWF was still in beta when we released v3.0. Migration to WWF is scheduled for version 3.2 in December. We are working on our own implementation of WWF provider so our clients will be able to take advantage of visual tools for designing workflow processes and custom activities in Visual Studio.

    All the best,
    Bob
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  5. Nige
    Nige avatar
    6 posts
    Registered:
    15 Aug 2007
    26 Sep 2007
    Link to this post
    Hi,

    Thanks for your replies, we're currently designing the infrastructure for our web based product (we are still looking at integrating it with Sitefinity as a module) but the lack of documentation around leveraging Workflow and Localization from non Nolics based data sources is non existent.

    Can we please get some samples around a custom module (not using nolics) using workflow and / or localization.

    Without some concrete examples of this it's hard to push Sitefinity as our solution.

    Thanks

  6. Bob
    Bob avatar
    330 posts
    Registered:
    30 Dec 2016
    27 Sep 2007
    Link to this post
    Hello Nigel,

    Unfortunately, we do not have samples yet. In general, you should not work with Nolics classes directly regardless whether your data access is using Nolics or something else. Instead, you should use the API and interfaces. This way you will keep your code independent of system and module data providers.

    There are several approaches to support localization. If you give us a scenario, we will suggest the best approach and give you an example.

    Could you also elaborate how do you intend to use Workflow? If you want to hookup to events, I will show you how you can do this in v3.1, note events are not exposed in v3.0.
    If you want to create workflow for your own objects, I would suggest you start using Windows Workflow Foundation as we are going to migrate to WWF with v3.2.

    All the best,
    Bob
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  7. Nige
    Nige avatar
    6 posts
    Registered:
    15 Aug 2007
    27 Sep 2007
    Link to this post
    Hi Bob,
    Thanks for the quick reply, an example of what we're looking for is follows.

    Site admins will be able to modify item descriptions (in an ecommerce store), we're looking to have the same style workflow (approval / publishing) with these descriptions so being able to leverage the same workflow process that already exists would be very useful. We're also looking for localization for those descriptions.

    The item descriptions would be stored via NHibernate in a custom module.

    Thanks
  8. Bob
    Bob avatar
    330 posts
    Registered:
    30 Dec 2016
    27 Sep 2007
    Link to this post
    Hi Nige,

    You can use the same workflow process but as I already said we will discontinue supporting our workflow engine. If you are still interesting I will send you as an example the implementation for Generic Content.

    For localization you can use our localization manger.
    Here is an example:
        using Telerik.Localization;  
     
        class Item  
        {  
            public Item(Guid id)  
            {  
                //Retrieves an item for the current UI culture or creates new if one does not exist.  
                this.item = manger.GetLocal(id);  
            }  
     
            public string Name  
            {  
                get 
                {  
                    return item.GetValue("Name");  
                }  
                set 
                {  
                    item.SetValue("Name", value);  
                }  
            }  
     
            public string Description  
            {  
                get 
                {  
                    return item.GetValue("Description");  
                }  
                set 
                {  
                    item.SetValue("Description", value);  
                }  
            }  
     
            public void Save()  
            {  
                manger.SaveItem(this.item);  
            }  
     
            private ILocalizedItem item;  
            private static LocalizationManager manger = new LocalizationManager();  
        }  
     


    Greetings,
    Bob
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
Register for webinar
8 posts, 0 answered