-
Notifications
You must be signed in to change notification settings - Fork 16
Projects
Projects are a new way to organize your work in lively.next. Previously, users had to create worlds and load local packages from disk. Now, users can create Projects that can be opened directly from the Dashboard. Opening such a project will automatically load a package of modules that exist as real files on disk when lively has loaded.
On the Dashboard, you can either create a new Project by pressing the green button or load any project that exists on the machine where your lively server is running. In most cases, these will be all projects that exist in the local_projects
folder of your local lively.next
installation.
To use lively.next with Projects, it is strictly necessary to have a GitHub Account!. When you are not currently logged in inside of lively.next
, you will be prompted to do so upon creating a project.
github_login.mp4
From a technical standpoint, logging in will store a token and some additional data in the localStorage
of your browser. Thus, besides explicitly logging out, deleting the localStorage
of your browser or switching browser will log you out.
When you are logged in, you can create a project. There are two ways to do that: Creating an entirely new project or initializing an existing project from a remote.
The latter option will take the URL to a GitHub repository that contains a lively.next
Project and clone that to your local machine and open it afterwards. If a Project is opened, that means that the SystemBrowser
automatically loads the modules contained in the Project and that you can save it. Currently, correct behavior is only guaranteed for repositories that are public and that you have write access to with the logged in GitHub account.
When you create a new Project you can choose to also create a GitHub repository for the new project. If you choose to do so, the repository will automatically created and lively will automatically set everything up for you to publish your progress and retrieve the latest changes that other collaborateurs may have made. Note, that there is currently no way to add a remote to a local repository inside of lively.next if you do not tick this box. This means that to set up a remote later, you will need to use git on the command line. We currently do not support the creation of private repositories. You can choose to create the repository under an organization where you have the necessary rights, if you want to. The project will be stored inside of a folder of the local_projects
folder on your machine. The naming scheme is "owner-projectName", where owner is your github name or the name of the chosen organization respectively.
After you have created a project, that project will automatically be opened for you. Another way to open a project is via the dashboard (see above). You can also open a project via the browser URL. The scheme for this is as follows: http://localhost:9011/projects/load?name=NAMEOFTHEPROJECT&owner=OWNINGGITHUBENTITY. For example, my GitHub username is linusha and I could open a textproject by entering: http://localhost:9011/projects/load?name=testproject&owner=linusha. When you open a project, you can find its files in the system browser automatically:
When you load a Project, it will automatically retrieve the most current version of the project, if it is hosted on GitHub. Note, that working without internet access currently leads to undefined behavior. You can save your changes by pressing the save button in the topbar of lively.next. A prompt will open where you can describe what changes you made.[Note, that this will also be used as the commit message for this save, as a save is technically nothing other than a commit.]
[Technical Note: When saving, you can also choose to bump the minor or major version of the Project. The patch version gets bumped automatically, if you do not pick one of these.]
A Project comes with a bunch of preconfigurations for you to get stuff done easily.
We preconfigure your project with a build script that should get you started. You can run that with npm run build
or npm run build-minified
respectively.
When you generate a Project with a remote, we automatically generate a GitHub Action that runs the tests inside of your project on every push.