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

Commit

Permalink
feature: Implement JSON Backup (#31)
Browse files Browse the repository at this point in the history
* refactor: Apply perltidy

* Update gitignore

* fix: Recently_added/modified can be called with less that 10 entries in the system

* fix: Harden tests by skipping if not enough test data available

* fix: Frontent tests are executed as logged-in user. Fix /types page

* fix: Patch flaky backup restore test

* feature: JSON backup (#26)

* Refactor comments
  • Loading branch information
vikin91 authored Jul 7, 2018
1 parent 0ea19ca commit c09e044
Show file tree
Hide file tree
Showing 108 changed files with 1,798 additions and 1,071 deletions.
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,20 @@ public/uploads/*BibSpace*tar.gz
/__config
/backups
/.build.

.coveralls.yml
.tidyall.d/
*.sublime-workspace
db_data/
json_data/
*.pl
*.sql

*.swp

public/

BibspacePrereqs/
Dockerfile
bibspace*.dat
docker-compose.yml
4 changes: 0 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ before_install:
- source ~/travis-perl-helpers/init
- build-perl
- perl -V
- pwd
- tree
- export AUTOMATED_TESTING=1 AUTHOR_TESTING=1 HARNESS_OPTIONS=j1:c HARNESS_TIMER=0
before_script:
- mysql --version
Expand All @@ -33,8 +31,6 @@ before_script:
- mojo version
- coverage-setup
notifications:
# slack:
# secure: hwihdXrKIOilNPyIunNh5yqBwtgwj4SnheF8DlsmQI2TqpcyFWgjvspnvquiV7+OEBb5mFUSZeEUj5cgIgJ3VaBFIbcij0nq3TTHAvSmx+oTboAxUkg62zdPaaFV+iK9BpCNm6eGsjE1Wfp6LXzBHOZetCXJ1IgQ02mOknkW2ysztNhF4G/MMUXvDe5ApgTHshGYvkaD+StHcLt2c6Quy4DUkKeU6Djun6Dyp3foSBibBRsQK9q0yXo5ooYkoVllEaSvu94FpxBjsF+lBQJveM2Wc090EgM1An/Oc/ptMVvMmSE0mmM8RR9vM5dUZwmZHd/kECo1cvGQG1nVJZ9qWnrCeWcnJS7M9FkFucEBjFJTzh1FL3tgYKnXkS04uQLaj84byQr7f+l4l8ExsJPUriQia9829+OeiRblOdB3mEEMgHleMhE0trfre7iz5Beob5sPwTq9z7ywrRVGX8vKeDXPEmwDi+5gdYXRw3QwNP7sWAePOdpZPzUBc5fUYZh8kJB22b8zoF1T81gxME0MQOc4nCgSCETtLWih3R8sngooAXXo9kYM3zb38ijoLpPwlOmE0BR9rvcSz8BBp1bVhWZ4k4ploe5uTtb+Mg31Amj6d5I5z9/KwYJQ6Mcy3y8Ijozm7+FpDLfjz70ZjAYguurmHFZsDQJQp4fJUcOFabc=
email:
on_success: always
on_failure: always
Expand Down
21 changes: 17 additions & 4 deletions Changelog.md → CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
### Changelog ###

### v0.5.3 07.2018 ###

This version is probably the only one that supports both types of backups: Storable and JSON.
Use it to migrate your data from 0.5.x to 0.6.x.

* Deprecation: Storable backups are marked as deprecated now. Use JSON backup instead.
* Feature: Add support for independent JSON backup and restore

* Fix: External link to DateTime formats uses now permalink to CPAN
* Fix: Show recenlty added/modified works correctly for less than 10 objects in system
* Fix: Harden tests for less than 10 objects in system
* Internal: Add SerializableBase to BibSpace Entities

#### v0.5.2 08.2017 ####
* Code refactoring: perltidy
* Code refactoring: perlcritic severity 5
Expand Down Expand Up @@ -34,10 +47,10 @@
* Code refactoring - removed small parts of unused code
* add systemd .service profile
* add cpanfile stub
* rebuild edit author page
* fix remove user id from author
* add function merge authors
* add tab-pane with bibtex help for adding publications
* rebuild edit author page
* fix remove user id from author
* add function merge authors
* add tab-pane with bibtex help for adding publications
* minor fixes and improvements # i love to write this :P


Expand Down
94 changes: 41 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,41 @@
# README #

BibSpace is an Online Bibtex Publications Management Software for Authors and Research Groups. Read about its features on the [BibSpace @ the Error Blog](https://blog.hex64.com/bibspace-online-bibtex-publications-management-software-for-authors-and-research-groups/).

## Build status ##

Branch | Status | Test coverage
--- | --- | ---
*master* | [![Build Status](https://travis-ci.org/vikin91/BibSpace.svg?branch=master)](https://travis-ci.org/vikin91/BibSpace) | [![Coverage Status](https://coveralls.io/repos/github/vikin91/BibSpace/badge.svg?branch=master)](https://coveralls.io/github/vikin91/BibSpace?branch=master)
*dev* | [![Build Status](https://travis-ci.org/vikin91/BibSpace.svg?branch=dev)](https://travis-ci.org/vikin91/BibSpace) | [![Coverage Status](https://coveralls.io/repos/github/vikin91/BibSpace/badge.svg?branch=dev)](https://coveralls.io/github/vikin91/BibSpace?branch=dev)

## Demo ##

Visit [hex64.com](http://www.hex64.com/) and click backend/frontend demo to have a quick overview of the running system.

## Installation ##
* See [INSTALL.md](INSTALL.md)

## Using BibSpace with Docker ##

BibSpace has no official docker image on dockerhub (yet), thus you need to build it manually. However, an image with prerequisites exists to ease the process of building. Here are the commands to build BibSpace using docker.

```
# build BibSpace image
docker-compose build
# run it with docker-compose
docker-compose up -d
# thats it! Point you browser to http://localhost:8083/ to open BibSpace
# you may stop the container with
docker-compose down
```

Your MySQL data is stored in `db_data`, whereas preferences and stats in `json_data`.

## TODOs ##
BibSpace is currently undergoing serious refactoring. I try to keep current status up to date in [BibSpace Trelo Board](https://trello.com/b/yQ2VPiQ3/bibspace)

Goals of the ongoing refactoring:
- [x] provide clean MVC without SQL in the controller
- [x] Apply Perl Object-Oriented code design
- [~] Improve code orthogonality
- [~] Remove code duplication
- [~] Simplify templates thanks to OO
- [] Allow BibSpace to run without Smart* layer
- [] Provide BibSpace API and separate frontend and backend (Future)



### Handbook TODO ###
- [] Describe nginx and apache2 configuration
- [] Describe cron setup
- [] Describe HTML embedding

# README #

BibSpace is an Online Bibtex Publications Management Software for Authors and Research Groups. Read about its features on the [BibSpace @ the Error Blog](https://blog.hex64.com/bibspace-online-bibtex-publications-management-software-for-authors-and-research-groups/).

## Build status ##

Branch | Status | Test coverage
--- | --- | ---
*master* | [![Build Status](https://travis-ci.org/vikin91/BibSpace.svg?branch=master)](https://travis-ci.org/vikin91/BibSpace) | [![Coverage Status](https://coveralls.io/repos/github/vikin91/BibSpace/badge.svg?branch=master)](https://coveralls.io/github/vikin91/BibSpace?branch=master)
*dev* | [![Build Status](https://travis-ci.org/vikin91/BibSpace.svg?branch=dev)](https://travis-ci.org/vikin91/BibSpace) | [![Coverage Status](https://coveralls.io/repos/github/vikin91/BibSpace/badge.svg?branch=dev)](https://coveralls.io/github/vikin91/BibSpace?branch=dev)

## Installation ##
* See [INSTALL.md](INSTALL.md)

## Using BibSpace with Docker ##

BibSpace has no official docker image on dockerhub (yet), thus you need to build it manually. However, an image with prerequisites exists to ease the process of building. Here are the commands to build BibSpace using docker.

```
# build BibSpace image
docker-compose build
# run it with docker-compose
docker-compose up -d
# thats it! Point you browser to http://localhost:8083/ to open BibSpace
# you may stop the container with
docker-compose down
```

Your MySQL data is stored in `db_data`, whereas preferences and stats in `json_data`.

## Updating

### From Version <=0.5.2 to 0.6.x

Update first to version 0.5.3.
Then backup your data to JSON format and make sure that data can be restored correctly.
Next, update to version 0.6.0 and restore data from the JSON backup.

## TODOs ##
BibSpace is currently undergoing serious refactoring.
Feel free to post an issue if you have a question or want to report a bug.
2 changes: 1 addition & 1 deletion cpanfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ on 'test' => sub {

on 'develop' => sub {
requires 'Dist::Zilla' , '>= 0.0';
};
};
Binary file modified fixture/bibspace_fixture.dat
Binary file not shown.
Loading

0 comments on commit c09e044

Please sign in to comment.