Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Archive /

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

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

survey module


Go to End


14 Posts   56384 Views

Avatar
Sam

Administrator, 690 Posts

27 April 2008 at 10:46am

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.

Avatar
Blackdog

Community Member, 156 Posts

27 April 2008 at 12:36pm

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.

Avatar
Sam

Administrator, 690 Posts

27 April 2008 at 2:50pm

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.

Avatar
Survey

Community Member, 4 Posts

28 April 2008 at 6:28am

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.

Avatar
Sam

Administrator, 690 Posts

28 April 2008 at 10:03pm

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

Avatar
GSVNoFixedAbode

Community Member, 5 Posts

10 July 2008 at 2:25pm

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

Go to Top