Jump to:

17452 Posts in 4473 Topics by 1971 members

Archive

SilverStripe Forums » Archive » survey module

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Page: 1 2
Go to End
Author Topic: 53250 Views
  • Sam
    Avatar
    Administrator
    679 Posts

    Re: survey module Link to this post

    We're definitely open to the idea of integration with 3rd party tools. There are, however, a few things to consider:

    What is the process for creating surveys going to be?
    - Will the content author need to log into a separate tool?
    - How will the author link the survey into the site?

    How well connected to the rest of the site will new surveys be?
    - Will surveys appear in the regular SilverStripe site map?
    - Will the survey be presented in a similar design to the rest of the site?
    - If the survey is secured, can it be secured using SilverStripe's member database and authentication system?

    You're usually going to get the tightest integration with the rest of the site by building a greenfield SilverStripe module. This *can* be more work, but it can also be a lot of work to get a really seamless integration between two products, particularly products that involve administrators creating content for a website, such as a survey tool.

    Having looked at LimeSurvey, it seems like a very complex system. But I haven't researched survey systems enough to compare.

    One potential integration mechanism for LimeSurvey would be create a LimeSurveyPage page type. It would show one of these LimeSurvey surveys inside an iframe. That way, you could still have the survey be "part of the site" by having main site nav shown outside the iframe.

    If the LimeSurvey data were stored in the same MySQL database as your SilverStripe site, then you could query its database directly to get a list of active surveys. If you list these on a DropdownField in LimeSurveyPage::getCMSFields(), then you have a way of linking surveys to LimeSurveyPages.

    Authentication would be trickier. You would probably want to extend the SilverStripe authentication mechanism to write member details to the LimeSurvey user tables as well. Once you have done that, you could have your LimeSurveyPage, when it loads, check who is currently logged in and update the cookies/session to set the authentication fields that LimeSurvey creates.

  • Blackdog
    Avatar
    Community Member
    156 Posts

    Re: survey module Link to this post

    I would say in the long run for integrations sake it would be easier to develop it within the silverstripe framework rather than from a bit of 3rd party code. If we build it from within Silverstripe we will have much more success in using the survey data throughout the site.

    I am sure if we work as a community we could get it done. I am more than happy to devote some time to seeing us work together to build ideas into modules and widgets. I have a few other ideas which I think could be of great benefit to the community and would be more than happy to share them freely if there was help to develop them.

  • Sam
    Avatar
    Administrator
    679 Posts

    Re: survey module Link to this post

    I would tend to agree, Blackdog. The SilverStripe core team can provide development infrastructure - that is, space on our existing Trac and Subversion set-up.

    The UserDefinedForm page type is probably a good place to start. Perhaps it would be worth analysing what this system *doesn't* provide out-of-the-box, that a v0.1 survey tool would need?

    IMO, the main thing missing is analytical reporting on the results: that is, looking at the percentage of people that responded to various options. This could be very easily set up with a subclass of UsedDefinedForm, SurveyPage. It could quite possibly even use the data-saving structure that UDF is already using, and differ only in reporting. This would make development of the survey very straightforward.

    For more sophisticated surveys, we would probably need features such as:

    - The ability to spread questions over multiple pages, or possibly just a 1-question-per-page mode
    - The ability to only show certain questions if a precondition is met

    In addition, the form editor UI could probably be tidied up a bit. But all of these things are beyond the scope of a v0.1, which we should focus on first.

  • Survey
    Avatar
    Community Member
    4 Posts

    Re: survey module Link to this post

    Blackdog and Sam,

    Excellent points! When it comes to overall control and authentication integration, without a doubt, greenfield is going to be the way to go.

    But, I'm going to offer an opinion-

    How about a RESTConsumerPageType?

    Big picture, I believe it might be a unique, compelling and advantageous option to have in a CMS system. I can't think of any SilverStripe competitors that have it.

    Hopefully, a name of RESTConsumerPageType is descriptive enough, but just to be sure:

    The high level idea is to provide a web service infrastructure within Silverstripe to integrate with other apps via REST (SOAP if no other way). Maybe RESTConsumerPageType is abstract with particular 3rd party bridge/integration code extending it (as previously mentioned "LimeSurveyPageType" might extend it)?

    Are the YouTube, Technorati, Maps modules already providing REST based integration? If yes, could any lessons learned from developing those modules be applied?

    Looking at Lime, it might be straightforward enough to create a REST requests/response. I need to research more.

    But, in short (and already touched upon by Sam), use Lime to create surveys. Within SS, you can view available surveys and add to pages; in other words, use SS to display the surveys. REST might allows tighter integration than iFrame.

    I looked a bit at LimeSurvey yesterday and plan to explore more this week. I'm going to explore adding REST capabilities to Lime and welcome thoughts on REST consumption/production in SS.

  • Sam
    Avatar
    Administrator
    679 Posts

    Re: survey module Link to this post

    There's a RestfulService class that provides the infrastructure for this. I think that this provides a good place for the shared code between different pages that connect to restful services.

    Check it out on http://api.silverstripe.com

  • GSVNoFixedAbode
    Avatar
    Community Member
    5 Posts

    Re: survey module Link to this post

    Any further updates on this? I'd be interested to hear if anyone has integrated an existing survey solution into SS.
    Thanks,
    G.

    53250 Views
Page: 1 2
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.