Skip to content
This repository has been archived by the owner on Nov 9, 2022. It is now read-only.

Commit

Permalink
Applying VeeamHub Standards
Browse files Browse the repository at this point in the history
Bringing repository up to standards as set here:

https://github.com/VeeamHub/veeamhub-template

- Updated README.md accordingly
- Added CONTRIBUTING.md
- Added DCO.md
- Added GitHub issue templates for:
  - Pull Request
  - Bug Report
  - Feature Request

Signed-off-by: Chris Arceneaux <[email protected]>
  • Loading branch information
carceneaux committed Oct 22, 2019
1 parent 0644fa4 commit 531ca29
Show file tree
Hide file tree
Showing 6 changed files with 253 additions and 33 deletions.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Pull Request Template

By contributing, you agree that your contributions will be licensed under the projects original open source license.

## Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

### Type of change

* [ ] Bug fix (non-breaking change which fixes an issue)
* [ ] New feature (non-breaking change which adds functionality)
* [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
* [ ] This change requires a documentation update

### How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

### Checklist (check all applicable):

* [ ] My code follows the style guidelines of this project
* [ ] I have performed a self-review of my own code
* [ ] I have commented my code, particularly in _hard to understand_ areas
* [ ] I have made corresponding changes to the documentation
* [ ] My changes generate no new warnings
* [ ] I have added tests that prove my fix is effective or that my feature works
* [ ] New and existing unit tests pass locally with my changes
95 changes: 95 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Contributing

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

* Reporting a bug
* Discussing the current state of the code
* Submitting a fix
* Proposing new features

All contributions to this repository must be signed as described on our [Developer Certificate of Origin](DCO.md). Your signature certifies that you wrote the contribution or have the right to pass it on as an open source contribution.

Please note we have a [Code of Conduct](#code-of-conduct). Please follow it in all your interactions with the project.

## Report Bugs/Feature Requests using the Github Issue Tracker

We use GitHub's Issue Tracker to track bugs/feature Requests. Report a bug or feature request by [opening a new issue](https://github.com/VeeamHub/vbo365-rest-self-service/issues/new/choose). It's that easy!

## License

By contributing, you agree that your contributions will be licensed under the projects original open source license.

## Code of Conduct

### Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

### Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

### Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at <[email protected]>. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

### Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
27 changes: 27 additions & 0 deletions DCO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Developer Certificate of Origin

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

---

To acknowledge the Developer Certificate of Origin (DCO), sign your commits by adding `Signed-off-by: John Doe <[email protected]>` to the last line of each Git commit message. The e-mail address used to sign must match the e-mail address of the Git author. If you set your `user.name` and `user.email` git config values, you can sign your commit automatically with `git commit -s`.
76 changes: 43 additions & 33 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
Self-Service Web Portal for Veeam Backup for Microsoft Office 365
==================
# Self-Service Web Portal for Veeam Backup for Microsoft Office 365

## About
This web based portal offers Self-Service to tenant admins leveraging the RESTful API service included in Veeam Backup for Microsoft Office 365. This allows them to perform restores to either the original or a different location as well as downloading items as a plain/PST/ZIP file.

Every feature act as an independent page, therefor it is easy to remove or add Exchange, OneDrive or SharePoint based on your offering by modifying the navigation bar on top.

## Dependencies
Make sure you download dependencies using `composer`.
## 📗 Documentation

### Dependencies

Make sure you download dependencies using `composer`.

For more information on how to install `composer`:

- Linux (https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx)
- Windows (https://getcomposer.org/doc/00-intro.md#installation-windows)

This project leverages a mixture HTML, PHP and Javascript. The following libraries are used:

- [Flatpickr.js](http://flatpickr.js.org/)
- [Font Awesome](http://fontawesome.com/)
- [GuzzleHTTP](https://github.com/guzzle/guzzle)
- [jQuery](https://jquery.com/)
- [jQuery](https://jquery.com/)
- [SweetAlert2](https://sweetalert2.github.io)
- [Twitter Bootstrap](http://getbootstrap.com/)

Expand All @@ -27,10 +30,11 @@ As an example you can use the following [Linux Ubuntu with Apache guide](https:/

This portal leverages rewrite rules via .htaccess and therefor mod_rewrite needs to be enabled in Apache. More information on this can be found via [Enabling mod_rewrite for Apache running on Linux Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04).

**Important step**
#### Important step

Disable MultiView within the directory document root for Apache. This can be done my modifying the default site configuration and set it as below:
```

```text
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Expand All @@ -40,32 +44,36 @@ Disable MultiView within the directory document root for Apache. This can be don

For IIS the web.config file is required. More information can be found via [importing the IIS web config](https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module).

**It is advised to increase or disable the PHP maximum execution time limit.**
This can modified in the php.ini file as described per [changing the maximum execution time limit](https://www.simplified.guide/php/increase-max-execution-time)
**It is advised to increase or disable the PHP maximum execution time limit.** This can modified in the php.ini file as described per [changing the maximum execution time limit](https://www.simplified.guide/php/increase-max-execution-time).

### Installation

#### 1. Download and install composer

## Installation
### 1. Download and install composer
a. Linux: curl -sS https://getcomposer.org/installer | /usr/bin/php && /bin/mv -f composer.phar /usr/local/bin/composer
b. Windows: Download and run Composer-Setup.exe from the composer website.
a. Linux: `curl -sS https://getcomposer.org/installer | /usr/bin/php && /bin/mv -f composer.phar /usr/local/bin/composer`
b. Windows: Download and run `Composer-Setup.exe` from the composer website.

### 2. Clone this repository
git clone https://github.com/nielsengelen/vbo365-rest.git
#### 2. Clone this repository

Place these files under the web service root (/var/www/html or c:\Inetpub\wwwroot)

### 3. Initialize Composer from the specific folder (/var/www/html or c:\Inetpub\wwwroot)
composer install
`git clone https://github.com/nielsengelen/vbo365-rest.git`

Place these files under the web service root (`/var/www/html` or `c:\Inetpub\wwwroot`)

## Configuration
Once composer has finished, open a webbrowser and go to setup.php, this allows you to generate a config file.
#### 3. Initialize Composer from the specific folder (/var/www/html or c:\Inetpub\wwwroot)

`composer install`

### Configuration

Once composer has finished, open a webbrowser and go to setup.php, this allows you to generate a config file.

If this doesn't work, modify the original config.php file with your Veeam Backup for Microsoft Office 365 hostname/IP, port (default: 4443) and API version to be used. Additionally, you can configure the custom title to be shown.

**_Remember to enable mod_rewrite as described in the dependencies._**
**_Remove the setup.php file once this is done._**

## Usage
### Usage

Open a webbrowser and go to index.php. From here you can either login as an admin or a tenant.

You should see the following login screen:
Expand All @@ -83,22 +91,24 @@ OneDrive view:
SharePoint view:
![SharePoint view](http://foonet.be/img/VBOv3-SharePoint.png)

## About
### About

This serves as an example on how to work with the RESTful API calls and should be tested before using it in production. Feel free to modify and re-use it however many calls are done with default values which can be modified if needed.

## Known issues
* No known issues
## ❗ Known issues

- No known issues

**Note:** There is currently no SSL verification due to self signed certificate testing, please change settings 'verify' to true or remove the specific line accordingly in `veeam.class.php`.

## Questions and feature request
Please use the [GitHub issue tracker](https://github.com/nielsengelen/vbo365-rest/issues) for any questions or feature requests.
## ✍ Contributions

We welcome contributions from the community! We encourage you to create [issues](https://github.com/VeeamHub/vbo365-rest-self-service/issues/new/choose) for Bugs & Feature Requests and submit Pull Requests. For more detailed information, refer to our [Contributing Guide](CONTRIBUTING.md).

## Distributed under MIT license
Copyright (c) 2019 VeeamHub
## 🤝🏾 License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
- [MIT License](LICENSE)

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
## 🤔 Questions

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
If you have any questions or something is unclear, please don't hesitate to [create an issue](https://github.com/VeeamHub/vbo365-rest-self-service/issues/new/choose) and let us know!

0 comments on commit 531ca29

Please sign in to comment.