Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Your feedback: Plugins for LimeSurvey 2.05

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93275

  • c_schmitz
  • c_schmitz's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 755
  • Thank you received: 104
  • Karma: 88
Article cannot be shown
Support us, too. Donate to the LimeSurvey project and help keep us going!
The administrator has disabled public write access.
The following user(s) said Thank You: DenisChenu, actxcellence

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93293

  • helper
  • helper's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 126
  • Thank you received: 18
  • Karma: 0
From my perspective (learning hospital/university), the objectivity of an API would be to provide hooks to other API's (for example, advanced web services). These could include interfaces with print services and/or electronic medical records (like Epic).

My current homegrown hooks:
  1. Output report customization for PDF/print and BLOB preparation for mainframe DB2.
  2. Output report writes to mainframe DB2
  3. Survey logon based on a medical record number and year of birth instead of token, username/password.
  4. Automatic token generation when a patient logs on.
  5. Appointment lookup (via web service to our appointment systems)
  6. Token population from patient registry flags (for example, diabetes, hypertension, etc.)
Last Edit: 1 year 5 months ago by helper.
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93306

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
At my workplace, we think this is great news. Many thanks to the LimeSurvey team!

In response to your request for suggestions for plugins, we would like to see an encrypted question type, which would encrypt the answer to a particular question. We accomplish this now through php scripts after the submit button is clicked for a particular record. We think it would be cleaner and more efficient to accomplish this in a plugin.

Thank you for considering our feedback.

tfj
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93370

  • thomsol
  • thomsol's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 4
  • Karma: 0
Anxious to see the Question Type plug-ins... Are the new (2.05) plug-ins documented anywhere? (Sorry, probably a newbie question)
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93381

  • Marsip
  • Marsip's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 2
  • Thank you received: 1
  • Karma: 0
Hello!

I would first have to thank you for your effort in making custom questions available via plugins. I wrote this topic a year ago ( www.limesurvey.org/en/forum/future-featu...s-with-a-php-plug-in ) and it is now much closer to reality.

I have checked the file \limesurvey\application\helpers\common_helper.php [v2.05] and it still contains hard coded questions.

I would suggest you to refactor the code by moving all of the current built-in questions into plugins. In the process you will learn what is needed to reimplement all of the current functionality via APIs. If you don't do this, there will always be first class (built-in) and second class (pluggable) question types.

I think the plugin would have to be a multifile solution, put into a separate directory:
- PHP template + custom CSS for front end (what people see when answering surveys)
- PHP template + custom CSS for back end (what admins see when creating surveys)
- PHP logic files; I'd like to see them implemented as interfaces (inheritance and other OO stuff); see php.net/manual/en/language.oop5.interfaces.php . Don't drop OO features, because of supporting 5.2 and earlier (they are EOLed anyway).

Maybe the logic could be in three parts:
- front-end only logic file
- back-end only logic file
- common front- and back-end logic file

Basically my end use scenario is to get question options from a SQL server, they could be different for different groups of respondents (tokens). One of the API calls could be: get me info for this token (name, lastname, group)

Don't be afraid to break SQL schema compatibility. I wrote my own software that imports data directly from lime sql tables, but I'm not that much bothered if I have to do some adjustments to the code.

question types have to have a more descriptive designation, not only a capital letter. I suggest vendor.questiontype. For the built-in questions it could be "lime.array10" or "lime.multiplenum"

