<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Macduy</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Macduy"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Macduy"/>
	<updated>2026-08-11T14:53:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2470</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2470"/>
		<updated>2010-03-31T11:03:54Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Email bounce tracking &amp;amp; handling of international email addresses==&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to process email bounces of invitation or reminders in an automated way. If a bounce is received the administrator has to manually process every bounce - either by finding out a correct email address or removing the participant completely. Additionally it would be great if LimeSurvey could handle International email addressing - although the RFC for this kind of features are still experimental it would be great if we can be ahead of time. Primary goals of this task:&lt;br /&gt;
&lt;br /&gt;
- Create a facility to handle email bounces using various methods. Easier to install methods which run without CRON jobs and with a single email account - more advanced and safer methods which require certain email server setups. Make it quick and easy to configure and handle. Create followup actions in case an email is bounced. Differentiate between bounces and other &#039;away-messages&#039;.&lt;br /&gt;
&lt;br /&gt;
- Extend the PHPmailer library and LimeSurvey so it can handle international email addressing (including configuration)&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
PHP, knowledge of email handling and RFCs, some HTML &amp;amp; JS&lt;br /&gt;
&lt;br /&gt;
Difficulty&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
Probable Mentors&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Thibault LeMeur (lemeur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Use Cases &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think of these when writing your proposal&lt;br /&gt;
# Questionnaire which has a special section displayed only if a user answers a chosen question in a specific way (i.e. branching)&lt;br /&gt;
# Question on your favourite ice-cream, with an option &amp;quot;Other&amp;quot;, upon which the user will be asked to enter his own choice (i.e. multi-datatype question types)&lt;br /&gt;
# Questionnaire, which asks how many children you have and then loops a set of predefined questions that many times. (i.e. looping)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Your proposal &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your proposal needs to be fairly detailed and must dig deep down to the implementation level, with good analysis of the performance. &amp;quot;Read the data from the user and store it in the database&amp;quot; is no good! How are you going to store it? What is the schema going to be? Does it satisfy the requirements, for branching, conditions, pluggable question types? Does it scale well? Is it efficient - what is the time complexity? Can I get summaries out of it in a reasonable time? All this needs to be addressed. Early submissions are accepted by both mentors and suggestions and comments will be given (:wink:).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it. It should be able to clean up databases, revert files and basically be prepared for any eventuality.&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot; (and excellent opportunity for a &amp;quot;Would you like to create it?&amp;quot; button)&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
*&#039;&#039;&#039;Announcements:&#039;&#039;&#039; Make it easy to send customizable announcements to desired audience. Obviously, you don&#039;t want to send reminder e-mails to those people who&#039;ve taken a survey already.&lt;br /&gt;
**&#039;&#039;&#039;Filtering:&#039;&#039;&#039; Filter users on various suitable criteria&lt;br /&gt;
**&#039;&#039;&#039;Templates:&#039;&#039;&#039; Design a template system announcement beyond a simple find-and-replace. We don&#039;t want you to build the next Smarty or Django templates replacement, but dazzle the users with something cool and usable&lt;br /&gt;
**&#039;&#039;&#039;Management:&#039;&#039;&#039; Folders, counters,&lt;br /&gt;
*&#039;&#039;&#039;Inbox:&#039;&#039;&#039; Build a system that would allow users to communicate among each other without the need for e-mail. (&#039;&#039;&#039;Not chat&#039;&#039;&#039;)!&lt;br /&gt;
**&#039;&#039;&#039;Message Type:&#039;&#039;&#039; Categorise the messages&lt;br /&gt;
**&#039;&#039;&#039;Linking with Announcements:&#039;&#039;&#039; Use it as an alternative to e-mail.&lt;br /&gt;
**&#039;&#039;&#039;E-mail notifications:&#039;&#039;&#039; Is it a good idea? How often is good? Allow people to choose if they want it?&lt;br /&gt;
*&#039;&#039;&#039;Assignments&#039;&#039;&#039;: Assignment is how a Survey is deployed. It can be time-restricted or region-restricted etc. Make improvements on the Assignment features and its design GUI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery, Creativity, UI Design&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==-LimeSurvey 2: Lime Survey Social - Facebook Application - &amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;This project has no mentor!&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions &amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;This project has no mentor!&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010+Condition+engine FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2471</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2471"/>
		<updated>2010-03-31T11:01:53Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Email bounce tracking &amp;amp; handling of international email addresses==&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to process email bounces of invitation or reminders in an automated way. If a bounce is received the administrator has to manually process every bounce - either by finding out a correct email address or removing the participant completely. Additionally it would be great if LimeSurvey could handle International email addressing - although the RFC for this kind of features are still experimental it would be great if we can be ahead of time. Primary goals of this task:&lt;br /&gt;
&lt;br /&gt;
- Create a facility to handle email bounces using various methods. Easier to install methods which run without CRON jobs and with a single email account - more advanced and safer methods which require certain email server setups. Make it quick and easy to configure and handle. Create followup actions in case an email is bounced. Differentiate between bounces and other &#039;away-messages&#039;.&lt;br /&gt;
&lt;br /&gt;
- Extend the PHPmailer library and LimeSurvey so it can handle international email addressing (including configuration)&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
PHP, knowledge of email handling and RFCs, some HTML &amp;amp; JS&lt;br /&gt;
&lt;br /&gt;
Difficulty&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
Probable Mentors&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Thibault LeMeur (lemeur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Use Cases &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think of these when writing your proposal&lt;br /&gt;
# Questionnaire which has a special section displayed only if a user answers a chosen question in a specific way (i.e. branching)&lt;br /&gt;
# Question on your favourite ice-cream, with an option &amp;quot;Other&amp;quot;, upon which the user will be asked to enter his own choice (i.e. multi-datatype question types)&lt;br /&gt;
# Questionnaire, which asks how many children you have and then loops a set of predefined questions that many times. (i.e. looping)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Your proposal &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your proposal needs to be fairly detailed and must dig deep down to the implementation level, with good analysis of the performance. &amp;quot;Read the data from the user and store it in the database&amp;quot; is no good! How are you going to store it? What is the schema going to be? Does it satisfy the requirements, for branching, conditions, pluggable question types? Does it scale well? Is it efficient - what is the time complexity? Can I get summaries out of it in a reasonable time? All this needs to be addressed. Early submissions are accepted by both mentors and suggestions and comments will be given (:wink:).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it. It should be able to clean up databases, revert files and basically be prepared for any eventuality.&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot; (and excellent opportunity for a &amp;quot;Would you like to create it?&amp;quot; button)&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
*&#039;&#039;&#039;Announcements:&#039;&#039;&#039; Make it easy to send customizable announcements to desired audience. Obviously, you don&#039;t want to send reminder e-mails to those people who&#039;ve taken a survey already.&lt;br /&gt;
**&#039;&#039;&#039;Filtering:&#039;&#039;&#039; Filter users on various suitable criteria&lt;br /&gt;
**&#039;&#039;&#039;Templates:&#039;&#039;&#039; Design a template system announcement beyond a simple find-and-replace. We don&#039;t want you to build the next Smarty or Django templates replacement, but dazzle the users with something cool and usable&lt;br /&gt;
**&#039;&#039;&#039;Management:&#039;&#039;&#039; Folders, counters,&lt;br /&gt;
*&#039;&#039;&#039;Inbox:&#039;&#039;&#039; Build a system that would allow users to communicate among each other without the need for e-mail. (&#039;&#039;&#039;Not chat&#039;&#039;&#039;)!&lt;br /&gt;
**&#039;&#039;&#039;Message Type:&#039;&#039;&#039; Categorise the messages&lt;br /&gt;
**&#039;&#039;&#039;Linking with Announcements:&#039;&#039;&#039; Use it as an alternative to e-mail.&lt;br /&gt;
**&#039;&#039;&#039;E-mail notifications:&#039;&#039;&#039; Is it a good idea? How often is good? Allow people to choose if they want it?&lt;br /&gt;
*&#039;&#039;&#039;Assignments&#039;&#039;&#039;: Assignment is how a Survey is deployed. It can be time-restricted or region-restricted etc. Make improvements on the Assignment features and its design GUI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery, Creativity, UI Design&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==-LimeSurvey 2: Lime Survey Social - Facebook Application - &amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;This project has no mentor!&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010+Condition+engine FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2472</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2472"/>
		<updated>2010-03-31T10:59:49Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Email bounce tracking &amp;amp; handling of international email addresses==&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to process email bounces of invitation or reminders in an automated way. If a bounce is received the administrator has to manually process every bounce - either by finding out a correct email address or removing the participant completely. Additionally it would be great if LimeSurvey could handle International email addressing - although the RFC for this kind of features are still experimental it would be great if we can be ahead of time. Primary goals of this task:&lt;br /&gt;
&lt;br /&gt;
- Create a facility to handle email bounces using various methods. Easier to install methods which run without CRON jobs and with a single email account - more advanced and safer methods which require certain email server setups. Make it quick and easy to configure and handle. Create followup actions in case an email is bounced. Differentiate between bounces and other &#039;away-messages&#039;.&lt;br /&gt;
&lt;br /&gt;
- Extend the PHPmailer library and LimeSurvey so it can handle international email addressing (including configuration)&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
PHP, knowledge of email handling and RFCs, some HTML &amp;amp; JS&lt;br /&gt;
&lt;br /&gt;
Difficulty&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
Probable Mentors&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Thibault LeMeur (lemeur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Use Cases &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think of these when writing your proposal&lt;br /&gt;
# Questionnaire which has a special section displayed only if a user answers a chosen question in a specific way (i.e. branching)&lt;br /&gt;
# Question on your favourite ice-cream, with an option &amp;quot;Other&amp;quot;, upon which the user will be asked to enter his own choice (i.e. multi-datatype question types)&lt;br /&gt;
# Questionnaire, which asks how many children you have and then loops a set of predefined questions that many times. (i.e. looping)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Your proposal &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your proposal needs to be fairly detailed and must dig deep down to the implementation level, with good analysis of the performance. &amp;quot;Read the data from the user and store it in the database&amp;quot; is no good! How are you going to store it? What is the schema going to be? Does it satisfy the requirements, for branching, conditions, pluggable question types? Does it scale well? Is it efficient - what is the time complexity? Can I get summaries out of it in a reasonable time? All this needs to be addressed. Early submissions are accepted by both mentors and suggestions and comments will be given (:wink:).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it. It should be able to clean up databases, revert files and basically be prepared for any eventuality.&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot; (and excellent opportunity for a &amp;quot;Would you like to create it?&amp;quot; button)&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
*&#039;&#039;&#039;Announcements:&#039;&#039;&#039; Make it easy to send customizable announcements to desired audience. Obviously, you don&#039;t want to send reminder e-mails to those people who&#039;ve taken a survey already.&lt;br /&gt;
**&#039;&#039;&#039;Filtering:&#039;&#039;&#039; Filter users on various suitable criteria&lt;br /&gt;
**&#039;&#039;&#039;Templates:&#039;&#039;&#039; Design a template system announcement beyond a simple find-and-replace. We don&#039;t want you to build the next Smarty or Django templates replacement, but dazzle the users with something cool and usable&lt;br /&gt;
**&#039;&#039;&#039;Management:&#039;&#039;&#039; Folders, counters,&lt;br /&gt;
*&#039;&#039;&#039;Inbox:&#039;&#039;&#039; Build a system that would allow users to communicate among each other without the need for e-mail. (&#039;&#039;&#039;Not chat&#039;&#039;&#039;)!&lt;br /&gt;
**&#039;&#039;&#039;Message Type:&#039;&#039;&#039; Categorise the messages&lt;br /&gt;
**&#039;&#039;&#039;Linking with Announcements:&#039;&#039;&#039; Use it as an alternative to e-mail.&lt;br /&gt;
**&#039;&#039;&#039;E-mail notifications:&#039;&#039;&#039; Is it a good idea? How often is good? Allow people to choose if they want it?&lt;br /&gt;
*&#039;&#039;&#039;Assignments&#039;&#039;&#039;: Assignment is how a Survey is deployed. It can be time-restricted or region-restricted etc. Make improvements on the Assignment features and its design GUI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery, Creativity, UI Design&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Lime Survey Social - Facebook Application==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010+Condition+engine FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2473</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2473"/>
		<updated>2010-03-31T10:59:01Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Email bounce tracking &amp;amp; handling of international email addresses==&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to process email bounces of invitation or reminders in an automated way. If a bounce is received the administrator has to manually process every bounce - either by finding out a correct email address or removing the participant completely. Additionally it would be great if LimeSurvey could handle International email addressing - although the RFC for this kind of features are still experimental it would be great if we can be ahead of time. Primary goals of this task:&lt;br /&gt;
&lt;br /&gt;
- Create a facility to handle email bounces using various methods. Easier to install methods which run without CRON jobs and with a single email account - more advanced and safer methods which require certain email server setups. Make it quick and easy to configure and handle. Create followup actions in case an email is bounced. Differentiate between bounces and other &#039;away-messages&#039;.&lt;br /&gt;
&lt;br /&gt;
- Extend the PHPmailer library and LimeSurvey so it can handle international email addressing (including configuration)&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
PHP, knowledge of email handling and RFCs, some HTML &amp;amp; JS&lt;br /&gt;
&lt;br /&gt;
Difficulty&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
Probable Mentors&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Thibault LeMeur (lemeur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Use Cases &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think of these when writing your proposal&lt;br /&gt;
# Questionnaire which has a special section displayed only if a user answers a chosen question in a specific way (i.e. branching)&lt;br /&gt;
# Question on your favourite ice-cream, with an option &amp;quot;Other&amp;quot;, upon which the user will be asked to enter his own choice (i.e. multi-datatype question types)&lt;br /&gt;
# Questionnaire, which asks how many children you have and then loops a set of predefined questions that many times. (i.e. looping)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Your proposal &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your proposal needs to be fairly detailed and must dig deep down to the implementation level, with good analysis of the performance. &amp;quot;Read the data from the user and store it in the database&amp;quot; is no good! How are you going to store it? What is the schema going to be? Does it satisfy the requirements, for branching, conditions, pluggable question types? Does it scale well? Is it efficient - what is the time complexity? Can I get summaries out of it in a reasonable time? All this needs to be addressed. Early submissions are accepted by both mentors and suggestions and comments will be given (:wink:).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it. It should be able to clean up databases, revert files and basically be prepared for any eventuality.&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot; (and excellent opportunity for a &amp;quot;Would you like to create it?&amp;quot; button)&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
*&#039;&#039;&#039;Announcements:&#039;&#039;&#039; Make it easy to send customizable announcements to desired audience. Obviously, you don&#039;t want to send reminder e-mails to those people who&#039;ve taken a survey already.&lt;br /&gt;
**&#039;&#039;&#039;Filtering:&#039;&#039;&#039; Filter users on various suitable criteria&lt;br /&gt;
**&#039;&#039;&#039;Templates:&#039;&#039;&#039; Design a template system announcement beyond a simple find-and-replace. We don&#039;t want you to build the next Smarty or Django templates replacement, but dazzle the users with something cool and usable&lt;br /&gt;
**&#039;&#039;&#039;Management:&#039;&#039;&#039; Folders, counters,&lt;br /&gt;
*&#039;&#039;&#039;Inbox:&#039;&#039;&#039; Build a system that would allow users to communicate among each other without the need for e-mail. (&#039;&#039;&#039;Not chat&#039;&#039;&#039;)!&lt;br /&gt;
**&#039;&#039;&#039;Message Type:&#039;&#039;&#039; Categorise the messages&lt;br /&gt;
**&#039;&#039;&#039;Linking with Announcements:&#039;&#039;&#039; Use it as an alternative to e-mail.&lt;br /&gt;
**&#039;&#039;&#039;E-mail notifications:&#039;&#039;&#039; Is it a good idea? How often is good? Allow people to choose if they want it?&lt;br /&gt;
**&#039;&#039;&#039;Assignments&#039;&#039;&#039;: Assignment is how a Survey is deployed. It can be time-restricted or region-restricted etc. Make improvements on the Assignment features and its design GUI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery, Creativity, UI Design&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Lime Survey Social - Facebook Application==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010+Condition+engine FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=GSOC_2010_Condition_engine&amp;diff=1418</id>
		<title>GSOC 2010 Condition engine</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=GSOC_2010_Condition_engine&amp;diff=1418"/>
		<updated>2010-03-30T09:34:59Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page is dedicated to the GSOC2010 Condition Engine Project&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
* Will I have to implement an RPN parser?&lt;br /&gt;
&lt;br /&gt;
In fact a first version of an RPN parser has already been integrated to LS2, ask macduy for more details (or check [[Expression engine for conditions]] to see how it works&lt;br /&gt;
&lt;br /&gt;
Anyway here is an interresting link with algorithms for Infix to Postfix conversions and Postfix to infix conversions.&lt;br /&gt;
&lt;br /&gt;
http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html&lt;br /&gt;
* Why is this a difficult project ?&lt;br /&gt;
&lt;br /&gt;
We want a generic condition engine, able to support multiple kind of conditions. The conditions can be based on static values (predefined string or number) or variable values (context dependant values such as a previous answer, or a user-specific value, ...).&lt;br /&gt;
&lt;br /&gt;
We also want to make the GUI as user friendly as possible so that even if we can design complex conditions, simple conditions design doesn&#039;t become a hassle.&lt;br /&gt;
&lt;br /&gt;
Moreover, conditions may have several usage in LS2, not only helping design question branching but also helping design assessments and so on. This means that implementing conditions may require a lot of communication between the &amp;quot;condition engine&amp;quot; team and the other LS2 developpers.&lt;br /&gt;
* Do I have to understand how LS1 implements conditions ?&lt;br /&gt;
&lt;br /&gt;
Understanding LS1 conditions is important because it will show you what is currently possible to do.&lt;br /&gt;
&lt;br /&gt;
However you don&#039;t have to understand how everything is implemented.&lt;br /&gt;
&lt;br /&gt;
Please carefully read [http://docs.limesurvey.org/tiki-index.php?page=Setting+conditions&amp;amp;structure;=English+Instructions+for+LimeSurvey The conditions documentation for LS1]&lt;br /&gt;
&lt;br /&gt;
I would highly recommend setting several surveys with conditions and see how it works:&lt;br /&gt;
&lt;br /&gt;
- for question per page surveys, for group by group surveys, for all-in-one surveys: note how condition evaluation is either done on the server side, or on the client side&lt;br /&gt;
&lt;br /&gt;
- also try several kind of conditions:&lt;br /&gt;
&lt;br /&gt;
- conditions on previous answer compared to a static value or to another previous answer, conditions on token (user-dependant value),&lt;br /&gt;
&lt;br /&gt;
- understand the difference between a condition using &amp;quot;not answer&amp;quot; and &amp;quot;not displayed&amp;quot; (the latest is not supported in LS1)&lt;br /&gt;
&lt;br /&gt;
- think about a strategy for LS2 to better handle the &amp;quot;Chained conditions&amp;quot; issue and other [http://docs.limesurvey.org/tiki-index.php?page=Setting+conditions&amp;amp;structure;=English+Instructions+for+LimeSurvey#Things_to_watch_out_for gotchas from LS1 conditions]&lt;br /&gt;
* How does the condition engine relates to other parts of the LS2 core ?&lt;br /&gt;
&lt;br /&gt;
Conditions will be used in a variety of ways: question branching, assessments, ...&lt;br /&gt;
&lt;br /&gt;
What this means is that a condition will be mapped to an action.&lt;br /&gt;
&lt;br /&gt;
For instance:&lt;br /&gt;
&lt;br /&gt;
- in a question branching context: map the conditions to the &amp;quot;Display question XXX&amp;quot; action&lt;br /&gt;
&lt;br /&gt;
- in an assessment context: map condition to the &amp;quot;update assessment score YYY by exectuing the following arithmetic operation ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For the question branching action, the condition engine, must:&lt;br /&gt;
&lt;br /&gt;
- understand how answers are stored (either in SESSION, in DB or even in the HTML page if the evaluation is done by Javascript)&lt;br /&gt;
&lt;br /&gt;
- understand how to access participant&#039;s specific data&lt;br /&gt;
&lt;br /&gt;
- understand how LS2 handles mandatory questions and how to alter this behaviour if the question is hidden&lt;br /&gt;
&lt;br /&gt;
- be able to reset an answer to &amp;quot;No answer&amp;quot; if a previously answered question becomes hidden because the participant changed his mind and modified a previous answer (see the deletenonvalue parameter).&lt;br /&gt;
&lt;br /&gt;
- understand how to mark a question as &amp;quot;Not displayed&amp;quot;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2477</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2477"/>
		<updated>2010-03-24T18:05:17Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Email bounce tracking &amp;amp; handling of international email addresses==&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to process email bounces of invitation or reminders in an automated way. If a bounce is received the administrator has to manually process every bounce - either by finding out a correct email address or removing the participant completely. Additionally it would be great if LimeSurvey could handle International email addressing - although the RFC for this kind of features are still experimental it would be great if we can be ahead of time. Primary goals of this task:&lt;br /&gt;
&lt;br /&gt;
- Create a facility to handle email bounces using various methods. Easier to install methods which run without CRON jobs and with a single email account - more advanced and safer methods which require certain email server setups. Make it quick and easy to configure and handle. Create followup actions in case an email is bounced. Differentiate between bounces and other &#039;away-messages&#039;.&lt;br /&gt;
&lt;br /&gt;
- Extend the PHPmailer library and LimeSurvey so it can handle international email addressing (including configuration)&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
PHP, knowledge of email handling and RFCs, some HTML &amp;amp; JS&lt;br /&gt;
&lt;br /&gt;
Difficulty&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
Probable Mentors&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Thibault LeMeur (lemeur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Use Cases &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Think of these when writing your proposal&lt;br /&gt;
# Questionnaire which has a special section displayed only if a user answers a chosen question in a specific way (i.e. branching)&lt;br /&gt;
# Question on your favourite ice-cream, with an option &amp;quot;Other&amp;quot;, upon which the user will be asked to enter his own choice (i.e. multi-datatype question types)&lt;br /&gt;
# Questionnaire, which asks how many children you have and then loops a set of predefined questions that many times. (i.e. looping)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Your proposal &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your proposal needs to be fairly detailed and must dig deep down to the implementation level, with good analysis of the performance. &amp;quot;Read the data from the user and store it in the database&amp;quot; is no good! How are you going to store it? What is the schema going to be? Does it satisfy the requirements, for branching, conditions, pluggable question types? Does it scale well? Is it efficient - what is the time complexity? Can I get summaries out of it in a reasonable time? All this needs to be addressed. Early submissions are accepted by both mentors and suggestions and comments will be given (:wink:).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot;&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Lime Survey Social - Facebook Application==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1878</id>
		<title>LimeSurvey 2 development demo test ride</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1878"/>
		<updated>2010-03-22T17:24:03Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Access to the Developer&#039;s Demo website=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;URL:&#039;&#039;&#039; http://devdemo2.limesurvey.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
=Testing the Dashboard=&lt;br /&gt;
&lt;br /&gt;
After successful log-in, click on &#039;&#039;&#039;Dashboard&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Notes:==&lt;br /&gt;
* You are encouraged to break things, but &#039;&#039;&#039;don&#039;t delete stuff, except for&#039;&#039;&#039; the users with usernames &#039;&#039;jimmy01, jimmy02&#039;&#039; and &#039;&#039;jimmy03&#039;&#039;, which you can recreate by importing them from a CSV file below (use the &amp;quot;CSV Import&amp;quot; tab of Users widget)&lt;br /&gt;
* To access an example &#039;&#039;&#039;Survey Dashboard&#039;&#039;&#039;, locate the &#039;&#039;&#039;Surveys&#039;&#039;&#039; widget, find and click on the survey called &#039;&#039;&#039;&amp;quot;Mandatory Survey&amp;quot;&#039;&#039;&#039; and click on &amp;quot;Dashboard&amp;quot; that appears in the &#039;action&#039; row&lt;br /&gt;
* You can drag and drop items from Users widget onto the Security Groups widget&lt;br /&gt;
* Best viewed in Firefox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;Bug reports go to&amp;lt;/span&amp;gt;&#039;&#039;&#039; http://bugs.limesurvey.org/, select &amp;quot;Bug Reports v2.x&amp;quot; category&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File for testing User CSV Import: [[Media:users.csv|Download file]]===&lt;br /&gt;
&lt;br /&gt;
=Response Viewer=&lt;br /&gt;
&lt;br /&gt;
After you login, you can test the new Response Viewer by going to &#039;&#039;&#039;http://devdemo2.limesurvey.org/response_viewer/index/4&#039;&#039;&#039; ([http://devdemo2.limesurvey.org/response_viewer/index/4 link])&lt;br /&gt;
&lt;br /&gt;
= Screenshots=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dashboard&#039;&#039;&#039; [[File:020809.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response Viewer&#039;&#039;&#039; [[File:ls-1708.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2479</id>
		<title>Project ideas for GSOC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_ideas_for_GSOC_2010&amp;diff=2479"/>
		<updated>2010-03-21T21:16:03Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)!! Please check if you are an [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#student_eligibility eligible candidate] for the GSoC program.&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at #limesurvey on irc.freenode.net. Then submit &#039;&#039;&#039;your&#039;&#039;&#039; proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
==Example Format...==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: File Upload question type==&lt;br /&gt;
&lt;br /&gt;
The idea is to have a question type in LimeSurvey1 where survey participants can upload one (or more) files. Often in surveys the participant is asked to create some content (pictures, movies, documents, etc.)  to upload as an answer to a question. The following goals are  primary in this task:&lt;br /&gt;
*Easy handling for the participant (uploading one or more files should be a piece of cake - also removing files if accidentally the wrong file was uploaded)&lt;br /&gt;
*Extensive configuration options for the question type like&lt;br /&gt;
**How many files are required, minimum and maxim number of files,&lt;br /&gt;
**maximum/minimum upload size,&lt;br /&gt;
**Allowed file types&lt;br /&gt;
*Safe!! storage in the file system, checks for file contents&lt;br /&gt;
*Implementation in statistics / data entry / printable survey / response browsing / response editing &amp;amp; RemoteControl&lt;br /&gt;
*Administrator can download one or more files (zip-packaging files for download) from one response and across responses&lt;br /&gt;
*Provide possible hooks for third party processing tools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, jQuery, AJAX - existing knowledge on the general idea and related security would be of big advantage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz (Carsten Schmitz)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 1: Authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a generic authentication framework for LimeSurvey 1 as well as some authentication modules. The Authentication framework will make it possible to implement any kind of authentication backend apart from the already existing internal-DB and Web server delegation schemes. Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or GET/POST parameters or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisionning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the correspoding survey (only if the token for this user has not been already added).&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lemeur (Thibault Le Meur)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Db Storage Engine==&lt;br /&gt;
&lt;br /&gt;
Develop an extensible plugin survey storage engine for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other than survey design, everything that happens in LimeSurvey centres around the ability to save responses to questions to a database, and retrieve the responses again when required. Historically these functions have been incorporated within the various functions of LimeSurvey and this has locked LimeSurvey to a single methodology for data storage and retrieval and made future modifications and improvements difficult if not possible.&lt;br /&gt;
&lt;br /&gt;
For this project we are looking for students to write a &#039;middleware&#039; that exposes abstract high-level functions to LimeSurvey 2 (e.g.: storing these answers related to this question, running statistical analysis etc.) but is built in top of Cake&#039;s &#039;low-level&#039; operations (such as find, save etc). The aim is to abstract away from a specific DB implementation and provide an intuitive and rich API for LS2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rationale&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the interface with the data storage system is so critical to practically every other function in LimeSurvey we want to develop a stand-alone module that is transportable and extensible for the future. And by keeping the logic of data and survey storage separate from the rest of LimeSurvey&amp;amp;rsquo;s functions we will the ease with which LimeSurvey can be developed in the long term.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Implementation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is such an important project that we would consider multiple students undertaking the task. In conjunction with a strong understanding of data structures, php coding and api principles the students would also have to display a capacity to work in a team and with the broader community.&lt;br /&gt;
&lt;br /&gt;
The implementation would focus on becoming a plugin/addon module under CakePHP which uses the default CakePHP database systems to the absolute minimum. In a well implemented version of this proposal only simple SQL inserts, queries and updates would be required. All other logic would be managed by the engine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Requirements &amp;amp; Considerations&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DB Engine must be able to do the following&lt;br /&gt;
* ease development of additional &#039;&#039;&#039;question types, which will be developed as plugins&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;efficient data retrieval&#039;&#039;&#039;, especially summaries (e.g. display 100 last responses)&lt;br /&gt;
* support &#039;&#039;&#039;generic&#039;&#039;&#039; data storage and retrieval - aside surveys, imagine running online admission tests, polls, sign-up forms, volunteer campaign etc. etc.&lt;br /&gt;
* easily support conditions, looped question, or generally, &#039;&#039;&#039;non-linear data&#039;&#039;&#039;. Think of a survey that asks how many children you have and then asks information about each of them.&lt;br /&gt;
* support questions that have multiple &#039;&#039;&#039;answers and multiple types of answers&#039;&#039;&#039;. Think of a question asking &amp;quot;What is your favourite ice cream?&amp;quot;, offering 3 fixed options and last one allowing user to enter a custom answer.&lt;br /&gt;
* support survey resuming (where applicable)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Field Naming and Database Extensibility Methodologies&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ongoing debate in the LimeSurvey community has been the method in which the database stores survey results. In LimeSurvey 1 a flat database schema was used whereby once the survey designer had finished setting up the survey a database table was created with a field for every individual question/answer combination. The advantages of this database schema were speed of retrieval for reporting and exporting and searching. The disadvantages were that the survey system had to &amp;amp;lsquo;freeze&amp;amp;rsquo; the structure in place once the table was created (therefore the activate/de-activate rules in LimeSurvey 1). The single table method doesn&amp;amp;rsquo;t allow easy storage of metadata for individual question/answer combinations (such as timestamps). Nor does it lend itself to surveys with enormous quantities of question/answer combinations &amp;amp;ndash; sometimes running up against database limitations regarding the number of fields per table.&lt;br /&gt;
&lt;br /&gt;
An alternative is a &amp;amp;lsquo;normalised&amp;amp;rsquo; database topology where a single table is created to store all survey responses &amp;amp;ndash; one database row per question/answer combination. A related table would store metadata that is directly related to the survey sitting/session rather than the answer (e.g.: username, ip address, geographical location, user demographic). The advantage to this methodology is the increased flexibility (extensible) which would allow modification of surveys at any stage even after data has been collected (see requirements). The disadvantages are that searching and compilation of data is complicated and resource intensive.&lt;br /&gt;
&lt;br /&gt;
In a perfect world LimeSurvey would allow users to choose either methodology &amp;amp;ndash; either at an installation level or even on a per-survey level.&lt;br /&gt;
&lt;br /&gt;
Having a database storage engine effectively acting as an API would allow this functionality to be built, but the choice of database topology would be invisible to the related LimeSurvey functions that require data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Database Schema Design, Sound knowledge of Algorithms and Data Structures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
jasebo (Jason Cleeland)&lt;br /&gt;
&lt;br /&gt;
macduy (Mac Duy Hai)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template Editor==&lt;br /&gt;
&lt;br /&gt;
Limesurvey 2 needs a nice and powerful template editor so everyone can create a template which matches their requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One needs to know about the details of the [http://dwoo.org/ dwoo template engine] which is used at LS2. There is some cakePHP coding needed to create an interface and write changes to the template files as well as some HTML/CSS to create a nice interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have to create difficult algorithms for this task. It&#039;s useful if you have worked with templates for another web-application or take a detailled look at [http://docs.limesurvey.org/tiki-index.php?page=Themes%3A+Templates+and+Styles&amp;amp;structure;=English+Instructions+for+LimeSurvey how templates work in Limesurvey]. Some design/usability background would be nice but is not a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mazi&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Mini-projects==&lt;br /&gt;
&lt;br /&gt;
Mini-projects is a collection of small-to-medium sized projects, which you mix-and-match according to your tastes. Heck, you can even roll your own idea and once reviewed and approved, you can code away. Some recommended/important mini-projects and their brief descriptions:&lt;br /&gt;
*&#039;&#039;&#039;Smarter installer:&#039;&#039;&#039; LS2.0 comes with its own installer, though it may not be the friendliest to use. Your task is to make it juicier to use:&lt;br /&gt;
** Resume installation - if the user aborts the installation mid-way, make it easy for him to resume it&lt;br /&gt;
** Better error handling - meaningful error reports, suggestions how to fix them: e.g. &amp;quot;Database does not exist&amp;quot; is better than &amp;quot;Database error&amp;quot;&lt;br /&gt;
** Customization - invite the user to customize his installation of LimeSurvey - from security settings such as salt, to interface such as the header title.&lt;br /&gt;
*&#039;&#039;&#039;User management:&#039;&#039;&#039; When the number of users grow, it becomes increasingly harder to manage them. Implement functionality and provide interface for features that would make this task easier. Inspire yourself by the big players, such as the infamous you-know-which-one social website.&lt;br /&gt;
**&#039;&#039;&#039;Groups within groups:&#039;&#039;&#039; LS2 users can belong to a group, but groups cannot belong to other groups.&lt;br /&gt;
**&#039;&#039;&#039;Contact lists:&#039;&#039;&#039; There is already something called AssignmentGroups. Study this concept carefully and generalize to a Contact List&lt;br /&gt;
**&#039;&#039;&#039;GUI:&#039;&#039;&#039; Design a GUI which allows you easily manage users, groups and contact lists.&lt;br /&gt;
**&#039;&#039;&#039;Searching:&#039;&#039;&#039; Provide an efficient but simple-to-use search interface and functionality&lt;br /&gt;
**&#039;&#039;&#039;Batch import:&#039;&#039;&#039; import users through CSV, XML, etc...&lt;br /&gt;
**&#039;&#039;&#039;Batch processing:&#039;&#039;&#039; Add an interface to manipulate (add &amp;amp; modify) several users at once&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JavaScript &amp;amp; jQuery&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mac Duy Hai (macduy)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Template/Theme Editor==&lt;br /&gt;
&lt;br /&gt;
The idea is to develop a theme / template framework similar to one in jquery [http://jqueryui.com/themeroller/ | Jquery Theme Roller] and thus making the UI design of the surveys easier.The current template editor is based on dwoo template engine which actually loads the files exposing the css etc for us to edit, which of course require some skill set to proceed. Using this template editor we can make everything UI based and thus requiring no developer skills to edit the templates.&lt;br /&gt;
&lt;br /&gt;
The overview of the modules can be seen here:&lt;br /&gt;
&lt;br /&gt;
[[File:theme_roller.png]]&lt;br /&gt;
&lt;br /&gt;
It&amp;amp;rsquo;ll be implemented using Jquery to use the more advanced UI experiences.(:biggrin:)&lt;br /&gt;
&lt;br /&gt;
The following mock-up will give us a better view:&lt;br /&gt;
&lt;br /&gt;
Moderate[[File:theme_editor_small.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, CSS, AJAX, JavaScript &amp;amp; jQuery.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Lime Survey Social - Facebook Application==&lt;br /&gt;
&lt;br /&gt;
The idea aims at developing a Facebook app which gives a social touch to LS 2.0. The application will be integrated in several Facebook integration points like News Feed, Applications boxes, Wall etc so that the user participation will be more. Adding a social touch can drive us more user participation and increase the popularity. The ability to control the Facebook app can be provided in the LS2.0 Admin Dashboard and also in the FB user application window with varied options.&lt;br /&gt;
&lt;br /&gt;
The facebook has the following modules (we can add more. This is primary draft.)&lt;br /&gt;
*All Survey related core features. (Create, Edit, Delete, Administer etc)&lt;br /&gt;
*Gain reward points.&lt;br /&gt;
*Use reward points to create more surveys.&lt;br /&gt;
*Spread the surveys ...... and more&lt;br /&gt;
&lt;br /&gt;
The idea can be extended to other social networks&lt;br /&gt;
&lt;br /&gt;
[[File:fb_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The mock-ups :&lt;br /&gt;
&lt;br /&gt;
[[File:facebook app.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Facebook API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Integration of Poll Questions==&lt;br /&gt;
&lt;br /&gt;
Polls are one of the most popular and quick response getting tools once can use. Implementing polls in LS 2.0 will be an added advantage. Since every one of us know what polls are about, this idea focuses on the implementation part.&lt;br /&gt;
&lt;br /&gt;
The idea is to integrate the ability to create a POLL Module in Admin dashboard, where he can administer (Create | Edit | Delete | View Responses etc) the Polls.We can even get feedback &amp;amp;ldquo;about the survey&amp;amp;rdquo; at the end on how the user feels by creating a custom poll (we can even redirect the user to this poll).&lt;br /&gt;
*Chat Bots and Polls: An another idea is to create chat bots so that whenever we create a poll, all the friends (who added the bot) of that bot will be pinged by the question followed by options. Getting an answer is very easy (Bot friends just need to type a single letter stating the answer) and its a push model which ensures the delivery to everyone (even offline).We can even extend this to deliver certain type of surveys question by question through the bot.&lt;br /&gt;
&lt;br /&gt;
A simple mock-up for this:&lt;br /&gt;
&lt;br /&gt;
[[File:chat.png]]&lt;br /&gt;
*Alternate Solution: An alternate solution provided by Mazi is clubbing this idea with the Facebook app idea. Instead of porting parts of the admin backend to facebook or other social networks we&#039;ll have options in Admin panel to &amp;quot;publish as: common survey |mobile device survey | facebook poll | homepage poll |  ... etc &amp;quot; Everything will be put together at the usualm admin backend but you can choose which way(s) you want publish your survey.&lt;br /&gt;
&lt;br /&gt;
We can further extend this idea by giving additional options to publish as widgets for websites and blogs etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, XMPP Protocol (Knowledge of developing bots), Knowledge of Polls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Survey Community Project==&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that connects to a central repository of survey resources, such as demographic questions, answer styles and templates. Integrating with a login system, allow LimeSurvey users to easily publish their work to a community resource or use other published works from the same location.&lt;br /&gt;
&lt;br /&gt;
For many finding already written question texts, or standardised demographic questions would really simplify their use of a survey tool. LimeSurvey could leverage on the community spirit of an open source product and encourage users to share their own work. By integrating a &amp;quot;Publish to the LimeSurvey Library&amp;quot; button in the administration system with questions, or templates, or anything else that can be shared, LimeSurvey could develop a library of tools that simplifies Survey Creation even further.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, Web and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jasebo)&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey 2: Condition Engine==&lt;br /&gt;
&lt;br /&gt;
[[File:addNewCondition1.png]]&lt;br /&gt;
&lt;br /&gt;
Build a system for LS2 that will let survey administrators design, store and evaluate conditions. Conditions can be used in several features such as question branching (survey logic), assessments, quotas, ...&lt;br /&gt;
&lt;br /&gt;
This projects will at least end up with:&lt;br /&gt;
* A working GUI to design complex conditions:&lt;br /&gt;
** several atomic conditions can be combined by AND or OR logical operators and will support for grouping conditions with parentheses&lt;br /&gt;
** an atomic condition representation can be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;left operand&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;right operand&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** an atomic condition editor will implement&lt;br /&gt;
*** several operators (equality, inequality, string-comparisons, numerical-comparisons, regexp),...&lt;br /&gt;
*** meta operators surch as &#039;Not displayed&#039;&lt;br /&gt;
** left and right operands can be answers from previous questions, or a static values. It should be extensible so that we are able in the future to use more complex operand such as the result of a specific function (for instance the sum of some previous integer questions)&lt;br /&gt;
* A working DB storage backend using a string in [http://en.wikipedia.org/wiki/Reverse_Polish_Notation RPN] (Reverse Polish Notation) to describe each condition&lt;br /&gt;
* A first version of the evaluation of conditions for the question branching feature. This part will require interaction with other parts of the projects (Survey Engine, and DB engine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, CakePHP, JQuery and User Interface Design Skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
High&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thibault Le Meur (lemeur)&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Google&#039;s Summer of Code 2010==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010 Limesurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
An introduction to LimeSurvey and our application for this years Google Summer of Code&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey&#039;s GSoC]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google&#039;s Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=LimeSurvey_GSoC_2010&amp;diff=2011</id>
		<title>LimeSurvey GSoC 2010</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=LimeSurvey_GSoC_2010&amp;diff=2011"/>
		<updated>2010-03-07T01:38:01Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Google Summer of Code 2010=&lt;br /&gt;
&lt;br /&gt;
LimeSurvey is applying to be involved in the Google Summer of Code for 2010&lt;br /&gt;
&lt;br /&gt;
=General Information=&lt;br /&gt;
&lt;br /&gt;
Google has been continuously supporting Open Source Projects and students coming together since 2005 through its &#039;&#039;Google Summer of Code Programs&#039;&#039;. GSoC 2010 has been announced and is On!&lt;br /&gt;
&lt;br /&gt;
LimeSurvey was accepted as a mentoring organisation for the first time in 2009, and is hopeful and excited about he opportunity to participate again in 2010. We plan to give students an excellent environment and platform to &#039;&#039;&#039;learn&#039;&#039;&#039; and most importantly to have &#039;&#039;&#039;fun&#039;&#039;&#039; (:lol:)!&lt;br /&gt;
&lt;br /&gt;
The LimeSurvey community, at the same time, will benefit by students&#039; participation and fresh eyes and ideas.&lt;br /&gt;
&lt;br /&gt;
Find out more about our program in 2010 at [http://docs.limesurvey.org/tiki-index.php?page=Limesurvey+GSoC+2010&amp;amp;structure;=LimeSurvey+Development LimeSurvey GSoC 2010]&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code Program Information==&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a great program both for Open Source organizations like LimeSurvey as well as students because it gives a platform where several tasks on Open Source Projects are done by students and students in return get a stipend from Google.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a lot more information available in Google&#039;s Summer of Code [http://code.google.com/opensource/gsoc/2009/faqs.html FAQ] and [http://code.google.com/p/google-summer-of-code/ Knowledge Base]. You can also join #gsoc on irc.freenode.net to get feedback or ask questions about Google Summer of Code in real time.&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Specific Information==&lt;br /&gt;
&lt;br /&gt;
Welcome to the LimeSurvey Community (:biggrin:). LimeSurvey is an open source survey engine that allows people to create and deploy surveys (from marketing to academic to engineering applications). LimeSurvey is written in PHP and used by many high profile organizations including [https://wiki.ubuntu.com/ServerTeam &#039;&#039;&#039;Ubuntu Server Team&#039;&#039;&#039;], [http://foundation.gnome.org/ &#039;&#039;&#039;GNOME Foundation&#039;&#039;&#039;] and [http://www.vorarlberg.at/ &#039;&#039;&#039;Office of the Austrian Vorarlberg State Government&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Limesurvey is loved and used by many Universities, Students, Medical Institutes, non-profit organisations, marketing companies and more around the world. In the 2004 &#039;&#039;&#039;U.S. presidential election&#039;&#039;&#039;, the [http://www.verifiedvoting.org/article.php?id=5207 &#039;&#039;&#039;Verified Voting Foundation&#039;&#039;&#039;] used PHPSurveyor (as LimeSurvey was then known) to gather data about voting irregularities. Sourceforge provide LimeSurvey as a free application for open source projects. LimeSurvey keeps turning up in new places.&lt;br /&gt;
&lt;br /&gt;
It&#039;s loved because it is free, flexible and constantly improving. It&#039;s constantly improving because it has a dedicated and committed team of developers who love the challenge and satisfaction of using and building such a tool.&lt;br /&gt;
&lt;br /&gt;
LimeSurvey is widely used. It has been directly downloaded from Sourceforge over &#039;&#039;&#039;130,000 times&#039;&#039;&#039; in the last 12 months alone, and is also distributed as a package in the &#039;&#039;&#039;Ubuntu Linux Distribution&#039;&#039;&#039;, and included as a pre-installed application in many standard Web Hosting packages (such as &#039;&#039;&#039;Fantastico&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
LimeSurvey is recognised as a leader in its field. On November 29, 2007 LimeSurvey won the &#039;&#039;&#039;1st prize award&#039;&#039;&#039; at the [http://www.trophees-du-libre.org/index.php?lang=en &#039;&#039;&#039;Les Troph&amp;amp;eacute;es du Libre&#039;&#039;&#039;] contest in the category Corporate Management. In 2008 LimeSurvey was nominated in the category Best Project for the Enterprise in the SourceForge.net &#039;&#039;&#039;Community Choice Awards 2008&#039;&#039;&#039;. LimeSurvey was succesful in being selected as a mentoring organisation for the Google Summer of Code in 2009.&lt;br /&gt;
&lt;br /&gt;
LimeSurvey is the biggest, most active and most exciting open source online survey project, and we&#039;re building on our success by creating a whole new version of the tool.&lt;br /&gt;
&lt;br /&gt;
LimeSurvey Version 2 is a whole new - built from the ground-up - version that will revolutionise online survey design and use.&lt;br /&gt;
&lt;br /&gt;
More importantly, it&#039;s a perfect opportunity for a GSoC student like yourself to get involved early in a project that has a strong history and an even stronger future. Our community is welcoming and fun. One of our students from 2009 has now become the project lead for LimeSurvey 2. It&#039;s a classic case of the student becoming a master!&lt;br /&gt;
&lt;br /&gt;
==GSoC Student Aspirants==&lt;br /&gt;
&lt;br /&gt;
Please visit our [http://docs.limesurvey.org/tiki-index.php?page=LimeSurvey+2+Project+Ideas+for+GSOC+2010 ideas page] and see if any idea interests you. If you have an idea of your own, then develop it. If any idea excites you, and you want to implement that feature during the summer of 2010, see how you can [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started get started] on it. Come and join us on the IRC channel on freenode (#limesurvey) and talk about what you want to do.&lt;br /&gt;
&lt;br /&gt;
==LimeSurvey Mentors==&lt;br /&gt;
&lt;br /&gt;
The following mentors are willing to Mentor students during Google Summer of Code 2010 program.&lt;br /&gt;
&lt;br /&gt;
Others who are willing to mentor can write their name and details below along with the Idea they are willing to mentor. &#039;&#039;&#039;Potential Mentors, please do not forget to put your ideas on the [http://docs.limesurvey.org/tiki-index.php?page=LimeSurvey+2+Project+Ideas+for+GSOC+2010 ideas page] and contact [mailto:jason@cleeland.org| program administrator]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&amp;lt;center&amp;gt;&#039;&#039;&#039;Mentor Name&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;Nick&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;Idea&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Jason Cleeland&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;jasebo&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;Currently Thinking About It&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Carsten Schmitz&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;c_schmitz&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;File upload question type in LimeSurvey 1&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Marcel Minke&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;[http://docs.limesurvey.org/tiki-index.php?page=UserPage Mazi||Mazi]&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;Template editor?&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;Mac Duy Hai&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;[[UserPage macduy||macduy]]&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;Database Storage Engine, Mini-projects&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started GSoC Getting Started]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
===Project Ideas Page===&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=LimeSurvey+2+Project+Ideas+for+GSOC+2010 GSoC Ideas Page]&lt;br /&gt;
&lt;br /&gt;
The LimeSurvey Community Ideas Page:&lt;br /&gt;
&lt;br /&gt;
- ideas that the community have come up with and would love to help you create&lt;br /&gt;
&lt;br /&gt;
===Frequently Asked Questions===&lt;br /&gt;
* [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs Google Summer of Code Faqs]&lt;br /&gt;
* [http://docs.limesurvey.org/tiki-index.php?page=GSoC_Faqs LimeSurvey&#039;s GSoC Faqs]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1879</id>
		<title>LimeSurvey 2 development demo test ride</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1879"/>
		<updated>2009-11-20T18:49:43Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Access to the Developer&#039;s Demo website=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;URL:&#039;&#039;&#039; http://devdemo2.limesurvey.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
=Testing the Dashboard=&lt;br /&gt;
&lt;br /&gt;
After successful log-in, click on &#039;&#039;&#039;Dashboard&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Notes:==&lt;br /&gt;
* You are encouraged to break things, but &#039;&#039;&#039;don&#039;t delete stuff, except for&#039;&#039;&#039; the users with usernames &#039;&#039;jimmy01, jimmy02&#039;&#039; and &#039;&#039;jimmy03&#039;&#039;, which you can recreate by importing them from a CSV file below (use the &amp;quot;CSV Import&amp;quot; tab of Users widget)&lt;br /&gt;
* To access an example &#039;&#039;&#039;Survey Dashboard&#039;&#039;&#039;, locate the &#039;&#039;&#039;Surveys&#039;&#039;&#039; widget, find and click on the survey called &#039;&#039;&#039;&amp;quot;Mandatory Survey&amp;quot;&#039;&#039;&#039; and click on &amp;quot;Dashboard&amp;quot; that appears in the &#039;action&#039; row&lt;br /&gt;
* You can drag and drop items from Users widget onto the Security Groups widget&lt;br /&gt;
* Best viewed in Firefox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;Bug reports go to&amp;lt;/span&amp;gt;&#039;&#039;&#039; http://bugs.limesurvey.org/, select &amp;quot;Bug Reports v2.x&amp;quot; category&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File for testing User CSV Import: [[Media:users.csv|Download file]]===&lt;br /&gt;
&lt;br /&gt;
=Response Viewer=&lt;br /&gt;
&lt;br /&gt;
After you login, you can test the new Response Viewer by going to &#039;&#039;&#039;http://devdemo2.limesurvey.org/response_viewer/index/4&#039;&#039;&#039; ([http://devdemo2.limesurvey.org/response_viewer/index/4 link])&lt;br /&gt;
&lt;br /&gt;
= Screenshots=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dashboard&#039;&#039;&#039; [[File:020809.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response Viewer&#039;&#039;&#039; [[File:ls-1708.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Expression_engine_for_conditions&amp;diff=4463</id>
		<title>Expression engine for conditions</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Expression_engine_for_conditions&amp;diff=4463"/>
		<updated>2009-09-16T19:27:31Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
A condition is simply a boolean expression, which may consist of several, not necessarily boolean, expression. When implementing a Conditions feature into LS2, it makes sense to look at the most basic building block of such a feature - expressions - and develop a powerful engine, that is be able to &#039;&#039;&#039;construct, evaluate, parse and store expressions, yet is isolated from its target application&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Constructing expressions=&lt;br /&gt;
&lt;br /&gt;
Expressions are built from strings representing the expression in postfix notation (also known as Reverse Polish Notation or RPN). Postfix notation is extremely simple to parse, compact, parenthesis-free, precedence unambiguous etc... it&#039;s just awesome. An expression, no matter how complicated, nested or how many variables it contains, can be compactly stored as a single string.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create a simple expression object, to evaluate &#039;&#039;&#039;(6 + 7) * 11 &amp;lt; 12*12&#039;&#039;&#039; (this is false by the way...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp = ExpressionEngine::create(&amp;quot;6 7 + 11 * 12 sqr &amp;lt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Individual tokens are separated by space. You can put as many spaces as you want, but always at least one. &#039;&#039;$exp&#039;&#039; now stores the expression and we can evaluate it by calling &#039;&#039;evaluate()&#039;&#039; on it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;evaluate();   // returns FALSE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. You can also construct an expression using classes provided by the engine. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp = new LeqExpression(new ConstantExpression(12), new AddExpression(new ConstantExpression(10), new ConstantExpression(3)));&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;evaluate();   // returns TRUE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would you want to construct an expression this way? Well, imagine you are writing an UI for the Conditions feature. You need to represent the currently build expression in a OOP way. You would use these expression classes provided for you. Then you&#039;ll need to convert it to postfix notation for storage. How would you do that? Easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;toPostfix();   // returns &amp;quot;12 10 3 + &amp;lt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expressions in postfix notation are generally hard for humans to comprehend. Can we convert to normal, infix notation, so that the user can read them? Sure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;toInfix();   // returns &amp;quot;(12&amp;lt;(10+3))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Variables=&lt;br /&gt;
&lt;br /&gt;
Expressions so far were constant and always returned the same value. Let&#039;s add variables. Variable names are prefixed by &#039;&#039;&#039;@&#039;&#039;&#039; in the postfix notation, and enclosed in &#039;&#039;&#039;{ }&#039;&#039;&#039; in infix notation. Variable names should not contain a space. Although the ExpressionEngine imposes no further restrictions, it&#039;s best to use sensible ones. &#039;&#039;@000&#039;&#039; is certainly a bad idea.&lt;br /&gt;
&lt;br /&gt;
Variables are late-bound, which means they are not resolved (their value is not evaluated) until the whole expression is evaluated. To attach values to the variable names, use &#039;&#039;&#039;ExpressionEngine::bind(array(&amp;quot;variable_name&amp;quot; =&amp;gt; &amp;quot;value&amp;quot; ...) )&#039;&#039;&#039;. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp = ExpressionEngine::create(&amp;quot;6 7 + 11 * @a sqr &amp;lt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::bind(array(&amp;quot;a&amp;quot; =&amp;gt; 12));&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;evaluate();  // Returns TRUE&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::bind(array(&amp;quot;a&amp;quot; =&amp;gt; 11));&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;evaluate();  // Returns FALSE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variables offer a simple but powerful gateway for passing data to expressions.&lt;br /&gt;
&lt;br /&gt;
=Strings=&lt;br /&gt;
&lt;br /&gt;
Strings are delimited using double quotes. To include double quotes inside the string, type them twice in a row.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
echo ExpressionEngine::create(&#039;&amp;quot;She said: &amp;quot;&amp;quot;no&amp;quot;&amp;quot;&amp;quot;&#039;)-&amp;gt;evaluate();&lt;br /&gt;
&lt;br /&gt;
echo ExpressionEngine::createFromInfix(&#039;&amp;quot;She said: &amp;quot;&amp;quot;no&amp;quot;&amp;quot;&amp;quot;&#039;)-&amp;gt;evaluate();&lt;br /&gt;
&lt;br /&gt;
// prints twice: She said: &amp;quot;no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comparison operators work on strings as well. If expression on either side of the comparison operator is a string, the operator automatically performs a string-based comparison.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::createFromInfix(&#039;10&amp;lt;5&#039;)-&amp;gt;evaluate();     // false&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::createFromInfix(&#039;&amp;quot;10&amp;quot;&amp;lt;&amp;quot;5&amp;quot;&#039;)-&amp;gt;evaluate(); // true&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::createFromInfix(&#039;&amp;quot;10&amp;quot;&amp;lt;5&#039;)-&amp;gt;evaluate();   // true&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Custom operators and Expressions=&lt;br /&gt;
&lt;br /&gt;
The ExpressionEngine comes with only basic operators, such as those for arithmetic, comparison and logic. However, it allows you to define your custom expressions and &#039;hooks&#039; (called &#039;&#039;string literals&#039;&#039;), that the parser will recognize and create. Also, there are several base classes providing you with boilerplate code (see code for details). There are no restrictions on Expression names, but again, if you bind 0 as your literal, you&#039;ll obviously run into problems.&lt;br /&gt;
&lt;br /&gt;
==IExpression==&lt;br /&gt;
&lt;br /&gt;
Every expression must be a subclass of the &#039;&#039;&#039;IExpression&#039;&#039;&#039; interface. It must implement these functions:&lt;br /&gt;
*evaluate() - return expression value&lt;br /&gt;
*toInfix() - return infix notation&lt;br /&gt;
*toPrefix() - return postfix notation&lt;br /&gt;
&lt;br /&gt;
==Example custom expression==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create a sample custom expression. This one will be called &#039;&#039;&#039;Sparta&#039;&#039;&#039; and will always return 300. The code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
* Defining some custom expression. This one always returns 300, because&lt;br /&gt;
* THIS IS SPARTA!!!!!!!!&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
class SpartaExpression implements IExpression {&lt;br /&gt;
&lt;br /&gt;
   public function evaluate() {&lt;br /&gt;
&lt;br /&gt;
       return 300;&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public function toPrefix() {&lt;br /&gt;
&lt;br /&gt;
       return &amp;quot;sparta&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public function toInfix() {&lt;br /&gt;
&lt;br /&gt;
       return &amp;quot;sparta&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before being able to use, we need to register it with the ExpressionEngine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine::register(&#039;sparta&#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Engine will automatically look for SpartaExpression and add it to the list of recognized expression literals. We can now use our new expression:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$exp = ExpressionEngine::create(&amp;quot;30 10 * sparta ==&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$exp-&amp;gt;evaluate();   // returns TRUE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example custom operator==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create an operator, which accepts two expressions and returns the one that&#039;s larger. We will make use of the abstract base class &#039;&#039;&#039;ABinaryExpression&#039;&#039;&#039;, because this class implements the toInfix and toPrefix functions for us and it also defines a constructor for us, storing the first expression in the $left variable and the second one in $right. All we need to do is to provide a getLiteral() function, which should return the literal we want the operator to be recognized by.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class MaxExpression extends ABinaryExpression {&lt;br /&gt;
&lt;br /&gt;
   public function evaluate() {&lt;br /&gt;
&lt;br /&gt;
           $left_value = $this-&amp;gt;left-&amp;gt;evaluate();&lt;br /&gt;
&lt;br /&gt;
           $right_value = $this-&amp;gt;right-&amp;gt;evaluate();&lt;br /&gt;
&lt;br /&gt;
           if ($left_value &amp;gt; $right_value) {&lt;br /&gt;
&lt;br /&gt;
               return $left_value;&lt;br /&gt;
&lt;br /&gt;
           } else {&lt;br /&gt;
&lt;br /&gt;
               return $right_value;&lt;br /&gt;
&lt;br /&gt;
           }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   public function getLiteral() {&lt;br /&gt;
&lt;br /&gt;
       return &amp;quot;max&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, register the &#039;max&#039; literal and the custom operator is good to go. Look at ABinaryExpression for more details.&lt;br /&gt;
&lt;br /&gt;
=Security and Safety=&lt;br /&gt;
&lt;br /&gt;
ExpressionEngine is extremely safe, because during parsing every literal is checked for existence and thus it is impossible to pass any harmful code. When implementing custom operators and expressions, it is advised they are checked for safety and don&#039;t perform any potentionally risky operations.&lt;br /&gt;
&lt;br /&gt;
=Concluding notes=&lt;br /&gt;
&lt;br /&gt;
Starting with an Expression Engine, there&#039;s still a long way to go in implementing a Conditions feature in LS2. However, hopefully the engine will provide a solid base, on which custom expression can be easily developed and maintained, and which lifts the burden of having to write boilerplate code, from the developers.&lt;br /&gt;
&lt;br /&gt;
Advanced users, who wouldn&#039;t like to rely on a GUI to build a Condition, would probably prefer to bust out some expressions by writing them manually in infix notation. Hence an infix-to-postfix parser would certainly come in handy. &amp;lt;strike&amp;gt;For those interested writing such a beast, this can be useful&amp;lt;/strike&amp;gt; An infix notation parser has been implemented following this algorithm: http://en.wikipedia.org/wiki/Operator-precedence_parser&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1880</id>
		<title>LimeSurvey 2 development demo test ride</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=LimeSurvey_2_development_demo_test_ride&amp;diff=1880"/>
		<updated>2009-09-03T17:11:23Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Access to the Developer&#039;s Demo website=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;URL:&#039;&#039;&#039; http://devdemo2.limesurvey.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; test&lt;br /&gt;
&lt;br /&gt;
=Testing the Dashboard=&lt;br /&gt;
&lt;br /&gt;
After successful log-in, click on &#039;&#039;&#039;Dashboard&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Notes:==&lt;br /&gt;
* You are encouraged to break things, but &#039;&#039;&#039;don&#039;t delete stuff, except for&#039;&#039;&#039; the users with usernames &#039;&#039;jimmy01, jimmy02&#039;&#039; and &#039;&#039;jimmy03&#039;&#039;, which you can recreate by importing them from a CSV file below (use the &amp;quot;CSV Import&amp;quot; tab of Users widget)&lt;br /&gt;
* To access an example &#039;&#039;&#039;Survey Dashboard&#039;&#039;&#039;, locate the &#039;&#039;&#039;Surveys&#039;&#039;&#039; widget, find and click on the survey called &#039;&#039;&#039;&amp;quot;Mandatory Survey&amp;quot;&#039;&#039;&#039; and click on &amp;quot;Dashboard&amp;quot; that appears in the &#039;action&#039; row&lt;br /&gt;
* You can drag and drop items from Users widget onto the Security Groups widget&lt;br /&gt;
* Best viewed in Firefox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;Bug reports go to&amp;lt;/span&amp;gt;&#039;&#039;&#039; http://bugs.limesurvey.org/, select &amp;quot;Bug Reports v2.x&amp;quot; category&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File for testing User CSV Import: [[Media:users.csv|Download file]]===&lt;br /&gt;
&lt;br /&gt;
=Response Viewer=&lt;br /&gt;
&lt;br /&gt;
After you login, you can test the new Response Viewer by going to &#039;&#039;&#039;http://devdemo2.limesurvey.org/response_viewer/index/4&#039;&#039;&#039; ([http://devdemo2.limesurvey.org/response_viewer/index/4 link])&lt;br /&gt;
&lt;br /&gt;
= Screenshots=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dashboard&#039;&#039;&#039; [[File:020809.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response Viewer&#039;&#039;&#039; [[File:ls-1708.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=GSOC_Dashboard_Project_Development_Log&amp;diff=1422</id>
		<title>GSOC Dashboard Project Development Log</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=GSOC_Dashboard_Project_Development_Log&amp;diff=1422"/>
		<updated>2009-08-17T14:38:24Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=-Widget Sharing=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. To share, click the &amp;quot;Hands&amp;quot; pictogram:&lt;br /&gt;
&lt;br /&gt;
[[File:share.png]]&lt;br /&gt;
&lt;br /&gt;
2. Fill in dimensions (prefilled by default for your convenience)&lt;br /&gt;
&lt;br /&gt;
[[File:ls-29071.jpg]]&lt;br /&gt;
&lt;br /&gt;
3. Wheeeeeyyy!&lt;br /&gt;
&lt;br /&gt;
[[File:ls-29072.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:020809.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From: 2th August 2009, r7404: Dashboard tabs, Widget Options, Better search, UI Cleanup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:ls-2907.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From: 29th July 2009, r7364: &#039;&#039;&#039; Grips, Drag&#039;n&#039;Drop, Beefed-up notifications&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=-Performance Review=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After Code Overhaul and jqGrid Data Prefetching, I&#039;m proud to say that the Dashboard has great performance, loading fast almost independently of the number of widgets and out-performing the original static Admin Dashboard by miles, even when displaying 3x as many&lt;br /&gt;
&lt;br /&gt;
widgets.&lt;br /&gt;
&lt;br /&gt;
[[File:lsdb-perf2.png]]&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*&#039;&#039;All tests used 4 jqGrid-enabled widgets per dashboard. CakePHP caching is disabled&#039;&#039;&lt;br /&gt;
*&#039;&#039;All measurements are rough and made on my machine at different times. Account for cca 1-2 second uncertainty&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Total Requests&#039;&#039;&#039;&#039;&#039;: number of requests made to the server, i.e. initial page request + ajax requests&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Total Wait Time&#039;&#039;&#039;&#039;&#039;: amount of time between pressing &#039;Enter&#039; in browser and having a fully functional dashboard (all controls active, all jqGrids loaded)&lt;br /&gt;
&lt;br /&gt;
==Benchmark==&lt;br /&gt;
&lt;br /&gt;
http://spreadsheets.google.com/pub?ke&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;Without Prefetching (estimated wait time)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#0000FF&#039;&amp;gt;With Prefetching (Total Request time as measured by DebugKit)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*[https://www.ohloh.net/accounts/macduy/messages/timeline Timeline view]&lt;br /&gt;
&lt;br /&gt;
=Diary=&lt;br /&gt;
&lt;br /&gt;
====-May 14th - 17th====&lt;br /&gt;
*Finished proposal&lt;br /&gt;
*&#039;&#039;&#039;Experiment&#039;&#039;&#039;: Execute a script from an inline script tag placed in a file, which is fetched through ajax - &amp;lt;span style=&#039;color:#00FF00&#039;&amp;gt;success&amp;lt;/span&amp;gt;&lt;br /&gt;
**&#039;&#039;it is important that this works&#039;&#039;: This keeps scripts small, modular, relevant in context, coherent in their tasks and they are only loaded when needed.&lt;br /&gt;
**e.g.: &#039;&#039;In a page, a small central script detects if a dashboard is to be displayed - if so, it does a ajax-request for the &#039;dashboard&#039; loader page, which contains an inline script loading the needed scripts. The parent page does not need to load or even know anything about these &#039;dashboard&#039; scripts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====-May 18th - 24th====&lt;br /&gt;
*Using above mechanism, a sample dashboard has been dynamically loaded into the &#039;Workbench&#039; (previously &#039;Dashboard&#039;) page.&lt;br /&gt;
*HTML/CSS Reconstruction of the test widget&lt;br /&gt;
*Chained widget loading (normal page -&amp;gt; loads dashboard -&amp;gt; loads widgets)&lt;br /&gt;
*Widget implementation: widget as plugin controllers (access via &#039;&#039;/widgets/widget_type/action/parameter(s)&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
====-May 25th - 31th====&lt;br /&gt;
*top-level navigation, content switching with smooth transitions&lt;br /&gt;
*OO implementation of Widgets in JS&lt;br /&gt;
*Simple dashboard edit mode: Widget dragging.&lt;br /&gt;
*Two-column layout; widgets can be moved inside and between them&lt;br /&gt;
*Widgets remember position&lt;br /&gt;
&lt;br /&gt;
====-June 1st - 7th====&lt;br /&gt;
*Dashboard communication protocol (see picture above)&lt;br /&gt;
*&#039;&#039;&#039;Experiment&#039;&#039;&#039;: Return widget content as XML, with content and script for execution - &amp;lt;span style=&#039;color:#00FF00&#039;&amp;gt;success&amp;lt;/span&amp;gt;&lt;br /&gt;
*Successfully implemented the Widget XML Format (see above)&lt;br /&gt;
**content as well as scripts can be passed&lt;br /&gt;
**script has default access to its widget only&lt;br /&gt;
**scripts can be triggered at specified events, e.g. onload, onupdate...&lt;br /&gt;
*Re-integrating jqGrid:&lt;br /&gt;
**new method allows only pure data to be passed to jqGrid, with the widget creating the remaining markup and jtooltips dynamically&lt;br /&gt;
&lt;br /&gt;
====-June 29th - July 5th====&lt;br /&gt;
*Dashboard XML&lt;br /&gt;
*Merge of &#039;&#039;&#039;boot.js&#039;&#039;&#039; into &#039;&#039;&#039;dashboard.js&#039;&#039;&#039;&lt;br /&gt;
*Context sensitive dashboard (parametrized dashboards)&lt;br /&gt;
** Survey Summary widget for the Survey Dashboard&lt;br /&gt;
*Add Widget dialog, process streamlined with the Dashboard Edit mode.&lt;br /&gt;
*jqGrid automation (implemented as Dashboard &#039;extension&#039;)&lt;br /&gt;
*jqGrid additions:&lt;br /&gt;
**Quicksearch&lt;br /&gt;
**Click-Drag selectors + Selection Presets&lt;br /&gt;
*&#039;&#039;&#039;Widgets:&#039;&#039;&#039; Users, Surveys, Announcements&lt;br /&gt;
&lt;br /&gt;
====-June 6th - July 12th====&lt;br /&gt;
*Dashboard ownership and security&lt;br /&gt;
*&#039;&#039;&#039;Light GUI Skin&#039;&#039;&#039;&lt;br /&gt;
**Widgets now draggable by default&lt;br /&gt;
**Fluid witdh and height&lt;br /&gt;
*&#039;&#039;&#039;Widgets&#039;&#039;&#039;: Announcements, Assignments, Assignment groups&lt;br /&gt;
*All widgets now support interactive deletion (i.e. displays a confirmation dialog)&lt;br /&gt;
&lt;br /&gt;
====-July 13th - July 19th====&lt;br /&gt;
*&#039;&#039;&#039;Code Overhaul&#039;&#039;&#039; - consolidated all widgets into a single controller (Dashboard), leading to a performance improvement&lt;br /&gt;
**Previously, initial loading of a dashboard required (1 + number of widgets) ajax requests.&lt;br /&gt;
**Now, only 1 intial request is made per dashboard, regardless of the number of widgets present&lt;br /&gt;
*Default dashboard now available at http://server/dashboard&lt;br /&gt;
*&#039;&#039;&#039;jqGrid Data Prefetch&#039;&#039;&#039; - jqGrid-enabled widgets now prefetch the table data, thus using &amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;only 1 request at the start!&amp;lt;/span&amp;gt;&lt;br /&gt;
**Massive performance improvement, means a dashboard with 20 jqGrid-enabled widgets loads almost as fast as one with only few (&#039;&#039;depending on server power&#039;&#039;)&lt;br /&gt;
**&#039;&#039;For comparison, see the Performance Review section above&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====July 20th - July 26th====&lt;br /&gt;
*Standalone dashboards - ground work for cross-site widget and dashboard sharing&lt;br /&gt;
**&#039;&#039;Has few bugs, needs fixing&#039;&#039;&lt;br /&gt;
*simple Growl-like notifications &#039;&#039;(using blockUI)&#039;&#039;&lt;br /&gt;
*Ajax-based CSV User import&lt;br /&gt;
*jqGrid Draggables&lt;br /&gt;
**e.g. moving users to a different security group using drag-and-drop&lt;br /&gt;
*[Widgets Design Document], [UI Meeting 7 (25th July)]&lt;br /&gt;
&lt;br /&gt;
====July 27th - August 2nd====&lt;br /&gt;
*Dashboard initial auto-setup&lt;br /&gt;
*&#039;&#039;&#039;Widget Sharing:&#039;&#039;&#039; click on the &amp;quot;Hands&amp;quot; pictogram (first icon) on the Widget header to display the &amp;quot;Share Widget&amp;quot; dialog&lt;br /&gt;
*&#039;&#039;&#039;Widget Secondary Options/Secondary Navigation&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Dashboard Snapshot:&#039;&#039;&#039; Single-click saving of widget options and preferences&lt;br /&gt;
*&#039;&#039;&#039;Dashboard Tabs:&#039;&#039;&#039; in-page tabs, complete with Back/Forward browser navigation + Undo close tab feature&lt;br /&gt;
*jqGrid Quicksearch: further improvements on the custom simplified search interface for jqGrids.&lt;br /&gt;
&lt;br /&gt;
====August 3rd - August 9th====&lt;br /&gt;
*Bug fixing&lt;br /&gt;
&lt;br /&gt;
====August 10th - August 16th====&lt;br /&gt;
*&#039;&#039;&#039;Response Viewer: &#039;&#039;(Side-project)&#039;&#039;&#039;&#039;&#039; App for viewing and managing responses.&lt;br /&gt;
&lt;br /&gt;
[[File:ls-1708.jpg]]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=UI_meeting_7_(25th_July)&amp;diff=3512</id>
		<title>UI meeting 7 (25th July)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=UI_meeting_7_(25th_July)&amp;diff=3512"/>
		<updated>2009-07-25T14:42:10Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Charting Library==&lt;br /&gt;
*comparison of some charting libraries: [Comparison of different Charting Libraries]&lt;br /&gt;
**probable candidate, at least for prototyping: ezComponent&lt;br /&gt;
*LS2 graphs only for basic / less advanced analysis, for complex analysis users should consider exporting data and analysing in a different software of choice&lt;br /&gt;
&lt;br /&gt;
==Survey Dashboards==&lt;br /&gt;
*Widget suggestions: [Widgets Design Document]&lt;br /&gt;
*SDs should be able to display multiple content - e.g. a &amp;quot;Questions Breakdown&amp;quot; widget displays a brief summary, clicking on &amp;quot;More&amp;quot; would display a full report&lt;br /&gt;
**Opening a new browser tab is unacceptable; AJAX methods are considered:&lt;br /&gt;
***Dashboard Tabs: Use jQueryUI tabs to display new content in a new tab. May put strain on browser if too many &#039;tabs&#039; opened.&lt;br /&gt;
***Lightbox: Easy to integrate using current $.blockUI method, however they appear unprofessional and not suitable for large content&lt;br /&gt;
***1 Tab Method: Have only one tab to display content, with a back button that erases the content and takes the user back to the SD. A usable compromise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Meeting Log=&lt;br /&gt;
&lt;br /&gt;
==-Introductions==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [14:36]    dhardisty: by the way -- the web based IRC interface is broken, giving 500 internal server error: http://www.limesurvey.org/component/option,com_wrapper/Itemid,112/lang,en/&lt;br /&gt;
&lt;br /&gt;
   [14:37]    ant:dhardisty: it&#039;s possible that some people want to come to the meeting from the UI meeting page but then hit the server error&lt;br /&gt;
&lt;br /&gt;
   [14:39]    Mazi|away: where is this URL linked?&lt;br /&gt;
&lt;br /&gt;
   [14:40]    anthony.:dhardisty: on this page: http://docs.limesurvey.org/tiki-index.php?page=UI+Meeting&amp;amp;structure;=LimeSurvey+Development&lt;br /&gt;
&lt;br /&gt;
       dhardisty: THe part that starts:&lt;br /&gt;
&lt;br /&gt;
       dhardisty: But I&#039;ve never used IRC before!&lt;br /&gt;
&lt;br /&gt;
       dhardisty: If you would like to attend, but didn&#039;t understand much of the above, don&#039;t worry! Just follow these steps:&lt;br /&gt;
&lt;br /&gt;
       dhardisty:    1. Visit Limesurvey&#039;s live chat (external link)&lt;br /&gt;
&lt;br /&gt;
       Mazi: I will correct the link. we updated joomla so some links are broken&lt;br /&gt;
&lt;br /&gt;
   [14:42]    dhardisty: great, thanks&lt;br /&gt;
&lt;br /&gt;
   [14:43]    Mazi: if you notice any other broken links: http://bugs.limesurvey.org/view.php?id=3462&lt;br /&gt;
&lt;br /&gt;
   [14:56]    anthony.:dhardisty: also, the UTC time converter link on the UI meeting page needs to be updated :P&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I just posted that to the bug tracking page you mentioned&lt;br /&gt;
&lt;br /&gt;
   [14:57]    Mazi: I edited the link, can you check if it&#039;s correct?&lt;br /&gt;
&lt;br /&gt;
   [14:58]    dhardisty: looks good now! thanks&lt;br /&gt;
&lt;br /&gt;
   [14:59]    dhardisty: i just deleted my note from the bug tracker&lt;br /&gt;
&lt;br /&gt;
       Mazi: k&lt;br /&gt;
&lt;br /&gt;
   [15:01]    Mazi: dhardisty, did you read http://www.docs.limesurvey.org/Widgets+Design+Document and http://docs.limesurvey.org/tiki-index.php?page=Comparison+of+different+charting+libraries&amp;amp;structure;=LimeSurvey+Development&lt;br /&gt;
&lt;br /&gt;
   [15:03]    dhardisty: yes, I read the first and glanced at the 2nd. I will read the charting library comparison more carefully now&lt;br /&gt;
&lt;br /&gt;
   [15:04]    macduy: hi&lt;br /&gt;
&lt;br /&gt;
       Mazi: hey&lt;br /&gt;
&lt;br /&gt;
       dhardisty: hi&lt;br /&gt;
&lt;br /&gt;
    [15:05]    Mazi: macduy, do you know if Daniel will join us?&lt;br /&gt;
&lt;br /&gt;
       macduy: he didn&#039;t say :( but he is usually up at this time&lt;br /&gt;
&lt;br /&gt;
       macduy: I&#039;ll let him know&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-Charting Libraries - Choice Criteria==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       macduy: so, charting libraries :)&lt;br /&gt;
&lt;br /&gt;
   [15:06]    Mazi: k, would be nice to have him at this meeting so we can disucss charts&lt;br /&gt;
&lt;br /&gt;
   [15:07]    macduy: just in general, what criteria do we need to consider when choosing one?&lt;br /&gt;
&lt;br /&gt;
       macduy: and how are we integrating it with LS2&lt;br /&gt;
&lt;br /&gt;
       Mazi: 2. supported types&lt;br /&gt;
&lt;br /&gt;
       Mazi: 3. support&lt;br /&gt;
&lt;br /&gt;
       Mazi: 4. developemnt, 1 developer is a risk&lt;br /&gt;
&lt;br /&gt;
       Mazi: 5. documentation&lt;br /&gt;
&lt;br /&gt;
   [15:08]    Mazi: my 2 cents&lt;br /&gt;
&lt;br /&gt;
       dhardisty: 6. Attractiveness / understandability of graphs&lt;br /&gt;
&lt;br /&gt;
       Mazi: definately&lt;br /&gt;
&lt;br /&gt;
       Mazi: maybe 7. scalability/flexibility&lt;br /&gt;
&lt;br /&gt;
       macduy: what would users expect from the graphs?&lt;br /&gt;
&lt;br /&gt;
   [15:09]    macduy: we are certain we are not using flash (afaik), so that&#039;s a downside on interactivity :(&lt;br /&gt;
&lt;br /&gt;
       dhardisty: simple, with big enough fonts to read easily&lt;br /&gt;
&lt;br /&gt;
   [15:10]    anthony.:Mazi: rhey have to be easy to read&lt;br /&gt;
&lt;br /&gt;
       dhardisty: from my perspective, the mtChart graphs are too fancy for their own good. But maybe that&#039;s just me&lt;br /&gt;
&lt;br /&gt;
       dhardisty: and probably mtChart can produce more simple graphs&lt;br /&gt;
&lt;br /&gt;
   [15:11]    dhardisty: I&#039;m going to check out the websites for each of the graphing options&lt;br /&gt;
&lt;br /&gt;
   [15:12]    Mazi: what about the option to switch between different libraries, after all it&#039;s mainly just x-axis/y-axis data which has to be passed to the charting engine&lt;br /&gt;
&lt;br /&gt;
       macduy: Mazi is always very keen on horizontal bar charts :)&lt;br /&gt;
&lt;br /&gt;
       Mazi: ohh yeah!&lt;br /&gt;
&lt;br /&gt;
       dhardisty: also, this is too much for most users I think, but for myself it would be nice to have error bars on the bar charts&lt;br /&gt;
&lt;br /&gt;
       macduy: as a remark, note that you can produce simple graphs using plain HTML&lt;br /&gt;
&lt;br /&gt;
   [15:13]    anthony.:Mazi: they are more easily to read and make it easier when having several options because the chart grows in length and not in width&lt;br /&gt;
&lt;br /&gt;
       dhardisty: but I can just export to statistical software to do that, so it&#039;s no big deal&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah&lt;br /&gt;
&lt;br /&gt;
   [15:14]    macduy: I think we should limit ourselves to displaying graphs with small range of choices&lt;br /&gt;
&lt;br /&gt;
       Mazi: we also have to keep in midn that there is not much time left for coding&lt;br /&gt;
&lt;br /&gt;
       dhardisty: right&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah :(&lt;br /&gt;
&lt;br /&gt;
       Mazi: k.&lt;br /&gt;
&lt;br /&gt;
       anthony.:Mazi: what do you think about the kind of charts to be used?&lt;br /&gt;
&lt;br /&gt;
   [15:15]    Mazi: in LS1 it&#039;s single choice questions = pie chart and multiple opions = bar charts&lt;br /&gt;
&lt;br /&gt;
       macduy: is this the &amp;quot;Question breakdown&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
       Mazi: I think we should keep this and offer a switch for the first case to be able to also use bar charts&lt;br /&gt;
&lt;br /&gt;
        Mazi: yes, macduy&lt;br /&gt;
&lt;br /&gt;
   [15:16]    macduy: yeah, to keep it simple&lt;br /&gt;
&lt;br /&gt;
       macduy: every question type decides what it&#039;s default type is&lt;br /&gt;
&lt;br /&gt;
       macduy: but there always be a switcher right next to the graph&lt;br /&gt;
&lt;br /&gt;
       dhardisty: yes, I think the option to be able to change from one to the other is important, but definitely a default&lt;br /&gt;
&lt;br /&gt;
       dhardisty: sounds good&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-A look at LS1 Statistics==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [15:17]    macduy: Mazi: do you have a screenshot of a LS1 statistics?&lt;br /&gt;
&lt;br /&gt;
       anthony.:Mazi: sec&lt;br /&gt;
&lt;br /&gt;
       dhardisty: one question/issue: what about the scale of the y-axis on bar graphs?&lt;br /&gt;
&lt;br /&gt;
       Mazi: http://docs.limesurvey.org/tiki-index.php?page=Statistics&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
&lt;br /&gt;
   [15:18]    Mazi: these are the old JPGraph stats at the screenshots&lt;br /&gt;
&lt;br /&gt;
       dhardisty: sometimes people want it from zero to a little above the max, but sometimes they want to compare only the range of the different bars, to clear see differences&lt;br /&gt;
&lt;br /&gt;
       Mazi: some pcharts bar charts: http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315&lt;br /&gt;
&lt;br /&gt;
   [15:19]    anthony.:dhardisty: so, let&#039;s say you had a question about how tall your respondants are&lt;br /&gt;
&lt;br /&gt;
   [15:20]    dhardisty: you might want it to go from 0 meters to 2.5 meters, but maybe it&#039;s better to see only 1.5 meters to 2.5 meters&lt;br /&gt;
&lt;br /&gt;
       Mazi: dhardisty, adjusting the Y-scale is a feature only very few users will need&lt;br /&gt;
&lt;br /&gt;
       anthony.:Mazi: I would prefer to export data to other stats tools for this case&lt;br /&gt;
&lt;br /&gt;
   [15:21]    dhardisty: so I guess the y-axis will always be zero to a little above the maximum value, in that case?&lt;br /&gt;
&lt;br /&gt;
       macduy: probably&lt;br /&gt;
&lt;br /&gt;
       Mazi: yeah&lt;br /&gt;
&lt;br /&gt;
       macduy: I&#039;d say people get confused when the y-axis does not start at zero and can produce some illusions&lt;br /&gt;
&lt;br /&gt;
   [15:22]    anthony.:dhardisty: yeah&lt;br /&gt;
&lt;br /&gt;
       macduy: Re: http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315&lt;br /&gt;
&lt;br /&gt;
       macduy: there is a table and a graph&lt;br /&gt;
&lt;br /&gt;
       dhardisty: so this is something we should tell the programmer to do, right? because some graphing programs will set the minimum on the y-axis to be the minimum value&lt;br /&gt;
&lt;br /&gt;
       macduy: I was considering using table as another &amp;quot;view&amp;quot;, so that a user can switch between different graph types AND a table&lt;br /&gt;
&lt;br /&gt;
   [15:24]    dhardisty: yes, if it&#039;s easy, tables would be nice&lt;br /&gt;
&lt;br /&gt;
       dhardisty: is it too much to have three types -- bar, pie, and table?&lt;br /&gt;
&lt;br /&gt;
       Mazi: in general I prefer to have a data overview (table) plus a chart&lt;br /&gt;
&lt;br /&gt;
   [15:25]    anthony.:Mazi: in Limesurvey 1 the general statistics only contain a table and you have to tick a checkbox to also display graphs&lt;br /&gt;
&lt;br /&gt;
   [15:26]    Mazi: even better: show data on the left and the chart right beside the data&lt;br /&gt;
&lt;br /&gt;
       dqminh: hi guys&lt;br /&gt;
&lt;br /&gt;
       Mazi: hi daniel&lt;br /&gt;
&lt;br /&gt;
       dhardisty: yeah, that&#039;s good&lt;br /&gt;
&lt;br /&gt;
       dhardisty: d&lt;br /&gt;
&lt;br /&gt;
       dhardisty: hi!&lt;br /&gt;
&lt;br /&gt;
       Mazi: dqminh, maybe you can catch up reading the log: http://pastebin.com/m573bc7db&lt;br /&gt;
&lt;br /&gt;
   [15:27]    Mazi: and share your thoughts afterwards. we have discussed requirements for chosing a library and some general stuff&lt;br /&gt;
&lt;br /&gt;
       Mazi: one of the next issues might be &amp;quot;filtering data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   [15:28]    holch: Good morning or good afternoon, everyone.&lt;br /&gt;
&lt;br /&gt;
       dhardisty: hi&lt;br /&gt;
&lt;br /&gt;
       Mazi: holch, see http://pastebin.com/m573bc7db&lt;br /&gt;
&lt;br /&gt;
       holch: Sorry for being late, hat a little fight with my wireless network.&lt;br /&gt;
&lt;br /&gt;
       holch: OK, I will have a look.&lt;br /&gt;
&lt;br /&gt;
   [15:29]    macduy: dhardisty, 3 types is alright imo&lt;br /&gt;
&lt;br /&gt;
   [15:30]    macduy: but table + graph side by side is a good choice too!&lt;br /&gt;
&lt;br /&gt;
       macduy: there&#039;s one 1 issue which I haven&#039;t resolved yet:&lt;br /&gt;
&lt;br /&gt;
       macduy: widgets are displayed in 2 columns side by side&lt;br /&gt;
&lt;br /&gt;
       macduy: so they have limited width :/&lt;br /&gt;
&lt;br /&gt;
       holch: I also think that we should not offer too much choice.&lt;br /&gt;
&lt;br /&gt;
   [15:31]    macduy: hi dqminh, hi holch&lt;br /&gt;
&lt;br /&gt;
        Mazi: macduy, where is the problem? data at the left one, chart at the right side&lt;br /&gt;
&lt;br /&gt;
       Mazi: using horizontal bar charts everything can grow in lenght&lt;br /&gt;
&lt;br /&gt;
       holch: When I do reports, I usually use 2-3 types of charts. Bar charts (horizontal/vertical), pie charts and line charts.&lt;br /&gt;
&lt;br /&gt;
   [15:32]    macduy: k, but it would probably make sense to keep it in one widget&lt;br /&gt;
&lt;br /&gt;
       Mazi: this can span both sectiosn I think?&lt;br /&gt;
&lt;br /&gt;
       holch: What do you mean with that?&lt;br /&gt;
&lt;br /&gt;
   [15:33]    macduy: widget take 1/2 width of the dashboard&lt;br /&gt;
&lt;br /&gt;
       dqminh: i like ezcomponents , it supports vertical bar charts + other types in the latest trunk&lt;br /&gt;
&lt;br /&gt;
       dqminh: plus having a lot of people working on it&lt;br /&gt;
&lt;br /&gt;
       holch: I think a stable base of developers is important.&lt;br /&gt;
&lt;br /&gt;
   [15:34]    holch: On the other hand, if the tool has everything that we need, is the future then still important?&lt;br /&gt;
&lt;br /&gt;
       Mazi: from what I have seen so far&lt;br /&gt;
&lt;br /&gt;
   [15:36]    holch: Seems like my chat stopped somehow.&lt;br /&gt;
&lt;br /&gt;
       holch: Or has no one said anything during 3 minutes?&lt;br /&gt;
&lt;br /&gt;
       macduy: (think people are just silent)&lt;br /&gt;
&lt;br /&gt;
       holch: Ahhh,....&lt;br /&gt;
&lt;br /&gt;
       macduy: :)&lt;br /&gt;
&lt;br /&gt;
   [15:37]    Mazi: who knows how this is done in LS1?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-Filtering Data==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       holch: Filter data? What do you mean with filter data?&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I think he means: let&#039;s say you only want to see data from the females&lt;br /&gt;
&lt;br /&gt;
       Mazi: filter results e.g. only show data for people who are male and answered Q3 = &amp;quot;blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   [15:38]    macduy: I think I can place some filter controls at the start of the dashboard&lt;br /&gt;
&lt;br /&gt;
       macduy: and then refresh the whole dashboard&lt;br /&gt;
&lt;br /&gt;
       Mazi: short summary how this is done in LS1. we can then decide if it makes sense to use it in LS2, too...&lt;br /&gt;
&lt;br /&gt;
       Mazi: there is a first screen which lists all questions and answers. questions can be checked by ticking a checkbox...&lt;br /&gt;
&lt;br /&gt;
   [15:39]    holch: I don&#039;t think that this is a functinality for the dashboard, that is already advanced reporting/analysis.&lt;br /&gt;
&lt;br /&gt;
       Mazi: furthermore you can filter by certain answers. those are listed below the question at a list and can be checked (even multiple by holding down ctrl key).&lt;br /&gt;
&lt;br /&gt;
       Mazi: depending on what was checked marked at teh fuirst screen data is filtered by SQL queries&lt;br /&gt;
&lt;br /&gt;
   [15:40]    Mazi: screenshot of the filter screen: http://docs.limesurvey.org/img/wiki_up/stats_1_823x525.gif&lt;br /&gt;
&lt;br /&gt;
       Mazi: that&#039;s how it works in LS1&lt;br /&gt;
&lt;br /&gt;
   [15:42]    Mazi: it works quite well but the code is a mess&lt;br /&gt;
&lt;br /&gt;
       Mazi: comments / ideas?&lt;br /&gt;
&lt;br /&gt;
       dhardisty: someone mentioned that coding time is short -- maybe we just do simple graphs (of all the results) first, and add filtering afterwards?&lt;br /&gt;
&lt;br /&gt;
       macduy: makes sense&lt;br /&gt;
&lt;br /&gt;
       Mazi: fine with me&lt;br /&gt;
&lt;br /&gt;
   [15:43]    dhardisty: if the coding is a mess, let&#039;s not bring it from LS1&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I mean, not bring the coding&lt;br /&gt;
&lt;br /&gt;
       macduy: ok, I think we need to refine the Survey Dashboard a bit&lt;br /&gt;
&lt;br /&gt;
       dhardisty: filtering is nice, but one of the goals of LS2 is to have a usable codebase, right?&lt;br /&gt;
&lt;br /&gt;
   [15:44]    Mazi: dhardisty, problem in LS1 is just that everything is done within one file&lt;br /&gt;
&lt;br /&gt;
       Mazi: the general concept works fine&lt;br /&gt;
&lt;br /&gt;
       dhardisty: ah, ok&lt;br /&gt;
&lt;br /&gt;
   [15:45]    macduy: imho, we should keep the Question Breakdown widget simple&lt;br /&gt;
&lt;br /&gt;
       macduy: after all, it is for a dashboard and that should give an overview&lt;br /&gt;
&lt;br /&gt;
       macduy: not too much detail&lt;br /&gt;
&lt;br /&gt;
       macduy: so a page like I think that http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315 would&lt;br /&gt;
&lt;br /&gt;
   [15:46]    macduy: *so a page like http://www.marcel-minke.de/ls180/statistics_user.php?sid=96315&lt;br /&gt;
&lt;br /&gt;
       macduy: would actually be a separate page&lt;br /&gt;
&lt;br /&gt;
       macduy: because it would also be easy to print&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-Displaying multiple content in Dashboard - 1. Ajax tabs==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        dqminh: macduy: did you consider having a tab for it&lt;br /&gt;
&lt;br /&gt;
       dqminh: so 1 tab for overview&lt;br /&gt;
&lt;br /&gt;
       dqminh: 1 tab for advance view&lt;br /&gt;
&lt;br /&gt;
       macduy: damn! That&#039;d be wicked sick&lt;br /&gt;
&lt;br /&gt;
       macduy: Tabbed Dashboard :)&lt;br /&gt;
&lt;br /&gt;
   [15:47]    dhardisty: yeah, tabs are always nice&lt;br /&gt;
&lt;br /&gt;
       dqminh:  for advance view we just give them filtering function + data in table/graph&lt;br /&gt;
&lt;br /&gt;
       dqminh: so no widget and such&lt;br /&gt;
&lt;br /&gt;
   [15:48]    holch: Sorry guys, have to leave.&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah, it would not be actually controlled by a widget&lt;br /&gt;
&lt;br /&gt;
       macduy: ok, I&#039;ll post the discussion on web so you can catch up later&lt;br /&gt;
&lt;br /&gt;
   [15:49]    Mazi: bye holch&lt;br /&gt;
&lt;br /&gt;
       macduy: bye&lt;br /&gt;
&lt;br /&gt;
       dhardisty: bye&lt;br /&gt;
&lt;br /&gt;
   [15:50]    macduy: has someone used Google Analytics?&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I use it&lt;br /&gt;
&lt;br /&gt;
       macduy: I think that&#039;s a great working UI&lt;br /&gt;
&lt;br /&gt;
       Mazi: yeah!&lt;br /&gt;
&lt;br /&gt;
   [15:51]    macduy: I think we need to learn from that, instead of having a bunch of widgets&lt;br /&gt;
&lt;br /&gt;
       dhardisty: yeah, it&#039;s very slick&lt;br /&gt;
&lt;br /&gt;
       macduy: they have specific report pages&lt;br /&gt;
&lt;br /&gt;
       macduy: and for each of those they offer a selection of widgets&lt;br /&gt;
&lt;br /&gt;
       macduy: so that you can rehash your own report from these widgets, which would be your actual dashboard&lt;br /&gt;
&lt;br /&gt;
   [15:52]    macduy: which makes sense, because these widgets come from somewhere, as opposed to being on their own, displaying &amp;quot;some stuff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   [15:53]    macduy: so in our case of &amp;quot;Question Breakdown&amp;quot;, what we try to achieve using a single widget, they do using a whole, fixed page&lt;br /&gt;
&lt;br /&gt;
   [15:56]    macduy: no? :)&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I&#039;m not sure I follow 100% (&amp;quot;widgets&amp;quot; are not a normal part of my vocabulary), but are you suggesting that we do the filtering by clicking on parts of the results (for example, click on women in the gender graph) rather than using one thing to do all the filtering?&lt;br /&gt;
&lt;br /&gt;
       Mazi: I like the idea but this only works for having 1 filter moption&lt;br /&gt;
&lt;br /&gt;
   [15:57]    dhardisty: not true, you can then click on other graphs&lt;br /&gt;
&lt;br /&gt;
       Mazi: we should not stick too much to g analytics. it&#039;&amp;amp;Auml;s nice and we can take over some ideas, but that&#039;s all&lt;br /&gt;
&lt;br /&gt;
       dhardisty: so first you click on women, then on &amp;quot;blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah, true, I think Survey statistics are a different kind&lt;br /&gt;
&lt;br /&gt;
       Mazi: I see&lt;br /&gt;
&lt;br /&gt;
       dhardisty: but for choosing more than one filter option, it would be tricky&lt;br /&gt;
&lt;br /&gt;
       dhardisty: I&#039;m just trying to understand macduy&#039;s suggestion&lt;br /&gt;
&lt;br /&gt;
       macduy: I would stick with the LS1 style&lt;br /&gt;
&lt;br /&gt;
   [15:58]    Mazi: ...while having a general overview for beginners&lt;br /&gt;
&lt;br /&gt;
       Mazi: and some options bar/pie charts at the background&lt;br /&gt;
&lt;br /&gt;
   [15:59]    dhardisty: sounds good&lt;br /&gt;
&lt;br /&gt;
       macduy: and the tabs&lt;br /&gt;
&lt;br /&gt;
   [16:00]    Mazi: yep&lt;br /&gt;
&lt;br /&gt;
       macduy: have widgets contain very summarized data&lt;br /&gt;
&lt;br /&gt;
       macduy: with a sort of &amp;quot;more&amp;quot; link&lt;br /&gt;
&lt;br /&gt;
       macduy: and that opens a new dashboard tab&lt;br /&gt;
&lt;br /&gt;
       macduy: or a new browser tab?&lt;br /&gt;
&lt;br /&gt;
   [16:01]    Mazi: new windows might be iorritating&lt;br /&gt;
&lt;br /&gt;
       macduy: ok&lt;br /&gt;
&lt;br /&gt;
       dhardisty: yeah, advanced users can always easily open in a new browser tab if they want&lt;br /&gt;
&lt;br /&gt;
       macduy: maybe we should start from the other end. Forget the technicalities and think what we would like to see&lt;br /&gt;
&lt;br /&gt;
   [16:02]    dqminh: what if the users open too many tab ?&lt;br /&gt;
&lt;br /&gt;
       macduy: alert(&amp;quot;You opened too many tabs!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   [16:03]    macduy: no seriously, what would be the problem?&lt;br /&gt;
&lt;br /&gt;
       dqminh: the problem is some users might open too many tabs without knowing it ;)&lt;br /&gt;
&lt;br /&gt;
   [16:04]    macduy: would that strain the browser?&lt;br /&gt;
&lt;br /&gt;
       macduy: (I presume we are talking about dashboard tabs)&lt;br /&gt;
&lt;br /&gt;
       macduy: I think every widget would be allowed to open only 1 tab&lt;br /&gt;
&lt;br /&gt;
       macduy: if he opens another one, it just refreshes&lt;br /&gt;
&lt;br /&gt;
   [16:05]    dqminh: the problem is how you display the tab selection on top&lt;br /&gt;
&lt;br /&gt;
   [16:06]    macduy: like in a browser, stacked vertically side by side&lt;br /&gt;
&lt;br /&gt;
       macduy: I presume there&#039;s a jQueryUI plugin which will help me greatly to create this :)&lt;br /&gt;
&lt;br /&gt;
   [16:07]    macduy: the main survey dashboard would be presented as the first, default locked tab&lt;br /&gt;
&lt;br /&gt;
       macduy: I just am not sure if this overall abuse of ajax is a good idea&lt;br /&gt;
&lt;br /&gt;
   [16:08]    macduy: say what if someone wanted to display just the tab? How does he know what URL to use?&lt;br /&gt;
&lt;br /&gt;
       dqminh: yes, that will put too much strain on the browser&lt;br /&gt;
&lt;br /&gt;
       macduy: and opening a new browser tab is irritating for users&lt;br /&gt;
&lt;br /&gt;
   [16:09]    dqminh: &amp;quot;more&amp;quot; kink will open a new browser/browser tab&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-Displaying multiple content in Dashboard - Other approaches==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       dqminh: or a lightbox&lt;br /&gt;
&lt;br /&gt;
   [16:10]    macduy: I still think lightboxes are bit cheap :)&lt;br /&gt;
&lt;br /&gt;
   [16:11]    macduy: ok how about this:&lt;br /&gt;
&lt;br /&gt;
       macduy: clicking on a more link will temporarily hide the dashboard and display the wanted content&lt;br /&gt;
&lt;br /&gt;
   [16:12]    macduy: so it will be something like a dashboard tab/lightbox combined&lt;br /&gt;
&lt;br /&gt;
       macduy: because we won&#039;t do a page refresh&lt;br /&gt;
&lt;br /&gt;
       macduy: and we lock the dashboard, by simply hiding it&lt;br /&gt;
&lt;br /&gt;
   [16:13]    macduy: there will be a back button, which then takes the user back to the dashboard&lt;br /&gt;
&lt;br /&gt;
       dhardisty: sounds good&lt;br /&gt;
&lt;br /&gt;
       dqminh: netvibes.com is a great site for tabbed + widgets&lt;br /&gt;
&lt;br /&gt;
       macduy: note that some users would also expect to be able to hit the &amp;quot;back&amp;quot; button on their browsers&lt;br /&gt;
&lt;br /&gt;
   [16:14]    dhardisty: I have to go -- see you guys later!&lt;br /&gt;
&lt;br /&gt;
       macduy: see ya&lt;br /&gt;
&lt;br /&gt;
       Mazi: bye, I also have to leave&lt;br /&gt;
&lt;br /&gt;
        Mazi: macduy, will you do the wiki update?&lt;br /&gt;
&lt;br /&gt;
       macduy: kk, bye&lt;br /&gt;
&lt;br /&gt;
       macduy: sure&lt;br /&gt;
&lt;br /&gt;
   [16:15]    Mazi: together with a summary&lt;br /&gt;
&lt;br /&gt;
       macduy: thank you both for coming!&lt;br /&gt;
&lt;br /&gt;
       Mazi: we really need to say &amp;quot;This is done that way!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       dqminh: i will go and have my dinner ;(&lt;br /&gt;
&lt;br /&gt;
       Mazi: to stop endless discussions. better start working on things and evaluate prototypes&lt;br /&gt;
&lt;br /&gt;
       Mazi: expecially for statistics&lt;br /&gt;
&lt;br /&gt;
       Mazi: that&#039;s my opinion&lt;br /&gt;
&lt;br /&gt;
   [16:16]    macduy: ok, Mazi your vote then:&lt;br /&gt;
&lt;br /&gt;
       macduy: lightbox, dashboard tabs or the last thing I said&lt;br /&gt;
&lt;br /&gt;
       macduy: whatever you say, I&#039;ll go smack it together right now!&lt;br /&gt;
&lt;br /&gt;
       Mazi: the last one sounded cool. but you can judge better&lt;br /&gt;
&lt;br /&gt;
       Mazi: lol&lt;br /&gt;
&lt;br /&gt;
   [16:17]    Mazi: dqminh, what do you think about having a first prototpye using ezComponents?&lt;br /&gt;
&lt;br /&gt;
       Mazi: do you think you can set something up?&lt;br /&gt;
&lt;br /&gt;
   [16:18]    Mazi: cool&lt;br /&gt;
&lt;br /&gt;
       macduy: k then, let&#039;s get to work&lt;br /&gt;
&lt;br /&gt;
    [16:20]    Mazi: dqminh? macduy?&lt;br /&gt;
&lt;br /&gt;
   [16:21]    macduy: ?&lt;br /&gt;
&lt;br /&gt;
       macduy: I can get the Dashboard back-end&lt;br /&gt;
&lt;br /&gt;
       macduy: but I will rely on dqminh integrating ezComps&lt;br /&gt;
&lt;br /&gt;
   [16:23]    Mazi: this way everybody doesn&#039;t have to downlaod the SVN version to take  alook and it&#039;s better than screenshots&lt;br /&gt;
&lt;br /&gt;
   [16:24]    macduy: there&#039;s the demo2.limesurvey.org&lt;br /&gt;
&lt;br /&gt;
       macduy: we could put some new code up there as soon as we the code is reasonably stable&lt;br /&gt;
&lt;br /&gt;
       Mazi: this is for user taking a look at the &amp;quot;stable&amp;quot; old LS2 version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Widgets_design_document&amp;diff=3728</id>
		<title>Widgets design document</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Widgets_design_document&amp;diff=3728"/>
		<updated>2009-07-21T16:12:10Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is a list of widgets, with design mock-ups (not final!) and brief description of information displayed. Each section represents a widget, each &#039;&#039;&#039;bolded statement&#039;&#039;&#039; represents a tab inside the widget. Other options are described in &#039;&#039;italics&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that some tabs might need better grouping. Some tabs may need to be considered as separate widgets and v.v.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About Graphs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Complicated graphs, such as bar charts, pie charts, line plots displaying lots of data and information will be generated using a PHP Charting library (denoted by &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;lib]). For simpler graphs (such as the Completion tab of Survey Summary widgets), it is advisable to use plain HTML + CSS (denoted by &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;HTML]).&lt;br /&gt;
&lt;br /&gt;
=Survey Summary=&lt;br /&gt;
&lt;br /&gt;
Displays brief summary information about a survey.&lt;br /&gt;
*&#039;&#039;&#039;Completion:&#039;&#039;&#039;&lt;br /&gt;
**Total number of responses, percentage completed, breakdown + graph &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;HTML]&lt;br /&gt;
**(?) Additionally, time per response and time since last response&lt;br /&gt;
**Mockup:[[File:Completion 1.jpg]]&lt;br /&gt;
*&#039;&#039;&#039;Responders&#039;&#039;&#039;&lt;br /&gt;
**A graph of responders per day, in the last timeframe&lt;br /&gt;
**&#039;&#039;timeframe can be: last day, last week, last month&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Responders=&lt;br /&gt;
*&#039;&#039;&#039;Graph (needs a better name):&#039;&#039;&#039;&lt;br /&gt;
**A graph of responders per day, perhaps more detailed and with more options&lt;br /&gt;
**&#039;&#039;e.g. selectable timeframe + filtering: show only completed..&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Country:&#039;&#039;&#039;&lt;br /&gt;
**Country from which the response came from, displayed as a table || Country (+Flag) | Responses | % ||&lt;br /&gt;
**Can be switched to a bar/pie chart &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;lib]&lt;br /&gt;
&lt;br /&gt;
=Individual Responses=&lt;br /&gt;
*&#039;&#039;&#039;Table:&#039;&#039;&#039;&lt;br /&gt;
**Table: || Response ID | Status (complete|saved|incomplete) | Date | Time taken ||&lt;br /&gt;
**Clicking on a row reveals an &#039;action&#039; bar, where user can select to view details of the response&lt;br /&gt;
***This can either be a lightbox-type popup displaying further information (more space, but obtrusive lightbox)&lt;br /&gt;
***or a subgrid, displayed inside the widget (less space, may cause more clutter)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:Subgrid.jpg]](Example subgrid)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:Lightbox popup.jpg]](Example Lightbox popup)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Technical=&lt;br /&gt;
&lt;br /&gt;
Displays technical data from responders.&lt;br /&gt;
*&#039;&#039;&#039;Browser:&#039;&#039;&#039;&lt;br /&gt;
**Browser used, display as table/bar/pie chart&lt;br /&gt;
*&#039;&#039;&#039;Plugins:&#039;&#039;&#039;&lt;br /&gt;
**Whether certain browser technologies were available: flash, cookies, javascript. Again, table/bar/pie chart as proportion of have/not have&lt;br /&gt;
*&#039;&#039;&#039;Screen:&#039;&#039;&#039;&lt;br /&gt;
**Screen resolution, maybe format as well. Table/bar/pie&lt;br /&gt;
*&#039;&#039;&#039;OS:&#039;&#039;&#039;&lt;br /&gt;
**OS used, Table/bar/pie, with breakdowns for different versions of certain OSes. Display as subgrid or some form of clever graph.&lt;br /&gt;
&lt;br /&gt;
=Local Time=&lt;br /&gt;
&lt;br /&gt;
Number of responses at a given time during the day. Might be useful to know at what time did the visitors take the survey.&lt;br /&gt;
&lt;br /&gt;
=Question Breakdown=&lt;br /&gt;
&lt;br /&gt;
Displays a table/list of all questions, with a breakdown of the answers given. Something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Responses.jpg]]&lt;br /&gt;
&lt;br /&gt;
Each question type needs to implement a way to display such a breakdown and certain question types (esp. those involving long text answers) can be tricky. Note how this has been solved in the above case (questions 3.Pluses and 4.Minuses). Screenshot from Webform drupal module)&lt;br /&gt;
&lt;br /&gt;
=Tag clouds=&lt;br /&gt;
&lt;br /&gt;
Basically, displays a selection of the above information as a tag cloud. Might be implemented as just another way of displaying data, along with bar/pie/table options.&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=UI_meeting_6_(11th_July)&amp;diff=3511</id>
		<title>UI meeting 6 (11th July)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=UI_meeting_6_(11th_July)&amp;diff=3511"/>
		<updated>2009-07-14T12:47:35Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Meeting Log=&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [15:09]    macduy: hi&lt;br /&gt;
&lt;br /&gt;
       holch: Could you give me the link again?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: hello ;)&lt;br /&gt;
&lt;br /&gt;
        holch: Hi Macduy!&lt;br /&gt;
&lt;br /&gt;
       amit8-88: http://docs.limesurvey.org/tiki-index.php?page=amit_conditions_notes&lt;br /&gt;
&lt;br /&gt;
   [15:10]    macduy: Hi holch!&lt;br /&gt;
&lt;br /&gt;
       holch: Thanks Amit, I will have a quick look.&lt;br /&gt;
&lt;br /&gt;
   [15:11]    amit8-88: ok&lt;br /&gt;
&lt;br /&gt;
   [15:12]    holch: Could you just tell me where this screen would show up?&lt;br /&gt;
&lt;br /&gt;
       holch: I have problems to imagine it in the process of the survey building.&lt;br /&gt;
&lt;br /&gt;
       macduy: it would be one of the steps when building a survey&lt;br /&gt;
&lt;br /&gt;
       holch: Yes.&lt;br /&gt;
&lt;br /&gt;
       macduy: 1. Add Questions =&amp;gt; 2. Organize them =&amp;gt; 3. Condition Builder&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yeah&lt;br /&gt;
&lt;br /&gt;
   [15:13]    holch: OK. So at the end of everything when you have the questionnaire in the right order, then you will create the conditioning?&lt;br /&gt;
&lt;br /&gt;
   [15:14]    amit8-88: yes&lt;br /&gt;
&lt;br /&gt;
       macduy: once you have finalized your form, you can build conditions into it&lt;br /&gt;
&lt;br /&gt;
       holch: Makes sense, but is slightly different to what I am used to.&lt;br /&gt;
&lt;br /&gt;
   [15:15]    amit8-88: yes it is very different than Ls1&lt;br /&gt;
&lt;br /&gt;
       holch: I am trying to see right now, how it is done in LS1.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: AND/ Or are separated for much flexibility in adding conditions&lt;br /&gt;
&lt;br /&gt;
       amit8-88: mainly the idea is to separate the conditions from actions&lt;br /&gt;
&lt;br /&gt;
   [15:16]    amit8-88: so that the code can be reusable and can be applied to tokens, other attributes etc&lt;br /&gt;
&lt;br /&gt;
       holch: Yes, makes sense.&lt;br /&gt;
&lt;br /&gt;
   [15:17]    holch: Because those thingies repeat often.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yes&lt;br /&gt;
&lt;br /&gt;
       holch: OK, so let us go through the process.&lt;br /&gt;
&lt;br /&gt;
   [15:18]    holch: I have a question.&lt;br /&gt;
&lt;br /&gt;
       holch: What is &amp;quot;connector&amp;quot; for.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: &amp;quot;connector &amp;quot; is used to apply AND/OR to the conditions&lt;br /&gt;
&lt;br /&gt;
   [15:19]    macduy: something that uniquely identifies the question&lt;br /&gt;
&lt;br /&gt;
   [15:20]    holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: What I was used to with globalpark, you could build different branches.&lt;br /&gt;
&lt;br /&gt;
       holch: Which can be pretty easy.&lt;br /&gt;
&lt;br /&gt;
       holch: Can I do that here too or do I need to give a condition to every question?&lt;br /&gt;
&lt;br /&gt;
   [15:21]    amit8-88: You mena branching questions ?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: mean*&lt;br /&gt;
&lt;br /&gt;
   [15:22]    amit8-88: Show Q1 only if Q2=&amp;quot;APPLE&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: this kind of things ?&lt;br /&gt;
&lt;br /&gt;
       holch: Well, that would be impossible, right?&lt;br /&gt;
&lt;br /&gt;
   [15:23]    amit8-88: no its possible&lt;br /&gt;
&lt;br /&gt;
       holch: Having a condition in Q2 for Q1?&lt;br /&gt;
&lt;br /&gt;
       holch: You must be a wizard... ;-)&lt;br /&gt;
&lt;br /&gt;
   [15:24]    amit8-88: first we create a condition like if Q1=&amp;quot;APPLE&amp;quot; and then choose the actions as SHOW Q2&lt;br /&gt;
&lt;br /&gt;
       macduy: so you meant it the other way round ;)&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yeah&lt;br /&gt;
&lt;br /&gt;
   [15:25]    holch: So let me tell what I meant.&lt;br /&gt;
&lt;br /&gt;
       macduy: although the condition builder would allow and execute such conditions like the above, it would just be stupid if someone did that&lt;br /&gt;
&lt;br /&gt;
       holch: You have a bunch of questions that you will want to ask only, if the person is male, others only if the person is female.&lt;br /&gt;
&lt;br /&gt;
   [15:26]    holch: As I understand the conditions are applied on a question basis and the survey follows question per question.&lt;br /&gt;
&lt;br /&gt;
       holch: So than I would have to apply the conditions to every single question that is for male only.&lt;br /&gt;
&lt;br /&gt;
   [15:27]    amit8-88: we can set conditions on  users attributes too&lt;br /&gt;
&lt;br /&gt;
       amit8-88: ;)&lt;br /&gt;
&lt;br /&gt;
       holch: I know.&lt;br /&gt;
&lt;br /&gt;
   [15:28]    holch: what I mean is: do I have to apply the condition &amp;quot;show only when male&amp;quot; to every single question that is supposed to be for male only?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: ok then yes&lt;br /&gt;
&lt;br /&gt;
       amit8-88: No in ls2 there is no concept of Show only ,&lt;br /&gt;
&lt;br /&gt;
   [15:29]    amit8-88: we first build the condition and then select what actions to follow&lt;br /&gt;
&lt;br /&gt;
       macduy: so there would be an action &amp;quot;Show these question: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
       amit8-88: for the moment its only show question :)&lt;br /&gt;
&lt;br /&gt;
       macduy: ?&lt;br /&gt;
&lt;br /&gt;
       macduy: k&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yeah there will be&lt;br /&gt;
&lt;br /&gt;
       amit8-88: ;)&lt;br /&gt;
&lt;br /&gt;
   [15:31]    holch: OK.&lt;br /&gt;
&lt;br /&gt;
   [15:32]    holch: But this condition designer is for the dummy or for the more experienced user?&lt;br /&gt;
&lt;br /&gt;
   [15:33]    amit8-88: well who ever takes it :)&lt;br /&gt;
&lt;br /&gt;
       amit8-88: actually  i was to design a simple and advanced versions of conditions builder&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: This is just for me to understand who it is directed to.&lt;br /&gt;
&lt;br /&gt;
   [15:34]    amit8-88: but i was very slow in my progress due to some problems&lt;br /&gt;
&lt;br /&gt;
       amit8-88: so decided to put up a builder with max functionalities for now and can develop the other version later&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: so you can say it is for advanced users ;)&lt;br /&gt;
&lt;br /&gt;
   [15:36]    holch: OK. that is what I had assumed.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: ;)&lt;br /&gt;
&lt;br /&gt;
   [15:37]    holch: What are the tabs for? Can you actually switch between those?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: no&lt;br /&gt;
&lt;br /&gt;
   [15:39]    holch: As I can see you can add more lines, so like &amp;quot;do that if that is 5 and this is green and the other one is 56&amp;quot;, right?&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yes&lt;br /&gt;
&lt;br /&gt;
   [15:40]    holch: The negation and the brackets are necessary?&lt;br /&gt;
&lt;br /&gt;
   [15:41]    amit8-88: well they determine the expression to combine two AND or OR statements&lt;br /&gt;
&lt;br /&gt;
       amit8-88: two or more *&lt;br /&gt;
&lt;br /&gt;
       macduy: the biggest drawback in LS1 condition builder is that you couldn&#039;t get certain conditions to work&lt;br /&gt;
&lt;br /&gt;
       holch: Yes, that is what I figured.&lt;br /&gt;
&lt;br /&gt;
   [15:42]    macduy: because you couldn&#039;t tell it which sub-conditions to evaluate first&lt;br /&gt;
&lt;br /&gt;
       holch: And &amp;quot;Dummy&amp;quot; might not understand. But I think it is important to have.&lt;br /&gt;
&lt;br /&gt;
   [15:43]    holch: This condition builder will create code?&lt;br /&gt;
&lt;br /&gt;
       holch: Code that we could show?&lt;br /&gt;
&lt;br /&gt;
       macduy: yes, it will show an expression&lt;br /&gt;
&lt;br /&gt;
       macduy: at least, I think that was the idea, right amit? :)&lt;br /&gt;
&lt;br /&gt;
   [15:46]    amit8-881: sorry got disconnected&lt;br /&gt;
&lt;br /&gt;
   [15:47]    amit8-881: I am facing lots of problems with my interent these days :(&lt;br /&gt;
&lt;br /&gt;
   [15:49]    macduy: we envision an advanced user wanting to edit/type in the condition himself&lt;br /&gt;
&lt;br /&gt;
   [15:56]    amit8-881: ok is the conditions screen fine ? views /suggestions/ comments ?&lt;br /&gt;
&lt;br /&gt;
   [15:57]    macduy: to be honest, I&#039;m slightly reserved about those brackets&lt;br /&gt;
&lt;br /&gt;
       macduy: is this is the advanced or the basic gui for conditions?&lt;br /&gt;
&lt;br /&gt;
   [15:58]    amit8-881: advanced&lt;br /&gt;
&lt;br /&gt;
       macduy: the solution for the brackets is very likeable&lt;br /&gt;
&lt;br /&gt;
       macduy: in that it&#039;s so simple to use&lt;br /&gt;
&lt;br /&gt;
       amit8-881: the basic one will not have those brackets ... at least this is what I and lemuer have thought of&lt;br /&gt;
&lt;br /&gt;
       macduy: yet, it won&#039;t be able to cover all cases&lt;br /&gt;
&lt;br /&gt;
   [15:59]    macduy: how would you build&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Look_and_feel&amp;diff=2158</id>
		<title>Look and feel</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Look_and_feel&amp;diff=2158"/>
		<updated>2009-07-11T11:12:10Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Widgets Look&#039;n&#039;Feel Design Document=&lt;br /&gt;
&lt;br /&gt;
This document attempts to describe the general look&#039;n&#039;feel of the widgets, their interactions and workflows.&lt;br /&gt;
&lt;br /&gt;
==Proposal 2:==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;&#039;Widget Chrome&#039;&#039;&#039;: [http://www.flickr.com/photos/macduy/3573297659/ link]&lt;br /&gt;
*content on white background, blends well with the rest of bright-coloured LimeSurvey interface&lt;br /&gt;
*green header, large yet inobtrusive, marks the beginning of the widget&lt;br /&gt;
*small arrows, indicate currently selected item and hints the user to the next navigation element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Proposal 4:==&lt;br /&gt;
&lt;br /&gt;
Based on proposals 3 and 3.1&lt;br /&gt;
&lt;br /&gt;
[[File:Widget 4.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Proposal 3:==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Widget 3.jpg]]&lt;br /&gt;
*as minimalist as possible!&lt;br /&gt;
*minimize the visual impact of the widget chrome, draw attention to actual contents and layout&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Proposal 3.1:==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Widget 2.1.jpg]]&lt;br /&gt;
*Even less.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=UI_meeting_5_(4th_July)&amp;diff=3510</id>
		<title>UI meeting 5 (4th July)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=UI_meeting_5_(4th_July)&amp;diff=3510"/>
		<updated>2009-07-05T14:19:00Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User/Participant:==&lt;br /&gt;
*Regardless of implementation, concept separation is useful from UI point of view&lt;br /&gt;
*Implementation-wise, 1 table &#039;user&#039; will be used&lt;br /&gt;
*Either use an additional &#039;type&#039; column to distinguish, or make use of Security Groups&lt;br /&gt;
*Make sure administrators can also participate (can be tricky, if we use second option from above point)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;Terminilogy note:&amp;lt;/span&amp;gt; When speaking of &#039;&#039;&#039;Surveys&#039;&#039;&#039; and &#039;&#039;&#039;Questionnaires&#039;&#039;&#039;, they always mean the dictionary definition. Concepts used in LS2 are prepended with &#039;&#039;&#039;&amp;quot;ls2:&amp;quot;&#039;&#039;&#039; to avoid confusion. As an example, what we refer to Questionnaires in real world, is actually called &#039;&#039;Survey&#039;&#039; in LS2.&lt;br /&gt;
&lt;br /&gt;
==Questionnaire/Survey:==&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Questionnaire&#039;&#039;&#039;&#039;&#039; = a form/set of questions&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Survey&#039;&#039;&#039;&#039;&#039; = act of collecting information using Questionnaire(s) and obtaining results&lt;br /&gt;
*Current LS2 implementation names these concepts differently, &amp;lt;span style=&#039;color:#ff0000&#039;&amp;gt;we should decide once and for all how are we going to call these in our code!&amp;lt;/span&amp;gt;&lt;br /&gt;
*Results should be bound to the Survey, not the Questionnaire!&lt;br /&gt;
**Current implementation uses &#039;result_x&#039; tables, where x is the id of the corresponding ls2:Survey. This is not a problem, as another column called &#039;assignment_id&#039; is used to separate responses coming from differnt Surveys/ls2:Assignments. Just make sure that this column is never NULL.&lt;br /&gt;
&lt;br /&gt;
==Dashboard:==&lt;br /&gt;
*Video preview: http://www.youtube.com/watch?v=nGk9k9XqlJ4&lt;br /&gt;
&lt;br /&gt;
=Next week:=&lt;br /&gt;
&lt;br /&gt;
Conditions, Conditions Builder, Invitations and Dashboard.&lt;br /&gt;
&lt;br /&gt;
=Meeting Log=&lt;br /&gt;
&lt;br /&gt;
==-Introductions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [15:03]    holch: good morning.&lt;br /&gt;
&lt;br /&gt;
   [15:05]    macduy: hi&lt;br /&gt;
&lt;br /&gt;
       holch: Ahh, here you are...&lt;br /&gt;
&lt;br /&gt;
       holch: Thought I might be almost alone like last time.&lt;br /&gt;
&lt;br /&gt;
       holch: How are things going?&lt;br /&gt;
&lt;br /&gt;
       holch: Thanks for the feedback, only just saw it now.&lt;br /&gt;
&lt;br /&gt;
   [15:06]    macduy: things are fine, hope you too!&lt;br /&gt;
&lt;br /&gt;
       holch: One question: did you receive my email to the email list?&lt;br /&gt;
&lt;br /&gt;
       holch: Yup. Tired but fine.&lt;br /&gt;
&lt;br /&gt;
       macduy: &#039;tired&#039; is appropriate :P&lt;br /&gt;
&lt;br /&gt;
       macduy: which e-mail?&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: So it didn&#039;t work again?&lt;br /&gt;
&lt;br /&gt;
   [15:07]    macduy: I received one from last week&lt;br /&gt;
&lt;br /&gt;
       holch: It was a reminder for todays meeting and I was hinting to give some feedback...&lt;br /&gt;
&lt;br /&gt;
       holch: Last week?&lt;br /&gt;
&lt;br /&gt;
       holch: I didn&#039;t write an email to the email list last week. At least it didn&#039;t work.&lt;br /&gt;
&lt;br /&gt;
       macduy: oh sorry, no I did receive a reminder 2 days ago&lt;br /&gt;
&lt;br /&gt;
   [15:08]    macduy: we can still get some direct feedback now&lt;br /&gt;
&lt;br /&gt;
       holch: Ahh, OK.&lt;br /&gt;
&lt;br /&gt;
       macduy: let&#039;s see who&#039;s here&lt;br /&gt;
&lt;br /&gt;
       macduy: Hi Jon, Amit, Josef :)&lt;br /&gt;
&lt;br /&gt;
   [15:09]    jwestfall: Hello!&lt;br /&gt;
&lt;br /&gt;
       holch: So at least I know that it is working, because I didn&#039;t receive it,and there was no response, so I was not sure.&lt;br /&gt;
&lt;br /&gt;
       holch: Who is Josef? El-Matador?&lt;br /&gt;
&lt;br /&gt;
       macduy: (y)&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: Good to know.&lt;br /&gt;
&lt;br /&gt;
   [15:10]    jwestfall: Yea, sorry about not replying - busy week. Email is working though :)&lt;br /&gt;
&lt;br /&gt;
       macduy: let&#039;s get started:&lt;br /&gt;
&lt;br /&gt;
       holch: That is fine, you are here and you can reply now... ;-)&lt;br /&gt;
&lt;br /&gt;
   [15:11]    holch: Yup. I am ready.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: Hi guys&lt;br /&gt;
&lt;br /&gt;
       holch: This time I can&#039;t stay that long, have a meeting at 12:00.&lt;br /&gt;
&lt;br /&gt;
       holch: Hi Amit.&lt;br /&gt;
&lt;br /&gt;
       macduy: holch, is that in 2 hours time?&lt;br /&gt;
&lt;br /&gt;
       macduy: Hi Amit&lt;br /&gt;
&lt;br /&gt;
        amit8-88: hi macduy, holch&lt;br /&gt;
&lt;br /&gt;
   [15:12]    holch: Yup.&lt;br /&gt;
&lt;br /&gt;
       macduy: ok&lt;br /&gt;
&lt;br /&gt;
       holch: But of course I would have to leave 30min before.&lt;br /&gt;
&lt;br /&gt;
       holch: More or less.&lt;br /&gt;
&lt;br /&gt;
       macduy: no worries, we&#039;ll keep it 1 hour long today&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-User/Participant==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       macduy: topic #1: User/Participant&lt;br /&gt;
&lt;br /&gt;
       holch: any feedback from the developers?&lt;br /&gt;
&lt;br /&gt;
   [15:13]    macduy: yep, there is general agreement of participants having varying levels of rights and anonymity inside the LS2 hierarchy&lt;br /&gt;
&lt;br /&gt;
       holch: But they are part of &amp;quot;users&amp;quot;, right?&lt;br /&gt;
&lt;br /&gt;
       macduy: yes, we refer to them all as users&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yeah&lt;br /&gt;
&lt;br /&gt;
   [15:14]    holch: OK.&lt;br /&gt;
&lt;br /&gt;
       macduy: the devs got hooked on a discussion about customizable attributes, so we&#039;ll see where that leads ;)&lt;br /&gt;
&lt;br /&gt;
       holch: For the UI I would separate this a little more clearly though.&lt;br /&gt;
&lt;br /&gt;
       macduy: yes, from UI point of view I think we envision a list of users and then a &#039;pool&#039; of participants&lt;br /&gt;
&lt;br /&gt;
   [15:15]    macduy: to select from. From these people, we usually just retain minimum info, e.g. their e-mail address.&lt;br /&gt;
&lt;br /&gt;
       holch: With participants being a special sort of users, who can only fill in data, etc.&lt;br /&gt;
&lt;br /&gt;
       macduy: yep&lt;br /&gt;
&lt;br /&gt;
       holch: Fine with me. Anything else.&lt;br /&gt;
&lt;br /&gt;
       macduy: nope&lt;br /&gt;
&lt;br /&gt;
       jwestfall: It would be nice though if the UI allowed admins to be &#039;participants&#039; in some scenarios&lt;br /&gt;
&lt;br /&gt;
       jwestfall: perhaps some sort of filtering in the UI that by default doesn&#039;t show them&lt;br /&gt;
&lt;br /&gt;
       holch: What about the wording? Will Participants be called &amp;quot;participants&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
   [15:16]    jwestfall: but could be toggled off so all users show up as pools&lt;br /&gt;
&lt;br /&gt;
       macduy: I would definitely keep the word Participant&lt;br /&gt;
&lt;br /&gt;
       macduy: there will be&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, Participant is preferable to &amp;quot;subject&amp;quot; or respondant&lt;br /&gt;
&lt;br /&gt;
       holch: I vote for Participants two. It is clear, everyone should understand immediately what a &amp;quot;participant&amp;quot; is.&lt;br /&gt;
&lt;br /&gt;
       macduy: yep, definitely&lt;br /&gt;
&lt;br /&gt;
   [15:17]    holch: Yes, sometimes &amp;quot;subject&amp;quot; is used. I find it horrible...&lt;br /&gt;
&lt;br /&gt;
       amit8-88: yep&lt;br /&gt;
&lt;br /&gt;
       macduy: I imagine it will be something like &amp;quot;Choose your participants&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       amit8-88: participant is better :)&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, there is a huge debate amid some psychologists over the &amp;quot;participant&amp;quot; vs. &amp;quot;subject&amp;quot; thing&lt;br /&gt;
&lt;br /&gt;
       holch: OK. We fixed that.&lt;br /&gt;
&lt;br /&gt;
       macduy: anything else on this matter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==-Survey/Questionnaire==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   [15:18]    macduy: ok, topic #2: Survey/Questionnaire&lt;br /&gt;
&lt;br /&gt;
       holch: Let psychologists discuss that. We choose the friendly version... ;-)&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: That might be more tricky, right?&lt;br /&gt;
&lt;br /&gt;
       macduy: yep, as usual :P&lt;br /&gt;
&lt;br /&gt;
       holch: I vote for separtating those two concepts, as you all know.&lt;br /&gt;
&lt;br /&gt;
       holch: separating.&lt;br /&gt;
&lt;br /&gt;
       macduy: in current LS2 implementation referred to Assignment/Survey&lt;br /&gt;
&lt;br /&gt;
   [15:19]    holch: seperating...&lt;br /&gt;
&lt;br /&gt;
       holch: Now I got it.&lt;br /&gt;
&lt;br /&gt;
       macduy: although I agree that Questionnaire makes much more sense in terms of naming&lt;br /&gt;
&lt;br /&gt;
       holch: I think my &amp;quot;survey&amp;quot; concept is more ample than assignments.&lt;br /&gt;
&lt;br /&gt;
       holch: You will store or the principal information about the project in Survey.&lt;br /&gt;
&lt;br /&gt;
   [15:20]    macduy: Yes, a Questionnaire is just a set/form of questions&lt;br /&gt;
&lt;br /&gt;
       holch: There you will choose the group of participants, invite them, choose a questionnaire, choose a template, etc.&lt;br /&gt;
&lt;br /&gt;
       macduy: exactly&lt;br /&gt;
&lt;br /&gt;
       jwestfall: I vote for seperating the two as well&lt;br /&gt;
&lt;br /&gt;
       macduy: please burn this into your minds :P&lt;br /&gt;
&lt;br /&gt;
       holch: It would give you a lot of flexibility.&lt;br /&gt;
&lt;br /&gt;
   [15:21]    holch: What should we burn in our minds?&lt;br /&gt;
&lt;br /&gt;
       jwestfall: especially if it could be designed to allow multiple questionnaires in 1 survey&lt;br /&gt;
&lt;br /&gt;
       macduy: well, this separation concept ;)&lt;br /&gt;
&lt;br /&gt;
       holch: I have it in my had. Question is: do the developers? ;-)&lt;br /&gt;
&lt;br /&gt;
       macduy: (I was directing that more towards them ;) )&lt;br /&gt;
&lt;br /&gt;
   [15:22]    macduy: I have only one issue:&lt;br /&gt;
&lt;br /&gt;
       holch: So the &amp;quot;questionnaire section&amp;quot; is pure for creating document with different questions.&lt;br /&gt;
&lt;br /&gt;
       holch: Go on:&lt;br /&gt;
&lt;br /&gt;
       macduy: as Mazi pointed out earlier, &amp;quot;Survey&amp;quot; as a term is stuck&lt;br /&gt;
&lt;br /&gt;
       holch: Yes.&lt;br /&gt;
&lt;br /&gt;
       holch: And we won&#039;t loose it.&lt;br /&gt;
&lt;br /&gt;
       macduy: there are meny parts named like that in the code, that depend on it&lt;br /&gt;
&lt;br /&gt;
   [15:23]    holch: This means that the have coded survey in actual &amp;quot;questionnaire&amp;quot; parts?&lt;br /&gt;
&lt;br /&gt;
       macduy: no, we have named everything, that in your book is called &amp;quot;questionnaire&amp;quot;, a &amp;quot;survey&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       macduy: so purely a naming mishap&lt;br /&gt;
&lt;br /&gt;
       holch: Well, how the developers call it, shouldn&#039;t be a major problem for the UI. Or are they visible in the html source code?&lt;br /&gt;
&lt;br /&gt;
   [15:24]    macduy: I think so&lt;br /&gt;
&lt;br /&gt;
       macduy: it would be confusing even for us&lt;br /&gt;
&lt;br /&gt;
       holch: Because to be honest, the average user will never go into the PHP code. And if he does, we can expect that he tries to understand it.&lt;br /&gt;
&lt;br /&gt;
       macduy: because what the devs call a Survey is suddenly the UI people&#039;s name for an Assignment :)&lt;br /&gt;
&lt;br /&gt;
   [15:25]    holch: For theme development, this is something else. There it could be a little weired.&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: I see.&lt;br /&gt;
&lt;br /&gt;
       macduy: so I would suggest we go for Survey Project/Survey&lt;br /&gt;
&lt;br /&gt;
       holch: Well, it is not ideal, I have to admit.&lt;br /&gt;
&lt;br /&gt;
       macduy: so do I&lt;br /&gt;
&lt;br /&gt;
       macduy: but I think the term &#039;project&#039; should work out well&lt;br /&gt;
&lt;br /&gt;
   [15:26]    macduy: people will immediately think - &#039;ah project, something big. It also involves a survey&#039;&lt;br /&gt;
&lt;br /&gt;
       holch: But, as it is separated from UI and developers and users this should be possible to overcome.&lt;br /&gt;
&lt;br /&gt;
       macduy: it should be, but developers also write documentation for other developers to read&lt;br /&gt;
&lt;br /&gt;
       holch: I like Survey Project, because it actually is a small &amp;quot;project management&amp;quot; section, what &amp;quot;survey&amp;quot; is.&lt;br /&gt;
&lt;br /&gt;
   [15:27]    macduy: Survey Project is majorly just a binder, that connects a questionnaire, bunch of people and a set of results&lt;br /&gt;
&lt;br /&gt;
       holch: And there is no chance to &amp;quot;search &amp;amp; replace&amp;quot;, right? :-)&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Well, survey/questionnaire is technically correct as per research methodology, however I agree that project/survey should be intuitive enough as a replacement.&lt;br /&gt;
&lt;br /&gt;
       macduy: I understand that pedantically we are using the wrong terms&lt;br /&gt;
&lt;br /&gt;
   [15:28]    holch: Ah, now I get what you want. You want to get rid of questionnaire.&lt;br /&gt;
&lt;br /&gt;
       holch: Hmm.&lt;br /&gt;
&lt;br /&gt;
       macduy: I want to replace the term ;)&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       holch: I didn&#039;t get that.&lt;br /&gt;
&lt;br /&gt;
       holch: I thought you wanted to rename &amp;quot;survey&amp;quot; to &amp;quot;survey project&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
       macduy: your concept is completely sound&lt;br /&gt;
&lt;br /&gt;
   [15:29]    macduy: hehe ok, to sum my point:&lt;br /&gt;
&lt;br /&gt;
       macduy: In Real Worl:&lt;br /&gt;
&lt;br /&gt;
       macduy: - Questionnaire = &amp;quot;A form/set of questions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       macduy: - Survey = &amp;quot;A conduct of acquiring responses through a questionnaire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       macduy: In LS2 World:&lt;br /&gt;
&lt;br /&gt;
       macduy: - &amp;quot;Survey&amp;quot; = &amp;quot;A form/set of Questions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   [15:30]    macduy: - &amp;quot;Survey Project&amp;quot; = &amp;quot;A conduct of acquiring responses through the above&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       holch: Well, I would still use questionnaire and survey, but I guess we will have to compromise, somehow.&lt;br /&gt;
&lt;br /&gt;
       macduy: I think we have to compromise&lt;br /&gt;
&lt;br /&gt;
       holch: But the seperation wouldn&#039;t be that nice.&lt;br /&gt;
&lt;br /&gt;
       macduy: I&#039;ll see if I get this discussion going again in the dev channel&lt;br /&gt;
&lt;br /&gt;
       macduy: the separation would be exactly the same&lt;br /&gt;
&lt;br /&gt;
       macduy: we just called it different things :P&lt;br /&gt;
&lt;br /&gt;
       holch: You would have one or two surveys in a survey project.&lt;br /&gt;
&lt;br /&gt;
   [15:31]    macduy: true, it sounds a bit lame&lt;br /&gt;
&lt;br /&gt;
       macduy: but let&#039;s stick to this for now&lt;br /&gt;
&lt;br /&gt;
       holch: Look, I am the advocate what I think would be ideal. However, I understand that there are more stakeholders to LS2 than just the plain &amp;quot;user&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   [15:32]    macduy: it really depends on what people imagine under the word &amp;quot;survey&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       holch: So if the developers require the questionnaires to be called &amp;quot;survey&amp;quot;, I will have to live with it. ;-)&lt;br /&gt;
