diff --git a/source/fusiondirectory/development/How to/how-to.rst b/source/fusiondirectory/development/How to/how-to.rst deleted file mode 100644 index b13a69a96447a457556a4a13c021225448ae8eed..0000000000000000000000000000000000000000 --- a/source/fusiondirectory/development/How to/how-to.rst +++ /dev/null @@ -1,64 +0,0 @@ -============================= -How to Start Your Development Journey -============================= - -This guide will help you get started with development within our GitLab environment. -It covers account creation, issue reporting, branch creation, and submitting a Merge Request (MR). - ------------------------------- -1. Create a GitLab Account ------------------------------- - -1. Go to our GitLab instance: `<insert_gitlab_url_here>` -2. Click on **Register** or **Sign In** if you already have an account. -3. Follow the registration process, and once your account is active, sign in. -4. Ensure you have the necessary permissions to access projects. If not, request access from an administrator. - ------------------------------- -2. Select a Project ------------------------------- - -1. After logging into GitLab, click on **Projects** in the top navigation bar. -2. Select **"Explore Projects"** or **"Your Projects"** to find the relevant repository. -3. Most developments take place in the **plugins** section, so navigate there if applicable. - ------------------------------- -3. Create an Issue ------------------------------- - -To report a new feature or a bug, follow these steps: - -1. Navigate to the **Issues** section within the selected project: - - In the project repository, click on **Issues** in the left sidebar. - - Click on the **New Issue** button. - -2. Fill in the issue details: - - **Title**: A short and clear summary of the issue. - - **Description**: Provide a detailed explanation of the issue or feature request. - - **Template**: Use the available issue template and ensure all sections are completed properly. - -3. Click **Submit Issue** to create it. - ------------------------------- -4. Create a New Branch ------------------------------- - -When you create an issue, you should also create a branch for your development: - -1. Open the newly created issue. -2. In the right-hand sidebar, locate the **"Create merge request"** button and click on it. -3. A dialog will appear: - - Keep the source branch name descriptive (e.g., `feature-new-plugin` or `fix-bug-xyz`). - - The target branch should be the project's development branch (e.g., `develop`). - - Check **"Start a new merge request"** to begin tracking progress. -4. Click **Create Branch**. - ------------------------------- -5. Checkout Your Branch Locally ------------------------------- - -Once the branch is created, you can start developing: - -1. Open your terminal and navigate to your local repository. -2. Run the following command to fetch the latest changes: - diff --git a/source/fusiondirectory/development/How to/index.rst b/source/fusiondirectory/development/How to/index.rst deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/source/fusiondirectory/development/howtodev/how-to.rst b/source/fusiondirectory/development/howtodev/how-to.rst new file mode 100644 index 0000000000000000000000000000000000000000..6b3b2ccea13bcd30cc9b46dc1389688506743d77 --- /dev/null +++ b/source/fusiondirectory/development/howtodev/how-to.rst @@ -0,0 +1,124 @@ +======================== +Your Development Journey +======================== + +This guide will help you get started with development within our GitLab environment. +It covers account creation, issue creation, project forking, and submitting a Merge Request (MR). + +----------------------------------- +1. Create a FusionDirectory Account +----------------------------------- + +We have a fully automated process to grant you the necessary permissions for contributing to our projects. + +Follow the link below to register: +`https://iam.fusiondirectory.org/publicform.php?form=register` + +Once registered, go to our GitLab instance: `https://gitlab.fusiondirectory.org/` to log in and access projects. + +------------------------------ +2. Select and Fork a Project +------------------------------ + +1. After logging into GitLab, click **Projects** in the top navigation bar. + + .. note:: + The default project is **FusionDirectory**, located here: + `https://gitlab.fusiondirectory.org/fusiondirectory/` + +2. Click **"Explore Projects"** to browse available repositories or **"Your Projects"** to view assigned projects. +3. Most development work occurs in the **fd-plugins** section, so navigate there if applicable. +4. In the top-right corner of the project page, click **Fork Project**. This will create a copy of the full project within your namespace. + + .. image:: images/ForkFdPlugins.png + +5. Select the project URL, ensuring your username is included, as shown in the example below. You may change the **Project Slug**, but we recommend leaving it unchanged. + + .. image:: images/ForkFdPlugins2.png + +6. Click **Fork Project**. + +You will be automatically redirected to your own space, where you can now modify the project and create your first Merge Request. + +------------------------------ +3. Create a Development Branch +------------------------------ + +Now, let's create a **new merge request** for your forked project. + +1. Go to the **Merge Requests** section in the left sidebar and click **"New Merge Request"**. + + .. image:: images/NewMergeRequest.png + +2. On the new page, ensure the settings are correct: + + - **Source project**: Your personal fork (`[username]/[project-name]`) + - **Target project**: The original repository (`fusiondirectory/[project-name]`) + + .. image:: images/MergeRequestFromTo.png + + Click **Compare Branch and Continue**. + +3. In the dialog that appears: + + - Leave the branch name as suggested. We recommend using the same branch name as the issue title. + - Ensure the target branch is the development branch (e.g., `dev`). + + .. image:: images/FromTo.png + +4. Fill in the optional fields: + + - **Assignee**: Assign the MR to yourself. + - **Reviewer**: Assign another contributor or a FusionDirectory developer as a reviewer. + - **Milestone**: Select a milestone if applicable. + - **Labels**: These will be set automatically—leave them unchanged. + - **Merge options**: + + - Select **"Delete source branch when merge request is accepted"**, which is the default setting. + + .. image:: images/MergeRequestOptions.png + +5. Click **Create Merge Request** to begin tracking progress. + +------------------------------- +4. Checkout Your Branch Locally +------------------------------- + +Once the branch is created, you can start development. + +1. Click the **Code** button in the top-right corner of the page. +2. Click **Check out branch** to view checkout instructions. + + .. image:: images/Checkout.png + +3. Copy the provided Git command and execute it in your local repository to switch to your branch. + + .. note:: + Ensure your new branch is available locally. If not, clone your forked repository before running the above command. + +---------------------------------------- +5. Create an Issue on the Origin Project +---------------------------------------- + +Once you have completed your development and your merge request is ready, you need to create an issue on the original project. + +1. Navigate to the **Issues** section of the original project: + + - In the project repository, click **Issues** in the left sidebar. + - Click the **New Issue** button. + +2. Fill in the issue details: + + - **Title**: Provide a concise and clear summary of the issue. + - **Description**: Explain the issue or feature request in detail, including expected behavior. + - **Template**: Use the available issue template and ensure all sections are completed correctly. + +3. In the **Description**, make sure to link your Merge Request from your personal fork. +This allows the FusionDirectory developers to review your code and integrate it into the original codebase. + +4. Click **Submit Issue** to create it. + +--- + +That's it! +We look forward to your contributions and innovations! diff --git a/source/fusiondirectory/development/howtodev/images/Checkout.png b/source/fusiondirectory/development/howtodev/images/Checkout.png new file mode 100644 index 0000000000000000000000000000000000000000..10b55524575377c727c0fde2583a437550c4d9a7 Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/Checkout.png differ diff --git a/source/fusiondirectory/development/howtodev/images/ForkFdPlugins.png b/source/fusiondirectory/development/howtodev/images/ForkFdPlugins.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf78e4cc2dd7c90c0d69cba6014eb70f40dfb30 Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/ForkFdPlugins.png differ diff --git a/source/fusiondirectory/development/howtodev/images/ForkFdPlugins2.png b/source/fusiondirectory/development/howtodev/images/ForkFdPlugins2.png new file mode 100644 index 0000000000000000000000000000000000000000..2bcef415892cf1c452f8eb755b160f9f0cb0c794 Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/ForkFdPlugins2.png differ diff --git a/source/fusiondirectory/development/howtodev/images/FromTo.png b/source/fusiondirectory/development/howtodev/images/FromTo.png new file mode 100644 index 0000000000000000000000000000000000000000..9b40c00d94b9db6b0f9b7a480285b1b10710d234 Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/FromTo.png differ diff --git a/source/fusiondirectory/development/howtodev/images/MergeRequest.png b/source/fusiondirectory/development/howtodev/images/MergeRequest.png new file mode 100644 index 0000000000000000000000000000000000000000..5c54bb488388f51833dd115bd8829faa646ba03d Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/MergeRequest.png differ diff --git a/source/fusiondirectory/development/howtodev/images/MergeRequestFromTo.png b/source/fusiondirectory/development/howtodev/images/MergeRequestFromTo.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3aa7df880e98a634db940cf4340a077456e06f Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/MergeRequestFromTo.png differ diff --git a/source/fusiondirectory/development/howtodev/images/MergeRequestOptions.png b/source/fusiondirectory/development/howtodev/images/MergeRequestOptions.png new file mode 100644 index 0000000000000000000000000000000000000000..0667874937211dba6e1bcfee13245fd1ab76104f Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/MergeRequestOptions.png differ diff --git a/source/fusiondirectory/development/howtodev/images/NewMergeRequest.png b/source/fusiondirectory/development/howtodev/images/NewMergeRequest.png new file mode 100644 index 0000000000000000000000000000000000000000..50e9fe90897b1ee8a42934977aa07445458f2834 Binary files /dev/null and b/source/fusiondirectory/development/howtodev/images/NewMergeRequest.png differ diff --git a/source/fusiondirectory/development/howtodev/index.rst b/source/fusiondirectory/development/howtodev/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..cda7c4b5c0c7fb4302223c748ea13451f60e60ec --- /dev/null +++ b/source/fusiondirectory/development/howtodev/index.rst @@ -0,0 +1,7 @@ +Start developing +================ + +.. toctree:: + :maxdepth: 2 + + howtodev/how-to.rst diff --git a/source/fusiondirectory/development/index.rst b/source/fusiondirectory/development/index.rst index 584616ada701dc82e1a7f2ebaf0312bd8b307fe0..8239d88502265891f85fd87e34cf0f128a5b2f49 100644 --- a/source/fusiondirectory/development/index.rst +++ b/source/fusiondirectory/development/index.rst @@ -6,6 +6,7 @@ Development contribute/guidelines.rst + howtodev/how-to.rst codingstyle/index.rst writeplugin/index.rst api/index.rst