Browse Source

feat: rewrite user categories

develop
Apostolos Fanakis 3 years ago
parent
commit
f0a38eb234
  1. 65
      chapters/3.application-design/3.2.user-categories.tex
  2. 6
      custom-commands/custom-spheading.tex
  3. 13
      misc/packages.tex
  4. BIN
      thesis.pdf

65
chapters/3.application-design/3.2.user-categories.tex

@ -1,50 +1,51 @@
\section{Κατηγορίες χρηστών} \label{section:3-2-user-categories}
Κατηγορίες:
1. Επισκέπτες
2. Εγγεγραμμένοι χρήστες
3. Δημιουργοί κοινοτήτων ?
\subsection{Πρώτο μέρος} \label{subsection:4-4-first-part}
Όπως προειπώθηκε, το πρώτο μέρος της πλατφόρμας θα είναι ανοιχτό σε όλους. Ωστόσο, οι χρήστες του μπορούν να διακριθούν
στις εξής δύο κατηγορίες:
Οι χρήστες της πλατφόρμας χωρίζονται σε πρωτεύοντες ή ενεργούς και δευτερεύοντες ή παθητικούς. Πρωτεύοντες χρήστες είναι εκείνοι που εκκινούν διεργασίες στο σύστημα. Δευτερεύοντες είναι οι χρήστες με τους οποίους αλληλεπιδρά το σύστημα αλλά οι ίδιοι δεν εκκινούν διεργασίες σε αυτό. Συνολικά οι χρήστες που συμμετέχουν στο σύστημα είναι οι:
\begin{itemize}
\item Έμπιστα μέλη του δικτύου (trusted users)
\item Μη έμπιστα μέλη (untrusted users)
\item Επισκέπτες
\item Εγγεγραμμένα μέλη
\item Δημιουργοί κοινοτήτων
\item Συμβόλαιο υποκοινότητας
\end{itemize}
Βασική διαφορά των δύο κατηγοριών είναι πως ενώ οι trusted users θα αποζημιώνονται αυτόματα από το (ενν. φορτισμένο)
smart contract και άρα θα είναι απαλλαγμένοι από τέλη, οι δεύτεροι θα πρέπει να καταβάλουν μόνοι τους τα τέλη τους
(fees) για κάθε ενέργεια (π.χ. posting).
\subsection{Ενεργοί χρήστες}
Η εμπιστοσύνη ενός χρήστη (trust) μπορεί να οριστεί ως ένας ακέραιος αριθμός με κάποιο κατώφλι, πάνω από το οποίο ο
χρήστης θα θεωρείται trusted. Το trust θα μπορεί να αυξομειώνεται ανά πάσα στιγμή, με τους χρήστες να δίνουν και να
παίρνουν βαθμούς trust σε/από άλλους.
Οι ενεργοί χρήστες στο σύστημα είναι οι επισκέπτες, τα εγγεγραμμένα μέλη και οι δημιουργοί κοινοτήτων.
Αξίζει να σημειωθεί επίσης ότι επειδή όλες οι συναλλαγές καταγράφονται, είναι δυνατό να υπολογιστεί το συνολικό ποσό του
Ethereum που έχει ξοδέψει ένας common user μέχρι να γίνει trusted και έτσι μπορεί σταδιακά να του επιστραφεί μέσω του
contract. Αυτό δίνει κίνητρο στους χρήστες να διατηρούν σωστή συμπεριφορά και να συμβάλλουν θετικά στην πλατφόρμα.
Όλοι οι χρήστες στο σύστημα είναι αρχικά επισκέπτες. Οι επισκέπτες έχουν τη δυνατότητα να βλέπουν το περιεχόμενο της κοινότητας αλλά δεν μπορούν να συμμετέχουν δημιουργώντας νέο περιεχόμενο (δημοσιεύοντας νέα θέματα ή μηνύματα). Επίσης, δεν μπορούν να συμμετέχουν στις ψηφοφορίες της κοινότητας ή να ψηφίσουν τα μηνύματα.
\subsection{Δεύτερο μέρος}
Όταν ένας επισκέπτης εγγράφεται στο σύστημα, αποκτά έναν μοναδικό, αύξων αριθμό χρήστη και αποτελεί πλέον εγγεγραμμένο μέλος της κοινότητας. Τα εγγεγραμμένα μέλη έχουν τα δικαιώματα των επισκεπτών και μπορούν επιπλέον να προσθέσουν περιεχόμενο στην πλατφόρμα μέσω της δημιουργίας νέων θεμάτων, της δημοσίευσης μηνυμάτων και της ψήφισης στις ψηφοφορίες στις οποίες έχουν δικαίωμα.
Για το δεύτερο μέρος της πλατφόρμας, οι χρήστες του μπορούν να διακριθούν στις εξής κατηγορίες:
Οι δημιουργοί κοινοτήτων είναι οι χρήστες οι οποίοι χρησιμοποιούν την δυνατότητα του συστήματος να δημιουργήσει υποκοινότητες τα μέλη των οποίων διαφοροποιούνται με βάση ένα token. Το token που ορίζει τα μέλη μίας κοινότητας προέρχεται από ένα έξυπνο συμβόλαιο το οποίο ορίζεται κατά τη δημιουργία της κοινότητας. Οι δημιουργοί κοινοτήτων πρέπει να είναι εγγεγραμμένα μέλη της κοινότητας. Ένας δημιουργός κοινότητας δεν έχει παραπάνω δικαιώματα από αυτά των απλών εγγεγραμμένων χρηστών.
\begin{itemize}
\item Πιστοποιημένα μέλη του Α.Π.Θ. (verified users)
\item Μη πιστοποιημένα μέλη του Α.Π.Θ. (untrusted users)
\end{itemize}
\subsection{Παθητικοί χρήστες}
Σχετικά με το δικαίωμα ψήφου για αυθεντικές δημοκρατικές αποφάσεις σχετικές με το ΑΠΘ, αυτό θα το έχουν μόνο οι verified
χρήστες του δικτύου. Οι verified χρήστες θα μπορούν επιπλέον να αλληλεπιδρούν με την πλατφόρμα εξαρχής χωρίς την
καταβολή τελών (θα ξεκινάνε ως trusted), πράγμα βέβαια που δε σημαίνει ότι χάνοντας trust δε θα μπορούν να χάσουν αυτό
το προνόμιο.
Παθητικοί χρήστες τους συστήματος είναι τα συμβόλαια των υποκοινοτήτων. Τα συμβόλαια αυτά δεν εκκινούν διεργασίες στο σύστημα και δεν αλληλεπιδρούν με αυτό άμεσα. Ωστόσο, μέσω της διάθεσης των token της υποκοινότητας στην οποία χρησιμοποιούνται ορίζουν τους χρήστες της υποκοινότητας αυτής. Συγκεκριμένα, μέσω του διαμοιρασμού των token καθορίζουν ποιοι χρήστες της πλατφόρμας έχουν δικαίωμα ψήφου στις ψηφοφορίες που αφορούν την υποκοινότητα.
\subsection{Σύνοψη χρηστών}
Συμπερασματικά προκύπτουν τέσσερις διακριτές κατηγορίες χρηστών με ξεχωριστά δικαιώματα όπως φαίνεται στο παρακάτω
σχήμα (σχήμα \ref{figure:3-2-use-categories-diagram}):
Συμπερασματικά προκύπτουν τρεις διακριτές κατηγορίες ενεργών χρηστών με ξεχωριστά δικαιώματα όπως φαίνεται στο παρακάτω σχήμα (σχήμα \ref{figure:3-2-use-categories-diagram}):
\begin{threeparttable}[H]
\begin{center}
\begin{tabularx}{\textwidth}{p{2.3cm} X X X X X X X X X}
\toprule
\multirow{7}{2.3cm}{Κατηγορία χρήστη} &\multicolumn{9}{c}{Δικαιώματα} \\ [0.5ex]
& \spheading{70}{6em}{Προβολή θεμάτων} & \spheading{70}{8em}{Προβολή μηνυμάτων} & \spheading{70}{8em}{Προβολή ψηφοφοριών} & \spheading{70}{8em}{Προβολή ψήφων μηνυμάτων} & \spheading{70}{8em}{Δημιουργία θεμάτων} & \spheading{70}{8em}{Δημιουργία μηνυμάτων} & \spheading{70}{8em}{Δημιουργία ψηφοφοριών} & \spheading{70}{8em}{Ψήφιση σε ψηφοφορίες} & \spheading{70}{8em}{Ψήφιση μηνυμάτων} \\ [0.5ex]
\midrule
Επισκέπτες & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{red}{\faIcon{times}} & \textcolor{red}{\faIcon{times}} & \textcolor{red}{\faIcon{times}} & \textcolor{red}{\faIcon{times}} & \textcolor{red}{\faIcon{times}} \\ [0.5ex]
Εγγεγραμμένα μέλη & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}}\tnote{1} & \textcolor{OliveGreen}{\faIcon{check}}\tnote{1} & \textcolor{OliveGreen}{\faIcon{check}} \\ [0.5ex]
Δημιουργοί κοινοτήτων & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}} & \textcolor{OliveGreen}{\faIcon{check}}\tnote{1} & \textcolor{OliveGreen}{\faIcon{check}}\tnote{1} & \textcolor{OliveGreen}{\faIcon{check}} \\ [0.5ex]
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[1] \footnotesize{Μόνο στις υποκοινότητες στις οποίες κατέχει το αντίστοιχο token και σε αυτές οι οποίες δεν έχουν ορισμένο token.}
\end{tablenotes}
\end{center}
\caption{Δικαιώματα χρήσης ανά κατηγορία χρήστη.}
\label{table:3-2-user-category-permissions}
\end{threeparttable}
\begin{figure}[H]
\centering