&lt;br /&gt;
       macduy: e.g. to me, it could equally mean both the form with questions as well as the whole process.&lt;br /&gt;
&lt;br /&gt;
   [15:33]    holch: Yes, if there would be ONLY survey, I agree. but I am not sure how &amp;quot;survey&amp;quot; will work together with &amp;quot;survey project&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       macduy: if I were met with a program where the terms used were &amp;quot;survey&amp;quot; and &amp;quot;survey project&amp;quot; I would be happy to accept that by &amp;quot;survey&amp;quot; they probably mean the piece of paper ;)&lt;br /&gt;
&lt;br /&gt;
       holch: Well, at the end of the day the users will accept anything.&lt;br /&gt;
&lt;br /&gt;
   [15:34]    holch: LS is free, they can&#039;t really complain... ;-)&lt;br /&gt;
&lt;br /&gt;
       macduy: hehe, or move to a different app&lt;br /&gt;
&lt;br /&gt;
       holch: Though they still might do. Mazi probably can tell some stories.&lt;br /&gt;
&lt;br /&gt;
       holch: Well, there isn&#039;t really an alternative.&lt;br /&gt;
&lt;br /&gt;
       macduy: he&#039;s away today, but we can ask him later&lt;br /&gt;
&lt;br /&gt;
   [15:35]    holch: Does anyone have news about the MITRE project? Should have been released a while ago.&lt;br /&gt;
