Ten dokument opisuje zestaw konfiguracji oraz narzędzi które wykorzystujemy w Sealcode.
= Skrzynka pocztowa =
W celu założenia skrzynki pocztowej należy kontaktować się z naszym administratorem Jakubem.
(WARNING) **UWAGA**: W kontaktach z klientem oraz interesariuszami bez różnicy na pełnioną funkcję należy korzystać z sealcodeowego adresu mailowego.
== Konfiguracja skrzynki pocztowej ==
Poniżej przedstawiono konfigurację która umożliwia odbieranie i wysyłanie maili z skrzynki sealcodeowej.
=== Poczta przychodząca ===
- login: `imię.nazwisko@sealcode.org`
- protokół: `IMAP`
- server hostname: `mail.sealcode.org`
- port: `143`
- zabezpieczenie połączenia: `STARTTLS`
- metoda autoryzacji: `Zwykłe hasło`
=== Poczta wychodząca ===
- login: `imię.nazwisko@sealcode.org`
- protokół: `SMTP`
- server hostname: `mail.sealcode.org`
- port: `587`
- zabezpieczenie połączenia: `STARTTLS`
- metoda autoryzacji: `Zwykłe hasło`
== Wymagania odnośnie stopki mailowej ==
Każda osoba korzystająca z adresu sealcodeowego zobligowana jest do dodania stopki mailowej zgodnie z poniższym szablonem:
```
Imię Nazwisko
pełniona funkcja
sealcode.org
```
(WARNING) **UWAGA**: Wskazane jest włączenie dołączania wizytówki //vCard// do wysyłanych maili. Ułatwia to dopisanie naszego kontaktu do listy kontaktów osoby z którą się kontaktujemy. Więcej o wizytówkach //vCard// można przeczytać [tutaj](https://en.wikipedia.org/wiki/VCard).
-------
= Kalendarz =
Kalendarz wykorzystujemy w celu informowania się o nadchodzących wydarzeniach, spotkaniach oraz wspólnym programowaniu. Dodatkowo kalendarz Sealcode, który utrzymujemy na naszym serwerze VPS można wykorzystywać do tworzenia własnych personalnych kalendarzy.
== Kalendarze współdzielone ==
Poniższe kalendarze są wspólne, dostępne dla każdego członka oraz wolontariuszy:
- kalendarz: Meetings
- adres dostępowy: `https://cal.sealcode.org/sealcode/Meetings`
- przeznaczenie: wszystkie nadchodzące wydarzenia, spotkania oraz wspólne programowanie (sealcodingi)
- kalendarz: Sealcode Infosec Workshops
- adres dostępowy: `https://cal.sealcode.org/sealcode/infosec-workshops`
- przeznaczenie: w tym kalendarzu członkowie Kuba oraz Arkadiusz oznaczają swoją dostępność w prowadzeniu Warsztatów z bezpieczeństwa w Internecie
- kalendarz: Sealcode Infosec Workshops - reserved dates
- adres dostępowy: `https://cal.sealcode.org/sealcode/infosec-workshops-reservations`
- przeznaczenie: wszystkie wydarzenia dotyczące Warsztatów z bezpieczeństwa w Internecie
== Kalendarze prywatne ==
- kalendarz: Personal
- adres dostępowy: `https://cal.sealcode.org/<twoj-adres-mailowy>/Personal`
- przeznaczenie: dowolone
Każda osoba posiada osobisty kalendarz //Personal// dostępny pod powyższym adresem.
== Tworzenie nowych kalendarzy ==
Każdy członek może tworzyć nowe prywatne oraz współdzielone kalendarze pod adresem zgodnym z następującym wzorem:
`https://cal.sealcode.org/[kolekcja]/[nazwa-kalendarza]`
- `[kolekcja]` is either:
- twój pełny adres sealcodeowy dla kalendarzy osobistych,
- string `sealcode` dla kalendarzy współdzielonych
- `[nazwa-kalendarza]` jest nazwą kalendarza (a dokładnie slugiem). Można używać znaków alfanumerycznych bez specjalnych znaków, jedyne dopuszczalne znaki specjalne to `-` oraz `_ `.
Przykładowo programista Arkadiusz chce stworzyć kalendarz //Work// w tym celu korzysta z następującego adresu:
`https://cal.sealcode.org/arkadiusz.wieczorek@sealcode.org/Work`
(WARNING) **UWAGA**: Każda osoba ma również możliwość stworzenia nowego współdzielonego kalendarza. Tę opcję wykorzystujemy jedynie w uzasadnionych przypadkach. Dodanie nowego współdzielonego kalendarza między innymi wymaga aktualizacji tego dokumentu.
== Aplikacje dostępowe ==
Kalendarz można wykorzystywać w wielu różnych aplikacjach począwszy od przeglądarki, aplikacji desktopowych skończywszy na rozwiązania mobilnych. Poniżej przedstawiono po jednej propozycji dla każdej z platformy umożliwiający łączenie się z sealcodeowym kalendarzem. Każda aplikacja która umożliwia tworzenie nowych kalendarzy została opatrzona znakiem `[+]` w nagłówkach tego dokumentu.
=== InfCloud ===
- url: [https://webcal.sealcode.org/](https://webcal.sealcode.org/)
- platforma: web
- opis: InfCloud jest prostym interfejsem webowym oferującym podstawowe funkcjonalności takie jak tworzenie, usuwanie oraz edycja wydarzeń w kalendarzach osobistych oraz współdzielonych. Przydatne w przypadku kiedy nie mamy przy sobie własnego komputera czy telefonu. Niestety interfejs nie umożliwia tworzenia nowych kalendarzy.
{F1167}
==== Konfiguracja ====
InfCloud nie wymaga konfiguracji wystarczy się zalogować.
=== Wtyczka Lightning dla klienta pocztowego Thunderbird [+] ===
- url: [https://www.mozilla.org/en-US/projects/calendar/](https://www.mozilla.org/en-US/projects/calendar/)
- platforma: (desktop) GNU/Linux, Windows, OSX
- opis: Dla Thunderbird stworzono świetny plugin umożliwiający zarządzanie kalendarzem wprost z interfejsu tego klienta pocztowego. Dodatkowo wydarzenia z kalendarza są pobierane na nasz dysk, dzięki czemu możemy przeglądać je offline.
{F1169}
==== Konfiguracja ====
# Aby dodać widoczny kalendarz (istniejący bądź nowy), należy kliknąć PPM na listę kalendarzy po lewej stronie interfejsu.
# Następnie wybieramy opcję "On The Network" i przechodzimy dalej {F1171}
# Wybieramy format "CalDAV" i w pole //Lokalizacja// wprowadzamy adres dostępowy do wybranego kalendarza zgodnie z wytycznymi opisanymi wcześniej {F1173}
# Następnie podajemy nazwę kalendarza (nazwa ta jest wewnętrzna) oraz adres mailowy {F1175}
# Dodanie kalendarza wymaga podania danych dostępowych (pełny adres mailowy oraz hasło dla konta pocztowego sealcode) {F1177}
=== DAVdroid [+] ===
- url: [https://davdroid.bitfire.at/](https://davdroid.bitfire.at/)
- platforma: (mobile) Android
- opis: Aplikacja DAVdroid umożliwia synchronizację kalendarzy w formacie CalDAV na platformie Android.
{F1179}
==== Konfiguracja ====
Konfiguracja wymaga podobnych kroków jak w przypadku dodawania kalendarza we wtyczce Lightning [więcej tutaj](https://davdroid.bitfire.at/configuration/).
------
= Książka adresowa =
W książce adresowej przechowywujemy dane kontaktowe członków Sealcode.
== Dane dostępowe ==
url: `https://cal.sealcode.org/sealcode/Contacts.vcf/`
== Aplikacje dostępowe ==
Książkę adresową można odczytać za pomocą wielu aplikacji takich wtyczka [CardBook](https://addons.mozilla.org/en-US/thunderbird/addon/cardbook/) dla klienta poczty Thunderbird, lub np. wspomnianych we wcześniejszym rozdziale [DAVdroid](https://davdroid.bitfire.at/) oraz klienta webowego [InfCloud](https://webcal.sealcode.org/).
------
= Współdzielony dysk SFTP =
W przypadku dzielenia się plikami pomiędzy osobami w Sealcode możemy wykorzystywać do tego celu współdzielony dysk o limitowanym rozmiarze 2GB.
== Dane dostępowe ==
- serwer: `sealcode.org`
- login: `sealcode`
- hasło: [dostępne tutaj](https://forum.sealcode.org/t/sftp-account-for-files/618?u=arkadiusz-wieczorek)
- port: `8022`
- katalog: `/shared`
-----
= Repozytoria =
W Sealcodzie korzystamy z różnych "serwisów" dostarczających system kontroli wersji //git//.
== Diffusion w Phabricator (self-hosted) ==
- url: [https://hub.sealcode.org/diffusion/](https://hub.sealcode.org/diffusion/)
- przeznaczenie: repozytoria oferowane przez Phabricatora wykorzystujemy podczas pracy nad projektami komercyjnymi oraz open-source'owym frameworkiem Sealious. Wraz z dostępem do repozytoriów otrzymujemy szereg narzędzi umożliwiających zarządzanie projektem oraz code-review.
== GitHub ==
- url: [https://github.com/sealcode](https://github.com/sealcode)
- przeznaczenie: repozytoria oferowane przez GitHuba wykorzystujemy dla projektów open-source oraz różnego materiałów, np. visual identity.
== GitLab ==
- url: [https://gitlab.com/sealcode](https://gitlab.com/sealcode)
- przeznaczenie: repozytoria oferowane przez GitLaba mamy w planach wykorzystywać dla projektów open-source dla platformy Android z uwagi na [wymagania f-droid](https://f-droid.org/wiki/page/FAQ_-_App_Developers).
== Repozytoria na serwerze Sealcode (self-hosted) ==
// to do
---
= Klucze SSH =
W celu ułatwienia pracy z repozytoriami git zalecane jest utworzenie własnego klucza publicznego SSH.
== Generowanie klucza SSH (pod systemem GNU/Linux) ==
Aby utworzyć klucz wystarczy wydać następujące polecenia w naszej konosli:
```
ssh-keygen -t rsa -b 4096 -C "[twoj-sealcodeowy-adres-mailowy]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
```
(WARNING) **UWAGA**: W miejsce `[twoj-sealcodeowy-adres-mailowy]` należy podać własny sealcodeowy adres mailowy przykładowo `jan.kowalski@sealcode.org` ułatwia to identyfikację użytkownika commitującego zmiany
== Uploadowanie klucza
* Phabricator: [https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/#authentication-over-ssh](https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/#authentication-over-ssh)
* GitHub: [https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/)
* GitLab: [https://about.gitlab.com/2014/03/04/add-ssh-key-screencast/](https://about.gitlab.com/2014/03/04/add-ssh-key-screencast/)
----
= Discourse (forum Sealcode.org) =
Dla ważnych rozmów wymagających asynchronicznej komunikacji korzystamy z narzędzia Discourse dostępnego pod adresem [https://forum.sealcode.org/](https://forum.sealcode.org/).
{F1183}
-----
= Komunikator Telegram =
W Sealcodzie dla luźnych, niestotnych rozmów wykorzystujemy komunikator [Telegram](https://telegram.org/).
{F1181}
== Kanał Sealcode.org ==
Przeznaczony do nieoficjalnych - niestotnych rozmów, ważne rzeczy rozwiązujemy na forum, telefonicznie bądź mailowo. Dołączenie do kanału po przez dowolną osobę z zespołu.
== Inne kanały ==
W razie potrzeby dla synchronicznej komunikacji w projektach korzystamy z predefiniowanych kanałów w którym uczestniczą osoby przypięte do danego projektu.
**Przykłady**:
* kanał dlaSchroniska.pl
* kanał Sealious
https://forum.sealcode.org/t/sealcode-deadlines/1194
https://forum.sealcode.org/t/ogloszenia-organizacyjne-czlonkowie-i-wolontariusze/1349