Factory Use Cases

What are the possible uses of Codenvy Factories? Factories are essentially on-demand, instant-access, fully functional IDEs. We hope that Factories service the portions of the market where vendors, developers, and organizations need instant access to a development environment. Here are the areas where we see Factories being used today.

Cloning a Developer Environment

One of the possible usecases for Factories is cloning developer environment. Instead of sharing a GitHub URL, cloning a project to a local IDE, setting up required environment and runtime, clicking a Factory URL automatically creates a fully functional Codenvy workspace with a source project, already configured to be built, tested and run in the cloud.

Getting Support

Factories can enhance code sharing for the purposes of support. Instead of sending code snippets between friends, or posting on Forums, Factories allow users to post a functional development workspace paired with the code snippet so that readers can visualize the same behavior that is being described. This also includes access to project properties: e.g. project type, PaaS or datasource configuration. Fellow coders willing to help will view an identical project with identical settings, in an identical environment.

Simpler Project Onboarding for Users

Factories can be used to simplify the getting started process for a complicated project. A Factory is a clone operation mixed with a set of commands to enable build, run, and debug of the application. We have also designed a visual button configuration so that it will be possible to embed Factory URLs cleanly in git repositories, on ReadMe.md pages, and other locations where developers want to get started with software.

Throw-Away Workspaces

Throw-away workspaces are ideal for individuals who want to quickly test a snippet of logic outside of their normal workspace. It’s also ideal for someone trying a new technology briefly where they want to perform some trial-and-error behaviors.

Tracking Behavior of Experimental Technology

Experimenting with new technologies often implies a lot of administrative work related to setting up an environment for testing, building and running apps, as well as looking for plugins and installing them. With Factories, trying a new technology can be quick. Check out our Tutorials — filled with Factories — to experiment with new technologies.

Isolated Collaboration

This is a collaboration mode where two or more developers work on the same project using temporary workspaces and, for instance, push results to one shared GitHub repository. In such a way, users do not get access to workspace configuration and other projects. Such collaboration is initiated by a user sharing project Factory URL with others.

Team Separation of Duties: Front-End vs. Back-End; API Publisher vs. Consumer

Creating a Factory is an effective way to share work results across teams that focus on different parts of a project that need to be synchronized. Rather than creating environments to test projects, a temporary workspace is created and can be consumed by any team member. Possible scenarios may include front end collecting and processing data from a user to back end, or API ready to be used by its end consumer. Creation of a workspace with the environment identical to the source project is the best solution to test components of large systems or API triggers.