&lt;br /&gt;
       macduy: so for now, let&#039;s keep both Survey/Questionnaire and Survey Project/Survey terminology options in mind&lt;br /&gt;
&lt;br /&gt;
       amit8-88: nope. I guess they still into it&lt;br /&gt;
&lt;br /&gt;
       holch: I thought they were supposed to finalize it until Christmas last year? Thats what they told me.&lt;br /&gt;
&lt;br /&gt;
   [15:36]    jwestfall: Perhaps just &amp;quot;project / survey&amp;quot; would be better than &amp;quot;survey project&amp;quot; for users. Avoiding reuse of the word &amp;quot;survey&amp;quot; may be confusing.&lt;br /&gt;
&lt;br /&gt;
       macduy: good point&lt;br /&gt;
&lt;br /&gt;
       holch: Hmmm. I think it is getting worse.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: err... avoiding reuse may be LESS confusing&lt;br /&gt;
&lt;br /&gt;
       holch: I can see your point, Jon.&lt;br /&gt;
&lt;br /&gt;
   [15:37]    holch: But then, they may ask them self &amp;quot;what the hell do I need a project for, when I have the survey section?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       amit8-88: well I will still go with Survey/ Questionnaire :)&lt;br /&gt;
&lt;br /&gt;
       holch: Amit is my man! Hahahaha.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: :)&lt;br /&gt;
