# Setting up a new project Projects are the place in the RiskScape Platform where users can collaborate on building, running, and sharing results from RiskScape models. In this tutorial, we will set up a project for the files we used in the :ref:`getting-started` tutorial. .. tip:: For more general purpose information on projects, see the :ref:`projects` administration page. This tutorial assumes you are already the administrator of an organization. If you are not, but your are a group or a project administrator, you may be able to complete part of this tutorial. ## Organization administration To start, navigate to your organization page via the user menu in the top-right corner of the page. Click "Manage [your organization name]" and from there select "Groups" from the left hand navigation. .. image:: ../screenshots/user-menu-org-admin.png :target: ../_images/user-menu-org-admin.png :alt: User menu showing a link to manage an organization. .. tip:: The screenshot above uses the built-in RiskScape organization as an example, but you should see the details for your organization instead. If you do not see an option to manage your organization, it is likely that you are not an organization administrator and you will need to get in touch with someone who is to set up a project for you. ## Choosing a Group Groups are a tool for organizing your users and projects at a higher level than a project. All projects belong to a group, and users can be members of a group as well as a project. Our new project can be created as part of an existing group, or we can create a new group instead. For more details, see :ref:`groups`. .. image:: ../screenshots/project-creation/group-listing.png :target: ../_images/group-listing.png :alt: The group listing page. There is an "add group" button. In this tutorial, we will be creating a new group just for this project. Click the "Add Group" button, and enter a name for this new group. We are going to name it "Tsunami". As you enter the name, you will see that the Platform creates a "slug" for us as we type. This slug is what will be seen in the browser's address bar when you are looking at the group page, and is often used alongside the organization's slug to uniquely identify it. You can customize the slug if needed, but the platform-generated slug is usually good enough. You can also add a description to help identify and describe the purpose of the group, but this is optional. .. image:: ../screenshots/project-creation/add-group.png :target: ../_images/add-group.png :alt: A dialog box showing fields for name, slug and description Once you confirm the details for the new group and press the 'Add Group' button, you will be redirected to the group's page. From here we can add new projects as well as manage the members of this group. At this point, if you were to add a user to the group with the `admin` role, they would be able to administer the group for themselves - that user *could* now log in and complete the rest of the tutorial. .. tip:: See :ref:`projects` for more information on the relationship between groups and projects. ## Creating the project From the group page, click the "Add project" button. Similar to the step before where we created a group, we can enter the project's name, slug and description. They serve the same purpose on a project as they do for a group. .. tip:: A project's slug, in combination with its group and organization slug, uniquely identifies it within the RiskScape Platform. We are going to call our new project "Getting Started". .. image:: ../screenshots/project-creation/add-project.png :target: ../_images/add-project.png :alt: The group page for the new Tsunami group. There is an "add project" button. Similar to how we added a user to a group as an `admin`, we can also add a user to a project as an `admin`. This would give that user full control to administrate the newly created project. You may wish to "hand over" the tutorial to them to finish off setting up the project for themselves. ## Configuring an Engine After creating your project, you will need to decide whether to run models using managed or provided engines. Unless directed otherwise, you will want to use a managed engine, which uses the cloud to run your RiskScape models. .. tip:: For more about the difference between provided and managed engines see :ref:`managed_vs_provided`. In the project settings page (found in the left hand menu), we will switch our project to use a managed engine. .. image:: ../screenshots/project-creation/project-settings.png :target: ../_images/project-settings.png :alt: The project settings menu. The project is set to used managed engines. The engine size option allows you to choose how much cloud computing resource to run your model. A large engine will typically run your model faster and allow larger, more complex models to be run than a small or medium one, but will cost more per hour. ## Uploading project files Before uploading your project, make sure it works using the RiskScape Engine CLI on your computer first. It is quicker to build and debug models using RiskScape Engine's CLI than using the RiskScape Platform. Once confident our models are running without error, we can upload the files to our newly created project. While we could upload all of our project files individually using the Platform's web interface, the easiest way to transfer a lot of files is to use WebDAV. Get the WebDAV link to your new project from the files page, then follow the instructions in :ref:`webdav_files` to set up WebDAV. .. image:: ../screenshots/project-creation/webdav.png :target: ../_images/webdav.png :alt: The files page for the new project. The WebDAV link is visible. Once WebDAV is set up, you should be able to copy files from your local computer to the Platform, just as you would for copying files around your own computer. .. note:: Paths in your project files starting with `C:\\` (or `/` on Linux/Mac) will not work in the RiskScape Platform. These are "absolute" paths and refer to specific locations on your own computer. All paths need to be "relative", e.g. `data/buildings.gpkg` rather than `C:\\Users\\ronnie\\RiskScape\\Tsunami\\data\\builings.gpkg` .. tip:: Be careful what you upload. Some files, like `pycache` files are temporary, and not needed to run your models. If you upload them, you will incur unnecessary cloud charges for their storage. A common mistake is accidentally including the `output` directory which can be quite large. ## Loading your models Once your project's files have been uploaded, the final step is to reload the project. This tells the Platform to send your files to the RiskScape Engine so it can read your project's models in to the Platform. This button is located on the right hand side, next to the traffic light indicator. .. image:: ../screenshots/project-creation/reload-project.png :target: ../_images/reload-project.png :alt: A traffic light indicator and a reload project button. Once loaded, you should see your list of models (if not, see below). Try running a model to make sure it works. ## Tidying up Once you have something working, it's worth updating your `project.ini` to provide a better experience to the Platform users that end up running your models. You can add properties to parameters to customize what users see when they go to run a model. Usually you will want to provide nice labels and descriptions for each parameter, but it is also possible to define things like lists of options or provide more useful UI controls (like numeric entry or file chooser inputs for data). See :ref:`ui-parameters` for more details on what can be customized. ## Troubleshooting - Common issues - Incomplete file transfer Make sure all the project files were correctly transferred. If any are missing, you can upload them manually or through WebDAV - Project not loaded correctly Your models will not show up until you have told the Platform to reload the project. - Make sure you have enabled managed engines. The RiskScape Engine needs to run in order to see your list of models - Make sure you don't have any absolute paths