jelhan/croodle

Installing Croodle

tobidwest opened this issue · 17 comments

Hi,

I just cloned the repository and run the composer but it still shows a Apache test page.

I'm also wondering that there is no index.html inside the repository.

How can I solve this?

Thanks!

I'm not sure what you are trying to achieve. Did you have seen the build process and installation instructions?

Thanks for your quick response. I've seen it.
Since we're on shared hosting, I can only use Plesk and not run the commands. So, I cloned the repository so far and ran composer. I'm not sure, how to continue.

If there isn't a good reason to do your custom build, you should just download a build from the release, unpack it and upload it to your shared hosting.

If you need to do a custom build cause you want to customize Croodle, you should do the build locally as described in the build process and installation chapter in readme and upload the build output in dist/ folder to your shared hosting.

In both cases there is no need to run any commands on the hosting server. You only need to configure the web server as described in webserver configuration chapter of readme.

I fear you missed the first paragraph of the Build process and installation chapter.

Production builds are provided as github release assets.

The default way to install Croodle is to download the latest one, extract it and upload it to a web server.

Thanks but it still just shows an empty screen when visiting the webpage

It's difficult to say what is going on without additional information. Croodle consists of two parts technically speaking:

  1. A client, which is just a bundle of static HTML, CSS and JavaScript and
  2. a REST API written in PHP.

Even if the REST API is not working you should see the application cause as said it's just a bundle of static files. Very simple. If you don't see them, your web server seems to not serve the index.html of the release or the JavaScript assets could not be accessed. Please check the developer tools to see what's going on.

That's the case, I just noticed that the index.html is empty when accessing through the browser. However, it isn't empty when viewing it via Plesk or ftp.

@jelhan Thanks! I got it working. Btw can I disable the language picker and set a default?

Glad that I was able to help.

Btw can I disable the language picker and set a default?

What's your use case? It should pick the preferred language of current user. Depending on his OS and browser settings.

The case is that I set it up for a school press

Good to hear that the software is helpful for education!

Any possibility of doing that? Or is it quicker to just add this information for the other languages as well?

It's possible but would require a custom build and some modifications to the internals. Haven't tested but maybe deleting all other locals except the expected one from app/locales/meta.js and translations/ might be enough. I'm not sure if English fallback is hardcoded somewhere. If your target language is not English and you are facing bugs if removing it, please open a bug report.

If this is easier for you than adding that information also for other languages depends on your knowledge about the tools and how easy it is for you to do such a custom build. I tried to document the steps but the documentation is written for developers that are used to work with such tools on command line.

Has a password protection for creating new polls already been suggested?

What would be the use case? I don't see any harm by allowing everyone to create polls. The required storage is very low. State is not shared with any other poll. It's not even shown to anyone that does not access it explicitly through URL.

All though the storage consumption is very low, it'd be still nice to limit creation, in case you have very limited storage. When you share the participation URL to some externals, it's not difficult to find out how to create new polls on your server. Also, abuse can be prevented (like externals using it to host illegal content).

All though the storage consumption is very low, it'd be still nice to limit creation, in case you have very limited storage.

This sounds like an edge case that doesn't justify the additional work in my opinion.

Also, abuse can be prevented (like externals using it to host illegal content).

If there is a realistic attack that misuses the poll creation to host content, I would consider this a security issue that needs to be fixed.

Will closing this for now as the installation related questions seems to be resolved. Feel free to reopen another issue if you have additional questions.