&lt;br /&gt;
   [15:38]    macduy: what about Poll?&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, that&#039;s possible - although the UI could give &#039;hints&#039; to clarify things for users&lt;br /&gt;
&lt;br /&gt;
       holch: Well, I guess we all agree that the ideal version (for now, maybe we find something even better?) would be questionnaire / survey.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: &amp;quot;Survey&amp;quot; (below, smaller type) &amp;quot;reusable set of questions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       holch: But it seems like we will need to compromise here, due to the fact that we have started rather late with the UI meeting.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: &amp;quot;Project&amp;quot; (below, etc..) &amp;quot;one or more surveys given to participants&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   [15:39]    macduy: maybe we should do a survey into this ;)&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, questionnaire/survey would be great if devs can change to accomodate it&lt;br /&gt;
&lt;br /&gt;
       holch: don&#039;t like poll.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: nobody likes poll&lt;br /&gt;
&lt;br /&gt;
       holch: On the net more used for single questions&lt;br /&gt;
&lt;br /&gt;
   [15:40]    amit8-88: yeah they are majorly for single views&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah, but i mean use of LS to create polls&lt;br /&gt;
&lt;br /&gt;
       holch: Well, a poll would be a single question questionnaire (or survey).&lt;br /&gt;
&lt;br /&gt;
       macduy: where does that leave us if a user wants to create a poll, he would be creating a &amp;quot;Survey&amp;quot; with a &amp;quot;Questionnaire&amp;quot; containing 1 question&lt;br /&gt;