Then there's the SQL schema problem. I think there should be an API call to the question plugin to declare what MySQL data types it needs:
- colname
- coltype
- optional description
- storage type (SQL or file; could be merged with coltype; if coltype=="FILE", then it's file based)
- optional function pointer for formatting (printing) output, for example printing floating point numbers
- optional formatting function parameters
The function (specified by function pointer) is then called by the lime core with all of the above parameters and returns a printable output from SQL / file. It could also be a picture (PNG/JPG or HTML to be inserted into innerhtml placeholder).

When developing question types, there should also be an option to (easily) change the custom question type SQL schema (and delete the file storage).

The colname is prefixed in the SQL DB, but the API should be able to work with both full and short colnames. (the prefix should be available to the question type, if it needs to directly update the SQL DB, not via the built-in APIs).

Consider also file based storage. All you need is to create a directory and a generate a token based file name. Pretty much the same APIs could be used as with the SQL storage, only optional parameter "$storagetype='FILE'" would have to be specified, when creating SQL schema. Reading and writing to a LONGBLOB/TEXT and a file should be practically the same. If the respondent uploads a file, it is better to be saved to a filesystem than into an SQL blob.

That's pretty much it. I'll be happy to test the alpha builds.

Best regards,
Marsip
Last Edit: 1 year 5 months ago by Marsip. Reason: typo
The administrator has disabled public write access.
The following user(s) said Thank You: actxcellence

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93382

  • Mazi
  • Mazi's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 5324
  • Thank you received: 294
  • Karma: 248
1. I think all statistics related wishes will not be added before Limesurvey 2.1 and the re-coding of the question types?

2. For public statistics it might be very useful to be able to compare the user's answers with the aggregated data.

3. Can we have something like "beforeSurveyStart" which could e. g. be used to have some kind of login system in addition to using tokens to restrict access to a survey?

Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)limesurvey.org'"
The administrator has disabled public write access.
The following user(s) said Thank You: lfanfoni

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93398

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6276
  • Thank you received: 801
  • Karma: 240
Think we can have some Core Stats but less than actually.
  1. beforeSurveyStart is the 1st TODO i think, and (before|after)SurveySubmitted too
  2. export: maybe move SPSS and R export to Plugin, after we can have TripleS plugin (i work on a specific actually : restrict to selected column ;) ).
  3. need to beforeCreateFieldMap and afterCreateFieldMap (for example to update group/question order: move )
  4. (before|after)surveyRigth

Like Mazi say, move all question into Plugin and attribute into Plugin excpet some Base.

Thinking for Question:
Maybe the actual Questions->type can be use for DB, then same subroutine Stat/export.

type Text: answered/ansered or not , maybe to a DISTINCT count (for example Equation can be text question for stats)
type single: linked with answer (even with Gender etc ...)
type discrete: 1/0/NULL
type json: "very specific" : file upload actually

And add the type 'combine' for all array, single + comment/multi/multi text etc ....

Denis
PS: afterv reading other user:
Needed:
beforeEnterSurvey : token generation/survey logon/prefill (helper 2+4+6 )
afterSurveySubmitted: encrypted functionnality (tfj)
questionPlugin: directly encrypted functionnality (tfj)

For Marsip: look and add function to remotecontrol : it's done for this.
Last Edit: 1 year 5 months ago by DenisChenu. Reason: PS
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93537

I think the first method should be "onLogin", and maybe another method to "login" which receive the username/password and it permit access to the limesurvey, it could help to integration with another systems.
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #93800

  • sys_sby
  • sys_sby's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 23
  • Karma: 0
I think this is plugin (feature) can be consider:
1. Point Rewards and history participants
2. Participants portal, it is contain feature: survey list,survey applied, Point Rewards,Personal Participant data, FAQ
3. Setting permission Report based on hierarchy user level (Parent-children report structure)
4. Custom aggregate and comparison in Reporting (i.e: comparing aggregate City A VS City B, comparing aggregate Survey A VS Survey B)

Thank you very much

Regards
Sys_sby
The administrator has disabled public write access.

Your feedback: Plugins for LimeSurvey 2.05 1 year 5 months ago #94036

  • sys_sby
  • sys_sby's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 23
  • Karma: 0
I think this plug in (feature) also can be consider:
1. Apply and approval survey for participant
2. Feedback and comment for participant survey filled ( I think in question page)
3. Custom grouping questions for assessment report and report display (it also for calculation)

Thank you very much

Regards
Sys_sby
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 0.184 seconds
Donation Image