Performanceproblem beim Infoterminal behoben; Unnötige Datenbankzugriffe in Klasse Studiengang minimiert;

This commit is contained in:
Andreas Österreicher
2014-04-25 15:26:26 +00:00
parent db0063ef90
commit 8a87e28aff
14 changed files with 289 additions and 278 deletions
+4 -8
View File
@@ -1,10 +1,6 @@
AuthBasicProvider ldap
AuthName "Technikum-Wien"
AuthName "FHComplete"
AuthType Basic
AuthBasicAuthoritative Off
AuthLDAPURL "ldap://ldap.technikum-wien.at:389/ou=People,dc=technikum-wien,dc=at?uid?one?objectclass=posixAccount"
#AuthLDAPURL "ldap://ldap.technikum-wien.at:389/ou=People,dc=technikum,dc=at?uid?sub?(objectClass=*)"
AuthLDAPGroupAttributeIsDN Off
AuthLDAPGroupAttribute memberuid
Require ldap-group cn=fhadmin,ou=Group,dc=technikum-wien,dc=at
require ldap-group cn=hadesadm,ou=Group,dc=technikum-wien,dc=at
AuthBasicAuthoritative On
AuthLDAPURL "ldap://localhost:389/ou=People,dc=oesi,dc=org?cn"
Require valid-user
+75
View File
@@ -41,6 +41,64 @@ echo '<H2>DB-Updates!</H2>';
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
// **************** Spalte scrumsprint_id Tabelle fue.tbl_projekttask
if(!$result = @$db->db_query("SELECT scrumsprint_id FROM fue.tbl_projekttask LIMIT 1;"))
{
$qry = 'ALTER TABLE fue.tbl_projekttask ADD COLUMN scrumsprint_id bigint;
CREATE TABLE fue.tbl_scrumteam
(
scrumteam_kurzbz character varying(16) NOT NULL,
bezeichnung character varying(256),
punkteprosprint integer DEFAULT 160,
tasksprosprint integer DEFAULT 15,
gruppe_kurzbz character varying(32),
CONSTRAINT tbl_scrumteam_pkey PRIMARY KEY (scrumteam_kurzbz)
)
WITH (
OIDS=FALSE
);
CREATE TABLE fue.tbl_scrumsprint
(
scrumsprint_id serial NOT NULL,
scrumteam_kurzbz character varying(16) NOT NULL,
sprint_kurzbz character varying(32),
sprintstart date,
sprintende date,
insertamum Timestamp DEFAULT now(),
insertvon Character varying(32),
updateamum Timestamp DEFAULT now(),
updatevon Character varying(32),
CONSTRAINT tbl_scrumsprint_pkey PRIMARY KEY (scrumsprint_id),
CONSTRAINT fk_scrumsprint_scrumteam FOREIGN KEY (scrumteam_kurzbz)
REFERENCES fue.tbl_scrumteam (scrumteam_kurzbz) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT uk_scrumteam_sprintkurzbz UNIQUE (scrumteam_kurzbz, sprint_kurzbz)
)
WITH (
OIDS=FALSE
);
ALTER TABLE fue.tbl_projekttask
ADD CONSTRAINT fk_projekttask_scrumsprint FOREIGN KEY (scrumsprint_id)
REFERENCES fue.tbl_scrumsprint (scrumsprint_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT;
';
if(!$db->db_query($qry))
echo '<strong>fue.tbl_projekttask: '.$db->db_last_error().'</strong><br>';
else
echo ' fue.tbl_projekttask: Spalte scrumsprint_id hinzugefuegt!<br>';
}
// tbl_gruppe neues attribut zutrittssystem
if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
{
$qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_gruppe: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
}
// ** Studiengangsverwaltung
// Tabelle Studienordnung
@@ -1429,6 +1487,23 @@ if(!$result = @$db->db_query("SELECT pruefungsanmeldung_id FROM lehre.tbl_pruefu
echo 'lehre.tbl_pruefung: Spalte pruefungsanmeldung_id hinzugefuegt';
}
// Indizes für Tabelle Reservierung
if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_reservierung_datum'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "CREATE INDEX idx_reservierung_datum ON campus.tbl_reservierung USING btree (datum);
CREATE INDEX idx_reservierung_ort ON campus.tbl_reservierung USING btree (ort_kurzbz);
CREATE INDEX idx_reservierung_stunde ON campus.tbl_reservierung USING btree (stunde);";
if(!$db->db_query($qry))
echo '<strong>Indizes: '.$db->db_last_error().'</strong><br>';
else
echo 'Diverse Indizes fuer Tabelle Reservierung hinzugefügt';
}
}
echo '<br><br><br>';
$tabellen=array(
+39 -36
View File
@@ -274,6 +274,31 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</style:paragraph-properties>
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="PLegend" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="5.5pt" fo:font-weight="bold" style:font-size-asian="5.5pt" style:font-weight-asian="bold" style:font-size-complex="5.5pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="PLegendEmpty" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="6pt" fo:font-weight="normal" style:font-size-asian="6pt" style:font-weight-asian="normal" style:font-size-complex="6pt" style:font-weight-complex="normal"/>
</style:style>
<style:style style:name="PDatumOrt" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="10pt" fo:font-weight="bold" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-size-complex="10pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="PTabEmpty" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="12pt" style:font-size-asian="10.5pt" style:font-size-complex="12pt"/>
</style:style>
<style:style style:name="PTabStgl" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="10pt" fo:font-weight="bold" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-size-complex="10pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="PTabStglUnten" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
</style:style>
</office:automatic-styles>
<office:body>
<xsl:apply-templates select="zeugnis"/>
@@ -372,58 +397,36 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table>
<text:p text:style-name="P3"/>
<text:p text:style-name="P3"/>
<text:p text:style-name="P10">Legende: WS=Wintersemester, SS=Sommersemester, SWS=Semesterwochenstunden, LV-Art=Lehrveranstaltungsart, VO=Vorlesung, UE=Übung, BP=Praktikum, SE=Seminar, EX=Exkursion, PT=Projekt, AWPF=Wahlpflichtfach, RU=Rechenübung, ILV=integr. LV, LB=Laborübung, PS=Proseminar, WK=Workshop, WA=Wiss. Arbeit, WP=Wirtschaftspraktikum, MT=Managementtechniken, MODUL=gemeinsame Bewertung mehrerer Lehrveranstaltungen mit einer Modulnote</text:p>
<text:p text:style-name="P10"/>
<text:p text:style-name="P10">1 SWS=15 Lehrveranstaltungsstunden, m.E.tg.=mit Erfolg teilgenommen, o.E.tg.=ohne Erfolg teilgenommen</text:p>
<text:p text:style-name="P10">Nationale Beurteilung: 1=Sehr Gut, 2=Gut, 3=Befriedigend, 4=Genügend, 5=Nicht Genügend</text:p>
<text:p text:style-name="P10">Internationale Beurteilung (ECTS Notenskala): A/B=Sehr Gut, C=Gut, D=Befriedigend, E=Genügend, F=Nicht Genügend</text:p>
<text:p text:style-name="P9"/>
<text:p text:style-name="P9"/>
<text:p text:style-name="P4">Pinkafeld, am <xsl:value-of select="datum_aktuell"/></text:p>
<text:p text:style-name="PLegend"><text:soft-page-break/>Legende: WS=Wintersemester, SS=Sommersemester, SWS=Semesterwochenstunden, LV-Art=Lehrveranstaltungsart, VO=Vorlesung, UE=Übung, BP=Praktikum, SE=Seminar, EX=Exkursion, PT=Projekt, AWPF=Wahlpflichtfach, RU=Rechenübung, ILV=integr. LV, LB=Laborübung, PS=Proseminar, WK=Workshop, WA=Wiss. Arbeit, WP=Wirtschaftspraktikum, MT=Managementtechniken, MODUL=gemeinsame Bewertung mehrerer Lehrveranstaltungen mit einer Modulnote</text:p>
<text:p text:style-name="PLegend"/>
<text:p text:style-name="PLegend">1 SWS=15 Lehrveranstaltungsstunden, m.E.tg.=mit Erfolg teilgenommen, o.E.tg.=ohne Erfolg teilgenommen</text:p>
<text:p text:style-name="PLegend">Nationale Beurteilung: 1=Sehr Gut, 2=Gut, 3=Befriedigend, 4=Genügend, 5=Nicht Genügend</text:p>
<text:p text:style-name="PLegend">Internationale Beurteilung (ECTS Notenskala): A/B=Sehr Gut, C=Gut, D=Befriedigend, E=Genügend, F=Nicht Genügend</text:p>
<text:p text:style-name="PLegendEmpty"/>
<text:p text:style-name="PLegendEmpty"/>
<text:p text:style-name="PDatumOrt">Pinkafeld, am <xsl:value-of select="datum_aktuell"/></text:p>
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
<table:table-column table:style-name="Tabelle2.A"/>
<table:table-column table:style-name="Tabelle2.B"/>
<text:soft-page-break/>
<table:table-row>
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
<text:p text:style-name="P13"/>
<text:p text:style-name="PTabEmpty"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
<text:p text:style-name="P5"><xsl:value-of select="studiengangsleiter"/></text:p>
<text:p text:style-name="PTabStgl"><xsl:value-of select="studiengangsleiter"/></text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
<text:p text:style-name="P13"/>
<text:p text:style-name="PTabEmpty"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
<text:p text:style-name="P8">Leitung Fachhochschul-Studiengang</text:p>
<text:p text:style-name="PTabStglUnten">Leitung Fachhochschul-Studiengang</text:p>
</table:table-cell>
</table:table-row>
</table:table>
<text:p text:style-name="P7"/>
<text:p text:style-name="P7">
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
</text:p>
<text:p text:style-name="P7">
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
<text:tab/>
</text:p>
<text:p text:style-name="PLegendEmpty"/>
</office:text>
</xsl:template>
+16 -1
View File
@@ -205,7 +205,22 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<text:p text:style-name="MP1"/>
<text:p text:style-name="MP1"/>
<text:p text:style-name="MP1">Erfolgsnachweis</text:p>
<text:p text:style-name="MP2">Fachhochschul-Masterstudiengang <xsl:value-of select="studiengang" /></text:p>
<text:p text:style-name="MP2">
<xsl:choose>
<xsl:when test="studiengang_typ='b'" >
Fachhochschul-Bachelorstudiengang
</xsl:when>
<xsl:when test="studiengang_typ='m'" >
Fachhochschul-Masterstudiengang
</xsl:when>
<xsl:otherwise>
Fachhochschul-Studiengang
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="studiengang" />
</text:p>
<text:p text:style-name="MP2"/>
<text:p text:style-name="MP3">Studienjahr <xsl:value-of select="studienjahr" /></text:p>
<text:p text:style-name="MP4"/>