def start(cls, ev):
        """
        Read all data from Views and send them to the backend.
        """
        ev.preventDefault()
        ev.stopPropagation()

        ViewController.log_view.add("Beginning MARCGenerator request..")

        if not ViewController.validate():
            ViewController.urlbox_error.show(
                "Vyplňte prosím zvýrazněné hodnoty."
            )
            ViewController.log_view.add("Aborting. Not all required data set.")
            return

        # make sure, that `url` was filled
        url = ViewController.url.strip()
        if not (url.startswith("http://") or url.startswith("https://")):
            ViewController.urlbox_error.show(
                "`%s` není validní URL! Zkuste přidat http:// | https://" % url
            )
            return

        properties = ViewController.get_all_properties()
        properties["rules"] = RulesViewController.get_dict()

        # keep the url_id from hidden input
        if "url_id" in document and document["url_id"].value:
            properties["url_id"] = document["url_id"].value

        ViewController.log_view.add(
            "Sending following data: %s" % repr(properties)
        )

        make_request(
            url=join(settings.API_PATH, "to_output"),
            data={"data": json.dumps(properties)},
            on_complete=cls.on_complete
        )
Read all data from Views and send them to the backend.