Projects in Space: Self-Service Over Request-And-Wait
The main idea behind projects in Space is to give each team a distinct place for all their work-related resources, which is conveniently organized, managed, and easy to navigate to.
If you are already familiar with the concept of Teams in Space, you may wonder how Projects fit in. While it is usual for a team to have an only project, it’s not always the case. Sometimes you want to invite a person from another team to help with something, or people from different teams want to get together to start a new side project.
That’s why we decided to keep the team-project relationship model flexible and open to various real-life scenarios. In Space, a project is not implicitly bound to any team and vice versa. It’s designed to be a self-contained and independently managed entity with its own permission set. It means that a team can work on multiple projects and every member of a team can participate in various projects at the same time.
We want projects to become a comfortable workspace for everyone: from software developers, QA engineers, designers all the way through to marketing and sales.
Developers will appreciate the reliable git hosting and rich interactive environment provided to them with everything they need to collaborate with each other at all the different stages of the development lifecycle. In the future, with the more general features we’re rolling out, non-development teams can benefit from using Projects as well by adopting the top-down planning tools, issue tracker, knowledge base and process management tools.
Whatever work you do, you’ll get access to a large number of seamlessly integrated features that can help you and your teammates organize your workflow and boost productivity.
Here is what’s already available inside the Projects:
- Source code management (Git hosting): Host one or multiple repositories within a project; manage a repository with configurable push restrictions, protected branches, and webhooks.
- Code browsing: Browse and search the code base, view the commit history and compare revisions in a diff.
- Code review: Review and discuss changes, comment on selected lines, and subscribe to updates.
- Web Editor: Edit files and push changes right from the web UI.
- Members and Responsibilities: See who is contributing to the project and who’s in charge of what.
- Checklists: Manage your project development cycle by setting goals and deliverables in easy-to-track checklists. The first step towards the powerful planning tool, fully integrated into the issues and other modules.
- Issues: a lightweight way to track issues inside the project. The first step towards the full-featured issue tracker, fully integrated, with rich customization capabilities.
Related to Projects:
- Package management: Storage for package repositories that can be used in your CI/CD pipelines as well as from developer machines.
Here is what we are cooking up:
- Automation: Integrated CI/CD tools with a Kotlin based DSL and pipeline graphs.
- Planning tools/Issue tracker evolution/Wiki: A powerful fusion of structured task lists, full-featured issue tracker, and project documentation with cross-reference, search, and analytics. Issues can be created out of task-list items and then combined in a single issue list.
- IDE Integration: An IDE plugin that lets you review code, comment on fragments, and communicate with your teammates right from your IDE.
Who can create a project in Space?
Anyone! There are no restrictions. Whether you’re considering to move an existing codebase or starting something new, Space welcomes you. All projects are “self-service”, meaning that once you create a project, you get full control over it and become the project administrator. Grant access to other contributors and manage repositories – you’re in command.
To create a project, just click
+ on the main sidebar, choose New project, and fill out a few fields on the form.
When adding a repository to your project, you have a choice of creating one from scratch, importing an existing repository from some external hosting, or you can just make a synchronized mirror of a repository to browse its codebase, review changes online, and use other tools included with the project.
Access and membership
As mentioned before, projects are not part of the Teams. They are designed as independent modules with per-project membership requirements.
While anyone inside your organization can browse code, participate in code reviews, and post comments, only the project members are allowed to change code and tweak with the internal project tools.
The project administrator can grant membership to individual users and entire teams as they choose.
Last but not least: a project can be made private, which means it will be hidden and inaccessible to anyone but its members (and the system administrator). So, if you ever want to start your own secret project, now you can!
Join a project
Here is what you need to do if you want to join an existing project and start contributing to it:
- Click your avatar → My profile → Git Keys & Passwords) and add your public SSH key.
- You need to be a project member. If you already are, the project will be shown in your profile, and you’ll be listed on the Project Settings->Access page under Project Members. If not, contact the project administrator and ask for membership. As of now, Space can’t show you who the project administrator is, so you’ll have to ask around.
- Go to your project, choose the right repository, get its URL, and follow the instructions in README. That’s all there is to it.
Play with it!
Most of the project features are available regardless of membership. Try them out!
We hope this post helps you get started. If you haven’t joined Space yet, request your invite today. Space is closer than you think and is waiting for you!
Your Space Team