&lt;br /&gt;
       holch: We don&#039;t need something special for it, do we?&lt;br /&gt;
&lt;br /&gt;
   [15:41]    macduy: nope&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       macduy: ok, it&#039;s getting a bit muddled here&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, but I don&#039;t think we should care - if someone uses LS2 for a one question poll, they are engaging in a huge amount of overkill&lt;br /&gt;
&lt;br /&gt;
       holch: But this survey / questionnaire / survey project thing is already getting confusing here.&lt;br /&gt;
&lt;br /&gt;
       macduy: maybe there can be a wizard that takes care of that, but let&#039;s leave that for future&lt;br /&gt;
&lt;br /&gt;
   [15:42]    macduy: as I say, I agree with survey/questionnaire&lt;br /&gt;
&lt;br /&gt;
       macduy: as a concept&lt;br /&gt;
&lt;br /&gt;
       macduy: and also with the naming&lt;br /&gt;
&lt;br /&gt;
       holch: Well. what we need now is...&lt;br /&gt;
&lt;br /&gt;
       holch: to fix something I think.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Yea, right now to summarize, I think we&#039;d all be happy if survey/questionnaire could be used as a concept and name, however if the devs demand it, we may have to go with survey project / survey&lt;br /&gt;
&lt;br /&gt;
       holch: we shouldn&#039;t go on for two long with two different concepts.&lt;br /&gt;
&lt;br /&gt;
   [15:43]    macduy: to make sure: I&#039;m just arguing about the terms here :)&lt;br /&gt;
&lt;br /&gt;
       macduy: because I&#039;m not sure how well the devs and seasoned LS1.x users will accept these&lt;br /&gt;
&lt;br /&gt;
       holch: Good. Now it is up to the devolpers, if they think they can do this for the sake of the final user, or if it would complicate there work too much.&lt;br /&gt;
&lt;br /&gt;
       macduy: but if we are not met with resistance, Survey/Questionnaire will get passed.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: at least we all agree on the concept!&lt;br /&gt;
&lt;br /&gt;
   [15:44]    holch: If it would be a payed project I would tell them to just accept it. But here we are talking about delevopers spending their spare time on this project.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: I guess Survey/Questionnaire should pass ;)&lt;br /&gt;
&lt;br /&gt;
       macduy: we&#039;ll see ;)&lt;br /&gt;
&lt;br /&gt;
       macduy: ok, let&#039;s forget naming now&lt;br /&gt;
&lt;br /&gt;
       holch: Fingers crossed.&lt;br /&gt;
&lt;br /&gt;
       macduy: to the concept:&lt;br /&gt;
&lt;br /&gt;
       holch: next point on agenda?&lt;br /&gt;
&lt;br /&gt;
       macduy: does that mean that results would be bound to a &amp;quot;Survey&amp;quot; rather than the &amp;quot;Questionnaire&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
       holch: Of course!&lt;br /&gt;
&lt;br /&gt;
   [15:45]    holch: questionnaire could have been created 5 years ago.&lt;br /&gt;
&lt;br /&gt;
       holch: Of course somehow the questionnaire is also bound to the survey and the results.&lt;br /&gt;
&lt;br /&gt;
       macduy: yep, but in simple relation diagrams&lt;br /&gt;
&lt;br /&gt;
       holch: But it is basically only the form to get the results in the database.&lt;br /&gt;
&lt;br /&gt;
       macduy: + conditions and other attributes directly related to the questionnaire&lt;br /&gt;
&lt;br /&gt;
   [15:46]    holch: Yes.&lt;br /&gt;
&lt;br /&gt;
       holch: Because they could also be reusable.&lt;br /&gt;
&lt;br /&gt;
       macduy: but things like questionnaire theme, publicity, anonymity, that should part of &amp;quot;Survey&amp;quot;&lt;br /&gt;
&lt;br /&gt;
       holch: If someone needs different conditions, he needs a different questionnaire.&lt;br /&gt;
&lt;br /&gt;
       macduy: yeah&lt;br /&gt;
&lt;br /&gt;
       holch: Exactly.&lt;br /&gt;
&lt;br /&gt;
       macduy: ok&lt;br /&gt;
&lt;br /&gt;
   [15:47]    macduy: that is pretty much taken care of by the current survey/assignment system&lt;br /&gt;
&lt;br /&gt;
       holch: It would be ideal to be able to assign a different theme for each questionnaire in different surveys.&lt;br /&gt;
&lt;br /&gt;
       macduy: yep&lt;br /&gt;
&lt;br /&gt;
       macduy: so, to devs:&lt;br /&gt;
&lt;br /&gt;
       holch: Because for example I have some multi-client projects, which are almost all run the same questionnaire, but different layouts (adapted to the CI).&lt;br /&gt;
&lt;br /&gt;
   [15:48]    macduy: CI?&lt;br /&gt;
&lt;br /&gt;
       holch: Corporate Identity.&lt;br /&gt;
&lt;br /&gt;
       macduy: ah I see&lt;br /&gt;
&lt;br /&gt;
       macduy: yep&lt;br /&gt;
&lt;br /&gt;
       holch: It is actually more the CD.&lt;br /&gt;
&lt;br /&gt;
       holch: corporate design.&lt;br /&gt;
&lt;br /&gt;
       holch: But every brand has different rules.&lt;br /&gt;
&lt;br /&gt;
       holch: Logo top left, bottom right, whatever.&lt;br /&gt;
&lt;br /&gt;
   [15:49]    macduy: that can be tricky&lt;br /&gt;
&lt;br /&gt;
       holch: Why?&lt;br /&gt;
&lt;br /&gt;
       macduy: well, markup-wise&lt;br /&gt;
&lt;br /&gt;
       macduy: our Survey Engine is being rewritten so we can address this issue&lt;br /&gt;
&lt;br /&gt;
       holch: With the template system shouldn&#039;t be a problem?&lt;br /&gt;
&lt;br /&gt;
       holch: It isn&#039;t now...&lt;br /&gt;
&lt;br /&gt;
       macduy: nah, should not be&lt;br /&gt;
&lt;br /&gt;
       macduy: forget what I wrote ;)&lt;br /&gt;
&lt;br /&gt;
   [15:50]    holch: However, what I would need could be overcome by simply copying a survey.&lt;br /&gt;
&lt;br /&gt;
       holch: Not as slick, but also possible.&lt;br /&gt;
&lt;br /&gt;
       macduy: also, can we decide on some notation please?&lt;br /&gt;
&lt;br /&gt;
       holch: Notation?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==- End matters==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       macduy: when we speak of Survey and Questionnaire, they mean what holch means&lt;br /&gt;
&lt;br /&gt;
       macduy: or *write rather&lt;br /&gt;
&lt;br /&gt;
       holch: ahh.&lt;br /&gt;
&lt;br /&gt;
   [15:51]    macduy: when I write ls2:Survey and ls2:Assignment, I mean what they mean in the current LS2 codebase&lt;br /&gt;
&lt;br /&gt;
       macduy: to avoid confusion ;)&lt;br /&gt;
&lt;br /&gt;
       holch: Good idea. ;-) For the minutes of the meeting.&lt;br /&gt;
&lt;br /&gt;
       macduy: any other thoughts on LS2?&lt;br /&gt;
&lt;br /&gt;
       jwestfall: yea, makes sense&lt;br /&gt;
&lt;br /&gt;
   [15:52]    macduy: *on Survey/Questionnaire&lt;br /&gt;
&lt;br /&gt;
       holch: Where would we locate the templating system?&lt;br /&gt;
&lt;br /&gt;
       holch: In &amp;quot;Questionnaires&amp;quot; or in &amp;quot;Surveys&amp;quot; or in its own section?&lt;br /&gt;
&lt;br /&gt;
       macduy: hmm, that might involve writing your own code&lt;br /&gt;
&lt;br /&gt;
       macduy: which means it might not be part of the visible UI&lt;br /&gt;
&lt;br /&gt;
       holch: The creation and adinistration I mean.&lt;br /&gt;
&lt;br /&gt;
   [15:53]    holch: Thea assigning would have to be in &amp;quot;Survey&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
       macduy: yes&lt;br /&gt;
&lt;br /&gt;
       holch: OK, so there won&#039;t be an user interface for templates/themes, like in 1.8?&lt;br /&gt;
&lt;br /&gt;
   [15:54]    macduy: oh, maybe there should be then&lt;br /&gt;
&lt;br /&gt;
       macduy: would probably be part of a &amp;quot;Later&amp;quot; category,&lt;br /&gt;
&lt;br /&gt;
       holch: Honestly, I wouldn&#039;t need it. Have never used this part. External coding for themes should be fine.&lt;br /&gt;
&lt;br /&gt;
   [15:55]    macduy: ok. topic #2 closed&lt;br /&gt;
&lt;br /&gt;
       holch: But some users with less experience in HTML, CSS and PHP would probably like the current approach.&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: It&#039;s nice to have an editor for quick HTML changes&lt;br /&gt;
&lt;br /&gt;
       holch: Jon, I agree.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: I&#039;d vote to have it there in some capacity, doesn&#039;t have to be very robust&lt;br /&gt;
&lt;br /&gt;
       macduy: well, we could develop something like the Blogspot&#039;s theming thing&lt;br /&gt;
&lt;br /&gt;
        amit8-88: yeah but as macduy says it would be in later category&lt;br /&gt;
&lt;br /&gt;
       macduy: we could really go a long way on that one, so let&#039;s just leave it for later&lt;br /&gt;
&lt;br /&gt;
   [15:56]    holch: That should be fine.&lt;br /&gt;
&lt;br /&gt;
       jwestfall: OK&lt;br /&gt;
&lt;br /&gt;
   [15:57]    macduy: in other news: I&#039;d like to post a preview of the LS2 dashboard to youtube on Monday&lt;br /&gt;
&lt;br /&gt;
       holch: Cool. Any preview for us?&lt;br /&gt;
