Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a5d06f5
mv & link
fisx Aug 16, 2022
4edd39c
tweak
fisx Aug 16, 2022
226a7c6
tweak more.
fisx Aug 17, 2022
a6b01fe
Fixup
fisx Aug 17, 2022
7313617
not sure we want to keep this
fisx Aug 17, 2022
1e055b4
Update docs/src/developer/index.rst
fisx Aug 22, 2022
72a7905
changing levels of headings to remove warning
arthurwolf Aug 22, 2022
73549cb
changing levels of headings to remove warning
arthurwolf Aug 22, 2022
058ec06
fixing a problem with internal headers not creating references, as pe…
arthurwolf Aug 22, 2022
24b4d85
fixed minor warnings
arthurwolf Aug 22, 2022
c7926c3
more references minor fixes
arthurwolf Aug 22, 2022
6d3d4b4
fix many reference warnings
arthurwolf Aug 22, 2022
15e240c
fix the no title warning
arthurwolf Aug 22, 2022
41dcf0a
rm images in legacy docs directories.
fisx Aug 24, 2022
104da09
Update stale file paths in README.
fisx Aug 24, 2022
4941ab5
changelog
fisx Aug 24, 2022
8c07237
typo
fisx Aug 24, 2022
ea80bd9
rm training whitespace.
fisx Aug 24, 2022
75af6f0
add legacy developer docs files as references to new docs.
fisx Aug 24, 2022
7c1e0ad
re-add building.md (resolves merge conflict)
fisx Aug 24, 2022
d87058e
resolve more merge conflicts.
fisx Aug 24, 2022
100f1ed
point legacy developer docs files to docs.wire.com
fisx Aug 24, 2022
47bd601
re-add legacy sub-folder
fisx Aug 24, 2022
9779194
Merge branch 'develop' into publish-developer-docs
fisx Aug 24, 2022
430b29d
remove tombstones
smatting Aug 24, 2022
43ac3b3
restructure TOC
smatting Aug 24, 2022
c8b408d
Fix heading levels in multiple sections
smatting Aug 24, 2022
bd25a66
Delete wire_scim_token.md
smatting Aug 24, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 0 additions & 63 deletions docs/legacy/README.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ A backend advertises a set of *supported* API versions, divided into a set of
be discovered via the `GET /api-version` endpoint, which returns a JSON object
of the form:

```json
```
{ "supported": [0, 1, 2, 3, 4],
"development": [4],
...
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# changelog

The wire-server repo has a process for changelog editing that prevents
merge conflicts and enforces a consistent structure to the release
notes.
Expand Down
104 changes: 104 additions & 0 deletions docs/src/developer/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
Notes for developers
====================

What you need to know as a user of the Wire backend: concepts, features,
and API. We want to keep these up to date. They could benefit from some
re-ordering, and they are far from complete, but we hope they will still
help you.

.. toctree::
:maxdepth: 1
:caption: Contents:
:glob:

developer/api-versioning.md <./developer/api-versioning.md>
developer/assandra-interaction.md <./developer/cassandra-interaction.md>
Comment thread
fisx marked this conversation as resolved.
Outdated
developer/changelog.md <./developer/changelog.md>
developer/dependencies.md <./developer/dependencies.md>
developer/editor-setup.md <./developer/editor-setup.md>
developer/features.md <./developer/features.md>
developer/federation-api-conventions.md <./developer/federation-api-conventions.md>
developer/how-to.md <./developer/how-to.md>
developer/linting.md <./developer/linting.md>
developer/processes.md <./developer/processes.md>
developer/scim/storage.md <./developer/scim/storage.md>
developer/servant.md <./developer/servant.md>
developer/testing.md <./developer/testing.md>
reference/config-options.md <./reference/config-options.md>
reference/conversation.md <./reference/conversation.md>
reference/elastic-search.md <./reference/elastic-search.md>
reference/elasticsearch-migration-2021-02-16.md <./reference/elasticsearch-migration-2021-02-16.md>
reference/make-docker-and-qemu.md <./reference/make-docker-and-qemu.md>
reference/provisioning/scim-token.md <./reference/provisioning/scim-token.md>
reference/provisioning/scim-via-curl.md <./reference/provisioning/scim-via-curl.md>
reference/provisioning/wire_scim_token.md <./reference/provisioning/wire_scim_token.md>
reference/spar-braindump.md <./reference/spar-braindump.md>
reference/team/legalhold.md <./reference/team/legalhold.md>
reference/user/activation.md <./reference/user/activation.md>
reference/user/connection.md <./reference/user/connection.md>
reference/user/registration.md <./reference/user/registration.md>
reference/user/rich-info.md <./reference/user/rich-info.md>

Users
-----

User lifecycle:

- `User registration <reference/user/registration.md>`__
``{#RefRegistration}``
- `User activation <reference/user/activation.md>`__
``{#RefActivation}``

User profiles and metadata:

- `Connections between users <reference/user/connection.md>`__
``{#RefConnection}``
- `Rich info <reference/user/rich-info.md>`__ ``{#RefRichInfo}``

SCIM provisioning
-----------------

We have support for provisioning users via SCIM (`RFC
7664 <https://tools.ietf.org/html/rfc7664>`__, `RFC
7643 <https://tools.ietf.org/html/rfc7643>`__). It’s in the beta stage.

- `Using the SCIM API with
curl <reference/provisioning/scim-via-curl.md>`__
``{#RefScimViaCurl}``
- `Authentication via SCIM
tokens <reference/provisioning/scim-token.md>`__ ``{#RefScimToken}``

Hints
-----

Internal documentation detailing what you need to know as a Wire backend
developer. All of these documents can and should be referenced in the
code.

If you’re not a member of the Wire backend team, you might still find
these documents useful, but keep in mind that they are a work in
progress.

- `Development setup <developer/dependencies.md>`__ ``{#DevDeps}``
- `Editor setup <developer/editor-setup.md>`__ ``{#DevEditor}``
- `Storing SCIM-related data <developer/scim/storage.md>`__
``{#DevScimStorage}``

Cassandra
---------

We use `Cassandra <http://cassandra.apache.org/>`__ as the primary data
store. It is scalable, has very fast reads and writes, and is
conceptually simple (or at least simpler than SQL databases).

Some helpful links:

- `Query
syntax <https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlReferenceTOC.html>`__

- How deletes work in Cassandra:

- `Understanding
Deletes <https://medium.com/@foundev/domain-modeling-around-deletes-1cc9b6da0d24>`__
- `Cassandra Compaction and Tombstone
Behavior <http://engblog.polyvore.com/2015/03/cassandra-compaction-and-tombstone.html>`__
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Some python code

```
#!/usr/bin/env python3
#
# This file is part of the Wire Server implementation.
Expand Down Expand Up @@ -105,3 +108,4 @@ def main():

if __name__ == '__main__':
main()
```
1 change: 1 addition & 0 deletions docs/src/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ This documentation may be expanded in the future to cover other aspects of Wire.
How to set up user provisioning with LDAP or SCIM <how-to/scim/index.rst>
Client API documentation <understand/api-client-perspective/index.rst>
Security responses <security-responses/index.rst>
Notes for developers <developer/index.rst>

.. Overview <understand/overview>

Expand Down