license + description

This commit is contained in:
Marcell Mars 2023-07-30 17:41:53 +02:00
parent 1b0b208dbc
commit 11438f5375
3 changed files with 60 additions and 1 deletions

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Marcell Mars
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:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
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.

39
README.md Normal file
View File

@ -0,0 +1,39 @@
# accorder accords
Accorder takes care of various tasks which Memory of the World amateur librarians do in order to maintain their shared catalogs online.
It builds searchable, standalone, portable webapp which one could then just copy to USB disk and open BROWSE_LIBRARY.html in her web browser.
It uploads all of the books and metadata from local Calibre's library (together with portable webapp) to the server.
It helps a librarian to maintain and share her catalog at
https://library.memoryoftheworld.org
together with other amateur librarians.
It does all of above in one go by typing: accorder release SESSION.
The configuration file will keep information about one or more SESSION. Good name for SESSION is the one which reminds you quickly on what SESSION would do.
Under every SESSION's configuration section there will be information about the directory path of local Calibre's library, librarian's name, credentials needed to upload/download the files to the destination server etc.
## Available commands
- `build`: Build standalone, portable webapp from Calibre library.
- `mc`: A proxy for `minio` client responsible for upload & download.
- `release`: Release local Calibre collection to the MotW Library.
- `submit`: Submit metadata to the aggregated MotW Library.
- `upload`: Upload local Calibre library to the MotW server.
## Context
`accorder`, originally written in Python, has been in use for years by MotW librarians. This repository is where `accorder` is being reimagined and rewritten in Go. The last feature missing from Python version is the import to Calibre from Zotero.
The short-term roadmap is to rally the community around [Gitea](https://github.com/go-gitea/gitea), which not only does what Gitea does best, but also serves as the main hub for user management. [Headscale](https://headscale.net/) is handling the p2p topology and public IP exit node. [Sftpgo](https://github.com/drakkan/sftpgo) and [Minio](https://min.io/) are teamed up to provide a simple shared file exchange space for the community, as well as an object store that could potentially allow for some distributed storage expansion.
A decade ago, before `accorder`, there was a Calibre's plugin `[lets share books]` which allowed for sharing books at https://library.memoryoftheworld.org "live" from librarian's laptop. That was a great conceptual "proof of concept" but patrons complained about not being stable and reliable.
This new infrastructure would allow librarians to share their web app catalogs "live" straight from their laptop - public and/or protected. Another project [Logan & Jessica](https://github.com/marcellmars/logan_and_jessica) would come back too. Jessica could use her laptop to become an exit node for Logans in need.
With this setup MotW librarians will be much better equipped to participate in [Sandpoints](https://pages.sandpoints.org/sandpoints/simplesandpoints-de47f813/draft/portfolio/) projects.

View File

@ -5,7 +5,6 @@ import (
"encoding/xml"
"fmt"
"log"
"os"
"strconv"
"strings"