diff --git a/.gitignore b/.gitignore index 73171f7..74d4adc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ build/ .vscode/ .vstags -test/201MB.zip \ No newline at end of file +test/201MB.zip +release/ \ No newline at end of file diff --git a/Makefile b/Makefile index d064f46..0ee9874 100644 --- a/Makefile +++ b/Makefile @@ -19,12 +19,12 @@ myfav_perl_distribution: # an image containing a freshly installed MyFav installation. # start manually via: docker run -p 80:80 -it myfav # access installer: http://localhost/cgi-bin/MyFavoriteThings/cgi/install.cgi -myfav: +myfav: myfav_perl_distribution $(call log_heading, Building My Favourite Things Image) docker build --tag myfav --file test/Dockerfile.myfav . # build a test runner and then execute the integration tests. -test: build_test_runner execute_test_runner +test: myfav build_test_runner execute_test_runner build_test_runner: $(call log_heading, Building Test Runner Image) @@ -43,10 +43,21 @@ execute_test_runner: myfav_test_runner clean: + rm -rf release docker rm $(shell docker ps -a -q) || true docker rmi $(shell docker images -f "dangling=true" -q) || true docker rmi --force myfav docker rmi --force myfav_test_runner docker rmi --force myfav_perl_distribution -.PHONY: test myfav_perl_distribution \ No newline at end of file +release: myfav + mkdir -p release + export ID=$$(docker create myfav:latest) && \ + docker cp $$ID:/usr/local/apache2/cgi-bin/MyFavoriteThings/ release/ && \ + docker rm -v $$ID + rm -rf release/MyFavoriteThings/data + cd release/MyFavoriteThings && \ + zip -r ../release-VERSION_NUMBER.zip * + + +.PHONY: test myfav_perl_distribution release \ No newline at end of file diff --git a/README.md b/README.md index ea77134..6976744 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,46 @@ One Time Downloader for small record labels -[Downloads](documentation/Downloads.md) | [Screenshots](documentation/ScreenShots.md) | [Installation](documentation/Installation.md) | [UserGuide](documentation/UserGuide.md) | [FrequentlyAskedQuestions](documentation/FrequentlyAskedQuestions.md) | [TechnicalDetails](documentation/TechnicalDetails.md) | [FutureWork](documentation/FutureWork.md) +[Installation](documentation/Installation.md) | [User Guide](documentation/UserGuide.md) | [FAQ](documentation/FrequentlyAskedQuestions.md) | [Technical Details](documentation/TechnicalDetails.md) | [Future Work](documentation/FutureWork.md) | [Maintenance Development](documentation/MaintenanceDev.md) Provides small record labels with the ability to add a download voucher to their vinyl record releases. This download voucher contains an URL + a One time code to download the whole record as ZIP file containing MP3 files. The label owner can create new download projects and manage existing downloads by the help of a web interface. Creating a new download project as well as producing the vouchers is just a matter of a few clicks. -Watch the 18 Minutes Video Presentation and Software Demo [here](http://vimeo.com/15281130) +Further media: +* example PDF with download codes generated by myfavoritethings +* watch the 18 Minutes Video Presentation and Software Demo [here](http://vimeo.com/15281130) -**Update May 2015** -Moved to github.com since Google Code is closing down. -**Update August 2014** -New version 0.5d which also supports Perl 5.18 in [Downloads](documentation/Downloads.md) +## Update September 2020 +New version 0.6.0. This version does not include feature changes. Instead *it brings its own Perl environment* so that myfavoritethings does not require a special Perl version installed (self-contained). This works around issues with former standard modules being deprecated and removed from the Perl core modules. + +### Release Page +https://github.com/samba2/myfavoritethings/releases/tag/release-0.6.0 ---- +### Update +To update your current installation: +* ! backup your MyFavouriteThings folder in `cgi-bin` to an other location. Really, this is important as I don't guarantee a successful update ! +* download the [`release-0.6.0.zip`](https://github.com/samba2/myfavoritethings/releases/tag/release-0.6.0) file and extract it +* *replace* all folders in your web servers `cgi-bin/MyFavouriteThings/` directory with the folders extracted from the zip file: + * `cgi` + * `html` + * `lib` + * `myfavCss` +* also there is the new `perl5` folder. Copy it next to the other directories. -![User Download Example](http://myfavoritethings.googlecode.com/files/userDownloadExample_small.png "Example Download Page") +After the update your new folder structure should now look something like this: +* `cgi` (updated) +* `html` (updated) +* `lib` (updated) +* `myfavCss` (updated) +* `test` (untouched) +* `data` (untouched!) +* `perl5` (new) -_Example Download Page_ +## Update May 2015 +Moved to github.com since Google Code is closing down. +## Update August 2014 +New version 0.5d which also supports Perl 5.18 diff --git a/documentation/ChangeLog.md b/documentation/ChangeLog.md deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/Downloads.md b/documentation/Downloads.md deleted file mode 100644 index ccba6ae..0000000 --- a/documentation/Downloads.md +++ /dev/null @@ -1,5 +0,0 @@ -`The download button is at the top middle of the page.` - -| **Version** | **Status** | **Link** | -|:------------|:-----------|:---------| -| 0.5d | Current |[Link](https://drive.google.com/file/d/0B6yNAajcHJI2X3JkbWlGUm1JUDA/edit?usp=sharing) | \ No newline at end of file diff --git a/documentation/MaintenanceDev.md b/documentation/MaintenanceDev.md new file mode 100644 index 0000000..2b284ce --- /dev/null +++ b/documentation/MaintenanceDev.md @@ -0,0 +1,13 @@ +All build steps for myfavouritethings are controlled by Docker containers. The central starter is the `Makefile` in the project root. + +Important targets are: +* `make release` + * build own Perl distribution + * assembles a runnable myfavouritethings container + * prepares release + +* `make tests` + * build own Perl distribution + * assembles a runnable myfavouritethings container + * builds test runner + * executes tests diff --git a/documentation/ScreenShots.md b/documentation/ScreenShots.md deleted file mode 100644 index ff35111..0000000 --- a/documentation/ScreenShots.md +++ /dev/null @@ -1,21 +0,0 @@ -![http://myfavoritethings.googlecode.com/files/mainAdminScreen.png](http://myfavoritethings.googlecode.com/files/mainAdminScreen.png) - -_Main admin screen after login with one release opened_ - ---- - -![http://myfavoritethings.googlecode.com/files/examplePdfVouchers.png](http://myfavoritethings.googlecode.com/files/examplePdfVouchers.png) - -_Two example download vouchers, auto-generated and provided as PDF file_ - ---- - -![http://myfavoritethings.googlecode.com/files/userDownloadExample.png](http://myfavoritethings.googlecode.com/files/userDownloadExample.png) - -_Download page the user (record owner with the voucher) is seeing_ - ---- - -https://github.com/samba2/myfavoritethings/blob/master/documentation/exampleVouchers.pdf - -_50 example vouchers generated by My Favorite Things_