edsl icon indicating copy to clipboard operation
edsl copied to clipboard

Add a `.web()` method to edsl Survey object that calls coop routes for Google Forms / Limesurvey (default)

Open johnjosephhorton opened this issue 10 months ago • 3 comments

It should use the coop client (mirroring the .push / .pull methods in edsl/Base.py).

    def push(self, public=False):
        """Post the object to coop."""
        from edsl.coop import Coop

        c = Coop()
        _ = c.create(self, public)
        print(_)

e.g.,

>>> from edsl import Survey
>>> Survey.example().web()
Web survey created at https://ourlimesurveyinstance.com/x12889.

We should use service login credential stored in coop .env variables.

@apostolosfilippas what do you think about a .web() also creating a coop entry that will show the user the web-based surveys they have created this way?

johnjosephhorton avatar Apr 19 '24 12:04 johnjosephhorton

@johnjosephhorton I am working on it.

zer0dss avatar Apr 19 '24 13:04 zer0dss

The only problem that I see with creating a db entry the regular table is that we want to make the route unauthenticated. If it were authenticated, then I would create the survey table entry as well

apostolosfilippas avatar Apr 19 '24 14:04 apostolosfilippas

@onmyraedar re: coop-based surveys - this could be useful. @zer0dss did work on exporting to other survey platforms.

johnjosephhorton avatar Aug 15 '24 12:08 johnjosephhorton