&lt;br /&gt;
       macduy: any comments and suggestions would be welcome!&lt;br /&gt;
&lt;br /&gt;
       amit8-88: nice!!&lt;br /&gt;
&lt;br /&gt;
       macduy: holch: you mean a hands-on one?&lt;br /&gt;
&lt;br /&gt;
   [15:58]    holch: Anything. Screenshots, hands-on, whatever you have.&lt;br /&gt;
&lt;br /&gt;
       holch: You have mentioned that you have different colour versions, right?&lt;br /&gt;
&lt;br /&gt;
       holch: Dark and bright.&lt;br /&gt;
&lt;br /&gt;
       macduy: I&#039;ll post the video on Monday and send links to the maillist&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
       macduy: holch: yes, but I&#039;m currently working with dark only&lt;br /&gt;
&lt;br /&gt;
       holch: OK.&lt;br /&gt;
&lt;br /&gt;
   [15:59]    macduy: alright then, shall we call it a day?&lt;br /&gt;
&lt;br /&gt;
   [16:00]    holch: If from your side there isn&#039;t anything else?&lt;br /&gt;
&lt;br /&gt;
       holch: What will we have to discuss next week?&lt;br /&gt;
&lt;br /&gt;
       macduy: good point&lt;br /&gt;
&lt;br /&gt;
       holch: I might be not able to attend, but this is still unclear.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: maybe you can have some views on the conditions editor&lt;br /&gt;
&lt;br /&gt;
   [16:01]    holch: Have some client from the US over here for the whole week and I might have to entertain them on Saturday... ;-)&lt;br /&gt;
&lt;br /&gt;
       macduy: invite them to the meeting :P&lt;br /&gt;
&lt;br /&gt;
       amit8-88: lol&lt;br /&gt;
&lt;br /&gt;
       macduy: Condition builder definitely&lt;br /&gt;
&lt;br /&gt;
       holch: Nah, better not.&lt;br /&gt;
&lt;br /&gt;
       holch: Condition builder. right. I promissed to have a look at this too.&lt;br /&gt;
&lt;br /&gt;
   [16:02]    jwestfall: Next week is dhardisty&#039;s week to attend, but if Condition builder is up, we both might be here ;)&lt;br /&gt;
&lt;br /&gt;
       holch: Might be difficult this week though. Have interviews scheduled from Tuesday till Friday from around 8am till 9pm.&lt;br /&gt;
&lt;br /&gt;
   [16:03]    macduy: and Invitations&lt;br /&gt;
&lt;br /&gt;
       holch: Maybe I can have look on it on sunday, but still have to translate guidelines. So, let&#039;s see.&lt;br /&gt;
&lt;br /&gt;
       holch: I will try to give some feedback at least.&lt;br /&gt;
&lt;br /&gt;
       holch: Yes, invitations is a interesting part.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: sure no problem&lt;br /&gt;
&lt;br /&gt;
       holch: So, that&#039;s it then?&lt;br /&gt;
&lt;br /&gt;
       macduy: so, next week: Conditions, Invitations and Dashboard-related stuff, if we have time&lt;br /&gt;
&lt;br /&gt;
   [16:04]    holch: Good.&lt;br /&gt;
&lt;br /&gt;
       amit8-88: cool!!&lt;br /&gt;
&lt;br /&gt;
       macduy: thanks everyone for attending! We kept it to 1 hour today :)&lt;br /&gt;
&lt;br /&gt;
       amit8-88: hehe&lt;br /&gt;
&lt;br /&gt;
       jwestfall: Bye ;)&lt;br /&gt;
&lt;br /&gt;
   [16:05]    macduy: everybody have a great weekend!&lt;br /&gt;
&lt;br /&gt;
       holch: By, have a good weekend all!&lt;br /&gt;
&lt;br /&gt;
       holch: off.&lt;br /&gt;
&lt;br /&gt;
       macduy: Cyall&lt;br /&gt;
&lt;br /&gt;
       amit8-88: bye!!&lt;br /&gt;
&lt;br /&gt;
       amit8-88: have nice day&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=UI_meeting_1_(6th_June)&amp;diff=3506</id>
		<title>UI meeting 1 (6th June)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=UI_meeting_1_(6th_June)&amp;diff=3506"/>
		<updated>2009-06-27T15:27:23Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;span style=&#039;color:#FF0000&#039;&amp;gt;&#039;&#039;&#039;Meeting outcome summary&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current priority is to give LimeSurvey&#039;s interface a structure - i.e. given LS2 &amp;quot;engine&amp;quot;, how do we build a &amp;quot;cockpit&amp;quot; that will expose the engine&#039;s features in an understandable, logical way? &#039;&#039;&#039;Holger agreed to receive e-mails from everyone, with description of possible User interactions with Limesurvey&#039;&#039;&#039;, from which a structure of the interface will be created. Note this structure is purely semantic, not referring to graphical interface or HTML markup. &#039;&#039;&#039;This will be our starting point in developing a LS2 interface.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Survey/Assignment concepts, though powerful, may seem confusing to most new users. Certain steps (e.g. Workflows/Wizards) should be taken to eradicate confusion and educate the users about these concept, when they need it.&lt;br /&gt;
