We're Making a Forms app

We’re a team of 8 UMD students. We’re taking a software engineering class and as part of the class we have a semester long project. The project that has been assigned to us is to create a forms app similar to what google has for the nextcloud platform.

I just wanted to make this post to get people excited and to hear about any requests you may have so we can consider implementing them.


That’s a great idea.

What output do you plan on having?

  • A simple csv in the file storage?
  • A calc file?

Or will you store it in the DB with an optional automatic export function?

If so would you do something like the sensorlogger app and have some graphs for submissions?

If you have graphs would you be able to make them publicly visible to respondents? say like an online quiz showing how many people got how many answers

Hi there,

I would like to see the notification via mail implemented. It would definitely help me adopt your form app, deprecating Google Form.

Thanks for considering!

We were thinking about simply doing a csv but if we have time we can look into storing it in the DB and creating graphs for analysis

1 Like

Good idea, we’ll try to add it

This is fantastic. Things I would love to see:

  • Conditional logic (both with question flow & within questions to mask/change questions/answers based on prior question)
  • Storing data in a db, but easy CSV export
  • Clean URLS (mynextcloud.com/survey/NICESURVEYNAME)
  • Validation code (including regexs)
  • Built-in question types (text, drop down, radio, checkbox)
1 Like

How about making a backend for Enketo: https://enketo.org/ ?

Some demo here: http://enketo.github.io/enketo-iframe-demo/

Super awesome would be ODK mobile app support as well: https://opendatakit.org/

Sadly the php based server implementations never went very far:

Conditional logic would be nice to have. It’s available in the surveyjs library that we’re considering using so it will just be about creating a nice enough form builder.

Storing data in the db with easy CSV export is probably the way to go

We’ll add this to the nice to have list.

By validation code I assume you mean giving people unique codes to see who has filled out the form

Built in question types are basically guaranteed :slight_smile:

Enketo looks like a good option. We were considering using surveyjs.io, your thoughts on why we should use Enketo instead? I only did a quick look through of Enketo and it seems that SurveyJS would be easier to use, I could be wrong though.

Depends IMHO about your goals. If it is just a quick online survey app than surveyjs is probably easier, yes. But why exactly would you need “yet another online survey app” with the only differentiation of it being in Nextcloud?

But starting a larger project of getting the ODK ecosystem to work with Nextcloud would be a really cool and an actual feature many of the ODK users have been asking for (since the server backend for the mobile ODK surveys is pain to self-host).

By validation, I mean validation of the survey answers, which comes in both simple (is this an email in my email field) and complex (you told us you did ride your bike in the past month, yet now you are saying you don’t own a bike)

I’m with Krischan on this - the ODK ecosystem looks incredibly powerful and the options that Enketo offers look to be far better than surveyjs (although surveyjs has a better builder)

Ahh, that is probably not doable by us unfortunately. If we have extra time we can try but I can’t say that it’s high priority in our nice to have feature list.

1 Like

I’ll take a closer look at Enketo and discuss with the team and our professor.

1 Like

Cool. As a form builder the pure javascript one from CommCareHQ might work better than the one build into ona.io and kobotoolbox (ODK based platforms). See:

But a lot of people actually like making the forms with the xls table format, see: http://xlsform.org/
ODK also has an online converter for it: https://opendatakit.org/xlsform/

Edit: for reference there is also the more official ODK Build that might also work (with a rewrite of the Ruby backend):

1 Like

In Python, but it might be the most basic ODK server implementation to reference for writing a new Nextcloud version :slight_smile:

My organization would use this if the link to a survey would open and function reliably on mobile phone browsers.

We have decided to go with surveyjs. We are on a tight schedule and surveyjs will be easier to implement for us.


Will keep this in mind. It should work on mobile

Hi, how about the progression of the project? :slight_smile:

1 Like