6
custom-commands/custom-spheading.tex

@ -0,0 +1,6 @@
% Command taken from this stackexchange answer
% https://tex.stackexchange.com/a/96913
\newcommand{\spheading}[3]{\rotatebox{#1}{\parbox{#2}{\raggedright #3}}}
% Usage:
% \spheading[<degrees_rotation>][<width>]{<stuff>}

13
misc/packages.tex

@ -12,6 +12,7 @@
% --- Languages & Fonts ---
\usepackage{polyglossia}
\input{misc/polyglossia-setup}
\usepackage{fontawesome5}
% --- Styling ---
\usepackage{hyperref} % Extensive support for hypertext
@ -23,10 +24,13 @@
\usepackage [autostyle]{csquotes}
\usepackage{listings} %TODO: unused atm (remove?)
\usepackage{tabularx} % Support for break lines inside table cells
\usepackage{booktabs} % Useful table styling commands
\usepackage{minted} % Source code highlighting (make sure to add -shell-escape flag!)
\usepackage{tcolorbox} % Colored boxes
\tcbuselibrary{minted} % Make tcolorbox work with minted
\usepackage{multirow, booktabs} % Useful table styling commands
\usepackage[flushleft]{threeparttable} % Table footnotes
\usepackage[dvipsnames]{xcolor} % Text colors
\usepackage{minted} % Source code highlighting (make sure to add -shell-escape flag!)
\usepackage{tcolorbox} % Colored boxes
\tcbuselibrary{minted} % Make tcolorbox work with minted
\usepackage{graphicx}
% --- TikZ and UML diagrams
\usepackage{pgf-umlsd}
@ -41,6 +45,7 @@
\input{custom-commands/custom-enumitem}
\input{custom-commands/srs-commands}
\input{custom-commands/use-case-commands}
\input{custom-commands/custom-spheading}
% --- Custom styles ---
\renewcommand{\arraystretch}{1.2} % Streches the table row height so text is not crammed between the lines

BIN
thesis.pdf

Binary file not shown.
Loading…
Cancel
Save