... | ... | @@ -4,11 +4,14 @@ Es soll eine Online-Packetverwaltung für Curry implementiert werden. Im Folgend |
|
|
|
|
|
### Benutzermanagement
|
|
|
* Jeder Benutzer kann einen Account erstellen
|
|
|
* Hierzu werden E-Mail-Adresse und Passwort abgefragt
|
|
|
* Hierzu werden Benutzername, E-Mail-Adresse und Passwort abgefragt
|
|
|
* Die E-Mail-Adresse muss bestätigt werden
|
|
|
* Der Benutzername muss eindeutig sein
|
|
|
* Es muss ein Passwort angegeben werden
|
|
|
* Der Benutzer kann sich mit E-Mail-Adresse und Passwort anmelden
|
|
|
* E-Mail-Adresse und Passwort können geändert werden
|
|
|
* optional kann eine öffentliche E-Mail-Adresse angegeben werden
|
|
|
* Der Benutzer kann sich mit E-Mail-Adresse/Benutzername und Passwort anmelden
|
|
|
* E-Mail-Adresse, öffentliche E-Mail-Adresse und Passwort können geändert werden
|
|
|
* Der Benutzername kann nicht geändert werden
|
|
|
* Ein Account kann vom Besitzer gelöscht werden
|
|
|
* Das Passwort kann bei Verlust zurückgesetzt werden
|
|
|
|
... | ... | @@ -18,7 +21,7 @@ Es gibt drei Berechtungsstufen, die ein Benutzer haben kann: |
|
|
* User: User haben alle Berechtugungen der Gäste. Zusätzlich dürfen sie Paketversionen hochladen. Sie dürfen keine Paketversionen löschen, auch nicht ihre eigenen. Für selber hochgeladene Pakete, werden sie automatisch Maintainer.
|
|
|
* Admin: Admins sind User mit zusätzlichen Berechtigungen. Sie dürfen Paketversionen, Pakete und Nutzer löschen, sowie andere User zu Admins machen und als Admins entfernen. Der letzte Admin kann nicht entfern werden.
|
|
|
|
|
|
Maintainer eines Paketes dürfen neue Paketversionen hochladen und neue Maintainer hinzufügen sowie löschen. Der letzte Maintainer kann nicht gelöscht werden.
|
|
|
Maintainer eines Paketes dürfen neue Paketversionen hochladen und neue Maintainer hinzufügen. Er kann sich selbst als Maintainer entfernen. Admins können ebenfalls Maintainer hinzufügen. Projekte ohne Maintainer werden als nicht maintained angezeigt.
|
|
|
|
|
|
Zu jedem User gibt es eine Profilseite, die man per Klick auf den Namen erreichen kann. Hier werden alle Pakete angezeigt von denen der User Maintainer ist. Zusatzlich ist einsehbar, ob es sich um einen Admin handelt.
|
|
|
|
... | ... | @@ -36,7 +39,7 @@ User können Paketversionen hochladen. Hierzu gibt es zwei Möglichkeiten: |
|
|
* Es kann eine *package.json* hochgeladen werden. Diese muss eine gültige package.json-Datei sein und
|
|
|
* einen Verweis auf eine externe Quelle enthalten (z.B. ein Git, siehe cpm) und
|
|
|
* die Quelle muss existieren.
|
|
|
* Mit Hilfe dieser Informationen wird dann eine Paketversion angelegt.
|
|
|
* Mit Hilfe dieser Informationen wird dann eine Paketversion angelegt, hier müssen die selben Bedingungen gelten wie beim Hochladen eines Tar-Balls.
|
|
|
|
|
|
Paketversionen werden ohne weitere Prüfungen für alle sichtbar und in den Index aufgenommen. Sie können bei Bedarf von einem Admin gelöscht werden.
|
|
|
|
... | ... | @@ -51,7 +54,7 @@ Eine Paketversion kann die folgeden Dinge enthalten: |
|
|
* Eine Readme.md, die auf der Paketseite angezeigt wird
|
|
|
* Latex-Dateien, aus denen ein Handbuch generiert wird
|
|
|
|
|
|
Paketversionen sollen keine Binaries enthalten.
|
|
|
Ein Paket kann weitere Dinge enthalten, diese werden nicht weiter beachtet.
|
|
|
|
|
|
|
|
|
|
... | ... | |