&lt;br /&gt;
Other topics include creating mockups of workflows and designing wizards for beginner users.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Meeting Log==&lt;br /&gt;
&lt;br /&gt;
===-Introductions===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
! [freenode-info] if you&#039;re at a conference and other people are having trouble connecting, please mention it to staff: http://freenode.net/faq.shtml#gettinghelp: #limesurvey-ui&lt;br /&gt;
&lt;br /&gt;
! macduy sets mode +tck ls2&lt;br /&gt;
# The topic is &#039;LimeSurvey UI Meeting&#039; (set by macduy)&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Mazi|away has joined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt; Mazi|away is now known as Mazi&lt;br /&gt;
&lt;br /&gt;
&amp;gt; amit8-88 has joined&lt;br /&gt;
&lt;br /&gt;
&amp;gt; dqminh has joined&lt;br /&gt;
&lt;br /&gt;
&amp;gt; holch has joined&lt;br /&gt;
&lt;br /&gt;
&amp;gt; El-Matador-69 has joined&lt;br /&gt;
* El-Matador-69 * I hope you on&#039;t mind, if I listen your conversations&lt;br /&gt;
* amit8-88 * not at all Josef&lt;br /&gt;
* holch * Just one thing before we start: can I save this chat somehow?&lt;br /&gt;
* macduy * umm, you can do a copy+paste&lt;br /&gt;
* holch * So that I wont have to write stuff down...&lt;br /&gt;
* dqminh * holch: sure. BUt what are you using ?&lt;br /&gt;
* macduy * but don&#039;t worry, I&#039;ll do it on post on the wiki&lt;br /&gt;
* dqminh * I&#039;m logging already&lt;br /&gt;
* holch * OK, that should be enough.&lt;br /&gt;
&lt;br /&gt;
&amp;gt; jaycburton has joined&lt;br /&gt;
* jaycburton * There we go&lt;br /&gt;
* holch * @Matador: the more the better.&lt;br /&gt;
* macduy * let&#039;s start :)&lt;br /&gt;
* holch * OK, I just wanted to give you a short idea of what I do.&lt;br /&gt;
* holch * I am a consultant in market research, specialized on ebusiness.&lt;br /&gt;
* holch * I am working on improving websites, by analyzing users evaluation.&lt;br /&gt;
* El-Matador-69 * k - thx&lt;br /&gt;
* macduy * thanks for your interest in LS2!&lt;br /&gt;
* amit8-88 * great!!&lt;br /&gt;
* holch * We do this or via onsite intercept surveys (thats why I am interested in LS) or personal indepth interviews in a studio (usability lab)&lt;br /&gt;
* holch * What I notice a lot in open source software, despite often being a very good alternative to comercial stuff, it is often lacking in design and usability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Impressions of LS2===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* holch * What I have seen from macduys mock ups, I think LS2 will not lack in the graphic design area.&lt;br /&gt;
* holch * So that is already a good thing.&lt;br /&gt;
* holch * But what often happens when a lot of people work on a project is that the information structure can get messed up.&lt;br /&gt;
* macduy * yep, so would you agree LS2 needs more work on structure and presentation?&lt;br /&gt;
* holch * That is not a fault of the designer or the developers, it is just a normal thing.&lt;br /&gt;
* holch * Well, I was really looking forward to LS2 (quite a while now) and when the alpha was available I installed it.&lt;br /&gt;
* macduy * please describe your impressions as a first time LS2 user&lt;br /&gt;
* holch * Despite that it doesn&#039;t have many functions yet, I liked what I saw. However, I really got confused with navigation etc. So I thought, why not start now to give it a more logical structure? Because when I as quite inet and software savy guy get confused, what about others?&lt;br /&gt;
* amit8-88 * ok&lt;br /&gt;
* holch * Well, I wrote quite a long post about my impressions.&lt;br /&gt;
* holch * First thing was, that there are many similiar &amp;quot;concepts&amp;quot; that might be confusing.&lt;br /&gt;
* amit8-88 * can you point me to the post ?&lt;br /&gt;
* amit8-88 * sorry I did not read it yet&lt;br /&gt;
* holch * Like Dashboard and Home, Administration and einstellungen.&lt;br /&gt;
* macduy * amit8-88: http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,27466/lang,en/&lt;br /&gt;
* amit8-88 * thanks macduy :)&lt;br /&gt;
* macduy * so the suggestion would be to merge Dashboard, Home and Administration into 1 &amp;quot;tab&amp;quot;?&lt;br /&gt;
* holch * So, as you are still at the beginning I thought it would be important to define a little bit the structure.&lt;br /&gt;
* macduy * sure, please elaborate&lt;br /&gt;
* holch * I think we should talk about what a user would expect when he logs in. Just a normal user, not the admin.&lt;br /&gt;
* holch * And this is nothing that I can decide...&lt;br /&gt;
* holch * We might discuss it among the developers, but we could also ask &amp;quot;normal&amp;quot; users.&lt;br /&gt;
* amit8-88 * El-Matador-69: can you help us on this ?&lt;br /&gt;
* El-Matador-69 * I can just write mit 50cents&lt;br /&gt;
* holch * For example, when I log onto a tool like this, I would expect to see the last surveys I have worked on, including the number of respondents that have started, and the ones that have finished.&lt;br /&gt;
* holch * Wait: the surveys I have worked on and the ones that are in field.&lt;br /&gt;
* jaycburton * Sort of a snapshot&lt;br /&gt;
* El-Matador-69 * survey overview&lt;br /&gt;
* holch * To give a quick start to the most important day to day work.&lt;br /&gt;
* macduy * so, to generalize, a customized &amp;quot;Home&amp;quot; page&lt;br /&gt;
* holch * Administration, User-Admin, Panel, etc. is something you usually don&#039;t need every day.&lt;br /&gt;
* holch * Well, macduy, it doesn&#039;t nesessarily need to be customizable, though that would be ideal, especially for advanced users.&lt;br /&gt;
* holch * But we should have something on the dashboard by default, that we would consider the most important aspects for the majority.&lt;br /&gt;
* macduy * for new users, the dashboard would be built for them automatically&lt;br /&gt;
* macduy * when they want/feel like it, they can customize it to their needs&lt;br /&gt;
* holch * Everyone else, who is more experienced and knows what he needs already can customize it.&lt;br /&gt;
* holch * Because if you don&#039;t do a lot of research, you might not know what is important for you, there we could help with our experience.&lt;br /&gt;
* holch * There might be some out there, for who it would not fit, but we will have to live with it.&lt;br /&gt;
* holch * But to give the whole LS2 a nice logical structure I would need to know what is planned.&lt;br /&gt;
* macduy * so, main topic now: Structure of LS2&lt;br /&gt;
* macduy * meaning how are individual actions a user can take structured within the navigation of LS2&lt;br /&gt;
* holch * I know, there might be a lot more to come, but I think you guys have already loads of stuff planned and in the back of your head which might be implemented only in one or 2 years...&lt;br /&gt;
* holch * Yes. Programing the different tools and functions is one thing, getting them together for a logical work flow and navigation is another.&lt;br /&gt;
* holch * Limesurvey will have a lot of functions, I assume, based on LS 1.8...&lt;br /&gt;
* macduy * let&#039;s take a practical example: you raised the question of Assignments before&lt;br /&gt;
* holch * yes.&lt;br /&gt;
* macduy * but now you understand?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Assignments===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* holch * assignment is such a thing that I just don&#039;t get.&lt;br /&gt;
* macduy * ah :)&lt;br /&gt;
* holch * No, not really.&lt;br /&gt;
* macduy * so there we stumble on 1 important aspect&lt;br /&gt;
* macduy * hiding of programmer&#039;s logic in presentation&lt;br /&gt;
* holch * Yes. This might be due to me being used to other software as well. But I have seen in the answers to the post, that I am not the only one having problems with assignments.&lt;br /&gt;
* macduy * as programmers, we should know how assignments work and how they interact with other parts&lt;br /&gt;
* macduy * but as users, should they be introduced to the concept too&lt;br /&gt;
* holch * Yes, that could be a solution.&lt;br /&gt;
* macduy * or should the programmers code a layer for the users, so that they do not need to know about &amp;quot;assignments&amp;quot;, at least not straight away?&lt;br /&gt;
* holch * Well, what do you need the assignments exactly for? I assume I have a survey ready to start.&lt;br /&gt;
* holch * So where do the assignments come in?&lt;br /&gt;
* macduy * Assignments allow you to use a single survey many times&lt;br /&gt;
* macduy * without losing track of the previous times you used the survey&lt;br /&gt;
* holch * OK.&lt;br /&gt;
* holch * This sounds an interesting feature.&lt;br /&gt;
* Mazi * arent assignments also used to restrict access like with tokens in LS1?&lt;br /&gt;
* macduy * yes&lt;br /&gt;
* holch * This means I start a survey, run it for 2 weeks, stop it.&lt;br /&gt;
* dqminh * yah, assignments are mainly used to control they way users access the survey&lt;br /&gt;
* holch * Then i give it a new &amp;quot;assignment&amp;quot; and the same survey runs a second time and answers are saved in the same database, together with the old answers?&lt;br /&gt;
* holch * dqminh, what does this mean?&lt;br /&gt;
* Mazi * so if assignments are used for several different issues I think we should separate them instead of having one big assignment overview, what do you think?&lt;br /&gt;
* holch * You see, it is already confusing among us, somehow...&lt;br /&gt;
* dqminh * holch: it meant you can assign specific users for a survey, the activate and deactivate time of the survey.&lt;br /&gt;
&lt;br /&gt;
&amp;gt; jasebo has joined&lt;br /&gt;
* holch * So it surely takes some time for a normal user to understand it. If there is no way around it, fine. But if we could make it easier for the user, the better.&lt;br /&gt;
* jasebo * hi everyone&lt;br /&gt;
* dqminh * hi jason ;)&lt;br /&gt;
* Mazi * hi jason&lt;br /&gt;
* jasebo * sorry I&#039;mlate&lt;br /&gt;
* holch * Ok, dqminh, this is an important part!&lt;br /&gt;
* macduy * hi Jason&lt;br /&gt;
* jaycburton * Hi Jason&lt;br /&gt;
* holch * Hi Jason, no problem.&lt;br /&gt;
* amit8-88 * hi Jason&lt;br /&gt;
* macduy * the survey results actually retain the assignment they belong to&lt;br /&gt;
* Mazi * regarding the workflow I think after having created a survey one next logical step can be to ask the user&amp;quot;do you want to restrict access to your survey&amp;quot; and then the user is redirect to the next screen to set assignments&lt;br /&gt;
* macduy * so think of it as if you are collecting different SETS of data using 1 survey&lt;br /&gt;
* holch * Well, I don&#039;t know if this is the right way, Mazi.&lt;br /&gt;
* macduy * creating survey is like drafting it on a piece of paper&lt;br /&gt;
* macduy * creating assignments is making copies of it and then sending it out to people&lt;br /&gt;
* holch * We should get to it a different way: What kind of surveys can u imagine and what are the characteristics of those surveys?&lt;br /&gt;
* holch * I am doing a lot of onsite surveys, recruiting respondets directly from a website by a layer poping up, asking every 10th (or whatever the contact rate is set to) user.&lt;br /&gt;
* jasebo * I take you all read my post on the forum re: assignments?&lt;br /&gt;
* macduy * I believe LS2 aims to cover all possible kinds of surveys? :P&lt;br /&gt;
* holch * macduy: Look, this is a good concept...&lt;br /&gt;
* holch * Right.&lt;br /&gt;
* holch * This is why we should start there.&lt;br /&gt;
* holch * What kind of surveys are possible...&lt;br /&gt;
* holch * @Jason: Sorry, I didn&#039;t...&lt;br /&gt;
* jasebo * trying to find it.. it was an explanation of how assignments were originally intended&lt;br /&gt;
* jasebo * by the mitre team&lt;br /&gt;
* macduy * simple polls, large surveys....&lt;br /&gt;
* macduy * it could well work as an interface for entering data.&lt;br /&gt;
* Mazi * Jason: http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,27466/lang,en/&lt;br /&gt;
* holch * Macduy: But what is the difference of a simple poll and a large survey, basically nothing, except for the length.&lt;br /&gt;
* macduy * exactly&lt;br /&gt;
* jasebo * http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,27466/lang,en/#28197&lt;br /&gt;
* macduy * we should make no assumptions about survey nature&lt;br /&gt;
* Mazi * I think it would be nice to have a workflow chart in the wiki showing the current workflow. this way everyone has a clear overview about the current status and we can think about how/where to add addiotnal features like assignments, survey settings, ...&lt;br /&gt;
* holch * Thanks Jason, I will try to read it later.&lt;br /&gt;
* Mazi * the new workflow should then cover each possible kind of survey&lt;br /&gt;
* macduy * holch: the idea is to provide a fairly linear workflow for newbie users&lt;br /&gt;
* macduy * e.g.: http://www.marketcircle.com/images/v12/dl/tenways/4.png&lt;br /&gt;
* holch * One thing could be to create predefined scenarios for beginners, but I never liked this very much...&lt;br /&gt;
* Mazi * &amp;quot;linear&amp;quot;, that&#039;s what we should aim to&lt;br /&gt;
* macduy * hehe, why not?&lt;br /&gt;
* jasebo * I dislike being too prescriptive&lt;br /&gt;
* Mazi * together with a clear and widerspr&amp;amp;uuml;chlich&lt;br /&gt;
* macduy * I agree that LS2 must absolutely remain a sandbox tool&lt;br /&gt;
* Mazi * sorry, &amp;quot;clear and non-ambiguous maning&amp;quot;&lt;br /&gt;
* Mazi * *naming&lt;br /&gt;
* Mazi * ambiguous&lt;br /&gt;
* holch * What we shouldn&#039;t do is to make LS2 too simple/restricted.&lt;br /&gt;
* macduy * yet, for new users, they will be likely to look for &amp;quot;wizards&amp;quot; and other linear, step-by-step worflow&lt;br /&gt;
* macduy * with low branching:&lt;br /&gt;
* holch * It is aimed to be a leader in survey creating and administration I guess...&lt;br /&gt;
* jasebo * hey... we could have this little pop-up paperclip thing that says &amp;quot;It looks like you&#039;re trying to write a survey&amp;quot;&lt;br /&gt;
* macduy * :P&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Wizards===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* macduy * say we have these 2 scenarios:&lt;br /&gt;
* macduy * Scenario #1: New User&lt;br /&gt;
* macduy * 1) new user logs in, sees his homepage, with a couple of links &amp;quot;What would you like to do&amp;quot;&lt;br /&gt;
* macduy * 2) He clicks on the, say &amp;quot;create a survey&amp;quot;&lt;br /&gt;
* macduy * 3) he&lt;br /&gt;
* macduy * 3) he&#039;s taken to the survey creation page, with an indicator of his process and what&#039;s about to come next&lt;br /&gt;
* macduy * (bit like the installer, with numbered steps)&lt;br /&gt;
* amit8-88 * Survey Wizard ?&lt;br /&gt;
* macduy * basically&lt;br /&gt;
* macduy * At each step, he has a list of choices he can do&lt;br /&gt;
* macduy * Scenario #2: Experienced user&lt;br /&gt;
* holch * This could help for really, really new users.&lt;br /&gt;
* Mazi * macduy, that&#039;s exactly what I&#039;m thinking of (#1)&lt;br /&gt;
* macduy * Mazi: yep&lt;br /&gt;
* Mazi * holch, I guess about 80% of our users use limesurvey for just 1-2 surveys&lt;br /&gt;
* macduy * but we the idea is to code it on-top, not as part of the code&lt;br /&gt;
* Mazi * so there are lots of newbies&lt;br /&gt;
* jasebo * macduy: spot on&lt;br /&gt;
* macduy * What would an experienced user do, I imagine,&lt;br /&gt;
* macduy * is to hop straight to the &amp;quot;Admin&amp;quot; page&lt;br /&gt;
* macduy * and do everything himself&lt;br /&gt;
* holch * Oh, good to know. Then easy to use is even more important.&lt;br /&gt;
* jasebo * the biggest complaint about LS1 is the difficulty in understanding the UI at first&lt;br /&gt;
* holch * Wait, wait! the admin page...&lt;br /&gt;
* macduy * the hardest bit, I would say, be the transition in between. How do we teach the user to realize how he can reproduce the steps in the Wizard, without using the wizard?&lt;br /&gt;
* macduy * I say &amp;quot;Admin&amp;quot; but I&#039;d like to rename it ;)&lt;br /&gt;
* macduy * to something like &amp;quot;Manage&amp;quot;&lt;br /&gt;
* holch * Yes, LS1 is confusing, because every level looks the same...&lt;br /&gt;
* jasebo * &amp;quot;Survey Management&amp;quot;&lt;br /&gt;
* jasebo * holch: it seemed like a good idea at the time :)&lt;br /&gt;
* macduy * please look at: http://i3.campaignmonitor.com/uploads/images/screenshots/resell/pay.png&lt;br /&gt;
* Mazi * this survey manager has to cover all the steps of the &amp;quot;create new survey&amp;quot; wizzard&lt;br /&gt;
* holch * Jason, I think the levels aren&#039;t that bad, it is just difficult to distinguish between a group, a question, a survey,... Levels are not clear emediately...&lt;br /&gt;
* macduy * forget the tabs, but note the progress indicator and the clean heading, with just 4 links&lt;br /&gt;
* Mazi * think of a newbie user who wantes to change questions after having passed the wizzard&lt;br /&gt;
* macduy * ah, yeah :/&lt;br /&gt;
* Mazi * will he use the wizzard again or use the &amp;quot;survey management&amp;quot; for his changes&lt;br /&gt;
* Mazi * ?&lt;br /&gt;
* holch * I think a wizard would be a solution, but if the standard &amp;quot;survey procedure&amp;quot; is simple enough, no one needs a wizard...&lt;br /&gt;
* jasebo * the wizards should be intended for absolute newbies only&lt;br /&gt;
* holch * I think we should spend our time on making the survey creation and survey management as simple as possible and every user will be able to use it immediately.&lt;br /&gt;
* macduy * Mazi: emost probably a new wizard&lt;br /&gt;
* jasebo * if you need a wizard after learning software, there&#039;s something wrong with the software&lt;br /&gt;
* Mazi * what about having a wizzard for the first set up with clearly names steps and later the user can jump to each step using the survey manager?&lt;br /&gt;
* Mazi * * &amp;quot;clearly named steps&amp;quot;&lt;br /&gt;
* holch * So what are the &amp;quot;normal steps&amp;quot;:&lt;br /&gt;
* jasebo * has anyone here ever used the &amp;quot;context sensitive help&amp;quot; in LS1?&lt;br /&gt;
* Mazi * never&lt;br /&gt;
* amit8-88 * nope&lt;br /&gt;
* macduy * ah, good idea!&lt;br /&gt;
* holch * Creating a survey with questions, filters, quota, etc.&lt;br /&gt;
* Mazi * we should use tooltips at LS2&lt;br /&gt;
* holch * this would be step 1&lt;br /&gt;
* macduy * LS2 has tooltips&lt;br /&gt;
* macduy * to what extent they are helpful, haven&#039;t noticed&lt;br /&gt;
* holch * Then you want someone to take part in the survey, and there the assignments come in I guess.&lt;br /&gt;
* macduy * the wizard can explain at each step what&#039;s going on and how the user can later on do these steps himself&lt;br /&gt;
* holch * You either want to send the survey to a restricted group of people via email, you recruite on a website (without restriction)&lt;br /&gt;
* El-Matador-69 * yes&lt;br /&gt;
* macduy * or both :)&lt;br /&gt;
* macduy * =&amp;gt; 2 assignments&lt;br /&gt;
* holch * Both what?&lt;br /&gt;
* Mazi * I agree: &amp;quot;the wizard can explain at each step what&#039;s going on and how the user can later on do these steps himself&amp;quot;&lt;br /&gt;
* macduy * e.g. &amp;quot;Step 3: adding questions - you are now adding questions. you may return to this survey and edit the questions at any time, by doing blah blah blah&amp;quot;&lt;br /&gt;
* holch * Ahh, ok. 2 assignments. Does this really happen in the real world?&lt;br /&gt;
* macduy * holch: I guess that very unlikely&lt;br /&gt;
* macduy * but there will be companies that would consider it vital&lt;br /&gt;
* jasebo * holch: what do you mean?&lt;br /&gt;
* holch * Why?&lt;br /&gt;
* macduy * e.g.&lt;br /&gt;
* macduy * a company has 2 departments&lt;br /&gt;
* macduy * each using the same survey&lt;br /&gt;
* macduy * they don&lt;br /&gt;
* macduy * don&#039;t want results from both departments to mix together, for obvious reasons&lt;br /&gt;
* macduy * hence they create two assignments.&lt;br /&gt;
* holch * OK.&lt;br /&gt;
* macduy * I&#039;d say that&#039;s the power behind assignments&lt;br /&gt;
* holch * Makes sense. We would have created just a copy of the survey or would have added a variable to the survey url, that we would have saved in the database for analysis.&lt;br /&gt;
* macduy * exactly&lt;br /&gt;
* macduy * but the same way I have explained how assignments work&lt;br /&gt;
* macduy * we need to do it for all the users&lt;br /&gt;
* macduy * teach time what assignments are, at the right time, when they need it&lt;br /&gt;
* holch * Yes, OK. Assignments are a good idea. Question is, will it be used by a lot of people without long explanations.&lt;br /&gt;
* jasebo * the name is bad&lt;br /&gt;
* holch * Exactly, if we need to teach them, something is wrong.&lt;br /&gt;
* jasebo * assignments are what you get from your teacher at school&lt;br /&gt;
* jasebo * :)&lt;br /&gt;
* macduy * :D&lt;br /&gt;
* holch * Hahaha.&lt;br /&gt;
* macduy * the name is definitely confusing&lt;br /&gt;
* amit8-88 * :P&lt;br /&gt;
* jasebo * but the concept is good&lt;br /&gt;
* holch * The problem with assignments is, that they cover many different aspects.&lt;br /&gt;
* macduy * ?&lt;br /&gt;
* holch * So it is hard to find one word for it...&lt;br /&gt;
* macduy * hehe&lt;br /&gt;
* macduy * I&lt;br /&gt;
* amit8-88 * yep&lt;br /&gt;
* macduy * I&#039;d summarize it as: survey reuse&lt;br /&gt;
* amit8-88 * Share Survey&lt;br /&gt;
* macduy * :S&lt;br /&gt;
* jasebo * I think of the survey creation as &amp;quot;what&amp;quot;, and the assignments as &amp;quot;who&amp;quot;&lt;br /&gt;
* holch * I could use assignments for different &amp;quot;waves&amp;quot; of a survey, I could use it for specific &amp;quot;groups&amp;quot; of respondents...&lt;br /&gt;
* jasebo * distribution?&lt;br /&gt;
* macduy * yet that is still not quite precise :/&lt;br /&gt;
* holch * Why not avoiding the assignments for the user and keep it a developer thing?&lt;br /&gt;
* macduy * I think of &amp;quot;Surveys&amp;quot; as piece of paper and &amp;quot;Assignments&amp;quot; as people going around with those pieces of paper :)&lt;br /&gt;
* macduy * holch: that&#039;s what I&#039;ve been considering too&lt;br /&gt;
* holch * And give them different concepts in different situations?&lt;br /&gt;
* macduy * it could be a new wizard&lt;br /&gt;
* holch * What about invitations?&lt;br /&gt;
* macduy * &amp;quot;Would you like to reuse on of your surveys?&amp;quot;&lt;br /&gt;
* holch * It is basically what you do.&lt;br /&gt;
* Mazi * can we split up the assigments into it&#039;s single functions? or is this deeply tied in the code?&lt;br /&gt;
* macduy * Mazi: what do you mean?&lt;br /&gt;
* holch * Or you have to go one step back and rethink what a survey is.&lt;br /&gt;
* holch * Because right now we are talking about a questionnaire, when we talk about surveys.&lt;br /&gt;
* jasebo * assignments involves 1) Assignment groups, and 2) Applying those groups to a survey&lt;br /&gt;
* macduy * 3) public/private&lt;br /&gt;
* Mazi * well, there are different usages for assignments (as far as I got it). why not splitting this up into single features with different names instead of having it put together at &amp;quot;assigments&amp;quot;?&lt;br /&gt;
* holch * Assignment = survey, Survey = questionnaire.&lt;br /&gt;
* holch * Survey= once, questionnaire = reusable.&lt;br /&gt;
* macduy * hmmm&lt;br /&gt;
* macduy * I see where you&#039;re going, but let&#039;s see&lt;br /&gt;
* holch * because at the moment we are always talking about surveys. But the first step of the survey is creating the questionnaire...&lt;br /&gt;
* macduy * yes&lt;br /&gt;
* amit8-88 * yeah&lt;br /&gt;
* holch * at least in LS, before you have to design the survey.&lt;br /&gt;
* holch * So may be we should separate Questionnaire building and survey taking/admin. Just an idea.&lt;br /&gt;
* macduy * well, that&#039;s what we have right now :)&lt;br /&gt;
* macduy * except Questionnaires are called &amp;quot;Surveys&amp;quot; and Surveys are called &amp;quot;Assignments&amp;quot;&lt;br /&gt;
* holch * Exactly...&lt;br /&gt;
* holch * But if you look at it, surveys are the assignments.&lt;br /&gt;
* jasebo * I&#039;ve missed the questionnaire/survey discussion&lt;br /&gt;
* jasebo * are you saying a &amp;quot;questionnaire&amp;quot; is a collection of questions, and a survey is the application of those questions to a group of people?&lt;br /&gt;
* holch * Exactly.&lt;br /&gt;
* Mazi * jasebo, log: http://pastebin.com/m6147fc53&lt;br /&gt;
* holch * You can easily use the same questionnaire twice, but you hardly can do the same survey again (other time, other participants, etc.)&lt;br /&gt;
* jasebo * I see&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Survey/Assignment Workflow===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* El-Matador-69 * I like the phrase &amp;quot;survey structure&amp;quot;&lt;br /&gt;
* holch * So there are 3 important parts of LS:&lt;br /&gt;
* holch * Questionnaire &#039;programming&#039;&lt;br /&gt;
* holch * Survey taking&lt;br /&gt;
* holch * Online reporting&lt;br /&gt;
* holch * In the future maybe something like panel administration...&lt;br /&gt;
* jasebo * panel administration fits in with the assignment groups&lt;br /&gt;
* holch * Well, I think assigments are more like chosing a group of respondents from a panel.&lt;br /&gt;
* holch * But there is more to panel administration than that.&lt;br /&gt;
* jasebo * well, panels could be expanded later :)&lt;br /&gt;
* jasebo * but that&#039;s part of the reason for the assignment/assignment group paradigm&lt;br /&gt;
* holch * I know, thats why i said in the future...;)&lt;br /&gt;
* macduy * seems like panels can be built on thop of that&lt;br /&gt;
* holch * And now that I have understood what assignments are for, I am totally in favor of them.&lt;br /&gt;
* holch * But just not as &amp;quot;assignments&amp;quot; ;)&lt;br /&gt;
* macduy * &amp;quot;Targets&amp;quot;?&lt;br /&gt;
* jasebo * so a survey is the combination of a questionnaire, and an assignment?&lt;br /&gt;
* holch * But a normal user will have a hard time with it. I am sure an intelligent user will eventually find out what assigments are, but it is not immediately clear.&lt;br /&gt;
* jasebo * &amp;quot;Tokens&amp;quot;? :-P&lt;br /&gt;
* holch * Hmm.&lt;br /&gt;
* holch * hahahaha.&lt;br /&gt;
* macduy * lol&lt;br /&gt;
* dqminh * :p&lt;br /&gt;
* Mazi * I like the &amp;quot;what&amp;quot; and &amp;quot;who&amp;quot; idea. could be a basement for the workflow&lt;br /&gt;
* holch * I never got the token thing as well...&lt;br /&gt;
* macduy * :D&lt;br /&gt;
* macduy * you&#039;re not alone ;)&lt;br /&gt;
* jasebo hides face in shame&lt;br /&gt;
* holch * So how to others do this.&lt;br /&gt;
* macduy * is everyone opposed to the name &amp;quot;Assignemnts&amp;quot;?&lt;br /&gt;
* holch * Jason: you don&#039;t have to be ashamed for having created such a powerful survey tool.&lt;br /&gt;
* macduy * I dunno, it makes sense to say &amp;quot;I assign this survey to these bunch of people&amp;quot;&lt;br /&gt;
* holch * But now I think it is time bring it out of the geek corner... :)&lt;br /&gt;
* holch * Yes, macduy, when you use this sentence it makes sense.&lt;br /&gt;
* jasebo * macduy: I think the Mitre people thought of it more like when user x logged in, they&#039;d find they had a new assignment to fill out a survey&lt;br /&gt;
* macduy * ahhhh&lt;br /&gt;
* macduy * I see now&lt;br /&gt;
* jasebo * so it was an assignment from the survey participants view&lt;br /&gt;
* holch * jasebo: don&#039;t confuse me...&lt;br /&gt;
* macduy * holch: everything you understand is still right ;)&lt;br /&gt;
* macduy * it&#039;s just so happens that you can view it from both angles&lt;br /&gt;
* jasebo * yes&lt;br /&gt;
* holch * I know, I was just joking.&lt;br /&gt;
* macduy * which for me is a good enough reason to retain the word &amp;quot;assignment&amp;quot;&lt;br /&gt;
* holch * And I totally agree that we need those assignments. We just have to fit them into LS UI, so that it is clear on first sight (at least for 80-90%) of the users, what they are for.&lt;br /&gt;
* macduy * [ ;) I also looked at the LS2 database, where the word &amp;quot;assignment&amp;quot; appears about 20 times :D ]&lt;br /&gt;
* jasebo * I was just thinking about that.. thinking.. we could change the name any time we wanted&lt;br /&gt;
* macduy * holch: I agree. Assignments are powerful but as with any powerful tool, we need to teach people how to use it ;)&lt;br /&gt;
* jasebo * then I thought.. oh.. all the models, etc. all contain &amp;quot;assignment&amp;quot;&lt;br /&gt;
* macduy * it&#039;s not a problem to expose a different name for the end-user&lt;br /&gt;
* holch * Well, I wish maze a lot of fun on the new &amp;quot;what are assignments&amp;quot; forum...&lt;br /&gt;
* macduy * it&#039;s only a question of the programmers being able to remember that &amp;quot;Target&amp;quot; is actually Assignment in the code etc..&lt;br /&gt;
* dqminh * retaining the word &amp;quot;assignment&amp;quot; is ok for me, however imo the current workflow of setting up survey and assignment separately is not intuitive&lt;br /&gt;
* macduy * not at al&lt;br /&gt;
* jasebo * workflow wiki page would be a good idea&lt;br /&gt;
* holch * dqminh: I think it is good to have them separated somehow, but they must integrate with each other.&lt;br /&gt;
* macduy * as mentioned earlier&lt;br /&gt;
* jasebo * there&#039;s some branching involved with assignments&lt;br /&gt;
* macduy * this should be taken by the wizard&lt;br /&gt;
* jasebo * if you want to &#039;assign&#039; your survey to a group of users, you need that group to be created first&lt;br /&gt;
* holch * Branching?&lt;br /&gt;
* holch * exactly.&lt;br /&gt;
* macduy * jasebo: nothing ajax can&#039;t sort out ;)&lt;br /&gt;
* dqminh * holch: yah, you probably want it to be separate when you are maintaining existing survey, not creating new one.&lt;br /&gt;
* holch * Where would the group be created?&lt;br /&gt;
* holch * dqminh: exactly.&lt;br /&gt;
* jasebo * that&#039;s the &amp;quot;assignment groups&amp;quot;&lt;br /&gt;
* holch * OK.&lt;br /&gt;
* jasebo * so many users would want to import a list of people at this stage&lt;br /&gt;
* jasebo * others would want to choose a gruop they&#039;d already created&lt;br /&gt;
* jasebo * and the rest might just choose to make it public&lt;br /&gt;
* holch * Sorry I do not have the LS2 installation on this computer. I thought I have, but I think I installed it on my work computer.&lt;br /&gt;
* macduy * holch: demo2.limesurvey.org&lt;br /&gt;
* macduy * user/pass: test/test&lt;br /&gt;
* Mazi * jasebo, all these options should be put into a workflow chart&lt;br /&gt;
* Mazi * ...for the wizzard...&lt;br /&gt;
* holch * thanks!&lt;br /&gt;
* macduy * btw, previous work: http://www.docs.limesurvey.org/tiki-index.php?page=Interaction+Design+Mockups&amp;amp;structure;=LimeSurvey+Development&lt;br /&gt;
* Mazi * ...after that we ca think of how to map each wizzard step at the survey manager&lt;br /&gt;
* macduy * yep&lt;br /&gt;
* macduy * but I hope you&#039;d agree with me&lt;br /&gt;
* Mazi * ah, never seen that wiki page. will be a good start&lt;br /&gt;
* macduy * the wizard should be coded on top of LS2, i.e. it will only relate parts that are already there, together&lt;br /&gt;
* macduy * so what we really need to concentrate on now&lt;br /&gt;
* macduy * is to define the LS2 navigation structure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Semantic/Interface Structure===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* macduy * which brings us to the original topic :)&lt;br /&gt;
* holch * yes.&lt;br /&gt;
* holch * :)&lt;br /&gt;
* macduy * currently, the presentation code is horrid&lt;br /&gt;
* macduy * it uses an awful lot of repetition&lt;br /&gt;
* jasebo * macduy: what do you mean by presentation code?&lt;br /&gt;
* macduy * HTML markup&lt;br /&gt;
* holch * What I see is that there are different &amp;quot;concepts&amp;quot; that we will need to define and structure: Questionnaires, surveys, assignments, respondents, reporting.&lt;br /&gt;
* macduy * e,.g. one page starts with &amp;lt;h1&amp;gt;, another with &amp;lt;h2&amp;gt;...&lt;br /&gt;
* holch * This is for the day to day.&lt;br /&gt;
* jasebo * macduy: I see&lt;br /&gt;
* holch * and then we have stuff like Administration, etc., that we should separate somehow.&lt;br /&gt;
* dqminh * regarding the HTML markup, we could use elements to separate them, but again, that not the main topic I think :p&lt;br /&gt;
* macduy * also, except for the heading, you may notice that most navigational elements lack consistency&lt;br /&gt;
* macduy * there is no &amp;quot;Secondary Navigation&amp;quot; element. We only have the top header (&amp;quot;Primary Navigation&amp;quot;) and that&#039;s it&lt;br /&gt;
* holch * Well, but discussion about primary and secondary navigation is already a step ahead.&lt;br /&gt;
* macduy * :) hehe, sorry&lt;br /&gt;
* macduy * just some things to keep in mind&lt;br /&gt;
* holch * We should first define, what we need to structure.&lt;br /&gt;
* holch * What navigations elements will there be.&lt;br /&gt;
* macduy * so, as you said previously&lt;br /&gt;
* holch * That#s what I wanted to hear from every member of the team. What needs to be in the navigation: just a little brainstorming.&lt;br /&gt;
* macduy * i.e.:&lt;br /&gt;
* holch * Send me an email with everything that you want to have in the navigation.&lt;br /&gt;
* holch * Unstructured!&lt;br /&gt;
* macduy * 1) Identify different user concepts (i.e. entities such as: Survey, Assignment, User),&lt;br /&gt;
* holch * holger@rothemund.org&lt;br /&gt;
* macduy * 2) Identify actions how the user can interact with them&lt;br /&gt;
* Mazi * navigation: survey manager, assignments, general survey settings, logout&lt;br /&gt;
* holch * Every part of LS2, could be future things too.&lt;br /&gt;
* macduy * we need to take a step back&lt;br /&gt;
* macduy * look at the engine, see what it can do and built a cockpit out of that&lt;br /&gt;
* holch * exactly.&lt;br /&gt;
* macduy * is that what you mean, holch?&lt;br /&gt;
* holch * yes.&lt;br /&gt;
* macduy * ok&lt;br /&gt;
* macduy * we&#039;ll write a wiki article and post you the link&lt;br /&gt;
* jasebo * Navigation: Dashboard/Home | Surveys | Questionnaires | Distribution | People | Settings | Logout&lt;br /&gt;
* holch * No wiki! sometimes colaboration can destroy everything, because all will sooner or later adapt stuff of others...&lt;br /&gt;
* macduy * :O&lt;br /&gt;
* holch * Just an email from everyone who would like to send one.&lt;br /&gt;
* macduy * are you sure about this?&lt;br /&gt;
* Mazi * k, let&#039;s all send holch an email&lt;br /&gt;
* holch * Then I bring the stuff together and then we can put it on the wiki. But the collection of ideas often is more fruitful, when it is first done alone.&lt;br /&gt;
* amit8-88 * ok&lt;br /&gt;
* jasebo * I think a wiki page for workflows would be a good thing to have&lt;br /&gt;
* holch * Later we have to work together to bring it all togheter.&lt;br /&gt;
* jasebo * not for collaboration, but as a collection point for workflows&lt;br /&gt;
* macduy * OK, another summary:&lt;br /&gt;
* holch * And try to be abstract. Don&#039;t think too much &amp;quot;limesurveyish&amp;quot;&lt;br /&gt;
* macduy * :D that&#039;ll be hard&lt;br /&gt;
* macduy * anyway, summarize:&lt;br /&gt;
* jasebo * holch: limesurvey is my life&lt;br /&gt;
* holch * I know. But I never said it won&#039;t hurt...&lt;br /&gt;
* holch * :)&lt;br /&gt;
* jasebo * holch: will you send an email to the dev list asking for comments, or do you just want it from us here?&lt;br /&gt;
* holch * you can put it on the dev list. I was wondering if we shouldn&#039;t involve some normal users as well?&lt;br /&gt;
* macduy * they&#039;ve got the wiki&lt;br /&gt;
* jasebo * post in the forum?&lt;br /&gt;
* jasebo * run a survey?&lt;br /&gt;
* holch * I was thinking of collecting some items/elements that we would need in LS2, in everyones own words. And you guys are probably so involved with the LS wording and thinking, that we won&#039;t get much out of the box thinking, those not much new...&lt;br /&gt;
* holch * no offence... ;-)&lt;br /&gt;
* holch * Just trying to optimize, while we still can. And LS2 is a very good oportunity.&lt;br /&gt;
* macduy * LS1 has lots of features&lt;br /&gt;
* jasebo * I agree, would be great to get users input&lt;br /&gt;
* holch * By the way: does someone know a online card sorting tool that is any good?&lt;br /&gt;
* macduy * and I&#039;m sure the wizards of LS1 here will have a long enough list of things LS2 should do ;)&lt;br /&gt;
* macduy * holch: ?&lt;br /&gt;
* holch * macduy: Don&#039;t know what card sorting is?&lt;br /&gt;
* holch * Or what&#039;s the &amp;quot;?&amp;quot; for?&lt;br /&gt;
* macduy * I&#039;m not sure what card sorting is&lt;br /&gt;
* holch * It is a usability tecnicque...&lt;br /&gt;
* macduy * ah, just checked wikipedia&lt;br /&gt;
* holch * to make groups of elements.&lt;br /&gt;
* macduy * are you suggesting we let the users make the categorisation?&lt;br /&gt;
* holch * Allows you to understand a little bit better how users &amp;quot;think&amp;quot;, which mental models they apply to information.&lt;br /&gt;
* macduy * ah, I c&lt;br /&gt;
* holch * Well, at least I would consider to listen to how their &amp;quot;brain works&amp;quot;.&lt;br /&gt;
* macduy * hehe ok&lt;br /&gt;
* macduy * so is that what you intend to do with our e-mail suggestions?&lt;br /&gt;
* holch * Because it often happens that designers and developers are in their little work, where everything makes perfect sence, but users just think different.&lt;br /&gt;
* jasebo * holch: users are wrong&lt;br /&gt;
* holch * macduy: this is the first step.&lt;br /&gt;
* holch * Hahaha.&lt;br /&gt;
* macduy * ah, but would you agree that if devs/designers go towards user&lt;br /&gt;
* jasebo * :D&lt;br /&gt;
* macduy * the user should invest the effort to go our way too?&lt;br /&gt;
* macduy * so as to find the middle ground&lt;br /&gt;
* macduy * it is already hard enough for developers and designers to walk the same way&lt;br /&gt;
* jasebo * remember that beginner users are different to advanced users&lt;br /&gt;
* jasebo * and advanced users are much more like developers in their contempt for beginners&lt;br /&gt;
* macduy * :O&lt;br /&gt;
* holch * jason: yes, and this taks doesn&#039;t mean that we will use exactly what the users suggested.&lt;br /&gt;
* macduy * ah ok&lt;br /&gt;
* jasebo * and intermediate users just complain a lot&lt;br /&gt;
* holch * You will probably see that there are various different mental models out there.&lt;br /&gt;
* dqminh * holch: http://www.optimalsort.com -- is this what you need ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Templating Admin Interface===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* holch * If I would have to have a guess, there are probably 3-4 main models and serveral different ones.&lt;br /&gt;
* holch * Yeah I know optimalsort, but they charge you... :-)&lt;br /&gt;
* macduy * do we want to cater for all of them :)&lt;br /&gt;
* dqminh * hmm, they provide free account.I&#039;m not sure about their capabilities as I nerver used card sorting before :D&lt;br /&gt;
* holch * But if we can get one logical one, that makes sense, than we are lucky.&lt;br /&gt;
* holch * Usually those mental concepts are understood also by other users, it is just not their primary one.&lt;br /&gt;
* Mazi * what do you think of creating 2-3 designs for the main navigation bar and then ask for the users input which they prefer?&lt;br /&gt;
* holch * Mazi: this could be a good idea, but this is something we can only do in the future, when we know what has to be in the navigation and how to group the different aspects.&lt;br /&gt;
* Mazi * althought this is diffucult without having any functionality&lt;br /&gt;
* Mazi * agrre!&lt;br /&gt;
* holch * Well, there would have to be some functionality at least...&lt;br /&gt;
* macduy * the current primary goal is to establish a LS2 interface structure&lt;br /&gt;
* macduy * not a graphical one, but semantical one, it that makes sense :)&lt;br /&gt;
* macduy * save markup and pretty rounded corners for later&lt;br /&gt;
* holch * Exactly: because design will always be something to discuss about anyway.&lt;br /&gt;
* holch * Someone loves it, others don&#039;t .&lt;br /&gt;
* macduy * yep, and graphical presentation would go to waste if the underlying interface it is presenting is crap&lt;br /&gt;
* holch * Off topic: is there a plan to have a template system for LS2 (not the questionnaire templates)&lt;br /&gt;
* macduy * for the GUI?&lt;br /&gt;
* holch * yes, white label...&lt;br /&gt;
* holch * kind of.&lt;br /&gt;
* macduy * erm, I&#039;d say no :)&lt;br /&gt;
* holch * OK:&lt;br /&gt;
* macduy * different CSS at most&lt;br /&gt;
* Mazi * holch, one can switch between different templates in LS2 already&lt;br /&gt;
* holch * For companies it would be interesting.&lt;br /&gt;
* macduy * holch: I see&lt;br /&gt;
* Mazi * althought there is no template designer, just shipped templates&lt;br /&gt;
* macduy * but that would be covered in CSS&lt;br /&gt;
* holch * Can you?&lt;br /&gt;
* macduy * Mazi: those are survey templates&lt;br /&gt;
* macduy * Mazi: they are absolutely customizable, it even has it&#039;s own template engine&lt;br /&gt;
* Mazi * ahh, sorry. you were talking about admin interface?&lt;br /&gt;
* macduy * yeah&lt;br /&gt;
* holch * Ahhh, survey templates are vital! LS2 templating would be something optional.&lt;br /&gt;
* Mazi * k, got it :)&lt;br /&gt;
* holch * What you really should consider is whitelabeling the online reporting.&lt;br /&gt;
* jasebo * ls2 admin templating would be nice, we should keep it in mind as we go&lt;br /&gt;
* holch * Could be a simple templating.&lt;br /&gt;
* dqminh * there&#039;s themes concept in Cake, but I would vote not for it in the near future.&lt;br /&gt;
* macduy * jasebo, holch: it&#039;s a great idea, but I&#039;d say CSS and different images is as far as we&#039;d want to go&lt;br /&gt;
* holch * Nothing major, but being able to put your logo in, having your colours...&lt;br /&gt;
* macduy * so, CSS :)&lt;br /&gt;
* holch * That would be fine.&lt;br /&gt;
* macduy * when you said template engine, I assumed, placing navigation in a completely different place, making it vertical, upside-down...&lt;br /&gt;
* holch * But for online reporting I consider it very important, when you want to get more &amp;quot;professional&amp;quot;&lt;br /&gt;
* macduy * online reporting.. you mean public statistics?&lt;br /&gt;
* holch * Macduy, I don&#039;t think this would be important.&lt;br /&gt;
* jasebo * macduh, dqminh: no, not the near future - but again, knowing it may happen later can affect design decisions bnow&lt;br /&gt;
* holch * Well, it depends on what you mean with public statistics.&lt;br /&gt;
* macduy * dqminh, elaborate :)&lt;br /&gt;
* holch * For me public statistics is not important at all.&lt;br /&gt;
* dqminh * elaborate about themes ? :D&lt;br /&gt;
* holch * I can&#039;t show survey results to everyone.&lt;br /&gt;
* dqminh * from what I understand, themes is a different set of views, js , css , ...&lt;br /&gt;
* holch * I want to have &amp;quot;assignments&amp;quot; for the access to the results.&lt;br /&gt;
* dqminh * so you can define completely different layouts with themes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===-Online Reporting/Public Statistics===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* macduy * dqminh, I meant on public statistics ;)&lt;br /&gt;
* macduy * but wait, I&#039;m confused&lt;br /&gt;
* macduy * holch: give examples of what you mean by &amp;quot;online reporting&amp;quot;&lt;br /&gt;
* macduy * it doesn&#039;t quite fit with anything I&#039;ve seen so far&lt;br /&gt;
* holch * That&#039;s what most of other survey tools call the presentation of the survey results (and sometimes the survey progress).&lt;br /&gt;
* holch * E.g.: I am running a survey with n=1000 for over a month. But the client wants to see some results already after one week. I grant him access to the &amp;quot;online reporting&amp;quot; and he can get a first glimpse at the results.&lt;br /&gt;
* dqminh * presentation of results in LS2 is separating into public ( which is available for end users ) and admin statistics&lt;br /&gt;
* holch * I think if you want to go a step ahead you would need something in between.&lt;br /&gt;
* holch * Or can you restrict the public part to certain users?&lt;br /&gt;
* dqminh * we can.&lt;br /&gt;
* holch * Because often you can give results to the public (basically all internet users), but you don&#039;t want to give a client access to your survey administration.&lt;br /&gt;
* holch * so you need something to restrict public statistics.&lt;br /&gt;
* holch * Because &amp;quot;public statistics&amp;quot; sounds like accessible for everyone to me.&lt;br /&gt;
* Mazi * dqminh, there should be a password protected statistics feature for surveys not using public stats&lt;br /&gt;
* dqminh * jasebo: did LS1 have this feature already ? Restricting statistics to part of users ?&lt;br /&gt;
* Mazi * these is a feature often requested in the forum, having the ability to pass a password/login protected link to survey statistics to someone else&lt;br /&gt;
* Mazi * dqminh, this feature does not exist in LS1&lt;br /&gt;
* holch * Exactly: Just allowing access to a group of users, and only to the statistics, not the rest of LS2.&lt;br /&gt;
* jasebo * dqminh: not statistics specifically, just access to browsing results&lt;br /&gt;
* dqminh * Mazi: i see. Of course we can do that.&lt;br /&gt;
* holch * Reporting/statistics should be separated totally from the rest of LS2&lt;br /&gt;
* Mazi * great, please put it on your list :-)&lt;br /&gt;
* Mazi * that&#039;s what we (dqminh) are upt to&lt;br /&gt;
* holch * Perfect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!!!-End/Summary&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
* holch * Look, I will try to make up some structuring for the content, based on your input that you send me via email. Then we can discuss it and see the advantages and disadvantages of the structure, etc.&lt;br /&gt;
* macduy * holch, can you give us an example of what format you expect?&lt;br /&gt;
* Mazi * @all, what do you think about weekly LS2 UI meetings for the next weeks until we have set up the general structure?&lt;br /&gt;
* jasebo * agree&lt;br /&gt;
* holch * From your side I would prefer it to be quite open and individual. I want the view of each of you on LS (no matter if others think it is stupid). In your own (and best simple) words.&lt;br /&gt;
* macduy * ok&lt;br /&gt;
* amit8-88 * ok&lt;br /&gt;
* macduy * in simple, avoid using any limesurvey-related terms?&lt;br /&gt;
* jaycburton * Pardon my interruption. I have a little league baseball tournament game to coach in less than two hours. Can someone please email me the log once the meeting is over? TIA. And GO DIAMONDBACKS!&lt;br /&gt;
* holch * Give me this list of LS2 elements. Describe how you see it, how you would structure it, whatever I can get. I will try to work trough this (on an individual basis) and then I will try to join it somehow.&lt;br /&gt;
* macduy * Jay, np&lt;br /&gt;
&lt;br /&gt;
&amp;lt; El-Matador-69 has disconnected (Success)&lt;br /&gt;
* macduy * I&lt;br /&gt;
* macduy * I&#039;m copying the log onto the wiki right now as we speak :)&lt;br /&gt;
* jasebo * lol: cya jacyburton&lt;br /&gt;
* macduy * cya Jay&lt;br /&gt;
* holch * Later we are getting back to &amp;quot;colaboration&amp;quot;. But as I said. sometimes it is better to listen to the individuals first.&lt;br /&gt;
* jasebo * go Diamonbacks. I&#039;m your number one Aussie fan&lt;br /&gt;
* macduy * holch: be sure to play around with LS2 in the mean time too ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt; jaycburton has disconnected (&amp;quot;Miranda IM! Smaller, Faster, Easier. http://miranda-im.org&amp;quot;)&lt;br /&gt;
* dqminh * cya later jaycburton ;)&lt;br /&gt;
* amit8-88 * cya jay&lt;br /&gt;
* jasebo * I&#039;m off too.. it&#039;s past midnight&lt;br /&gt;
* jasebo * I&#039;m about to turn into a pumpkin&lt;br /&gt;
* amit8-88 * good night jasebo&lt;br /&gt;
* holch * Yes, I will will. I will also play with the 1.85 RC3, because we can learn a lot from the old tool.&lt;br /&gt;
* Mazi * bye jason&lt;br /&gt;
* macduy * oh noes, cye Jason&lt;br /&gt;
* holch * What works, what doesn&#039;t.&lt;br /&gt;
* holch * Good night!&lt;br /&gt;
* holch * I will have lunch soon... hahahaha.&lt;br /&gt;
* macduy * :D&lt;br /&gt;
&lt;br /&gt;
&amp;lt; jasebo has disconnected (&amp;quot;flies off to the RW&amp;quot;)&lt;br /&gt;
* macduy * first meetings always longer ;)&lt;br /&gt;
* macduy * ok, so next week, is everybody happy with timing?&lt;br /&gt;
* amit8-88 * yeah :)&lt;br /&gt;
* holch * No problem. I enjoyed it.&lt;br /&gt;
* Mazi * I&#039;ll see if I can attend but in general time is fine&lt;br /&gt;
* holch * Next week I won#t be able to make it.&lt;br /&gt;
* macduy * sure ;)&lt;br /&gt;
* holch * I&#039;ll be traveling (most probably) from Thursday to Sunday.&lt;br /&gt;
* Mazi * if holch is not availbe we should think about having the next meeting in 2 weeks?!&lt;br /&gt;
* macduy * in 2 weeks...&lt;br /&gt;
* holch * OK.&lt;br /&gt;
* macduy * depends, if there&#039;s something urgent...&lt;br /&gt;
* holch * Send me an reminder... ;)&lt;br /&gt;
* macduy * but 2 weeks is fine ;)&lt;br /&gt;
* macduy * I&#039;ll register this channel then&lt;br /&gt;
* amit8-88 * ok&lt;br /&gt;
* macduy * the key is &amp;quot;ls2&amp;quot;&lt;br /&gt;
* Mazi * macduy, will you send an email to the mailinglist about next and regular meetings?&lt;br /&gt;
* macduy * sure, will do next week&lt;br /&gt;
* holch * I will try to work a little on what you will send me as your views of LS2.&lt;br /&gt;
* holch * Maybe I can send some file for you to discuss.&lt;br /&gt;
* macduy * thanks everyone for making it and attending :)&lt;br /&gt;
* Mazi * macduy or holch, can someone summarize the results of this meeting?&lt;br /&gt;
* holch * Hahaha, not much results today, right?&lt;br /&gt;
* Mazi * always got for everyone just reading the docs to have some kind of conclusion&lt;br /&gt;
* macduy * general brainstorming :)&lt;br /&gt;
* holch * Have to think on how to structure this process a little more.&lt;br /&gt;
* macduy * lemme have a go:&lt;br /&gt;
* holch * Never had so many &amp;quot;clients&amp;quot; working with me on the same project...&lt;br /&gt;
* macduy * 1) Assignments/Survey Workflow needs work&lt;br /&gt;
* holch * And the users I can control better... :D&lt;br /&gt;
* macduy * 2) Think about Wizards and Workflows&lt;br /&gt;
* macduy * 3) Send holch entities of LS2 and actions they can perform&lt;br /&gt;
* macduy * 4) construct a semantic structure in near future&lt;br /&gt;
* macduy * all from me :), anyone else?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=UI_meeting_3_(20th_June)&amp;diff=3508</id>
		<title>UI meeting 3 (20th June)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=UI_meeting_3_(20th_June)&amp;diff=3508"/>
		<updated>2009-06-22T13:39:16Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Summary=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;(by macduy)&#039;&#039;&lt;br /&gt;
