Closed sirjofri closed 7 years ago
Viele Studierende müssen für ihre Studienarbeiten bzw. Projektarbeiten Dokumentationen in anderen Programmen bzw. Tools schreiben, damit diese dann zur Bewertung gedruckt bzw. als PDF abgegeben werden können, hier ist eine Doku die nur in Plain Text verfügbar ist problematisch. Eine Art Quick Start Guide bzw. eine Übersicht über die Funktionalität der Schnittstelle in deiner vorgeschlagenen Form finde ich aber ergänzend auch sinnvoll (auch wenn das dann zusätzlich zur Doku mehr Aufwand bedeutet). Nachdem du keine Studienarbeit oder Projektarbeit dieses Semester schreibst, kannst du aber gerne auf die von dir genannte Art der Dokumentation zurückgreifen :-)
Ich finde wir sollten die Dokumentationen für alle Repositorys in dem Design Branch sammeln und den Design Branch dementsprechend als Doku und Design Branch betiteln. So müsste man einerseits weniger Daten beim erstmaligen Pullen jedesmal herunterladen. Andererseits wären alle Dokumentationen zu allen Repositorys an einem Ort leicht auffindbar und es wäre für Neulinge leichter die Entwicklungen der vergangenen Semester anhand nachzuvollziehen. Auch würden sich die Dokumentationen nicht auf verschiedenen Branches verteilen.
Deine Vorschläge zur Code Organisation machen auch Sinn, jedoch glaube ich dass man das Ganze aktuell auf zwei Branches reduzieren könnte: master
und development
.
Mit anzumerken ist, dass Dokus oftmals erst am Ende des Semesters geschrieben werden. Schnittstellenerweiterungen war meistens nur eine Zugabe zu anderen Studienarbeiten.
Ja ich meine das Design Repository... Hier war ich unachtsam beim schreiben
Meine Anregung war, die PDF Dokumentationen in den Design Repository zu legen. Diese werden 1x im Semester hochgeladen (am Ende) und dann nicht mehr verändert, weil die Studienarbeit ja abgegeben wurde.
Branches kosten uns nichts, von daher habe ich eigentlich auch kein Problem wenn Du vor dem Testing Branch erst nochmal in einem eigenem Branch arbeiten möchtest. Das kann auch das Push Notification Team machen.
Nach gemeinsamer Diskussion, hat @avinotec (Michael Stepping) folgende Vereinbarungen festgelegt. (Die obigen Kommentare habe ich, Michael Stepping, soeben - sinnvoll - gekürzt.)
Namenskonventionen und Branches - generell:
Dokumentation in der Schnittstelle:
Designbranch:
Schnittstellenwiki:
Ordnerbenennungen:
Wie sieht das jetzt konkret aus, @jofranz, wo sollen letzten Endes die ganzen FCM-Scripts hin? in den php-Ordner? #13 #14
Michael Stepping: --> Alle PHP Skripte in /php ....
Zur Vollständigkeit noch die Datenbank-Dateien:
tables.sql
- Create Table-Anweisungenfunc.sql
- Stored Procedures, Funktionen, ...views.sql
- Views (vorerst leer)database.sql
- Datenbank selbst einrichtenmigration.sql
- Anpassungen bei Updatetestdata.sql
- Testdaten zum Füllen in einer TestumgebungIm übrigen schlage ich mich nicht darum, alles selbst zu machen.
views.sql können wir anlegen, und noch leer lassen. Es werden welche kommen werden.
Alle PHP Dateien, egal ob FCM oder iOS in das Unterverzeichnis PHP. Das ist dann der Stand, den wir auch auf dem Produktivserver haben.
Hier mein Vorschlag:
/README.md
enthält die Schnittstellen-Beschreibung nach außen, also alles, was die App-Entwickler brauchen/License.txt
obligatorische Lizenz. Gibt es ja schon/Contributing.md
ist eine kleine Einführung für neue Schnittstellen-Entwickler, enthält Coding-Guidelines, Informationen zum Repository-Aufbau, ...; müssten im Detail natürlich noch geklärt werden/docs/
enthält die Schnittstellen-interne Dokumentation, könnten theoretisch auch via doxygen-(ähnliche) direkt aus der Code-Dokumentation erzeugt werden, je nach Bedarf./docs/WS2017/
(bzw angepasst) für PDF-Dokumentation, sofern sie in das Repository sollen. Für die Schnittstelle relevante Informationen können ja in die restliche Dokumentation kopiert werden./php/
(anderer Name?) enthält die tatsächlichen PHP-Skripte/setup/
enthält Dateien zur Einrichtung einer Entwicklungsumgebung (SQL-Dumps, ...)Die Vorteile sind:
Zur Coding-Organisation ist mein Vorschlag:
master
-Branch enthält den aktuell laufenden Stand, wie er auf dem Server abgebildet isttesting
-Branch enthält den geplant-künftigen Stand, wird beim Update inmaster
gemergt und für kleinere Veränderungen direkt benutzt. Dieser Branch wird auch auf dem Testserver genutztdevelopment
-Branches (mit sprechenden Namen) werden für größere Entwicklungs-Schritte genutzt und zum Testen der entwickelten Features verwendet.Diese verschiedenen Features werden inNur noch einen development-Branch zum Testen und entwickeln. Weitere Branches bei Bedarf, z. B. größeren Veränderungen.testing
gemergt und zusammen getestet und letztlich (bei Bestehen des Testes) inmaster
gemergt.Damit haben wir ein regelrechtes Staging, wie es auch aus anderen Software-Projekten bekannt ist (allerdings in etwas abgespeckter Version). Die einzelnen
EntwicklungsschritteVersionen werden inmaster
zusätzlich als Tags gekennzeichnet (mitgit tag
).