196 lines
No EOL
9.7 KiB
TeX
196 lines
No EOL
9.7 KiB
TeX
\RequirePackage{silence} % :-\
|
|
\WarningFilter{scrreprt}{Usage of package `titlesec'}
|
|
%\WarningFilter{scrreprt}{Activating an ugly workaround}
|
|
\WarningFilter{titlesec}{Non standard sectioning command detected}
|
|
\documentclass[ openright,titlepage,numbers=noenddot,headinclude,%twoside, %1headlines,% letterpaper a4paper
|
|
footinclude=true,cleardoublepage=empty,abstract=false, % <--- obsolete, remove (todo)
|
|
BCOR=5mm,paper=a4,fontsize=11pt,%11pt,a4paper,%
|
|
ngerman,american,%lockflag%
|
|
]{scrreprt}
|
|
|
|
%*************************************************************************
|
|
% Note: Make all your adjustments in here
|
|
%*************************************************************************
|
|
\input{marco-galster-config}
|
|
\input{classicthesis-config}
|
|
\renewcommand{\myThesisType}{Bachelorarbeit\xspace}
|
|
\renewcommand{\myTime}{22. Juli 2024\xspace}
|
|
\renewcommand{\myVersion}{version 1.0\xspace}
|
|
|
|
% https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings
|
|
%\lstinputlisting[frame=tb,language=SQL,caption={ein sql beispiel},label=lst:tester]{chapters/thesis/chapter05_example.sql}
|
|
\newcommand{\includecode}[4][c]{\lstinputlisting[caption=#4,label=#3,language=#1]{#2}}
|
|
\lstset{frame=tb}
|
|
\newcommand\mytodos[1]{\fcolorbox{black}{lightgray}{\parbox{\textwidth}{\textit{\textcolor{red}{TODO: #1}}}}}
|
|
|
|
% Beispiel für externe Datei:
|
|
%\includecode[SQL]{chapters/thesis/chapter05_example.sql}{lst:tester}{ein sql beispiel}
|
|
% Beispiel für direkte Eingabe:
|
|
%\begin{lstlisting}[float=b,language=Pascal,frame=tb,caption={A floating example (\texttt{listings} manual)},label=lst:useless]
|
|
% for i:=maxint downto 0 do
|
|
% begin
|
|
% { do nothing or other things }
|
|
% end;
|
|
%\end{lstlisting}
|
|
% Beispiel für Inline:
|
|
%lorem ipsum \lstinline|code| lorem ipsum
|
|
|
|
\input{tools/yaml_syntax_highlighting.tex}
|
|
|
|
|
|
%*************************************************************************
|
|
% Bibliographies
|
|
%*************************************************************************
|
|
\addbibresource{Expose-ref.bib}
|
|
|
|
|
|
%*************************************************************************
|
|
% GO!GO!GO! MOVE IT!
|
|
%*************************************************************************
|
|
\begin{document}
|
|
\frenchspacing
|
|
\raggedbottom
|
|
\selectlanguage{ngerman} % ngerman, american
|
|
%\renewcommand*{\bibname}{new name}
|
|
%\setbibpreamble{}
|
|
\pagenumbering{roman}
|
|
\pagestyle{plain}
|
|
%*************************************************************************
|
|
% Frontmatter
|
|
%*************************************************************************
|
|
\include{frontbackmatter/Titlepage}
|
|
\include{frontbackmatter/Titleback}
|
|
%\cleardoublepage\include{frontbackmatter/Dedication}
|
|
%\cleardoublepage\include{frontbackmatter/Foreword}
|
|
\cleardoublepage\include{frontbackmatter/Declaration}
|
|
\condLOCK{\cleardoublepage\include{frontbackmatter/BlockingNotice}}
|
|
\cleardoublepage\include{frontbackmatter/thesis/AbstractEN}
|
|
\cleardoublepage\include{frontbackmatter/thesis/AbstractDE}
|
|
%\cleardoublepage\include{frontbackmatter/Publications}
|
|
%\cleardoublepage\include{frontbackmatter/Acknowledgments}
|
|
\cleardoublepage\include{frontbackmatter/Contents}
|
|
\cleardoublepage\include{frontbackmatter/Figures}
|
|
\cleardoublepage\include{frontbackmatter/Tables}
|
|
\cleardoublepage\include{frontbackmatter/Listings}
|
|
\cleardoublepage\include{frontbackmatter/thesis/Acronyms}
|
|
%*************************************************************************
|
|
% Mainmatter
|
|
%*************************************************************************
|
|
\cleardoublepage
|
|
\pagestyle{scrheadings}
|
|
\pagenumbering{arabic}
|
|
% Alwas use \cleardoublepage before \part{...}.
|
|
\cleardoublepage
|
|
%\part{Thesis}\label{pt:thesis}
|
|
\include{chapters/thesis/chapter01}
|
|
\include{chapters/thesis/chapter02}
|
|
\include{chapters/thesis/chapter03}
|
|
\include{chapters/thesis/chapter04}
|
|
\include{chapters/thesis/chapter05}
|
|
\include{chapters/thesis/chapter06}
|
|
\include{chapters/thesis/chapter07}
|
|
%*************************************************************************
|
|
% Backmatter
|
|
%*************************************************************************
|
|
\appendix
|
|
%\renewcommand{\thechapter}{\alph{chapter}}
|
|
\cleardoublepage
|
|
\part{Appendix}
|
|
%\include{chapters/thesis/appendix01}
|
|
\include{chapters/thesis/appendix02}
|
|
\include{chapters/thesis/appendix03}
|
|
\include{chapters/thesis/appendix04}
|
|
%\include{chapters/examples/appendix02}
|
|
%*************************************************************************
|
|
% Other Stuff in the Back
|
|
%*************************************************************************
|
|
\cleardoublepage\include{frontbackmatter/Bibliography}
|
|
%*************************************************************************
|
|
% Game Over: Restore, Restart, or Quit?
|
|
%*************************************************************************
|
|
\end{document}
|
|
%*************************************************************************
|
|
|
|
% Performance-Analysen Postgresql:
|
|
% https://stackoverflow.com/questions/2430380/is-there-a-postgresql-equivalent-of-sql-server-profiler
|
|
% https://www.postgresql.org/docs/current/runtime-config-logging.html#guc-log-statement
|
|
|
|
% Allgemeine Webseite:
|
|
% https://www.overleaf.com/learn/latex/Bibliography_management_with_natbib
|
|
% https://postgrespro.com/docs/postgresql/14/runtime-config-resource
|
|
|
|
% Frank Wedekind:
|
|
% https://books.google.de/books?hl=de&lr=&id=3qO8DQAAQBAJ&oi=fnd&pg=PA1&dq=frank+wedekind&ots=S4LHWQ0h2e&sig=Mz8PEGF-md4n3AwH9cgXq-5vUac#v=onepage&q=frank%20wedekind&f=false
|
|
% https://www.martin.germanistik.uni-mainz.de/forschung/frank-wedekind/
|
|
|
|
% Webseiten für Java und Payara
|
|
% https://blog.payara.fish/how-to-deploy-an-application-on-payara-server-5
|
|
% https://docs.payara.fish/community/docs/6.2023.1/Technical%20Documentation/Ecosystem/IDE%20Integration/IntelliJ%20Plugin/Payara%20Server.html
|
|
|
|
% Probleme mit Latexmk nach einen Update
|
|
% pacman -S texlive-meta
|
|
% > fmtutil-user --all
|
|
% > sudo fmtutil-sys --all
|
|
|
|
% Da ich beim Deployen immer wieder Zugriffsfehler mit "kein Zugriff auf Schema public" hatte, habe ich nochmal folgende Befehle
|
|
% auf dem Datenbankserver ausgeführt um alle Rechte zu erteilen (Anlegen des User ausgenommen):
|
|
% > sudo -u postgres psql
|
|
% > CREATE USER onlineed WITH PASSWORD 'xxxxx';
|
|
% > GRANT ALL ON DATABASE wedeojpa to onlineed; -- diese kommt aus der Wiki, hat aber nicht gereicht
|
|
% > GRANT ALL PRIVILEGES ON wedeojpa TO onlineed;
|
|
% > \c wedeojpa postgres -- In die Datenbank wedeojpa wechseln unter dem User postgres
|
|
% > GRANT ALL ON SCHEMA public TO onlineed;
|
|
% nicht um die Rechte dem Benutzer onlineed
|
|
|
|
% Installation Payara mit PostgreSQL
|
|
% 1. Mit "yay -S payara" installieren lassen, liegt dann unter /opt/payara
|
|
% 2. Mit "yay -S postgresql-jdbc" den Datenbanktreiber installieren
|
|
% 3. Eigenen Benutzer der Gruppe payara hinzufügen, damit man es direkt von der IDE starten kann (gpasswd -a <user> payara)
|
|
% über "/opt/payara/bin/asadmin start-domain" kann der Server auch per hand gestartet werden und einem zusätzlichen "-d"
|
|
% ist der Debugger aktiv, damit man über die IDE auch remote-debuggen kann (Es kann sein dass am Ende die Domain dazu muss)
|
|
% 4. Beim Zugriffsfehler, muss die Log-Datei schreibrechte für die Gruppe zugeordnet werden. Hierfür nachfolgenden
|
|
% Befehl im Ordner "/opt/payara/glassfish/domains/domain1/logs" ausführen:
|
|
% > sudo chmod g+w -R *
|
|
|
|
% Konfiguration von Idea
|
|
% 1. Neue Payara Server - Local hinzufügen
|
|
% 2. Bei Before Lunch "Build artifact" hinzufügen und "WedekindJSF.war" auswählen
|
|
% 3. Unter Deployment "Artifact" "WedekindJSF.war" hinzufügen
|
|
% 4. Sollte es Probleme mit dem Deployment geben, ala "kann ...Servlet-class nof found" einfach alle target-Verzeichnis löschen
|
|
% und erneut deployen oder vielleicht ein Rebuild auf dem Projekt probieren
|
|
|
|
% Konfiguration Glassfish/Payara (Muss scheinbar nach jedem neustart des Rechners gemacht werden)
|
|
% 1. Payara-Server starten, damit man an die Admin-Oberfläche kommt unter http://localhost:4848/
|
|
% > /opt/payara/bin/asadmin start-domain domain1
|
|
% 2. Unter Ressources\JDBC\JDBC Connection Pools einen neuen Anlegen:
|
|
% 2.1. Poolname vergeben
|
|
% 2.2. Resource Type: javax.sql.DataSource
|
|
% 2.3. Database Driver Vender: Postgresql (Wenn die Auswahl nicht stehen bleibt, dann im Feld darunter fix eintragen)
|
|
% 2.4. Mit Next bestätigen
|
|
% 2.5. Datasource Classname prüfen, sollte auf org.postgresql.ds.PGSimpleDataSource oder org.postgresql.ds.PGSimpleDataSource sein
|
|
% 2.6. Die Felder User, Password und databaseName ausfüllen (Infos siehe payra-resources.xml)
|
|
% 2.7. Mit Finish bestätigen
|
|
% 3. Unter Resources\JDBC\JDBC Resources einen neuen Anlegen:
|
|
% 3.1. JNDI Name: jdbc/wedekindPostgreSQL (muss mit jta-data-source aus persistence.xml zusammen passen)
|
|
% 3.2. Pool Name: den unter 2 angelegten Pool auswählen
|
|
% 3.3. Mit Save bestätigen
|
|
% 4. Payara-Server neustarten
|
|
|
|
% Sollte der Ping nicht gehen, dann braucht man noch die Treiber, welche hier zu finden sind: https://jdbc.postgresql.org/download/
|
|
% Häufige Fehlermeldung dafür ist "No suitable driver found for jdbc:postgresql://...."
|
|
% Nach dem Download mit nachfolgendem Kommando hinzufügen:
|
|
% > /opt/payara/bin/asadmin add-library /path/to/download/jdbcdriver.jar
|
|
% > sudo -i -u postgres
|
|
% > psql
|
|
% > CREATE EXTENSION adminpack;
|
|
% danach sollte der Ping auf der Webseite gehen
|
|
|
|
% Java-Programm
|
|
% WedekindEJB beinhaltet die Datenbank-Klassen und den Zugriff in die DB, sowie die TEI Implementierung
|
|
% WedekindJSF beinhaltet die WebOberfläche
|
|
% Unter de.wedekind sind die Funktionen/Controller zu finden
|
|
% Unter webapp findet man die Views
|
|
% Unter WEB-INF/layout findet man die Sonder-Elemente wie Footer, Header usw.
|
|
% Die Verknüpfung von View zu Controller passiert scheinbar in der viewAction, bei der die Setup-Funktion des Controllers gerufen wird
|
|
% bzw. den direkten Aufrufen der Controller-Namen innerhalb von #{}, wobei der erste Buchstabe klein ist
|
|
% Der URL-Aufbau wird durch den webapp-Ordner vorgegeben. |