* Distinction between a &#039;&#039;&#039;&amp;quot;Questionnaire&amp;quot;&#039;&#039;&#039; (a form containing questions) and a &#039;&#039;&#039;&amp;quot;Survey&amp;quot;&#039;&#039;&#039; (the act of collecting data using a Questionnaire). In current LS2 implementation referred to as Survey and Assignment respectively. &#039;&#039;&#039;New intuitive terms are needed! It should be clear that a Questionnaire is a component of Survey&#039;&#039;&#039;&lt;br /&gt;
* Use &#039;&#039;&#039;&amp;quot;invite&amp;quot;&#039;&#039;&#039; instead of &#039;&#039;&#039;&amp;quot;assign&amp;quot;&#039;&#039;&#039;, as it sounds more friendly and less technical, less raw.&lt;br /&gt;
* Participants:&lt;br /&gt;
** add, delete, edit, create lists/groups&lt;br /&gt;
* Invitations:&lt;br /&gt;
** Quick Invite: e.g. using e-mails&lt;br /&gt;
** Add previous participants, already in the system&lt;br /&gt;
* Statistics/Reporting page:&lt;br /&gt;
** Survey Stats (# of respondents, recent activity etc.)&lt;br /&gt;
** Survey results&lt;br /&gt;
** Panel features (e.g. responses from participants of age &amp;gt; 25 etc.) - FUTURE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=- Meeting Log=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; hi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Good morning everyone!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; morning!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Sorry for being late. But I tried to get in for the last 30 minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Finally figured out some way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I think the time is pretty early for you and me, eh? Especially after being out late on Friday night here in NY...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; No one has said anything until you got here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think it is worse for you.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; For me 9 is OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so I think it&#039;s just you and me for now&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yeah, 8am here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Is it?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; soon I&#039;m going to Seattle for 3 weeks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; where it would be 5am&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; That&#039;s OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Oh, that is bad. Maybe we can check who will join on a regular basis and then set the timing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; especially if it&#039;s just you and me at the meetings =P&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; How was the last meeting? I read through the log, but...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 1st meeting was quite difficult to follow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; basically just introducing ourselves (Columbia)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Everyone was full of ideas and they were just firing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and we agreed that you were in charge ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Which is good, but it was really hard to follow and keep controll...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Look, I don&#039;t need to be in charge. I think this is a team thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; at the last meeting, we agreed that the first step was to work on the &amp;quot;general application structure&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But anyway. Let&#039;s talk business...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and not worry about the details of everything until after that&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Yes, I think this is important. We need to structure the whole thing a little bit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I thought about several navigations instead of one, as it is right now.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I would take all the general admin stuff out of the main navigation and put it on a secondary navigation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; we basically had 4 people at the last meeting -- me, my friend Jon (also from Columbia), and two developers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I think that&#039;s a good idea, because admin stuff isn&#039;t used very often&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK. The first time it was quite full... I can&#039;t remember how many of us were there, but the kept on coming and leaving... :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Exactly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You don&#039;t change the general settings of your installation everyday. Nor do you add/edit users on a daily basis or change your profile...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So lets take this out of the way of the normal user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; What are the main features?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; you mean, the main features of LimeSurvey2?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think there are 3 big areas, I don&#039;t know if you agree.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 1. Surveys (I would call them questionnaires anyway)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 2. Respondents or survey related&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 3. Reporting / results / statistics&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Anything else you could think of?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yeah, sounds good&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because currently LS uses survey for anything.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But from my point of few most time it is questionnaires they are talking about.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; For me a questionnaire is the List fo questions, with all filters, answer options, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; in this case, though, they may be attached to the word survey, because it is the title afterall, Limesurvey, ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; A survey is when you send that questionnaire out to people. But I might be wrong.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I&#039;ll read up definitions a bit right now&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, I don&#039;t think we should skip the word survey.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I just would distinguish between questionnaires and surveys.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; A questionnaire could be used for several surveys, a survey can have several questionnaires.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think &amp;quot;survey&amp;quot; is the real &amp;quot;assignment&amp;quot;... :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; ha, nice idea!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; here&#039;s the Oxford English dictionary definition for survey:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; A systematic collection and analysis of data relating to the attitudes, living conditions, opinions, etc., of a population, usu. taken from a representative sample of the latter; freq. = POLL n.1 7d. Also preceded by a defining word, as (public) opinion survey, social survey:&#039;&#039;&#039; see under the first element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, I think this definition is a little &amp;quot;narrow minded&amp;quot;, but it sums it up, more or less...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I don&#039;t know if it will fit with what LS2 normally does, but the questionnaire &amp;amp; survey breakdown you proposed would fit what we do (in our research at Columbia) very well&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; we do different surveys&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and each survey is composed of several questionnaires&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; one might be a demographic questionnaire&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; It would fit with what I do as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and we might use this same demographic questionnaire in each survey&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Right. That is what I am talking about.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; A questionnaire turns (more or less) into a survey, once you &amp;quot;assign&amp;quot; respondents to it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; So, at least in the way that we use LimeSurvey, I support your breakdown and terminology 100% :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You can use the questionnaire over time, for waves of a survey too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; While the survey itself is changing (e.g different respondents, or different time), the questionnaire might be reused for comparability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So if we would split this up, what would we need in &amp;quot;Questionnaires&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; 1. Create new questionnaire&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Create/edit/delete&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; 2. Edit questionnaire&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK. An overview of the questionnaires would be nice.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; The survey thingy is a little bit more difficult to grab.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; Maybe we call the section &amp;quot;survey respondents&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and in this section we put &amp;quot;token&amp;quot; management as well as &amp;quot;assignments&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; (but with better names)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Would be an option.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I am not sure if the LS team will be too happy with it. As you said, they use survey for years now. If we take the survey too much out of it... ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So what would be in this section?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes, especially because we are the upstart newcomers ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 1. Overview of surveys / active surveys / own surveys&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Exactly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; 2. Invite people to surveys&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I am not sure if it is good to suggest such an &amp;quot;extreme&amp;quot; step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I like &amp;quot;invite&amp;quot; a lot more than &amp;quot;assign&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes, me too&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Inviting is what we are doing, not assigning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Soons like the respondents are obligated...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; like it is a homework assignment or something&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This would lead me to a 4 steps approach:&#039;&#039;&#039; Questionnaires, Surveys, Respondents, Reporting&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; 3. Monitor survey invitations (?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This is an important one!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes, to see the response rate, etc -- but maybe this goes in reporting&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; or maybe both&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; anyway, I think the 4 categories sound good&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; No, I think response rates are not reporting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You are now known as Mazi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Or at least they should also be connected to the surveys.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hi Mazi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; hello!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; Hi @all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; it&#039;s just us three -- nice to have a dev here!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Or better:&#039;&#039;&#039; High you 2... :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; just reading up the log...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ...a short note about survey vs questionnaire:&#039;&#039;&#039; this might become difficult for suppoort because user might ahve problem to idfferentiate...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; we UI people are running amok and changing everything ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; if we have a wokrflow not showing survey AND questionaire at one screen this will be fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; the app has to guide the user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; so he doesn&#039;t wonder about the word survey/questionnaire&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi:&#039;&#039;&#039; actually I think users differentiate, but old LS users might be confused at the beginning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But we would be really consequent, I agree.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I also agree to rename assignements to invitations&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I am aware that this might be difficult.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But I would give it a try in a small test.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, there might be problems when having two terms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, you need 2 terms, because it is 2 different things.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; right now I can&#039;t think of two suitable translations in German. what about other languages which might only use one word for this&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; might raise problems&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Maybe we need to rethink the survey vs. questionnaire wording.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; just my 2 cents&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Fragebogen, Umfrage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; Maybe then we have &amp;quot;surveys&amp;quot; and &amp;quot;survey components&amp;quot; or soemthing like that? So that one term is obviously a subcomponent of the other&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; k, this fits. not sure about other languages though&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I don&#039;t have the best solution, but ideally the words should clearly demonstrate the relationship between the concepts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; components might be a good approach&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Questionario, encuesta&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; questionario, pesquisa (PT)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, what do you think about the &amp;quot;components&amp;quot; suggestion? It also makes clear how these parts are depending on each other&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmm, first problem:&#039;&#039;&#039; I don&#039;t really know what the survey and what the survey components are?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Again, a survey is the whole project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; basically, &amp;quot;survey component&amp;quot; = &amp;quot;questionnaire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; would be nice to have some more input on this, El-Matador-69, dqminh, what do you think?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dhardisty, I agree&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmmm, to be honest, for me it would be clearer to have survey vs. questionnaire. because everyone should know what a questionnaire is. If the would use survey synonimous, then at that point the would have to think for a second.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; they haven&#039;t said anything since I got here an hour ago, so you may be waiting awhile for their response ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But it should be clear soon, what is the difference between a survey and a questionnaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; my 2 cents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, I also agree to your arguments. as long as we don&#039;t have survey and quest. in the same menu/navigation element it will be fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But at least we agree, that we have to separate the &amp;quot;project&amp;quot; (survey) from the &amp;quot;questionnaire&amp;quot; (or survey component)...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; as said, the workflow has to be clear to the user like creating a survey first and then adding survey components/questionnaires&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Actually I think it will only work if the ARE in the same navigation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because people who did not distinguish between the two aspects, would have notice that there must be a difference obviously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, I&#039;m very interested in c_schmitz and jasebos (LS2 head developers) opinions about this differentiation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; If you use it on different levels, mixing the two, then we will be in real trouble.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; we also have to take a look at this from the developers view&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi:&#039;&#039;&#039; me too. ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; And I am totally aware that it might be difficult to convince them. But I would try.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; to see in what extend such a separation is posible at all or if the core engine has to be rewritten for this&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But I would also like to hear comments from less experienced people with LS. Because at the end it is them using it. The hardcore user will get used to anything anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, can you send an email to the mailing list about this to a) ask for other opinions and b) ask c_schmitz/jasbo about it?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; And let me get this straight:&#039;&#039;&#039; I am not here to change everything. I would if it makes sense and the others agree, but I don&#039;t to cause trouble in the team.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; as I mentioned last week, I can get the reactions of many naive users here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, I totally understand&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dhardisty, that would be great. other opinions are always helpful&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, I will try to note all that down, what we were talking today, try to make a little &amp;quot;concept&amp;quot; and send it around, asking for opinions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; thanks, holch!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yeah, thanks!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; and sorry for interrupting your discusion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; It might cause a little controversy, but that is OK, I think. Because it would make everyone think.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; haha, not at all!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; it is much better to have a dev here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so no interruption at all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, by the way, thank you for the email with your view of LS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; no problem&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You were one of 2. ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; 2? that sucks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, its OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; but there has already been an email to the list about this, right?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ...aksing for feedback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Answers in general were very &amp;quot;LS&amp;quot; anyway. Yes there has been an email, I think.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But anyway. I think I will change strategy.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I will think about an alternative concept, I will propose it and THIS will create responses for sure... :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, I will send another email to the list, asking for feedback to be forwarded to you&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; No, Mazi, I think it is OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; 2 responses from my point of view are not enough, but you know better&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; with some pushng it might be easy to get more feedback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think once I have send that concept, it is easier for everyone to participate. My first request was probably too &amp;quot;abstract&amp;quot;, because I wanted you guys to go back to the basics and think out of the box. Didn&#039;t really work as expected, so we will try it an other way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I agree.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think once there is a list of areas and actions it will be easier for them to start the feedback.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; definately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; And if it is critizing my concepts, that is fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; so let&#039;s continue with the next topic if this can be considered as &amp;quot;done&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; At least they think about it and have to search for alternatives.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So, what about the area &amp;quot;respondents&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; add new respondents&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; create a list of respondents&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; the second meaning of &amp;quot;assignments&amp;quot; :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Exactly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But isn&#039;t it clearer?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039;  I think everyone will understand it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I vote for &amp;quot;participants&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; participants is good.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; even more clearer from my point of view&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Better than respondents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; sure, participants is great for us&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; because in psychology research we call them participants all the time&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Not 100% exact either, but closer than respondents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; is there anything in detail that has to be discussed about &amp;quot;participants&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Probably &amp;quot;invites&amp;quot; would be probably more exact, but anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; from my point of view this should be the next step after having created the first survey using the wizzard. to create a list of participants or set the survey to open acces&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmm, no, I think participants/respondents/invites would be quite straight forward:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But wasn&#039;t it agreed that the wizard will come only later?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; we could have participants within the invitations section&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; In this case I would try to make the general structure as good as possible and then think about wether we need a wizard anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; If the structure is straight forward, a wizard would probably counterproductive anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so we have four sections on the top level (?):&#039;&#039;&#039; questionnaires/survey-components, surveys, invitations, and results&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think priority one is, to make a logical structure which 95% of the users will undersand immediately or without major problems,.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and participants (making groups of them, etc) goes within the invitations section&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; (?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes holch -- I agree that we should worry about the basic structure first&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmmm, yes, it would me more or less like this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and don&#039;t think about the wizard until afterwords&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; once we have the basic design in place, then we can consider whether or not to use a wizard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; And there would be a secondary navigation, where the whole general administration and user admin would be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; right&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So in the invitation section, what would we need?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think this is the most difficult section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because my respondent section would have been simple, and the survey section more complicated. By naming it invitation there would be moved some stuff from the survey section to invitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; right&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Participants:&#039;&#039;&#039; add, delete, edit participants / create lists, groups of participants&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; So in the invitation section, you have:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; yes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; plus also create / track invitations&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so you think that create and track invitations should go in with surveys?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, LS2 is designed to have a real panel system, much better than the token stuff in LS1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; this should be kept in mind for the invitation part&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmm, either that, or have an own section. Don&#039;t know if this makes it more complicated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But if we have a &amp;quot;participants&amp;quot; section, we would also have a little &amp;quot;panel software&amp;quot; already.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This could become quite huge in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I&#039;m also thinking about the possibility of assigning people depening on their user data like &amp;quot;only user older than 25, only males&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; With a lot of features...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ...but that&#039;s future stuff&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Exactly. That would be a panel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You are right. But a basic panel function would be needed from the beginning. Of course without all the segmentation stuff, but at least a list of participants and the possibility to group them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; sure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I&#039;m not sure if it&#039;s useful to already discuss layout details right now. I always like having 2-3 designs and discuss details based on this. what do you think?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But if we could keep this quite separated from the beginning, I think it would be easier to implement the more advanced panel functions later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; It&#039;s a pity that macduy isn&#039;t with us today...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; It&#039;s OK. I think we made a bigger step ahead today then the first time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I think it might be useful to have two parts:&#039;&#039;&#039; 1. add participants together with their data and 2. have a screen to assign people to surveys&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, I don&#039;t get this one...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; 2. should be kept simple so that user who only run one survey can easily assign all availabpe participants to a survey at once with one click&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I think he is proposing that we split &amp;quot;participants&amp;quot; and &amp;quot;invitations&amp;quot; into separate sections&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; exactly&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Definetly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; first screen to get the panel data, second screen to assign people to survys&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; that&#039;s fine with me -- it is a logical separation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I would also not require to add every participant necessarily to the general list of participants.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ? please explain?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; While this might be very interesting for many surveys, sometimes you have a list of people that you know you won&#039;t use again. So just upload an CSV and thats it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; or better yet:&#039;&#039;&#039; copy and paste their emails into a text box&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Then for others it might be interesting to have them in your list of participants for future surveys --&amp;gt; add them to the panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; making a csv file is hard for some people&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I see. there have to be functions to easily group participants and delete / add groups and assign them&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK, copy and paste is fine, uploading an excel sheet is OK, adding one by one...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dhardisty, I like the import by adding a simpel list of emaila dresses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But honestly, I would either put the invitation process in the survey section, or I would have an extra section for the invitations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; why?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I think maybe what holch means is this:&#039;&#039;&#039; when you go to invitations, you have two options. One is a &amp;quot;quick invite&amp;quot; where you just put in email addresses. The other is where you select participants (or groups of participants) that you have previously entered in the participants section&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because the invitation has usually to do with the survey.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, that&#039;s the problem:&#039;&#039;&#039; to offer both, panel functionalty AND easy to use interface for one time users&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I would like to have a simple area where you just take care of the details of your participants.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dhardisty, yet another great idea :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Then you can select the ones you want to have in the survey and create a &amp;quot;group&amp;quot; or &amp;quot;list&amp;quot;, you name it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; not my idea, but thanks ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Then from the survey section you can either choose one of those groups or just paste the emails.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; yeah, this will get tricky when talking about the details later, holch&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; has to be put into the workflow &amp;quot;somehow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think it is quite easy to put in the work flow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I think we need some forking at that point&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You create a survey, add a questionnaire to the survey, add participants to the survey.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; You can either decide to create a new questionnaire, or use an existing one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Or you can add new participants for this survey, or add new ones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; And there are surveys, where you just have a link, and don&#039;t need to send invitations to specific users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So there you are flexible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, are you familiar with creating workflow diagrams?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; would be great to see this on paper&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; makes it easier to share with others and to discuss details&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, I had started this last saturday, to bring my thoughts down on paper, but couldn&#039;t finish. I will try to come up with something this week so we can discuss it next saturday.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; that would be great!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Not last, but the one before.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Of course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; What about reporting, statistics, results section?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; we also need someone to sum up this meeting at the wiki. macduy did this before, maybe he can do so again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; that&#039;s important for other user who didn&#039;t participate so the knwo what we have come up to&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I will create the according wiki pages so holch can add the workflow ther&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, I can write a short sum up, because we can&#039;t go into the details anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; would be great&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so, in this section, we have:&#039;&#039;&#039; view results, export results, compare results (?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; what else?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; maybe compare is too much&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; agree, let&#039;s leave out compare&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; can we call this &amp;quot;survey statistics&amp;quot; in general&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dqminh, that&#039;s your part!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; sure, but then what is the difference between view results and &amp;quot;survey statistics&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, to be honest, I don&#039;t like statistics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; we can have a different wording&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; maybe one is browsing individual responses, and the other is summary stats?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I&#039;m not arguing the wording -- I don&#039;t even know the concepts yet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because there are the survey statistics (invitations, started interviews, finished interviews, etc.) and then the actual results of the survey.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; of what you have planned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; statistics will include simple overview of the survey results:&#039;&#039;&#039; like % completed, number of people taken the survey, result&#039;s diagram for each question.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dhardisty, dqminh is working on the statistics part to show results of a survey&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; result is more like exporting the whole result into a file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Compare results, what do you refere to with that?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I think it is probably too complicated, but I was thinking if you have different groups of participants you want to compare&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; or different surveys to compare&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; like for pre and post test&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; or maybe compare men and women&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; but I think that is too much&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This would be a very advanced killer feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Even many big ones don&#039;t offer this.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; those of us who need to do that can do it in a statistics package&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; maybe we just put this on a wish list for &amp;quot;some day&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and when LS2 is super popular and gets lots of funding, then we add it ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But if we could get an advanced tabulation feature one day, LS would be getting so much more users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; possible ;) I logged it already :D&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Thats fine. We need to note this ideas down.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Even if they are not for now.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, what do you mean by &amp;quot;tabulation feature&amp;quot;? a kind of filter like &amp;quot;only show results of people who answered Q2=male&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; So we will put the following into &amp;quot;results/statistics/reporting&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, cross tabs would be the term I was thinking of.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Having a table showing total results, and results for special groups side by side.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; let&#039;s put this on dqminh&#039;s list (if it&#039;s not already listed)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Eg. Overall satisfaction:&#039;&#039;&#039; First column = all respondents, second column = male, 3rd column = female, 4th column = 15-20 year olds, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; Mazi, I havent thought about that before. However we did have the group concept already.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, this will be quite complicated to implement. lt&#039;s only put it on the list for later and see to what extend the group feature can cover this&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; It&#039;s = let&#039;s&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I know. That was just thinking about future...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; let&#039;s continue with &amp;quot;So we will put the following into &amp;quot;results/statistics/reporting&amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; &amp;quot;survey statistics&amp;quot; like invitations send, interviews started, interviews finished, abortion statistics, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; &amp;quot;survey results&amp;quot;:&#039;&#039;&#039; tables, graphs for each question, later maybe advanded cross tabluation features (what we had discussed right now)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; and &amp;quot;export results&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; &amp;quot;export results/data/answers&amp;quot;. I would make this also accessible from the survey section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Something else, maybe you can help me...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; &amp;quot;export&amp;quot; is a familiar term for all of us, but maybe we should call it &amp;quot;download&amp;quot; instead? that might be better for brand new users&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; &amp;quot;download results&amp;quot;? Or is export common and understandable enough for new people? Maybe it&#039;s fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I am looking for a good wording for &amp;quot;user administration&amp;quot; with in the general LS administration section. I wouldn&#039;t want to have another &amp;quot;admin&amp;quot; within the admin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I&#039;m just brainstorming here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Download sounds good.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; but export isn&#039;t that bad either...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; export is more familiar with users I guess. Excel and OO both use Export ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; We will see.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I vote for export because this is the term used in LS1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This is a good one for actual normal users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; ok, sounds good&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so back to what we call the &amp;quot;user admin&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Well, first you export the data you want, then you download the file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; (including settings, permissions...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; This is how it works in Globalpark.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Because it gives you some flexibility.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; about &amp;quot;user admin&amp;quot;:&#039;&#039;&#039; the wording should always clearly differentiate between &amp;quot;participant&amp;quot; and &amp;quot;user&amp;quot; which might be another admin with less rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; In the export part, you decide what you want to select, which responses (all, only the complete ones), the whole survey or only some answers, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; when having a &amp;quot;user xxx&amp;quot; menu entry it always has to be clear what is meant by this&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, I totally agree.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But for me it is quite clear. User=person using LS. Participant/respondent = person giving responses to a survey.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; is there another term for &amp;quot;user&amp;quot; = person with LS admin rights?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Hmm, Limesurfer...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; lol&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; :-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; Limenist&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; Limemenist&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; Limer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Participants only have contact with LS via the questionnaire. The usually don&#039;t even know what LS is.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I vote for &amp;quot;limer&amp;quot; ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I would stick with &amp;quot;user&amp;quot; vs. &amp;quot;participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; fie with me&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; *fine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;El-Matador-691 has disconnected:&#039;&#039;&#039; Read error:&#039;&#039;&#039; 110 (Connection timed out)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I agree&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; As we will put the admin in a different navigation, we should not run into trouble.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; looks promising&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; any other topic for today?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; User can be and admin, a normal user (can only do certain things) or a &amp;quot;client&amp;quot; who can only see results.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; But this would be something for the rights management.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; yeah&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; dqminh, what time is it at your location?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so you are suggesting two separate admins? survey admin and user admin?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; No, I don&#039;t think so.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Should be 10:10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; am/pm?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; Mazi, 10:10 pm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Here it is 11:10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; 10:10 am...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; we can think about starting the next UI meeting an hour later&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Ahhhh, I thought you were talking about dhardisty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; should be fine for most people?!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; For me this would be OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; it is 10:11am here&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; soon I will be in Seattle for 3 weeks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; 3 hours earlier there&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; I think dhardisty would be more than happy about 1 more hour.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dqminh:&#039;&#039;&#039; fine for me ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; but next week I will be at a bachelor party&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so I think I will have to miss next week, sorry&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I&#039;ll be in a hotel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; 10 am is quite early for lazy PH.D. students&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; probably with a big hangover from the previous night&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; That is fine. We all have our lifes...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; plus the normal noon time is 5am there&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; haha, yes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; I do my best work at night, so I normally stay up quite late. Also, by the way, my friend Jon will be at the UI meetings sometimes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; we plan to &amp;quot;tag team&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; so he will come to the next meeting instead of me&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; sound cool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; dhardisty, I will try to send you a document during this week, so you can give your feedback and it can be discussed next time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; ok, great&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I will send an email to the mailing list and update the wiki&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; ..about the new schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, I will also tell macduy to create a new wiki page for todays wiki where you can upload files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Mazi, if I can make it and have dhardistys feedback, I will contact you to send the document around, so we can discuss it next saturday, OK?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK, uploading is even better.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; holch, uploading and email to the mailing list is best&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Can I save this chat somehow?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; I will add the logs to the wiki as soon as the page is set up and I can also email it to you&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dhardisty:&#039;&#039;&#039; copy and paste ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; Na, I am able to copy and paste... hhehhehehe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;holch:&#039;&#039;&#039; OK, does this mean we are through?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mazi:&#039;&#039;&#039; fine. any other tasks to be allocated?&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=GSOC09_dashboard_project&amp;diff=1434</id>
		<title>GSOC09 dashboard project</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=GSOC09_dashboard_project&amp;diff=1434"/>
		<updated>2009-05-25T11:50:13Z</updated>

		<summary type="html">&lt;p&gt;Macduy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;center&amp;gt;img/wiki_up/ls2_dashboard_ui.jpg &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aim of the project is to create a widget-based customisable dashboard for LimeSurvey2 administrators, allowing them to get an overview of any information inside LimeSurvey2. The widgets, from which the dashboard is constructed from, will be customizable, interactive, reusable and have a consistent design.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-=Widgets for Limesurvey 2!=-&lt;br /&gt;
&lt;br /&gt;
{cookie}&lt;br /&gt;
&lt;br /&gt;
= Implementation Ideas=&lt;br /&gt;
&lt;br /&gt;
== Paradigms==&lt;br /&gt;
&lt;br /&gt;
The widget UI will be based on the following paradigms:&lt;br /&gt;
*Display information concisely and cleanly&lt;br /&gt;
*Dynamic content - allow sorting of tables, display extra information in mouse tooltips etc.&lt;br /&gt;
*Multi-content capable, i.e. be able to switch between related content within one widget, using AJAX (see below)&lt;br /&gt;
*Minimal &amp;quot;chrome&amp;quot;: each widget has a title, control box, a first-level navigation, second-level navigation and optionally a third-level *navigation, giving the user a powerful ways to navigate information without too much interface clutter (see mockup).&lt;br /&gt;
*remember which information it has been displaying last time&lt;br /&gt;
*work uniformly in major browsers (IE6+, FF2+, Safari 3+, Chrome, Opera 9+)&lt;br /&gt;
&lt;br /&gt;
== Implementation notes==&lt;br /&gt;
&lt;br /&gt;
Some ideas and notes about the implementation:&lt;br /&gt;
*In the MVC pattern, the Widget will be a Model, with a View implementation that display different modes of the widgets (not different views!), i.e. most likely the settings mode and the display mode. This basic view will also draw the chrome. Each widget will thus be built using this Base View.&lt;br /&gt;
*Each specific widget then subclasses the base Widget model, specifying the navigation links and other widget-specific options&lt;br /&gt;
*Each of these links then displays content that corresponds to a LimeSurvey View, e.g. &amp;quot;display all surveys&amp;quot; View etc. Access is automatically controlled by the ACL. By clicking these links, the widget will request them using AJAX.&lt;br /&gt;
*Content, that will be displayed by the widget might need certain pre-processing, hence WidgetAdapters will be created to &amp;quot;mash&amp;quot; retrieved information from a View into widget-friendly format. (Alternatively, each Model could provide certain Views specially designed for display in widgets)&lt;br /&gt;
*The widget provides interface to interact with information, e.g. filter them or display extra information on demand. WidgetAdapters here will act the other way, converting these actions into URL requests and processing the result.&lt;br /&gt;
&lt;br /&gt;
=NAU Diagram (Not A UML Diagram)=&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard.png]]&lt;br /&gt;
&lt;br /&gt;
=Implementation Description=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039; Despite the diagram above, implementation details are likely to change during the development stage.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Widget Base Class==&lt;br /&gt;
&lt;br /&gt;
Widget base class is the Model-View-Controller trio, that implements the widget behaviour and data storage. Two tables will be created: &#039;&#039;&#039;Widgets&#039;&#039;&#039; for keeping track of individual widgets existing inside the system and &#039;&#039;&#039;WidgetTypes&#039;&#039;&#039; the different widget types available in the system.&lt;br /&gt;
&lt;br /&gt;
==Dashboard Class==&lt;br /&gt;
&lt;br /&gt;
Dashboard acts as a container for the widgets, retrieving and managing them.&lt;br /&gt;
&lt;br /&gt;
=Action Plan=&lt;br /&gt;
&lt;br /&gt;
== Outline==&lt;br /&gt;
&lt;br /&gt;
Main deliverables:&lt;br /&gt;
*Context-free dashboard (do not depend on the current page - admin&#039;s dashboard)&lt;br /&gt;
*Context-sensitive dashboard (widget display depends on the current view)&lt;br /&gt;
*Implement widgets for administration and survey management&lt;br /&gt;
*Integration with other modules (e.g. statistics)&lt;br /&gt;
*External dashboard, for placing widgets outside LimeSurvey&lt;br /&gt;
&lt;br /&gt;
== Milestones==&lt;br /&gt;
&lt;br /&gt;
More detailed plan for coding. More coding will be done during in the second half of GSOC, due to study constraints in the first half.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;Date&#039;&#039;&#039; (approx) || &#039;&#039;&#039;Milestone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|31th May||Complete a basic skeleton framework loading dashboards and widgets&lt;br /&gt;
|-&lt;br /&gt;
|7th June||Implement few basic widgets, as replacement for the current Admin page&lt;br /&gt;
|-&lt;br /&gt;
|14th June||Context-sensitive dashboard&lt;br /&gt;
|-&lt;br /&gt;
|21th June||Skinning, cross-browser&lt;br /&gt;
|-&lt;br /&gt;
|28th June||**EXAMS**&lt;br /&gt;
|-&lt;br /&gt;
|5th July||Implementing widgets, wrap up scripts and code for presentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;Date&#039;&#039;&#039; (approx) || &#039;&#039;&#039;Milestone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|12th July||Implementing widgets&lt;br /&gt;
|-&lt;br /&gt;
|19th July||Widget &#039;back-side&#039;: widget and dashboard options, customization; External Dashboard&lt;br /&gt;
|-&lt;br /&gt;
|26th July||Develop External dashboards and widgets&lt;br /&gt;
|-&lt;br /&gt;
|2th August||Integration with other modules (Statistics)&lt;br /&gt;
|-&lt;br /&gt;
|9th August||Integration/doing the odd bits :)&lt;br /&gt;
|-&lt;br /&gt;
|16th August|| Wrap up&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing and documentation will be done throughout the development.&lt;br /&gt;
&lt;br /&gt;
==Development Log==&lt;br /&gt;
&lt;br /&gt;
News and updates on development of this feature are recorded on [[GSOC Dashboard Project Development Log]]. Production timeline is logged on [https://www.ohloh.net/accounts/macduy/messages/timeline ohloh]&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*[http://socghop.appspot.com/student_proposal/show/google/gsoc2009/macduy/t123850575163 Original proposal]&lt;br /&gt;
*[http://micron.me.uk/test/ls2_widgets/index.html First (Basic) Prototype]&lt;/div&gt;</summary>
		<author><name>Macduy</name></author>
	</entry>
</feed>