Remove v2 sub folder and add Front Matter

This commit is contained in:
René Pfeuffer
2020-05-06 15:41:14 +02:00
parent 485b91575d
commit daeb8b7cbb
41 changed files with 212 additions and 220 deletions

View File

@@ -1,105 +0,0 @@
The easiest way to share and manage your Git, Mercurial and Subversion
repositories over http.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely
configureable from its Web-Interface
- No Apache and no database installation is required
- Central user, group and permission management
- Out of the box support for Git, Mercurial and Subversion
- Full RESTFul Web Service API (JSON and XML)
- Rich User Interface
- Simple Plugin API
- Useful plugins available ( f.e. Ldap-, ActiveDirectory-,
PAM-Authentication)
- Licensed under the MIT-License
### News
- **2018-09-25** - [SCM-Manager 2 gets a boost by Cloudogu GmbH](https://www.scm-manager.org/scm-manager-2/scm-manager-2-gets-a-boost-by-cloudogu-gmbh/)
- **2018-05-04** - SCM-Manager 1.60 released ([download](http://www.scm-manager.org/download/) \|
[release notes](release-notes.md))
- **2018-04-11** - SCM-Manager 1.59 released
[All news](http://www.scm-manager.org/news/)
### Mailing List
- <scmmanager@googlegroups.com> -
[archive](http://groups.google.com/group/scmmanager) \|
[subscribe](mailto:scmmanager+subscribe@googlegroups.com)
\|
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com)
### Use SCM-Manager
- [Getting started](getting-started.md)
- [Download latest version](http://www.scm-manager.org/download/)
- [Frequently Asked Questions](faq.md)
- [Upgrade SCM-Manager to a newer version](upgrade.md)
- [Download latest snapshot release](download-snapshot-release.md)
- [Download Archive](download-archive.md)
- [Command line client](command-line-client.md)
- [SCM-Server SSL](scm-server-ssl.md)
- [ApplicationServer (Tomcat/Glassfish/Jetty)](applicationserver.md)
- [Using SCM-Manager with Apache mod\_proxy](apache/apache-mod_proxy.md)
- [Using SCM-Manager with Nginx](nginx.md)
- [Using SCM-Manager with IIS (Helicon)](iis-helicon.md)
- [Permissions](Permissions.md)
- [Plugins](http://plugins.scm-manager.org/scm-plugin-backend/page/index.html)
- [Revision Control Plugin Comparison](rv-plugin-comparison.md)
- [Screenshots](http://www.scm-manager.org/screenshots/)
- [Mercurial Subrepositories](subrepositories.md)
- [Unix Daemons and Windows Services](daemons.md)
- [RPM and DEB packages](RPM%20and%20DEB%20packages.md)
- [Build windows mercurial packages for SCM-Manager](https://bitbucket.org/sdorra/build-win-hg-packages)
### Plugin documentation
- [Active Directory Plugin](active-directory-plugin.md)
- [Branch Write Protect Plugin](branchwp-plugin.md)
- [Jenkins Plugin](jenkins-plugin.md)
- [Jira Plugin](jira-plugin.md)
- [Mail Plugin](mail-plugin.md)
- [Path Write Protect Plugin](pathwp-plugin.md)
- [Redmine Plugin](redmine-plugin.md)
- [Scheduler Plugin](scheduler-plugin.md)
- [Trac Plugin](trac-plugin.md)
- [WebHook Plugin](webhook-plugin.md)
### Development
- [Building SCM-Manager from source](build-from-source.md)
- [Java Client API](java-client-api.md)
- [Code Snippets](code-snippets.md)
- [Configuring Eclipse projects for SCM-Manager](configure-eclipse.md)
- [Plugin Descriptor](plugin-descriptor.md)
- [ExtensionPoints](ExtensionPoints.md)
- [How to create your own plugin](howto-create-a-plugin.md)
- [Injection Objects](injectionObjects.md)
- [API documentation](http://docs.scm-manager.org/apidocs/latest/)
- [WebService documentation](http://docs.scm-manager.org/restdocs/current/)
### SCM Manager 2
- [Getting started](v2/getting-started.md)
- [Base directory](v2/basedirectory.md)
- [Logging](v2/logging.md)
- [Configuration for Intellij IDEA](v2/intellij-idea-configuration.md)
- [SCM v2 Test Cases](v2/test-cases.md)
- [Table of decisions made during development](v2/decision-table.md)
- [Definition of done](definition-of-done.md)
- [Style Guide](v2/style-guide.md)
- [Error Handling in REST, Java, UI](v2/error-handling.md)
- [Create a new Plugin](v2/create-plugin.md)
- [Migration Wizard](v2/migration-wizard.md)
- [Plugin Development](v2/plugin-development.md)
- [i18n for Plugins](v2/i18n-for-plugins.md)
- [Extension Points](v2/extension-points.md)
- [Migrate Plugin from v1](v2/migrate-plugin-from-v1.md)
- [API changes](v2/api-changes.md)
- [Permission concept](v2/permission-concept.md)
- [Vulnerabilities](v2/vulnerabilities.md)
- [Common pitfall](v2/common-pitfall.md)
- [Release process](v2/release-process.md)
- [Known Issues](v2/known-issues.md)

View File

@@ -1,4 +1,6 @@
# State of SCM-Manager 2 development
---
title: State of SCM-Manager 2 development
---
The development of SCM-Manager 2.0.0 is organised in [Trello Boards](https://trello.com/scmmanager).
## [Milestone 1](https://trello.com/b/oit1MD92/scm-manager-2-0-0-milestone-1)

View File

@@ -1,4 +1,6 @@
# SCM-Server and Apache mod\_jk
---
title: SCM-Server and Apache mod\_jk
---
### Apache Configuration
```apache

View File

@@ -1,4 +1,6 @@
# SCM-Server and Apache mod\_proxy
---
title: SCM-Server and Apache mod\_proxy
---
### Apache configuration

View File

@@ -1,4 +1,6 @@
# Base Directory
---
title: Base Directory
---
The SCM-Manager base directory aka. home directory,
contains all data which is created by SCM-Manager such as repositories and configurations.

View File

@@ -1,18 +1,20 @@
# Building SCM-Manager from source
---
title: Building SCM-Manager from source
---
### Software Requirements
- JDK 1.7 or higher
([download](http://www.oracle.com/technetwork/java/index.html))
- JDK 1.8 or higher
([download](https://openjdk.java.net/install/))
- Maven 3 or higher ([download](http://maven.apache.org/))
- Mercurial ([download](https://www.mercurial-scm.org/))
### Build SCM-Manager 1.x from source
### Build SCM-Manager 2.x from source
```bash
hg clone https://bitbucket.org/sdorra/scm-manager
hg clone https://github.com/scm-manager/scm-manager.git
cd scm-manager
hg update 1.x
git checkout develop
mvn clean install
```
@@ -26,15 +28,3 @@ located at **scm-server/target/scm-server-app**.
You can also start a dev server using `mvn jetty:run-war -f
scm-webapp`. SCM-Manager is served at <http://localhost:8081/scm>.
### REST
Docs:
- Create the documentation: `mvn -f scm-webapp compile -P doc`
- The documentation can be found at scm-webapp/target/restdocs
Note that if using jetty (see above) you have to access
<http://localhost:8081/scm> once, to trigger creation of the
`scmadmin` user. Then you can access the REST api directly
<http://localhost:8081/scm/api/rest>

View File

@@ -1,4 +1,6 @@
# Command line client
---
title: Command line client
---
You can download the command line client from
[here](http://www.scm-manager.org/download/) (the scm-cli-client).

View File

@@ -1,4 +1,6 @@
# Common pitfall occurred while developing the SCM V2
---
title: Common pitfall occurred while developing the SCM V2
---
## React Component is loaded unexpectedly

View File

@@ -1,4 +1,6 @@
# Create a new plugin
---
title: Create a new plugin
---
There is a service which is able to create a skeleton for a new plugin:

View File

@@ -1,4 +1,6 @@
# Decision Table
---
title: Decision Table
---
### Lombok

View File

@@ -1,4 +1,6 @@
# Definition of Done
---
title: Definition of Done
---
* Acceptance criteria are checked manually (from the user's perspective)
* Code coverage is checked manually (>= 80% on new code) ([sonarcloud](https://sonarcloud.io/dashboard?id=sonia.scm%3Ascm))

View File

@@ -1,4 +1,6 @@
# Error Handling
---
title: Error Handling
---
As a highly extensible product, SCM-Manager offers at least three ways to interact with:

View File

@@ -1,4 +1,6 @@
# Extension Points
---
title: Extension Points
---
The following extension points are provided for the frontend:

View File

@@ -1,4 +1,6 @@
# Frequently Asked Questions
---
title: Frequently Asked Questions
---
### What are the username and the password in the default installation?

View File

@@ -1,8 +1,10 @@
# Getting started
---
title: Getting started
---
### Install Java
SCM-Manager needs an installed Java 1.7 or newer. It is recommended to use the [oracle jre](http://java.oracle.com/).
SCM-Manager needs an installed Java 1.8 or newer. It is recommended to use the [oracle jre](http://java.oracle.com/).
How to check which version of Java is installed:
```bash
@@ -13,6 +15,8 @@ Download java from [here](http://java.oracle.com/) and follow the install instru
### Install SCM-Manager
#### Standalone Server
Download the latest version of SCM-Manager from
[here](http://www.scm-manager.org/download/), unpack the .zip
or .tar.gz package and start SCM-Manager with
@@ -21,8 +25,24 @@ or .tar.gz package and start SCM-Manager with
scm-server/bin/scm-server
```
or
```bash
scm-server\bin\scm-server.bat
```
#### Docker
To start SCM-Manager with a persistent volume on port 8080 run the following command:
```bash
docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc6
```
### First access
Your SCM-Manager should be running on port 8080. You can access it locally via <http://localhost:8080>.
| | |
| ------------ | ----------------------- |
| **URL** | <http://localhost:8080> |

View File

@@ -1,4 +1,6 @@
# i18n for Plugins
---
title: i18n for Plugins
---
How to internationalize your own plugin
### Create the plugins.json file

67
docs/en/index.md Normal file
View File

@@ -0,0 +1,67 @@
The easiest way to share and manage your Git, Mercurial and Subversion
repositories over http.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely
configureable from its Web-Interface
- No Apache and no database installation is required
- Central user, group and permission management
- Out of the box support for Git, Mercurial and Subversion
- Full RESTFul Web Service API (JSON and XML)
- Rich User Interface
- Simple Plugin API
- Useful plugins available ( f.e. Ldap-, ActiveDirectory-,
PAM-Authentication)
- Licensed under the MIT-License
### News
- **2018-09-25** - [SCM-Manager 2 gets a boost by Cloudogu GmbH](https://www.scm-manager.org/scm-manager-2/scm-manager-2-gets-a-boost-by-cloudogu-gmbh/)
- **2018-05-04** - SCM-Manager 1.60 released ([download](http://www.scm-manager.org/download/) \|
[release notes](release-notes.md))
- **2018-04-11** - SCM-Manager 1.59 released
[All news](http://www.scm-manager.org/news/)
### Mailing List
- <scmmanager@googlegroups.com> -
[archive](http://groups.google.com/group/scmmanager) \|
[subscribe](mailto:scmmanager+subscribe@googlegroups.com)
\|
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com)
### Use SCM-Manager
- [Getting started](getting-started.md)
- [Download latest version](http://www.scm-manager.org/download/)
- [Frequently Asked Questions](faq.md)
- [Using SCM-Manager with Apache mod\_proxy](apache/apache-mod_proxy.md)
- [Using SCM-Manager with Nginx](nginx.md)
### Development
- [Building SCM-Manager from source](build-from-source.md)
### SCM Manager 2
- [Base directory](basedirectory.md)
- [Logging](logging.md)
- [Configuration for Intellij IDEA](intellij-idea-configuration.md)
- [SCM v2 Test Cases](test-cases.md)
- [Table of decisions made during development](decision-table.md)
- [Definition of done](definition-of-done.md)
- [Style Guide](style-guide.md)
- [Error Handling in REST, Java, UI](error-handling.md)
- [Create a new Plugin](create-plugin.md)
- [Migration Wizard](migration-wizard.md)
- [Plugin Development](plugin-development.md)
- [i18n for Plugins](i18n-for-plugins.md)
- [Extension Points](extension-points.md)
- [Migrate Plugin from v1](migrate-plugin-from-v1.md)
- [API changes](v2/api-changes.md)
- [Permission concept](permission-concept.md)
- [Vulnerabilities](vulnerabilities.md)
- [Common pitfall](common-pitfall.md)
- [Release process](release-process.md)
- [Known Issues](known-issues.md)

View File

@@ -1,4 +1,6 @@
# Intellij IDEA Configuration
---
title: Intellij IDEA Configuration
---
## Backend

View File

@@ -1,4 +1,6 @@
# Known Issues
---
title: Known Issues
---
## Asnychronous PreReceiveRepositoryHooks do not work with subversion

View File

@@ -1,4 +1,6 @@
# Logging
---
title: Logging
---
SCM-Manager logs information which can be useful, if the system does not behave as expected.
The logging behavior depends on your operating system and installation.

View File

@@ -1,4 +1,6 @@
# Clone empty repository
---
title: Clone empty repository
---
```http
GET /scm/hg/hgtest?cmd=capabilities HTTP/1.1.

View File

@@ -1,4 +1,6 @@
# Push bookmark
---
title: Push bookmark
---
```http
GET /scm/hg/hgtest?cmd=capabilities HTTP/1.1.

View File

@@ -1,4 +1,6 @@
# Push multiple branches to new repository
---
title: Push multiple branches to new repository
---
```http
GET /scm/hg/hgtest?cmd=capabilities HTTP/1.1.

View File

@@ -1,4 +1,6 @@
# Push multiple branches
---
title: Push multiple branches
---
```http
GET /scm/hg/hgtest?cmd=capabilities HTTP/1.1.

View File

@@ -1,4 +1,6 @@
# Push single changeset
---
title: Push single changeset
---
```http
GET /scm/hg/hgtest?cmd=capabilities HTTP/1.1.

View File

@@ -1,6 +1,8 @@
# Migrate an v1 plugin
---
title: Migrate an v1 plugin
---
Before starting, make sure to read the [Plugin Development](plugin-development.md).
Before starting, make sure to read the [Plugin Development](docs/en/plugin-development.mdpment.md).
To migrate an existing SCM-Manager 1.x Plugin, you have to do the following steps:
@@ -162,7 +164,7 @@ Some more hints:
* For Configuration UIs use [`ConfigurationBinder`](https://github.com/scm-manager/scm-manager/blob/develop/scm-ui/ui-components/src/config/ConfigurationBinder.tsx) - See core plugins Git, Hg, Svn, e.g. [scm-git-plugin/index.ts](https://github.com/scm-manager/scm-manager/blob/develop/scm-plugins/scm-git-plugin/src/main/js/index.ts).
Note that `readOnly` property checks if update link is returned by REST resource
* Don't forget [i18n for Plugins](i18n-for-plugins.md)
* Don't forget [i18n for Plugins](docs/en/i18n-for-plugins.mdugins.md)
# Further reading

View File

@@ -1,4 +1,6 @@
# Migration-Wizard
---
title: Migration-Wizard
---
To upgrade an SCM-Manager from version 1 to version 2, some changes have to be made according the home directory of the SCM-Manager. So before you start, **make sure that you have an up to date backup of your SCM home folder!**
@@ -20,7 +22,7 @@ To specify the new names (and namespaces), the SCM-Manager version 2 starts a mi
You can open this wizard in an internet browser using the URL of your installation (eg. http://localhost:8080/scm/).
![Migration Wizard](../screenshots/migration-wizard.png)
![Migration Wizard](docs/en/screenshots/migration-wizard.png)
In the figure you can see an example of the page. We tried to guess meaningful names, but for sure you want to make some changes here. Beside choosing new namespaces and names you have to select a migration strategy for each repository. The strategies are described on the page as follows:

View File

@@ -1,4 +1,6 @@
# SCM-Server and Nginx
---
title: SCM-Server and Nginx
---
## Nginx configuration

View File

@@ -1,4 +1,6 @@
# Permission Concept
---
title: Permission Concept
---
This documents describes a concept for a fine-grained permission managing via the SCMMv2 UI.
@@ -119,11 +121,11 @@ In order to fulfill the requirements, this concept describes
The global permission component can be reached from **either user and groups** components navigations. The following mockup
shows this in the user component:
![Permissions mockup user](../resources/permissions-mockup-user.jpg)
![Permissions mockup user](docs/en/resources/permissions-mockup-user.jpg)
The layout of the permission component UI could look like this:
![Permissions mockup global permissions](../resources/permissions-mockup-global-permissions.jpg)
![Permissions mockup global permissions](docs/en/resources/permissions-mockup-global-permissions.jpg)
The UI
* queries all available global permissions from the REST API (shiro strings),
@@ -139,7 +141,7 @@ permissions (see `PermissionType`).
The UI is extended like so:
![Permissions mockup repository permissions](../resources/permissions-mockup-repository-permissions.jpg)
![Permissions mockup repository permissions](docs/en/resources/permissions-mockup-repository-permissions.jpg)
#### Existing repository dialog
@@ -395,7 +397,7 @@ and write. That is,
Internationalization can be handled using the following conventions:
* All permission i18n are described in `plugins.json` (also for core), see [i18n for Plugins](i18n-for-plugins.md)
* All permission i18n are described in `plugins.json` (also for core), see [i18n for Plugins](docs/en/i18n-for-plugins.mdugins.md)
* That way the UI for users and groups can find all the translation in the same file
* Convention for i18n keys: `permissions.<shiro-String>`, containing `displayName` and `description` each.

View File

@@ -1,4 +1,6 @@
# Plugin Descriptor
---
title: Plugin Descriptor
---
The plugin descriptor contains informations and instructions for the
scm-manager to integrate the plugin. The descriptor is located at

View File

@@ -1,4 +1,6 @@
# SCM-Manager v2 Plugin Development
---
title: SCM-Manager v2 Plugin Development
---
## Build and testing

View File

@@ -1,4 +1,6 @@
# How to release SCM-Manager v2 core
---
title: How to release SCM-Manager v2 core
---
To release a new version of SCM-Manager v2 you have to do the following steps (replace placeholders `<version>` accordingly, eg. with `2.1.0`):

View File

@@ -1,4 +1,6 @@
# Revision Control Plugin Comparison
---
title: Revision Control Plugin Comparison
---
| Plugin Name | Name | Core-Plugin | Requirements | Url |
| --- | --- | --- | --- | --- |

View File

@@ -1,4 +1,6 @@
# SCM-Server SSL
---
title: SCM-Server SSL
---
**Note**: This document describes a ssl configuration with a
self-signed certificate

View File

@@ -1,4 +1,6 @@
# State of SCM-Manager 2 development
---
title: State of SCM-Manager 2 development
---
The development of SCM-Manager 2.0.0 is organised in [Trello Boards](https://trello.com/scmmanager).

View File

@@ -1,4 +1,6 @@
# Style Guide
---
title: Style Guide
---
Starting with version 2 of SCM-Manager we have decided to change the code style and conform to more common rules. Furthermore we abandon the rule, that everything needs to have a javadoc description. Nonetheless we have decided against a "big bang" adaption of the new rule, because this would have lead to enourmous problems for merges from 1.x to 2.x.
@@ -8,7 +10,7 @@ Also it is a good guide line to adapt Postel's law: *Be conservative in what you
## Java
Please mind the [EditorConfig](https://editorconfig.org/) file `.editorconfig` in the root of the SCM-Manager and the [configuration guide](intellij-idea-configuration.md) for IntelliJ IDEA. There are plugins for a lot of IDEs and text editors.
Please mind the [EditorConfig](https://editorconfig.org/) file `.editorconfig` in the root of the SCM-Manager and the [configuration guide](docs/en/intellij-idea-configuration.mdation.md) for IntelliJ IDEA. There are plugins for a lot of IDEs and text editors.
- Indentation with 2 spaces and no tabs (we have kept this rule from 1.x)
- Order of members:

View File

@@ -1,4 +1,6 @@
# SCM-Manager v2 Test Cases
---
title: SCM-Manager v2 Test Cases
---
Describes the expected behaviour for SCMM v2 REST Resources using manual tests.

View File

@@ -1,4 +1,6 @@
# DOD for UI development
---
title: DOD for UI development
---
Use this as a kind of a checklist whenever you develop something in the UI of SCM-Manager 2.x., regardless whether you are developing core features or plugins.
@@ -10,4 +12,4 @@ Use this as a kind of a checklist whenever you develop something in the UI of SC
| ☐ | add help icons to input components |
| ☐ | not use colors directly, but refer to `is-primary` or `is-warning` |
| ☐ | make sure your view works on mobile devices |
| ☐ | document [extension points in wiki](extension-points.md) |
| ☐ | document [extension points in wiki](docs/en/extension-points.mdoints.md) |

View File

@@ -1,3 +0,0 @@
# API and concepts changes from SCM-Manger v1 to v2
*TODO:* document api and concept changes while we're migrating plugins

View File

@@ -1,47 +0,0 @@
# Getting started
### Install Java
SCM-Manager needs an installed Java 1.8 or newer. It is recommended to use the [oracle jre](http://java.oracle.com/).
How to check which version of Java is installed:
```bash
java -version
```
Download java from [here](http://java.oracle.com/) and follow the install instructions.
### Install SCM-Manager
#### Standalone Server
Download the latest version of SCM-Manager from
[Nexus](https://maven.scm-manager.org/nexus/#nexus-search;gav~sonia.scm~scm-server~2.*~~),
extract the downloaded .zip or .tar.gz archive and start SCM-Manager 2 with
```bash
scm-server/bin/scm-server
```
or
```bash
scm-server\bin\scm-server.bat
```
#### Docker
To start SCM-Manager with a persistent volume on port 8080 run the following command:
```bash
docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc6
```
### First access
Your SCM-Manager should be running on port 8080. You can access it locally via <http://localhost:8080>.
| | |
| ------------ | ----------------------- |
| **Username** | scmadmin |
| **Password** | scmadmin |

View File

@@ -1,6 +1,8 @@
# Vulnerabilities
---
title: Vulnerabilities
---
## Not applicable
* **CVE-2014-0114**: BeanUtils is transitive dependency of Apache Shiro. It is only used to wire shiro components.
* **SONATYPE-2016-0026**: We disabled the "remember me" feature completly.
* **SONATYPE-2016-0026**: We disabled the "remember me" feature completly.