Overview » History » Version 23

Version 22 (Alexander Blum, 10/17/2021 11:36 PM) → Version 23/25 (Thomas Mielke, 12/15/2021 12:33 AM)

{{toc}}

# Overview

* [Documentation](https://docs.c3s.cc/collecting_society/) [Documentation](http://docs.c3s.cc/collecting_society/)
* [Roadmap](https://redmine.c3s.cc/projects/collecting_societyr/roadmap) -- Deployment plan
* [[Usecases]] -- List of Usecases
* [[Specification]] -- Software specifications
* [[Estimates]] -- Estimates and benchmarks
* [[Architecture]] -- Software architecture
* [[Databasemodels]] -- Database models
* [[Workflows]] -- System workflows
* [Repositories](http://docs.c3s.cc/collecting_society/development/generated/collecting_society_docker_README.html#services) -- List of repositories
* [[Scripts]] -- Additional scripts
* [[HowTo]] -- Guidances for development

# Components

## Tryton

* [[Databasemodels#Tryton|Databasemodel]] -- Database model
* [[Workflows#Cascades|Cascades]] -- Cascades of DB operations
* [[HowTo#Tryton|HowTo]] -- Guidances for development with tryton

## Pyramid

* [[Conventions]] -- Coding conventions
* [[Pyramid Concepts|Concepts]] -- Concepts
* [[Pyramid ACL|ACL]] -- Access control

## Processing

* [[Specification#File-Processing|Specification]] -- Specification of processing
* [[Workflows#File-Processing|Workflow]] -- Workflow of processing
* [[Scripts#File-Processing|Scripts]] -- Scripts for processing

## Archiving

* [[Specification#Archiving|Specification]] -- Specification of archiving
* [[Databasemodels#Archiving|Databasemodel]] -- Database model
* [[Scripts#Archiving|Scripts]] -- Scripts for archiving

## Echoprint

* [[Databasemodels#Echoprint|Databasemodel]] -- Database model

# Contribution

## Entrypoint

1. [Connect](https://redmine.c3s.cc/projects/collecting_society/wiki/Overview#Communication) with us
2. [Read](http://docs.c3s.cc/collecting_society/development/generated/collecting_society_docker_README.html#overview) about the software
3. [Setup](http://docs.c3s.cc/collecting_society/development/generated/collecting_society_docker_README.html#installation) the development environment
4. [Register](https://www.c3s.cc/kontakt-2) an account for redmine
5. [Pick](https://redmine.c3s.cc/projects/collecting_society/issues) an open ticket
6. [Code](https://redmine.c3s.cc/projects/collecting_society/wiki/Convention#Convention) the task
7. [Ask](https://redmine.c3s.cc/projects/collecting_society/wiki/Overview#Communication) questions, if you get stuck
8. [Send](https://help.github.com/articles/using-pull-requests/) a pull request for review

## Helpful Skills

* Concepts
* [Audiofingerprinting](https://wiki.musicbrainz.org/Fingerprinting)
* [Distributed Systems](https://en.wikipedia.org/wiki/Distributed_computing)
* [RESTful APIs](https://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services)
* Development Environment (Frontend / Backend)
* [Docker](https://www.docker.com/),
[Docker-Compose](https://docs.docker.com/compose/)
* Frontend
* [Python](https://www.python.org/)
* *Framework*:
[Pyramid](http://www.pylonsproject.org/)
* *Datastructures*:
[Colander](https://pypi.python.org/pypi/colander),
* *Forms*:
[Deform](http://deform2demo.repoze.org/)
* *API*:
[Cornice](https://pypi.python.org/pypi/cornice)
* *Templates*:
[Chameleon](https://pypi.python.org/pypi/Chameleon)
* *Tests*:
[Nose](https://pypi.python.org/pypi/nose/1.3.7),
[Webtest](https://pypi.python.org/pypi/WebTest),
[WebDriver](https://pypi.python.org/pypi/selenium)
* [Html](https://en.wikipedia.org/wiki/Hypertext_Markup_Language),
[CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets),
[Javascript](https://en.wikipedia.org/wiki/JavaScript),
[Bootstrap](http://getbootstrap.com/),
[JSON](http://www.json.org)
* Backend / Database Abstraction Layer
* [Python](https://www.python.org/)
([Tryton](https://www.tryton.org/))
* Design ([Open Formats](https://en.wikipedia.org/wiki/Open_format#Examples_of_open_formats))
* Non-technical
* Usertests ([Patience](https://en.wikipedia.org/wiki/Copyright#Duration))
* Translations ([Language](https://en.wikipedia.org/wiki/List_of_indigenous_language_names))

## Communication

| | Link |
|-------------|--------------------------------------------------|
| **Web** | [Contact Form](https://www.c3s.cc/kontakt-2)
| **Jabber** | `hacking@conference.jabber.c3s.cc`
| **Matrix** | `#hacking:matrix.c3s.cc`

## References

| | ref | doc | demo |
|---------------------|------------------------------|-----------------------------|-----------------------------|
| Conventions | | [doc][conventions_doc]
| Docker | [ref][docker_ref] | [doc][docker_doc]
| Docker-Compose | [ref][dockercompose_ref] | [doc][dockercompose_doc]
| Python | [ref][python_ref] | [doc][python_doc]
| Click | [ref][click_ref] | [doc][click_doc]
| PyDub | [ref][pydub_ref] | [doc][pydub_doc]
| PyEchonest | | [doc][pyechonest_doc]
| Tryton | [ref][tryton_ref] | [doc][tryton_doc]
| Pyramid | [ref][pyramid_ref] | [doc][pyramid_doc]
| Colander | [ref][colander_ref] | [doc][colander_doc]
| Deform | [ref][deform_ref] | [doc][deform_doc] | [demo][deform_demo]
| Chameleon | [ref][chameleon_ref] | [doc][chameleon_doc]
| Cornice | [ref][cornice_ref] | [doc][cornice_doc]
| CorniceSwagger | [ref][corniceswagger_ref] | [doc][corniceswagger_doc]
| Unittest | [ref][unittest_ref] | [doc][unittest_doc]
| Nose | [ref][nose_ref] | [doc][nose_doc]
| WebTest | [ref][webtest_ref] | [doc][webtest_doc]
| WebDriver | [ref][webdriver_ref] | [doc][webdriver_doc]
| Bootstrap | [ref][bootstrap_ref] | [doc][bootstrap_doc]
| jQuery-File-Upload | [ref][jqueryfileupload_ref] | [doc][jqueryfileupload_doc]
| Datatables | [ref][datatables_ref] | [doc][datatables_doc]

[conventions_doc]: https://redmine.c3s.cc/projects/collecting_society/wiki/Conventions
[docker_ref]: https://docs.docker.com/reference/
[docker_doc]: https://docs.docker.com/engine/
[dockercompose_ref]: https://docs.docker.com/compose/compose-file
[dockercompose_doc]: https://docs.docker.com/compose
[python_ref]: https://docs.python.org/3.9/library/index.html
[python_doc]: https://docs.python.org/3.9/
[click_ref]: https://click.palletsprojects.com/en/8.0.x/#api-reference
[click_doc]: https://click.palletsprojects.com/en/8.0.x/
[pydub_ref]: https://github.com/jiaaro/pydub/blob/master/API.markdown
[pydub_doc]: https://github.com/jiaaro/pydub
[pyechonest_doc]: https://github.com/echonest/pyechonest/tree/9.0.0
[tryton_ref]: https://docs.tryton.org/projects/server/en/6.0/ref/index.html
[tryton_doc]: https://docs.tryton.org/en/6.0/
[pyramid_ref]: https://docs.pylonsproject.org/projects/pyramid/en/2.0-branch/api/index.html
[pyramid_doc]: https://docs.pylonsproject.org/projects/pyramid/en/2.0-branch/narr/introduction.html
[colander_ref]: https://docs.pylonsproject.org/projects/colander/en/stable/api.html
[colander_doc]: https://docs.pylonsproject.org/projects/colander/en/stable/
[deform_ref]: https://docs.pylonsproject.org/projects/deform/en/stable/api.html
[deform_doc]: https://docs.pylonsproject.org/projects/deform/en/stable/index.html
[deform_demo]: https://deformdemo.pylonsproject.org/
[chameleon_ref]: https://chameleon.readthedocs.org/en/latest/reference.html
[chameleon_doc]: https://chameleon.readthedocs.org/en/latest
[cornice_ref]: https://cornice.readthedocs.org/en/latest/api.html
[cornice_doc]: https://cornice.readthedocs.org/en/latest/index.html
[corniceswagger_ref]: https://cornices.github.io/cornice.ext.swagger/api.html
[corniceswagger_doc]: https://cornices.github.io/cornice.ext.swagger/
[unittest_doc]: https://docs.python.org/3.9/library/unittest.html
[unittest_ref]: https://docs.python.org/3.9/library/unittest.html#classes-and-functions
[nose_ref]: https://pythontesting.net/framework/nose/nose-fixture-reference
[nose_doc]: https://nose.readthedocs.org/en/latest/index.html
[webtest_ref]: https://webtest.readthedocs.org/en/latest/api.html
[webtest_doc]: https://webtest.readthedocs.org/en/latest
[webdriver_ref]: https://selenium-python.readthedocs.io/api.html
[webdriver_doc]: https://selenium-python.readthedocs.io/
[bootstrap_ref]: https://getbootstrap.com/docs/3.3/css/
[bootstrap_doc]: https://getbootstrap.com/docs/3.3/
[jqueryfileupload_ref]: https://github.com/blueimp/jQuery-File-Upload/wiki/Options
[jqueryfileupload_doc]: https://github.com/blueimp/jQuery-File-Upload/wiki
[datatables_ref]: https://datatables.net/reference/index
[datatables_doc]: https://datatables.net/manual/index