Browse Source

Angleichung an 2024.12 #5

RELEASE_kern5.1
Daniel Quathamer 5 months ago
parent
commit
83b96059b0
  1. 142
      src/de/superx/common/Maske.java
  2. 29
      src/de/superx/servlet/SuperXmlTabelle.java
  3. 16
      src/de/superx/servlet/Themenbaum.java
  4. 2
      superx-build/build.xml
  5. 45
      superx/WEB-INF/conf/#Untitled-1#
  6. 10
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/k_astat_faechergruppe.tab
  7. 10748
      superx/WEB-INF/conf/edustore/db/install/conf/kern.html
  8. 268
      superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
  9. 6
      superx/WEB-INF/conf/edustore/db/install/masken/71820_felderinfo.unl
  10. 6
      superx/WEB-INF/conf/edustore/db/install/masken/71820_maskeninfo.unl
  11. 8
      superx/WEB-INF/conf/edustore/db/install/masken/71840_felderinfo.unl
  12. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71840_maske_system_bez.unl
  13. 20
      superx/WEB-INF/conf/edustore/db/install/masken/71840_masken_felder_bez.unl
  14. 350
      superx/WEB-INF/conf/edustore/db/install/masken/71840_maskeninfo.unl
  15. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71840_sachgeb_maske_bez.unl
  16. 8
      superx/WEB-INF/conf/edustore/db/install/masken/71860_felderinfo.unl
  17. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71860_maske_system_bez.unl
  18. 20
      superx/WEB-INF/conf/edustore/db/install/masken/71860_masken_felder_bez.unl
  19. 115
      superx/WEB-INF/conf/edustore/db/install/masken/71860_maskeninfo.unl
  20. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71860_sachgeb_maske_bez.unl
  21. 3
      superx/WEB-INF/conf/edustore/db/install/masken/71880_felderinfo.unl
  22. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71880_maske_system_bez.unl
  23. 3
      superx/WEB-INF/conf/edustore/db/install/masken/71880_masken_felder_bez.unl
  24. 39
      superx/WEB-INF/conf/edustore/db/install/masken/71880_maskeninfo.unl
  25. 1
      superx/WEB-INF/conf/edustore/db/install/masken/71880_sachgeb_maske_bez.unl
  26. 7
      superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql
  27. 98
      superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/k_astat_abschl_grp.unl
  28. 5
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_env_upgrade.x
  29. 8
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_pre_upgrade_pg.sql
  30. 1
      superx/WEB-INF/conf/edustore/db/install/upgrade/kernmodul_upgrade_man.sql
  31. 1
      superx/WEB-INF/conf/obsoletfiles.txt
  32. BIN
      superx/WEB-INF/lib/superx5.1.jar
  33. 22
      superx/WEB-INF/patch/patch_archive/patch_2024-06-10_bash_var.sh
  34. 99
      superx/WEB-INF/patch/patch_archive/patch_2024-06-10_readme.htm
  35. 59
      superx/WEB-INF/patch/xml/patch_2024-06-10.xml
  36. 119
      superx/edit/kern/systeminfo_view.jsp
  37. 64
      superx/edit/kern/webapp_manager.jsp
  38. 80
      superx/images/table.svg
  39. 21
      superx/style/LICENSE_bulma_tooltip_1.2.0.txt
  40. 2
      superx/style/bulma-tooltip.min.css
  41. 2
      superx/xml/pageComponents_html.xsl

142
src/de/superx/common/Maske.java

@ -2585,79 +2585,75 @@ public class Maske extends NamedIdObject implements Serializable { @@ -2585,79 +2585,75 @@ public class Maske extends NamedIdObject implements Serializable {
}
public StringBuffer getCSV(String mandantenID) throws IOException {
String fld_delim1 = "";
String fld_delim2 = ";";
String row_delim1 = "";
String row_delim2 = "\n";// we only user unix newline, even under DOS
String outFormat = "txt";
// File f = File.createTempFile("tmp", ".csv");
// FileWriter fw = new FileWriter(f);
// BufferedWriter bfw = new BufferedWriter(fw);
StringBuffer result = new StringBuffer();
StringBuffer line = new StringBuffer("");
int cols = this.getResult_el().getColumnCount();
// header
// for (int i = 0; i < cols; i++) {
// String colname=this.getResult_el().getResultSet().getColumnName(i);
// line.append(colname+fld_delim2);
// }
List headerlist = getHeaderCaptionList(mandantenID, true);
for (Iterator it = headerlist.iterator(); it.hasNext();) {
String headername = it.next() + fld_delim2;
headername = headername.replaceAll(" ", " ");
headername = headername.replaceAll(" ", " ");
line.append(headername);
}
line.append("\n");
// bfw.write(line.toString());
result.append(line);
// data
Iterator it = this.getResult_el().getResultSet().iterator();
while (it.hasNext()) {
SxResultRow row = (SxResultRow) it.next();
line.setLength(0);
for (int i = 1; i <= cols; i++) {
Object o = row.get(i - 1);
// aus SxTransformer.printResult
String f_wert = SxDBUtils.field_value(o);
// MB spezifisch statt . ein , als Decimaltrenner
if (o instanceof Float || o instanceof Double || o instanceof BigDecimal)
f_wert = o.toString().replace('.', ',');
// MB Spezifisch Ende
if (outFormat.equals("xml")
&& (f_wert.indexOf("&") > -1 || f_wert.indexOf("<") > -1 || f_wert.indexOf(">") > -1))
f_wert = "<![CDATA[" + f_wert + "]]>";
// wenn der Feldwert zufällig das Zeichen
// "\" enthält, wird es mit "\" maskiert
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf("\\n") > -1)) {
f_wert = de.memtext.util.StringUtils.replace(f_wert, "\\n", "\\\\n");
}
// wenn der Feldwert zufällig das Trennzeichen enthält, wird es
// mit "\" maskiert
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf(fld_delim2) > -1))
f_wert = de.memtext.util.StringUtils.replace(f_wert, fld_delim2, "\\" + fld_delim2);
if (i < cols)
line.append(fld_delim1 + f_wert + fld_delim2);
else {
line.append(fld_delim1 + f_wert + fld_delim2);
line.append(row_delim2);
}
// aus SxTransformer.printResult
}
// bfw.write(line.toString());
result.append(line);
}
// bfw.close();
// fw.close();
// return f;
return result;
}
String fld_delim1 = "";
String fld_delim2 = "^";
if (SxPools.get(mandantenID).getRepository().containsKey("K_CSV_Excel_ISO")&&SxPools.get(mandantenID).getRepository().get("K_CSV_Excel_ISO").toString().equals("1"))
{
fld_delim2 = ";";
}
String row_delim1 = "";
String row_delim2 = "\n";// we only user unix newline, even under DOS
String outFormat = "txt";
StringBuffer result = new StringBuffer();
StringBuffer line = new StringBuffer("");
int cols = this.getResult_el().getColumnCount();
// header
List headerlist = getHeaderCaptionList(mandantenID, true);
for (Iterator it = headerlist.iterator(); it.hasNext();) {
String headername = it.next() + fld_delim2;
headername = headername.replaceAll(" ", " ");
headername = headername.replaceAll(" ", " ");
line.append(headername);
}
line.append("\n");
result.append(line);
// data
Iterator it = this.getResult_el().getResultSet().iterator();
while (it.hasNext()) {
SxResultRow row = (SxResultRow) it.next();
line.setLength(0);
for (int i = 1; i <= cols; i++) {
Object o = row.get(i - 1);
// aus SxTransformer.printResult
String f_wert = SxDBUtils.field_value(o);
// MB spezifisch statt . ein , als Decimaltrenner
if (o instanceof Float || o instanceof Double || o instanceof BigDecimal) f_wert = o.toString().replace('.', ',');
// MB Spezifisch Ende
if (outFormat.equals("xml") && (f_wert.indexOf("&") > -1 || f_wert.indexOf("<") > -1 || f_wert.indexOf(">") > -1)) f_wert = "<![CDATA[" + f_wert + "]]>";
//wenn der Feldwert einen Zeilenumbruch enthält wird der Test in "" gesetzt -> für CSV Import
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf("\n") > -1)) {
f_wert = "\""+f_wert+"\"";
}
// wenn der Feldwert zufällig das Zeichen
// "\" enthält, wird es mit "\" maskiert
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf("\n") > -1)) {
f_wert = "\""+f_wert+"\"";
}
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf("\\n") > -1)) {
f_wert = de.memtext.util.StringUtils.replace(f_wert, "\\n", "\\\\n");
}
// wenn der Feldwert zufällig das Trennzeichen enthält, wird es
// mit "\" maskiert
if (outFormat.equals("txt") && f_wert != null && (f_wert.indexOf(fld_delim2) > -1))
f_wert = de.memtext.util.StringUtils.replace(f_wert, fld_delim2, "\\" + fld_delim2);
if (i < cols)
line.append(fld_delim1 + f_wert + fld_delim2);
else {
line.append(fld_delim1 + f_wert + fld_delim2);
line.append(row_delim2);
}
// aus SxTransformer.printResult
}
result.append(line);
}
return result;
}
public void updateDynamicSichten(Field f, SxUser user) throws SQLException, DBServletException,
KeyParentEqualException, CloneNotSupportedException, NoMainEntryException, TemplateException, IOException {

29
src/de/superx/servlet/SuperXmlTabelle.java

@ -1069,14 +1069,29 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1069,14 +1069,29 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
}
private void csvExport() throws IOException {
/* Spezieller ISO Export für MS Excel*/
StringBuffer csv = maske.getCSV(getMandantenID());
String outp = new String(csv.toString().getBytes("iso-8859-1"));
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv");
response.setHeader("Cache-Control", "expires=0");
response.setHeader("ContentType", "text/plain"); //; charset=ISO-8859-1
sendBackIso(csv.toString(), "text/csv; charset=ISO-8859-1");
/* Spezieller ISO Export für MS Excel für FH DO*/
StringBuffer csv = maske.getCSV(getMandantenID());
String outp;
if (SxPools.get(getMandantenID()).getRepository().containsKey("K_CSV_Excel_ISO")&&SxPools.get(getMandantenID()).getRepository().get("K_CSV_Excel_ISO").toString().equals("1"))
{
outp = new String(csv.toString().getBytes("iso-8859-1"));
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv");
response.setHeader("Cache-Control", "expires=0");
response.setHeader("ContentType", "text/plain"); //; charset=ISO-8859-1
sendBackIso(csv.toString(), "text/csv; charset=ISO-8859-1");
}
else
{
//Format bis 2024.06:
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv");
response.setHeader("Cache-Control", "expires=0");
sendBack(csv.toString(), "text/csv");
}
}
void sendBackIso(String txt, String contenttype) throws IOException {

16
src/de/superx/servlet/Themenbaum.java

@ -62,7 +62,12 @@ public class Themenbaum implements ThemenbaumI, Serializable { @@ -62,7 +62,12 @@ public class Themenbaum implements ThemenbaumI, Serializable {
this.login_name = login_name;
this.mandantenID = mandantenID;
this.isAdmin = isAdmin;
try {
if (SxPools.get(mandantenID).getRepository().containsKey("K_aufklappbarer Themenbaum")&&SxPools.get(mandantenID).getRepository().get("K_aufklappbarer Themenbaum").toString().equals("1"))
{
menu.setAufklappbarerThemenbaum(true);
}
try {
// DQ 5.4.2007: transform-Methode war hier, ist ausgelagert nach
// toHtml
// wg. XML-Ausgabe des Themenbaums
@ -249,7 +254,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { @@ -249,7 +254,7 @@ public class Themenbaum implements ThemenbaumI, Serializable {
private class Menu extends DefaultTreeModel {
private static final long serialVersionUID = 1L;
private boolean aufklappbarerThemenbaum=false;
public Menu(MenuItemNode root) {
super(root);
//printout();
@ -268,6 +273,12 @@ public class Themenbaum implements ThemenbaumI, Serializable { @@ -268,6 +273,12 @@ public class Themenbaum implements ThemenbaumI, Serializable {
MenuItemNode n = getNode(tid);
return getMenupath(n);
}
public boolean isAufklappbarerThemenbaum() {
return aufklappbarerThemenbaum;
}
public void setAufklappbarerThemenbaum(boolean aufklappbarerThemenbaum) {
this.aufklappbarerThemenbaum = aufklappbarerThemenbaum;
}
private String getMenupath(MenuItemNode n) {
StringBuffer result = new StringBuffer("<menupos>\n<eintraege>\n");
@ -324,6 +335,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { @@ -324,6 +335,7 @@ public class Themenbaum implements ThemenbaumI, Serializable {
boolean showNavigation = !navigationElement.isEmpty();
StringBuffer result = new StringBuffer( "<?xml version=\"1.0\" encoding=\""+SqlStringUtils.getEncoding()+"\"?>\n<menue hisinone_active=\""
+ (SuperXManager.isHis1 ? "true" : "false") + "\" "
+ "aufklappbarer_themenbaum=\""+(isAufklappbarerThemenbaum()?"true":"false")+"\""
+ " hisinone_refapp=\"" + SuperXManager.his1_refapp+"\""
+ " showNavigation=\""+showNavigation+"\">\n");
result.append(Maske.addGeneralInfo());

2
superx-build/build.xml

@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
classname="org.codehaus.groovy.ant.Groovy"
classpathref="classpath"/>
<property name="version" value="5.0" />
<property name="version" value="5.1" />
<target name="initTimestamp">

45
superx/WEB-INF/conf/#Untitled-1#

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
git add src/de/superx/common/Maske.java
git add src/de/superx/servlet/SuperXmlTabelle.java
git add src/de/superx/servlet/Themenbaum.java
git add superx-build/build.xml
git add superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
git add superx/WEB-INF/conf/edustore/db/install/masken/71820_felderinfo.unl
git add superx/WEB-INF/conf/edustore/db/install/masken/71820_maskeninfo.unl
git add superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql
git add superx/WEB-INF/conf/edustore/db/install/upgrade/kern_env_upgrade.x
git add superx/WEB-INF/conf/edustore/db/install/upgrade/kern_pre_upgrade_pg.sql
git add superx/WEB-INF/conf/edustore/db/install/upgrade/kernmodul_upgrade_man.sql
git add superx/WEB-INF/conf/obsoletfiles.txt
gelöscht: superx/WEB-INF/lib/superx5.0.jar
git add superx/edit/kern/webapp_manager.jsp
git add superx/images/table.svg
git add superx/xml/pageComponents_html.xsl
Unversionierte Dateien:
(benutzen Sie "git add <Datei>...", um die Änderungen zum Commit vorzumerken)
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/k_astat_faechergruppe.tab
superx/WEB-INF/conf/edustore/db/install/conf/kern.html
superx/WEB-INF/conf/edustore/db/install/masken/71840_felderinfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71840_maske_system_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71840_masken_felder_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71840_maskeninfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71840_sachgeb_maske_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71860_felderinfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71860_maske_system_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71860_masken_felder_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71860_maskeninfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71860_sachgeb_maske_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71880_felderinfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71880_maske_system_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71880_masken_felder_bez.unl
superx/WEB-INF/conf/edustore/db/install/masken/71880_maskeninfo.unl
superx/WEB-INF/conf/edustore/db/install/masken/71880_sachgeb_maske_bez.unl
superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/k_astat_abschl_grp.unl
superx/WEB-INF/lib/superx5.1.jar
superx/WEB-INF/patch/patch_archive/patch_2024-06-10_bash_var.sh
superx/WEB-INF/patch/patch_archive/patch_2024-06-10_readme.htm
superx/WEB-INF/patch/xml/patch_2024-06-10.xml
superx/edit/kern/systeminfo_view.jsp
superx/style/LICENSE_bulma_tooltip_1.2.0.txt
superx/style/bulma-tooltip.min.css

10
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/k_astat_faechergruppe.tab

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
{### k_astat_faechergruppe - automatisch generiert #########}
create table k_astat_faechergruppe(
schluessel NVARCHAR(255) not null,
name NVARCHAR(255)
);
comment on column k_astat_faechergruppe.schluessel is 'Schlüssel';
comment on column k_astat_faechergruppe.name is 'Name';

10748
superx/WEB-INF/conf/edustore/db/install/conf/kern.html

File diff suppressed because it is too large Load Diff

268
superx/WEB-INF/conf/edustore/db/install/conf/kern.xml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--<!DOCTYPE module SYSTEM "../../conf/superx-module.dtd"> -->
<module name="kern" version="5.0" sachgebiet_id="0" sachgebiet="Administration"
<module name="kern" version="5.1b" sachgebiet_id="0" sachgebiet="Administration"
systeminfo_id="9" system="Administration" thema="Administration"
thema_parent="Abfragen">
<database name="superx" version="2" system="superx">
@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
<sachgebiet id="54" name="Uploads/Downloads verwalten"
rightname="CS_BIA_ADMINISTRATE_TOPIC_AREA[CORE_LOAD]" />
</sachgebiete>
<table name="sichtart_rechttabelle" version="4.5" thema="Administration" typ="Schlüsseltabelle">
<table name="sichtart_rechttabelle" version="4.5" thema="Administration" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type="serial" size="" description="Laufnummer" isKey="true"/>
<column name="art" type="VARCHAR" size="40" default="" notnull="false" />
@ -183,7 +183,7 @@ @@ -183,7 +183,7 @@
</table>
<table name="db_version" version="2.1" thema="Administration"
typ="Schlüsseltabelle">
typ="Schlüsseltabelle" releaseUnload="demo">
<description>Ein Verzeichnis der Modul-Versionen nach dem Schema der
HIS eG.</description>
<columns>
@ -191,7 +191,7 @@ @@ -191,7 +191,7 @@
<column name="his_system" type="VARCHAR" size="255" />
<column name="version" type="CHAR" size="8" />
<column name="kern_system" type="CHAR" size="1" />
<column name="version_hash" type="VARCHAR" size="32" default="" notnull="false" />
<column name="version_hash" type="VARCHAR" size="" default="" notnull="false" />
<column name="systeminfo_id" type="INTEGER" size="4" default="" notnull="false" />
</columns>
<indexes>
@ -300,7 +300,7 @@ @@ -300,7 +300,7 @@
notnull="true" description="Sortiernummer">
<comment>kann für Sortierungen benutzt werden</comment>
</column>
<column name="quelle" type="TEXT" size="255" default=""
<column name="quelle" type="TEXT" size="" default=""
notnull="false" description="Quelle">
<comment>Angabe einer Tabelle mit
key,parent,name,gueltig_seit,gueltig_bis oder Prozedur, die mit
@ -618,7 +618,7 @@ @@ -618,7 +618,7 @@
notnull="false" />
<column name="external_entry" type="smallint" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt" />
description="Recht wird von externem System (HISinOne) gesetzt und entfernt" />
</columns>
<indexes></indexes>
<primaryKeys>
@ -664,7 +664,7 @@ @@ -664,7 +664,7 @@
default="" notnull="false" />
<column name="external_entry" type="smallint" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt" />
description="Recht wird von externem System (HISinOne) gesetzt und entfernt" />
</columns>
<indexes></indexes>
<primaryKeys>
@ -923,7 +923,7 @@ @@ -923,7 +923,7 @@
notnull="false" description="Gruppe" />
<column name="external_entry" type="SMALLINT" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt"></column>
description="Recht wird von externem System (HISinOne) gesetzt und entfernt"></column>
</columns>
<indexes></indexes>
<primaryKeys>
@ -1241,6 +1241,10 @@ @@ -1241,6 +1241,10 @@
<index name="cifx_ind2" >
<index-column name="uniquename"/>
</index>
<index name="cifx_ind3" >
<index-column name="key" />
<index-column name="apnr" />
</index>
</indexes>
<primaryKeys>
@ -1410,7 +1414,7 @@ @@ -1410,7 +1414,7 @@
notnull="false" />
<column name="attribut" type="CHAR" size="100" default=""
notnull="false" />
<column name="defaultwert" type="CHAR" size="255" default=""
<column name="defaultwert" type="TEXT" size="" default=""
notnull="false" />
</columns>
<indexes></indexes>
@ -1441,7 +1445,7 @@ @@ -1441,7 +1445,7 @@
</table>
<!-- Wenn sich hier Merkmale ändern, müssen auch Kern-Subkonnektoren unload/upload-config geändert werden!-->
<table name="hochschulinfo" version="1.0" thema="Administration"
typ="Schlüsseltabelle">
typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="name" type="CHAR" size="100" default=""
notnull="true" />
@ -2109,7 +2113,7 @@ @@ -2109,7 +2113,7 @@
notnull="false" description="obsoletes Feld" currentlyUsed="false" />
<column name="external_entry" type="SMALLINT" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt"></column>
description="Recht wird von externem System (HISinOne) gesetzt und entfernt"></column>
<column name="externalid" type="varchar" size="200" default=""
notnull="false"
description="ID der berechtigten Kostenstelle in externem System (HISinONe: orgunitid)"></column>
@ -2203,7 +2207,7 @@ @@ -2203,7 +2207,7 @@
<column name="kommentar" type ="CHAR" size ="250" default ="" notnull ="false" description="Kommentar"><comment>Nur deskriptiv</comment></column>
<column name="gueltig_seit" type ="DATE" size ="4" default="01.01.1900" notnull ="false" description="Gültig von " currentlyUsed="false"/>
<column name="gueltig_bis" type ="DATE" size ="4" default="01.01.3000" notnull ="false" description="Gültig bis" currentlyUsed="false"/>
<column name="external_entry" type ="SMALLINT" size ="" default ="0" notnull ="false" description="Recht wird von externem System (HisInOne) gesetzt und entfernt"></column>
<column name="external_entry" type ="SMALLINT" size ="" default ="0" notnull ="false" description="Recht wird von externem System (HISinOne) gesetzt und entfernt"></column>
<column name="externalid" type ="varchar" size ="200" default ="" notnull ="false" description="ID der berechtigten Kostenstelle in externem System (HISinONe: orgunitid)"></column>
</columns>
<indexes>
@ -2502,6 +2506,10 @@ @@ -2502,6 +2506,10 @@
notnull="false" description="Datenquelle (JR)">
<comment>Wird nur bei JR ausgewertet. Mögliche Werte: RS,XMLSOURCE</comment>
</column>
<column name="uniquename" type="VARCHAR" size="255" default=""
notnull="false" description="Eindeutige Identifizierung des Datensatzes">
<comment></comment>
</column>
</columns>
<indexes></indexes>
<primaryKeys>
@ -2709,7 +2717,7 @@ @@ -2709,7 +2717,7 @@
</column>
<column name="external_entry" type="smallint" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt" />
description="Recht wird von externem System (HISinOne) gesetzt und entfernt" />
</columns>
<indexes></indexes>
<primaryKeys>
@ -2747,7 +2755,7 @@ @@ -2747,7 +2755,7 @@
notnull="true" description="Rechte für eine Art von Sichten geben" />
<column name="external_entry" type="smallint" size=""
default="0" notnull="false"
description="Recht wird von externem System (HisInOne) gesetzt und entfernt" />
description="Recht wird von externem System (HISinOne) gesetzt und entfernt" />
</columns>
<indexes></indexes>
<primaryKeys>
@ -2954,8 +2962,8 @@ @@ -2954,8 +2962,8 @@
notnull="false" description="Sortierschlüssel 3" />
<column name="geaendert_am" type="DATE" size="4" default=""
notnull="false" description="Datum letzte Änderung" />
<column name="aktiv" type="SMALLINT" size="2" default=""
notnull="false" description="Aktiv (1,0)" />
<column name="aktiv" type="SMALLINT" size="2" default="0"
notnull="true" description="Aktiv (1,0)" />
<column name="gueltig_seit" type="DATE" size="1" default="01.01.1900"
notnull="true" description="Gültig von" />
<column name="gueltig_bis" type="DATE" size="1" default="01.01.3000"
@ -3520,7 +3528,7 @@ @@ -3520,7 +3528,7 @@
</table>
<!-- Wenn sich hier Merkmale ändern, müssen auch Kern-Subkonnektoren unload/upload-config geändert werden!-->
<table name="unload_params" version="3.5" type="Datentabelle"
<table name="unload_params" version="3.5" typ="Datentabelle"
thema="Administration" caption="Entladeparameter">
<description>Parameter zum Steuern des Entladevorgangs</description>
<columns>
@ -4022,6 +4030,7 @@ @@ -4022,6 +4030,7 @@
<indexes>
<index name="ix_tr_dim_bp_apnr">
<index-column name="dimension_bp_id" />
<index-column name="apnr" />
<index-column name="sourcesystem_id" />
<index-column name="systeminfo_id" />
</index>
@ -4632,7 +4641,7 @@ @@ -4632,7 +4641,7 @@
</rs>
</privileges>
</table>
<table name="sieve" version="5.0" thema="Administration" typ="Schlüsseltabelle">
<table name="sieve" version="5.0" thema="Administration" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true"/>
<column name="name" type="VARCHAR" size="255" default="" notnull="true" description="Name" />
@ -4660,7 +4669,7 @@ @@ -4660,7 +4669,7 @@
</rs>
</primaryKeys>
</table>
<table name="sieve_column_def" version="5.0" thema="Administration" typ="Schlüsseltabelle">
<table name="sieve_column_def" version="5.0" thema="Administration" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true"/>
<column name="m_id" type="VARCHAR" size="255" default="" notnull="false" description="Langlebige ID, muss gefüllt sein, wenn Scripte automatisch ersetzen sollen" />
@ -4699,7 +4708,7 @@ @@ -4699,7 +4708,7 @@
</index>
</indexes>
</table>
<table name="sieve_column" version="5.0" thema="Administration" typ="Schlüsseltabelle">
<table name="sieve_column" version="5.0" thema="Administration" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true"/>
<column name="sieve_id" type="INTEGER" size="" default="" notnull="false" description="ID der Sieb-Vorlage" />
@ -4722,7 +4731,7 @@ @@ -4722,7 +4731,7 @@
</rs>
</primaryKeys>
</table>
<table name="sieve_field" version="5.0" thema="Administration" typ="Schlüsseltabelle">
<table name="sieve_field" version="5.0" thema="Administration" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true"/>
<column name="sieve_id" type="INTEGER" size="" default="" notnull="true" description="ID der Sieb-Vorlage" />
@ -4957,14 +4966,14 @@ @@ -4957,14 +4966,14 @@
<comment>Matrikelnummer der gelöschten Entity</comment>
</column>
<column name="entity" type ="VARCHAR" size ="255" default ="" notnull ="false" >
<comment>Entiy-Klasse des gelöschten Objekts in HisInOne</comment>
<comment>Entiy-Klasse des gelöschten Objekts in HISinOne</comment>
</column>
<column name="deleted_in_hisinone" type ="DATETIME" size ="4" default ="" notnull ="false" >
<comment>Zeitpunkt der Löschung in HISinOne</comment></column>
<column name="deleted_in_bi" type ="DATETIME" size ="4" default ="" notnull ="false" >
<comment>Zeitpunkt der Löschung in der BI</comment></column>
<column name="job" type ="VARCHAR" size ="255" default ="" notnull ="false" >
<comment>Job-Ausführung in HisInOne von der Delete-Event ausgelöst wird</comment>
<comment>Job-Ausführung in HISinOne von der Delete-Event ausgelöst wird</comment>
</column>
</columns>
<indexes></indexes>
@ -5322,40 +5331,8 @@ @@ -5322,40 +5331,8 @@
<privileges><rs>
</rs></privileges>
</table>
<table name="colorscheme" thema="Administration" releaseUnload="empty" typ="Schlüsseltabelle" >
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="sortorder" type="INTEGER" size="" default="" notnull="" description="Sortierreihenfolge" />
<column name="colors" type="VARCHAR" size="255" default="" notnull="" description="Farben" />
</columns>
</table>
<table name="sx_mail" thema="Administration" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Mailaccount</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="pop3_host" type="VARCHAR" size="255" default="" notnull="" description="pop3 host" />
<column name="pop3_port" type="SMALLINT" size="" default="" notnull="" description="pop3 port" />
<column name="pop3_starttls_enable" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="smtp_host" type="VARCHAR" size="255" default="" notnull="" description="pop3 host" />
<column name="smtp_port" type="SMALLINT" size="" default="" notnull="" description="smtp port" />
<column name="smtp_auth" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="smtp_starttls_enable" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="username" type="VARCHAR" size="255" default="" notnull="" description="user" />
<column name="password" type="VARCHAR" size="255" default="" notnull="" description="password" />
<column name="userinfo_id" type="INTEGER" size="" default="" notnull="" description="ggfs. verknüpfte userinfo.tid" />
<column name="type" type="VARCHAR" size="255" default="" notnull="" description="Es können bestimmte Typen von Mailaccounts definiert werden"></column>
<column name="daemon1" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon1_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon1 aktiv werden soll" />
<column name="daemon1_loglevel" type="VARCHAR" size="255" default="" notnull="" description="zukünftig LogLevel für Daemon1" />
<column name="daemon2" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon2_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon2 aktiv werden soll" />
<column name="daemon3" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon3_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon3 aktiv werden soll" />
</columns>
</table>
<table name="k_astat_staat" thema="Stammdaten verwalten" typ="Schlüsseltabelle"
<table name="k_astat_staat" thema="Stammdaten verwalten" typ="Schlüsseltabelle"
releaseUnload="demo" caption="Amtl.Staaten-Schlüssel (Bundesschlüssel)">
<columns><column name="schluessel" type ="INTEGER" size ="255" default ="" notnull ="true" description="Schlüssel" />
<column name="nummer" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Nummer"/>
@ -5425,7 +5402,61 @@ @@ -5425,7 +5402,61 @@
<privileges><rs>
</rs></privileges>
</table>
<!-- <table name="core_module_patch" typ="Datentabelle" thema="Administration"
<table name="k_astat_abschl_grp" thema="Stammdaten verwalten" typ="Schlüsseltabelle"
releaseUnload="demo" caption="Amtl.Abschlüsse (Bundesschlüssel) und Gruppen">
<columns><column name="abschluss_astat_bund" type ="VARCHAR" size ="255" default ="" notnull ="true" description="Abschluss (Bundesschlüssel)"/>
<column name="abschluss_astat_bund_ktxt" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Abschluss (Bundesschlüssel) Kurztext"/>
<column name="abschlussart" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Abschlussart"/>
<column name="abschluss_grp" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Abschlussgruppe" />
</columns>
<indexes></indexes>
<primaryKeys> <rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>k_astat_abschl_grp</fld>
<fld name='column_name'>abschluss_astat_bund</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>k_astat_abschl_grp</fld>
</row>
</rs>
</primaryKeys>
</table>
<table name="colorscheme" thema="Administration" releaseUnload="empty" typ="Schlüsseltabelle" >
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="sortorder" type="INTEGER" size="" default="" notnull="" description="Sortierreihenfolge" />
<column name="colors" type="VARCHAR" size="255" default="" notnull="" description="Farben" />
</columns>
</table>
<table name="sx_mail" thema="Administration" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Mailaccount</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="pop3_host" type="VARCHAR" size="255" default="" notnull="" description="pop3 host" />
<column name="pop3_port" type="SMALLINT" size="" default="" notnull="" description="pop3 port" />
<column name="pop3_starttls_enable" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="smtp_host" type="VARCHAR" size="255" default="" notnull="" description="pop3 host" />
<column name="smtp_port" type="SMALLINT" size="" default="" notnull="" description="smtp port" />
<column name="smtp_auth" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="smtp_starttls_enable" type="SMALLINT" size="" default="" notnull="" description="0/1" />
<column name="username" type="VARCHAR" size="255" default="" notnull="" description="user" />
<column name="password" type="VARCHAR" size="255" default="" notnull="" description="password" />
<column name="userinfo_id" type="INTEGER" size="" default="" notnull="" description="ggfs. verknüpfte userinfo.tid" />
<column name="type" type="VARCHAR" size="255" default="" notnull="" description="Es können bestimmte Typen von Mailaccounts definiert werden"></column>
<column name="daemon1" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon1_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon1 aktiv werden soll" />
<column name="daemon1_loglevel" type="VARCHAR" size="255" default="" notnull="" description="zukünftig LogLevel für Daemon1" />
<column name="daemon2" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon2_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon2 aktiv werden soll" />
<column name="daemon3" type="VARCHAR" size="255" default="" notnull="" description="Ein Daemon, der INBOX beobachten soll z.B. de.memtext.hbt.CreationChecker"><comment>wird per Reflection aufgerufen</comment></column>
<column name="daemon3_interval" type="INTEGER" size="" default="" notnull="" description="Die Anzahl von Sekunden nach denen Daemon3 aktiv werden soll" />
</columns>
</table>
<!-- <table name="core_module_patch" typ="Datentabelle" thema="Administration"
etl="false" demo="false"> <description>Patch Installation Historie</description>
<columns> <column name="tid" type ="SERIAL" size ="4" default ="" isKey="true"
notnull ="true" /> <column name="filename" type ="VARCHAR" size ="255" default
@ -5450,8 +5481,47 @@ @@ -5450,8 +5481,47 @@
</row> </rs></primaryKeys> <foreignKeys><rs> </rs></foreignKeys> <importedKeys><rs>
</rs></importedKeys> <privileges><rs> </rs></privileges> </table> -->
<table name="colorscheme" thema="Administration" releaseUnload="empty" typ="Schlüsseltabelle" caption="Farbschema">
<description>Farbschema für Diagramm in BI-Analysen festlegen</description>
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="sortorder" type="INTEGER" size="" default="" notnull="" description="Sortierreihenfolge" />
<column name="colors" type="VARCHAR" size="255" default="" notnull="" description="Farben" />
</columns>
</table>
<table name="arch_table" thema="Administration" releaseUnload="empty" typ="Schlüsseltabelle" >
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="name" type="VARCHAR" size="255" default="" notnull="" description="Name der archivierten Tabelle" />
<column name="zeitfeld" type="VARCHAR" size="255" default="" notnull="" description="Feld für die Zeitangabe" />
</columns>
</table>
<table name="arch_datum" thema="Administration" releaseUnload="empty" typ="Datentabelle" >
<columns>
<column name="arch_table" type="VARCHAR" size="255" default="" notnull="true" description="Name der archivierten Tabelle" isKey="true" />
<column name="datum" type="DATETIME" size="255" default="" notnull="" description="Archivierungsdatum und -uhrzeit" />
<column name="bezugszeit_von" type="INTEGER" size="" default="" notnull="" description="Bezugszeit (von) der archivierten Daten" />
<column name="bezugszeit_bis" type="INTEGER" size="" default="" notnull="" description="Bezugszeit (bis) der archivierten Daten" />
<column name="bezugsart" type="CHAR" size ="1" default ="J" notnull ="false" description="Bezugsart (Semester S, Akad. Jahr A,Jahr J, Quartal Q, Monat M)" />
<column name="userinfo_id" type="INTEGER" size="" default="" notnull="true" description="Userinfo ID" />
<column name="kommentar" type="VARCHAR" size="255" default="" notnull="false" description="Kommentar zur Archivierung" />
</columns>
</table>
<table name="k_prio_param" thema="Administration" releaseUnload="demo" typ="Schlüsseltabelle" >
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="name" type="VARCHAR" size="255" default="" notnull="" description="Name der Priorität" />
<column name="sortorder" type="VARCHAR" size="255" default="" notnull="" description="Sortierung der Priorität" />
</columns>
</table>
<table name="k_source" thema="Administration" releaseUnload="demo" typ="Schlüsseltabelle" >
<columns>
<column name="id" type="SERIAL" size="" default="" notnull="true" description="id" isKey="true" />
<column name="name" type="VARCHAR" size="255" default="" notnull="" description="Name des Quellsystems" />
<column name="sortorder" type="VARCHAR" size="255" default="" notnull="" description="Sortierung des Quellsystems" />
</columns>
</table>
<themen>
<thema name="Administration" parent="Abfragen"></thema>
@ -5462,8 +5532,8 @@ @@ -5462,8 +5532,8 @@
<thema name="Uploads/Downloads verwalten" parent="Administration">Uploads/Downloads verwalten</thema>
<thema name="Felder" parent="Masken verwalten">Abfragen zur Feld-Verwaltung</thema>
<thema name="Benutzer" parent="Abfragen">Benutzereinstellungen (Passwort ändern etc.)</thema>
<thema name="Entwicklung" parent="Administration">Spezielle Funktionen für die Entwicklung</thema>
<thema name="Stammdaten verwalten" parent="Administration">Abfragen zur Stammdatenverwaltung</thema>
<thema name="Datenmanagement" parent="Administration">Abfragen zum Datenmanagement</thema>
</themen>
<functions>
@ -8699,6 +8769,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -8699,6 +8769,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
<relation-column from="element" to="\'stylesheet_type\'" />
<relation-column from="element_value" to="stylesheet_type" />
</relation>
<relation from="menu_element" to="sx_stylesheets" delete="FALSE"
displayType="select" visibleFields="description" format="%s">
<relation-column from="element" to="\'contenttype\'" />
<relation-column from="element_value" to="contenttype" />
</relation>
<relation from="menu_element" to="sx_stylesheets" delete="FALSE"
displayType="select" visibleFields="description" format="%s">
<relation-column from="element" to="\'usage_resultset_data\'" />
@ -9800,6 +9875,48 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -9800,6 +9875,48 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
<lastChange>18.08.2022</lastChange>
<dbsystem>INFORMIX</dbsystem>
</src>
</maske>
<maske tid="71840" name="Datenblatt archivieren" thema="">
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>D. Quathamer</author>
<lastChange>02.05.2023</lastChange>
<dbsystem>POSTGRES</dbsystem>
</src>
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>D. Quathamer</author>
<lastChange>02.05.2023</lastChange>
<dbsystem>INFORMIX</dbsystem>
</src>
</maske>
<maske tid="71860" name="Übersicht Datenblatt-Archiv" thema="">
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>I. John</author>
<lastChange>12.05.2023</lastChange>
<dbsystem>POSTGRES</dbsystem>
</src>
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>I. John</author>
<lastChange>12.05.2023</lastChange>
<dbsystem>INFORMIX</dbsystem>
</src>
</maske>
<maske tid="71880" name="Downloads löschen" thema="">
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>I. John</author>
<lastChange>10.11.2023</lastChange>
<dbsystem>POSTGRES</dbsystem>
</src>
<src>
<path>$SUPERX_DIR/db/install/masken</path>
<author>I. John</author>
<lastChange>10.11.2023</lastChange>
<dbsystem>INFORMIX</dbsystem>
</src>
</maske>
</masken>
</database>
@ -10027,6 +10144,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -10027,6 +10144,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_studienbereich.unl" />
</loadtable>
<loadtable refresh="true" delimiter="^" header="false"
tabname="k_astat_faechergruppe">
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_faechergruppe.unl" />
</loadtable>
<loadtable refresh="true" delimiter="^" header="false"
tabname="k_astat_staat">
<file
@ -10037,6 +10159,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -10037,6 +10159,11 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_kontinent.unl" />
</loadtable>
<loadtable refresh="true" delimiter="^" header="false"
tabname="k_astat_abschl_grp">
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_abschl_grp.unl" />
</loadtable>
</action>
<action>
@ -10183,6 +10310,16 @@ gueltig_bis DATE @@ -10183,6 +10310,16 @@ gueltig_bis DATE
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_kontinent.unl" />
</loadtable>
<loadtable refresh="true" delimiter="^" header="false"
tabname="k_astat_faechergruppe">
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_faechergruppe.unl" />
</loadtable>
<loadtable refresh="true" delimiter="^" header="false"
tabname="k_astat_abschl_grp">
<file
path="$SUPERX_DIR/db/install/schluesseltabellen/release_unloads/k_astat_abschl_grp.unl" />
</loadtable>
</action>
<action>
@ -10952,7 +11089,8 @@ mode="full" @@ -10952,7 +11089,8 @@ mode="full"
<customfield name="art" nullFieldValue="" />
<customfield name="relation" nullFieldValue="" />
<customfield name="attribut" nullFieldValue="" />
<customfield name="defaultwert" nullFieldValue="" />
<!-- Defaultwert-Eingabefeld größer machen via visible Size vergl #313414-->
<customfield name="defaultwert" nullFieldValue="" visibleSize="256" />
</form>
@ -10984,7 +11122,7 @@ mode="full" @@ -10984,7 +11122,7 @@ mode="full"
maxRows="*"
mode="full"
>
<description>In diesem Formular können Sie Benutzern Sachgebietsrechte geben. Achtung: Einträge von externem System (HisInOne) werden bei Neuanmeldung überschrieben</description>
<description>In diesem Formular können Sie Benutzern Sachgebietsrechte geben. Achtung: Einträge von externem System (HISinOne) werden bei Neuanmeldung überschrieben</description>
<filters>
<filter mandatory="false" type="equal">userinfo_id</filter>
<filter mandatory="false" type="equal">sachgebiete_id</filter>
@ -11003,7 +11141,7 @@ mode="full" @@ -11003,7 +11141,7 @@ mode="full"
maxRows="*"
mode="full"
>
<description>In diesem Formular können Sie Benutzer zu Gruppen zuordnen. Achtung: Zuordnung zur Gruppe Administratoren für admins von externem System (HisInOne) werden bei Neuanmeldung überschrieben</description>
<description>In diesem Formular können Sie Benutzer zu Gruppen zuordnen. Achtung: Zuordnung zur Gruppe Administratoren für admins von externem System (HISinOne) werden bei Neuanmeldung überschrieben</description>
<filters>
<filter mandatory="false" type="equal">userinfo_id</filter>
<filter mandatory="false" type="equal">groupinfo_id</filter>
@ -11039,7 +11177,7 @@ mode="full"> @@ -11039,7 +11177,7 @@ mode="full">
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Benutzern Rechte auf einzelne Insitutionen geben. Achtung: Einträge von externem System (HisInOne) werden bei Neuanmeldung überschrieben</description>
<description>In diesem Formular können Sie Benutzern Rechte auf einzelne Insitutionen geben. Achtung: Einträge von externem System (HISinOne) werden bei Neuanmeldung überschrieben</description>
<filters>
<!--<filter mandatory="false" type="equal">userid</filter>-->
<filter mandatory="false" type="equal">ch110_institut</filter>

6
superx/WEB-INF/conf/edustore/db/install/masken/71820_felderinfo.unl

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
71820^Person ID^20^350^-1^150^180^1^char^200^0^0^^{InputCheck:matrikelnummern}^^
71821^HISInOne Rolle^0^0^0^150^180^1^sql^200^0^1^<<SQL>> select 'Student/-in' from xdummy UNION select 'Doktorand/-in' from xdummy;^^^
71822^Gelöscht in HISInOne ab^30^0^0^130^80^1^date^10^0^0^^^^
71823^Gelöscht in HISInOne-BI^40^0^0^130^80^1^date^10^0^0^^^^
71821^HISinOne Rolle^0^0^0^150^180^1^sql^200^0^1^<<SQL>> select 'Student/-in' from xdummy UNION select 'Doktorand/-in' from xdummy;^^^
71822^Gelöscht in HISinOne ab^30^0^0^130^80^1^date^10^0^0^^^^
71823^Gelöscht in HISinOne-BI^40^0^0^130^80^1^date^10^0^0^^^^

6
superx/WEB-INF/conf/edustore/db/install/masken/71820_maskeninfo.unl

@ -36,7 +36,7 @@ FROM hisinone_deleted_entity H\ @@ -36,7 +36,7 @@ FROM hisinone_deleted_entity H\
WHERE H.job IS NOT NULL AND btrim(H.job) !=''\
;\
UPDATE tmp_archive set rolle='Student/-in' WHERE entity = 'cm.stu.Student';\
UPDATE tmp_archive set rolle='Doktorand/-in' WHERE entity = 'cm.doc.DoctoralProgram';\
UPDATE tmp_archive set rolle='Doktorand/-in' WHERE entity = 'cm.doc.DoctoralCandidate';\
\
INSERT into tmp_ergebnis (person_id,\
matrikel_nr,\
@ -78,10 +78,10 @@ Column CID=1 heading_text=" Matrikel Nr. \\n(Student) " center_heading\ @@ -78,10 +78,10 @@ Column CID=1 heading_text=" Matrikel Nr. \\n(Student) " center_heading\
Column CID=1 heading_text=" Rolle " center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text=" Gelöscht in HISInOne " center_heading\
Column CID=1 heading_text=" Gelöscht in HISinOne " center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text=" Gelöscht in HISInOne-BI " center_heading\
Column CID=1 heading_text=" Gelöscht in HISinOne-BI " center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
@@@^ ^ ^Archivierte Daten^drop table tmp_ergebnis;^^1^440^360^^1^ ^

8
superx/WEB-INF/conf/edustore/db/install/masken/71840_felderinfo.unl

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
71840^Bezugszeit bis^50^0^0^140^100^1^integer^30^1^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
71841^Bezugszeit von^20^0^0^140^100^1^integer^30^1^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
71842^Archivierungsdatum^10^330^-1^140^100^1^date^30^1^0^^ ^<<SQL>> select today() from xdummy;^
71850^Filter Studierende^120^0^0^140^150^1^sql^20^0^13^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^ ^ ^
71856^Datenblatt^2^0^0^140^130^1^sql^30^1^1^<<SQL>> select name, caption from sx_tables where name in ('sos_stg_aggr','sos_lab_pord','sos_lab_stg','lm_konto_pro_fs') order by name;^ ^<<SQL>> select 'Fächer','nach Fach' from xdummy where (select count(*) from sos_gewichtungsvariante)=0 union select 'Studiengang','nach Studiengang' from xdummy where (select count(*) from sos_gewichtungsvariante)>0^
71857^##line##^3^0^0^100^100^1^char^5000^0^8^^ ^1^
71858^##line##^8^0^0^100^100^1^char^5000^0^8^^ ^1^
71859^Kommentar^60^0^0^150^70^1^char^200^0^0^^ ^ ^

1
superx/WEB-INF/conf/edustore/db/install/masken/71840_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
71840^7^

20
superx/WEB-INF/conf/edustore/db/install/masken/71840_masken_felder_bez.unl

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
71840^71840^
71840^71841^
71840^71842^
71840^71843^
71840^71844^
71840^71845^
71840^71846^
71840^71847^
71840^71848^
71840^71849^
71840^71850^
71840^71851^
71840^71852^
71840^71853^
71840^71854^
71840^71855^
71840^71856^
71840^71857^
71840^71858^
71840^71859^

350
superx/WEB-INF/conf/edustore/db/install/masken/71840_maskeninfo.unl

@ -0,0 +1,350 @@ @@ -0,0 +1,350 @@
71840^Datenblatt archivieren^--freemarker template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
\
\
\
<sqlvars>\
<sqlvar name="zieltabelle_archiv_exists">\
select sp_table_exists('<<Datenblatt>>_archiv') from xdummy\
</sqlvar>\
<sqlvar name="zieltabelle_metadata_exist">\
select count(*) from sx_fields where table_name='<<Datenblatt>>_archiv'\
\
</sqlvar>\
<sqlvar name="field_list" type="hashsequence">\
select name,field_type,tid\
from sx_fields where table_name='<<Datenblatt>>'\
order by tid;\
\
</sqlvar>\
<sqlvar name="zeitfeld">\
select zeitfeld from arch_table\
where '<<Datenblatt>>' = name\
</sqlvar>\
\
<sqlvar name="bezugszeit" type="hashsequence">\
select \
/*'S'::varchar(255) as art, -- Bezugsart (Semester S, Akad. Jahr A, Jahr J, Quartal Q, Monat M)\
tid as value from semester\
where tid between <<Bezugszeit von>> and <<Bezugszeit bis>>*/\
-- /*ToDo: Bezugszeit für Jahresangabe*/\
;\
</sqlvar>\
</sqlvars>\
\
create temp table tmp_ergebnis(\
tid serial,\
nachricht varchar(255),\
anzahl integer\
);\
\
create temp table tmp_ueberschneidung(\
bezugsart varchar(255),\
bezugszeit_value integer,\
exists integer\
);\
\
<#if zieltabelle_archiv_exists==1>\
\
<#foreach z in bezugszeit>\
insert into tmp_ueberschneidung\
select '${z.art}',${z.value},\
1\
from xdummy\
where ${z.value} in (select distinct ${zeitfeld} from <<Datenblatt>>_archiv where archivierung_datum=<<Archivierungsdatum>>)\
union select '${z.art}',${z.value},\
0\
from xdummy\
where ${z.value} not in (select distinct ${zeitfeld} from <<Datenblatt>>_archiv where archivierung_datum=<<Archivierungsdatum>>)\
;\
</#foreach>\
\
<#else>\
\
<#foreach z in bezugszeit>\
insert into tmp_ueberschneidung\
select '${z.art}',${z.value},\
0\
from xdummy\
;\
</#foreach>\
\
</#if>\
\
<#assign quelltabelle="<<Datenblatt>>" />\
<#assign zieltabelle="<<Datenblatt>>_archiv" />\
<#assign archivierung_datum="date_val(<<Archivierungsdatum>>)" />\
<#if zieltabelle_archiv_exists==0>\
\
select Q.*, ${archivierung_datum} as archivierung_datum\
into ${zieltabelle}\
from ${quelltabelle} Q,\
arch_table A\
where 1=1\
and '${quelltabelle}' = A.name\
/* and ${zeitfeld} >= <<Bezugszeit von>> */\
/* and ${zeitfeld} <= <<Bezugszeit bis>> */\
;\
\
insert into arch_datum (\
arch_table,\
datum,\
bezugszeit_von,\
bezugszeit_bis,\
userinfo_id/*,\
kommentar --<<Kommentar>>*/\
)\
select\
'${zieltabelle}',\
(${archivierung_datum}::varchar(255) || ' ' || localtime(0)::varchar(255))::timestamptz,\
<<Bezugszeit von>>,\
<<Bezugszeit bis>>,\
<<UserID>>/*,\
<<Kommentar>>*/\
from xdummy\
;\
\
update arch_datum set bezugsart=U.bezugsart \
from tmp_ueberschneidung U\
where arch_datum.bezugsart is null;\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select '${zieltabelle} erzeugt und befüllt. Folgende Zeiträume wurden archiviert:',count(*)\
from ${zieltabelle};\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select \
U.bezugszeit_value::varchar(255),\
count(Q.*)\
from \
${quelltabelle} Q,\
tmp_ueberschneidung U\
where \
U.bezugszeit_value=Q.${zeitfeld}\
and U.exists=0 \
group by 1\
order by 1\
;\
\
<#else>\
\
<#assign target_fields="" />\
<#foreach field in field_list>\
<#assign target_fields=target_fields+field.name+"," />\
</#foreach>\
<#assign target_fields=target_fields+"" />\
\
\
create temp table tmp_datum_exists(archivierung_datum date);\
insert into tmp_datum_exists\
select distinct archivierung_datum\
from ${zieltabelle};\
\
insert into tmp_ergebnis(nachricht)\
select 'Achtung: Die folgenden Zeiträume wurden zum Archivierungsdatum bereits archiviert und daher nicht erneut archiviert:' \
from xdummy\
where ${archivierung_datum} in (select distinct archivierung_datum\
from ${zieltabelle})\
and 1 in (select exists from tmp_ueberschneidung)\
;\
\
insert into tmp_ergebnis(nachricht)\
select 'Achtung: Dieses Datenblatt wurde zum Archivierungsdatum bereits archiviert. Der gewählte Zeitraum wurde zum Archivierungsdatum noch nicht archiviert.' \
from xdummy\
where ${archivierung_datum} in (select distinct archivierung_datum\
from ${zieltabelle})\
and 1 not in (select exists from tmp_ueberschneidung)\
;\
\
insert into tmp_ergebnis(nachricht)\
select bezugszeit_value::varchar(255) from tmp_ueberschneidung where exists=1 order by 1\
;\
\
insert into ${zieltabelle}(\
${target_fields} archivierung_datum\
)\
select ${target_fields} ${archivierung_datum} as archivierung_datum\
from ${quelltabelle}\
where 1=1\
/* and ${zeitfeld} >= <<Bezugszeit von>> */\
/* and ${zeitfeld} <= <<Bezugszeit bis>> */\
and ${zeitfeld} in (select bezugszeit_value from tmp_ueberschneidung where exists=0)\
;\
\
insert into arch_datum (\
arch_table,\
datum,\
bezugszeit_von,\
bezugszeit_bis,\
userinfo_id/*,\
kommentar --<<Kommentar>>*/\
)\
select\
'${zieltabelle}',\
(${archivierung_datum}::varchar(255) || ' ' || localtime(0)::varchar(255))::timestamptz,\
<<Bezugszeit von>>,\
<<Bezugszeit bis>>,\
<<UserID>>/*,\
<<Kommentar>>*/\
from xdummy\
where \
0 in (select exists from tmp_ueberschneidung)\
;\
\
update arch_datum set bezugsart=U.bezugsart \
from tmp_ueberschneidung U\
where arch_datum.bezugsart is null;\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select 'Für folgende Zeiträume wurden Datensätze in ${zieltabelle} eingefügt:',count(*)\
from ${quelltabelle}\
where 1=1\
/* and ${zeitfeld} >= <<Bezugszeit von>> */\
/* and ${zeitfeld} <= <<Bezugszeit bis>> */\
and ${zeitfeld} in (select bezugszeit_value from tmp_ueberschneidung where exists=0)\
having count(*)>0\
;\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select \
U.bezugszeit_value::varchar(255),\
count(Q.*)\
from \
${quelltabelle} Q,\
tmp_ueberschneidung U\
where \
U.bezugszeit_value=Q.${zeitfeld}\
and U.exists=0 \
group by 1\
order by 1\
;\
/*\
-- Folgender Code läuft nicht richtig, da alle Semester ohne Überschneidung betrachtet werden, auch wenn Daten vorhanden sind.\
insert into tmp_ergebnis(nachricht)\
select 'Es wurden keine Daten archiviert, da mindestens in einem gewählten Teilzeitraum keine Daten vorhanden sind.'\
from ${quelltabelle}\
where 1=1\
/* and ${zeitfeld} >= <<Bezugszeit von>> */\
/* and ${zeitfeld} <= <<Bezugszeit bis>> */\
and ${zeitfeld} in (select bezugszeit_value from tmp_ueberschneidung where exists=0)\
having count(*)=0\
;*/\
\
drop table tmp_datum_exists;\
\
</#if>\
<#if zieltabelle_metadata_exist==0>\
\
\
insert into sx_tables(name,\
caption,\
description,\
table_type,\
systeminfo_id,\
systeminfo_orig,\
thema,\
sachgebiete_id)\
select '${zieltabelle}',\
trim(caption) || ' (Archiv)',\
description,\
table_type,\
systeminfo_id,\
systeminfo_orig,\
thema,\
sachgebiete_id\
FROM sx_tables \
where name='${quelltabelle}';\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select 'Metadaten Tabelle ${zieltabelle} Datensätze eingefügt',count(*)\
from sx_tables\
where name='${zieltabelle}';\
\
insert into sx_fields( table_name,\
name,\
caption,\
description,\
field_type,\
field_size,\
field_not_null,\
currentlyused,\
is_primarykey,\
foreignkey_tab,\
foreignkey_col,\
foreignkey_int,\
foreignkey_cap,\
foreignkey_cond,\
foreignkey_func,\
check_integrity,\
is_sum,\
foreignkey_uniquename)\
select \
'${zieltabelle}',\
name,\
caption,\
description,\
field_type,\
field_size,\
field_not_null,\
currentlyused,\
is_primarykey,\
foreignkey_tab,\
foreignkey_col,\
foreignkey_int,\
foreignkey_cap,\
foreignkey_cond,\
foreignkey_func,\
check_integrity,\
is_sum,\
foreignkey_uniquename\
FROM sx_fields \
where table_name='${quelltabelle}'\
;\
insert into sx_fields( table_name,\
name,\
caption,\
field_type,\
field_not_null,\
currentlyused,\
is_primarykey,\
check_integrity,\
is_sum)\
select \
'${zieltabelle}',\
'archivierung_datum' as name,\
'Datum der Archivierung' as caption,\
'DATE' as field_type,\
0 as field_not_null,\
1 as currentlyused,\
0 as is_primarykey,\
0 as check_integrity,\
0 as is_sum\
FROM xdummy\
;\
\
\
insert into tmp_ergebnis(nachricht,anzahl)\
select 'Metadaten Felder ${zieltabelle} Datensätze eingefügt',count(*)\
from sx_fields\
where table_name='${zieltabelle}';\
\
</#if>\
\
select tid,nachricht,anzahl from tmp_ergebnis order by 1;\
\
drop table tmp_ueberschneidung;^XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=40\
Column CID=0 heading_text="Nr." center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text="Hinweis" center_heading\
row_selectable heading_platform readonly\
width=50 text_size=30\
Column CID=0 heading_text="Anzahl Datensätze" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
@@@^Studienfach^Anzahl bzw. Anteil^Archivtabelle erzeugen und/oder Inhalte archivieren^drop table tmp_ergebnis;^^2^800^440^^1^ ^

1
superx/WEB-INF/conf/edustore/db/install/masken/71840_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
16^71840^

8
superx/WEB-INF/conf/edustore/db/install/masken/71860_felderinfo.unl

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
71860^Bezugszeit bis^50^0^0^140^100^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
71861^Bezugszeit von^20^0^0^140^100^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
71862^Archivierungsdatum^10^330^-1^140^100^1^date^30^0^0^^ ^<<SQL>> select today() from xdummy;^
71870^Filter Studierende^120^0^0^140^150^1^sql^20^0^999^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^ ^ ^
71876^Datenblatt^2^0^0^140^130^1^sql^30^1^1^<<SQL>> select name, caption from sx_tables where name in (select name from arch_table) order by name;^ ^<<SQL>> select 'Fächer','nach Fach' from xdummy where (select count(*) from sos_gewichtungsvariante)=0 union select 'Studiengang','nach Studiengang' from xdummy where (select count(*) from sos_gewichtungsvariante)>0^
71877^##line##^3^0^0^100^100^1^char^5000^0^8^^ ^1^
71878^##line##^8^0^0^100^100^1^char^5000^0^8^^ ^1^
71879^Kommentar^60^0^0^150^70^1^char^200^0^999^^ ^ ^

1
superx/WEB-INF/conf/edustore/db/install/masken/71860_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
71860^7^

20
superx/WEB-INF/conf/edustore/db/install/masken/71860_masken_felder_bez.unl

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
71860^71860^
71860^71861^
71860^71862^
71860^71863^
71860^71864^
71860^71865^
71860^71866^
71860^71867^
71860^71868^
71860^71869^
71860^71870^
71860^71871^
71860^71872^
71860^71873^
71860^71874^
71860^71875^
71860^71876^
71860^71877^
71860^71878^
71860^71879^

115
superx/WEB-INF/conf/edustore/db/install/masken/71860_maskeninfo.unl

@ -0,0 +1,115 @@ @@ -0,0 +1,115 @@
71860^Übersicht Datenblatt-Archiv^--freemarker template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
\
<sqlvars>\
\
<sqlvar name="zeitfeld">\
select zeitfeld from arch_table\
where '<<Datenblatt>>' = name\
</sqlvar>\
\
<sqlvar name="archivierungsdatum" type="hashsequence">\
select distinct\
AD.datum::date \
from \
arch_datum AD,\
<<Datenblatt>>_archiv A\
where 1=1\
and A.${zeitfeld} &gt;= AD.bezugszeit_von\
and A.${zeitfeld} &lt;= AD.bezugszeit_bis\
/*and A.${zeitfeld} &gt;= <<Bezugszeit von>>*/\
/*and A.${zeitfeld} &lt;= <<Bezugszeit bis>>*/ \
/*and AD.datum::date = <<Archivierungsdatum>>*/\
</sqlvar>\
\
</sqlvars>\
\
<#assign archivtabelle="<<Datenblatt>>_archiv" />\
\
\
select \
AD.arch_table,\
AD.datum,\
A.${zeitfeld} as zeitfeld,\
AD.bezugsart,\
U.name,\
AD.kommentar,\
0::smallint as erstes_datum,\
count (A.*) as anzahl\
into temp tmp_ergebnis\
from \
arch_datum AD,\
userinfo U,\
${archivtabelle} A\
where \
AD.userinfo_id=U.tid\
and A.archivierung_datum=AD.datum::date\
and A.${zeitfeld} >= AD.bezugszeit_von\
and A.${zeitfeld} <= AD.bezugszeit_bis\
/*and A.${zeitfeld} >= <<Bezugszeit von>>*/\
/*and A.${zeitfeld} <= <<Bezugszeit bis>>*/\
/*and AD.arch_table = '<<Datenblatt>>_archiv'*/\
/*and AD.datum::date = <<Archivierungsdatum>>*/\
group by 1,2,3,4,5,6,7\
order by 2 desc\
;\
\
<#foreach ad in archivierungsdatum>\
\
select zeitfeld,min(datum) as min_datum \
into tmp_min_datum\
from tmp_ergebnis\
where datum::date = '${ad.datum}'\
group by 1;\
\
update tmp_ergebnis set erstes_datum=1\
where (zeitfeld,datum) in (select zeitfeld,min_datum\
from tmp_min_datum);\
\
update tmp_ergebnis set anzahl=0\
where erstes_datum=0\
and datum::date = '${ad.datum}';\
\
drop table tmp_min_datum;\
\
</#foreach>\
\
select \
arch_table,\
datum,\
zeitfeld,\
bezugsart,\
name,\
kommentar,\
anzahl\
from tmp_ergebnis \
order by datum desc, zeitfeld desc;\
\
drop table tmp_ergebnis;^XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=40\
Column CID=0 heading_text="Archivtabelle" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text=" Archivierungsdatum" center_heading\
row_selectable heading_platform readonly\
width=50 text_size=30\
Column CID=0 heading_text="Bezugszeit" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text="Bezugsart" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text="Archivierer" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text="Kommentar" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
Column CID=0 heading_text="Anzahl archivierter Datensätze" center_heading\
row_selectable heading_platform readonly\
width=12 text_size=30\
@@@^Studienfach^Anzahl bzw. Anteil^Liefert eine Übersicht aller archivierten Datenblätter.^ ^^2^800^440^^1^ ^

1
superx/WEB-INF/conf/edustore/db/install/masken/71860_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
16^71860^

3
superx/WEB-INF/conf/edustore/db/install/masken/71880_felderinfo.unl

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
71880^Download-ID^0^0^0^200^380^1^integer^30^1^0^^hidden^ ^
71881^Download löschen?^1^0^0^200^100^1^integer^30^1^1^<<SQL>> select 1, 'Ja' from xdummy\
union select 2, 'Nein' from xdummy;^ ^<<SQL>> select 2, 'Nein' from xdummy;^

1
superx/WEB-INF/conf/edustore/db/install/masken/71880_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
71880^9^

3
superx/WEB-INF/conf/edustore/db/install/masken/71880_masken_felder_bez.unl

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
71880^71880^
71880^71881^
71880^71882^

39
superx/WEB-INF/conf/edustore/db/install/masken/71880_maskeninfo.unl

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
71880^Download löschen^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
\
-- Ist nur für User erlaubt, die Administratoren sind\
--Autor: I. John\
--Datum: 10.11.2023\
\
<#if <<Download löschen?>> == 1>\
\
BEGIN WORK;\
\
delete from sx_downloads where tid=<<Download-ID>> and 1=(select administration from userinfo where tid=<<UserID>>);\
\
delete from download_user_bez where download_id=<<Download-ID>> and 1=(select administration from userinfo where tid=<<UserID>>);\
\
delete from download_keyw_bez where download_id=<<Download-ID>> and 1=(select administration from userinfo where tid=<<UserID>>);\
\
delete from download_group_bez where download_id=<<Download-ID>> and 1=(select administration from userinfo where tid=<<UserID>>);\
\
select 'Löschen erfolgreich.' from xdummy;\
\
COMMIT;\
\
<#else>\
\
select 'Download nicht gelöscht. Zum Löschen bestätigen Sie mit ''Ja''.'\
\
</#if>^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=0 heading_text="Ergebnis " center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=1 heading_text=" Wert " center_heading\
row_selectable col_selectable heading_platform readonly\
width=150 text_size=200\
@@@^ ^ ^Eine vorhandene Maske löschen^ ^^2^440^360^^1^ ^

1
superx/WEB-INF/conf/edustore/db/install/masken/71880_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
8^71880^

7
superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql

@ -129,6 +129,13 @@ insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, system @@ -129,6 +129,13 @@ insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, system
values (0, 'Nutzungsstatistiken', 0, 'Aktiviert das Loggen von Nutzungsdaten bezüglich der Berichte', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '0,aus' || ${newline} || '1,an', '2021.06', 'Zentrale Einstellungen', 0);
insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id)
values (0, 'aufklappbarer Themenbaum', 0, 'aufklappbarer Themenbaum im XML-Frontend', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '0,aus' || ${newline} || '1,an', '2023.06', 'Zentrale Einstellungen', 0);
insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id)
values (0, 'CSV_Excel_ISO', 0, 'CSV-Export angepaßt für MS Excel (ISO-codiert)', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '0,aus' || ${newline} || '1,an', '2024.12', 'Zentrale Einstellungen', 0);
<#assign defaultOrgaQuelle=6/> --als Default wird erstmal HisInOne genommen
<#if K_PLATTFORM?exists&&K_PLATTFORM=0> --SuperX-Standalone
<#assign defaultOrgaQuelle=12> -- manuell

98
superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/k_astat_abschl_grp.unl

@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
70^staatl.Prf^A9^G_Abschlus^
71^Bühnen-/Ko^A23^G_Konzerte^
72^Privatmusi^A9^G_Abschlus^
01^MFB mLaU^A24^G_Bachelor^
02^Magister^A3^G_Magister^
03^Lizentiat^A7^G_Lizentia^
04^kirchliche^A8^G_Kirchlic^
05^akad.gepr.^A9^G_Abschlus^
06^Promotion^PROM^G_Prom^
07^Prom.ohne^PROM^G_Prom^
08^Staatsexam^A5^G_Staatsex^
09^Staatsexam^A5^G_Staatsex^
10^Fakultätsp^A4^G_Fakultät^
11^Diplom Uni^A1^G_Diplom^
12^Diplom Uni^A1^G_Diplom^
13^Diplom Uni^A1^G_Diplom^
14^Diplom I U^A2^G_Diplom^
17^AbschlPrfg^A9^G_Abschlus^
18^Diplom Leh^A40^G_Diplom^
19^LA Ba G/P^A24^G_Bachelor^
20^LA Grund-u^A12^G_Lehramt^
21^LA Grundsc^A10^G_Lehramt^
22^LA Hauptsc^A13^G_Lehramt^
23^LA Realsch^A15^G_Lehramt^
24^LA Haupt-u^A14^G_Lehramt^
25^LA Gymnasi^A17^G_Lehramt^
26^LA Sonders^A25^G_Lehramt^
27^LA Berufss^A19^G_Lehramt^
28^LA Sekund.^A16^G_Lehramt^
29^sonst.LA n^A40^G_Diplom^
30^LA Master^A37^G_Master^
31^LA Ba swkD^A24^G_Bachelor^
32^LA Ba SI/P^A24^G_Bachelor^
33^LA Ba G/SI^A24^G_Bachelor^
34^LA Ba Real^A24^G_Bachelor^
35^LA Ba UuMG^A24^G_Bachelor^
36^LA Ba M/SI^A24^G_Bachelor^
37^LA Ba S2/S^A24^G_Bachelor^
38^LA Ba Gym^A24^G_Bachelor^
39^LA Ba Oall^A24^G_Bachelor^
40^LA Grundsc^A12^G_Lehramt^
41^LA Sekunda^A18^G_Lehramt^
42^LA Grundst^A11^G_Lehramt^
43^LA Mittels^A16^G_Lehramt^
44^LA Oberst.^A18^G_Lehramt^
45^LA Oberst.^A18^G_Lehramt^
46^LA Ba S/F^A24^G_Bachelor^
47^LA Ba BS^A24^G_Bachelor^
48^LA Ba Ober^A24^G_Bachelor^
49^LA Ma Gru^A37^G_Master^
50^LA Ma Hau^A37^G_Master^
51^Diplom FH^A20^G_DiplomFH^
52^LA Ma G/P^A37^G_Master^
53^Diplom FH^A20^G_DiplomFH^
54^Diplom FH^A20^G_DiplomFH^
55^LA Ma SI/P^A37^G_Master^
56^staatl.Lau^A9^G_Abschlus^
57^LA Ma G/SI^A37^G_Master^
58^LA Ma Real^A37^G_Master^
59^sonst.FH A^A99^G_Sonstige^
60^LA Ma UuMG^A37^G_Master^
61^LA Ma M/SI^A37^G_Master^
62^LA Ma S2/S^A37^G_Master^
63^LA Ma Oall^A37^G_Master^
64^LA Ma Gym^A37^G_Master^
65^LA Ma S/F^A37^G_Master^
66^LA Ma BS^A37^G_Master^
67^LA Ma Ober^A37^G_Master^
68^MFB oLaU^A24^G_Bachelor^
69^MFM aU^A37^G_Master^
73^Kirchenmus^A9^G_Abschlus^
74^Kirchenmus^A99^G_Sonstige^
75^Diplom Kun^A1^G_Diplom^
76^Meister^A99^G_Sonstige^
77^Kunstpädag^A9^G_Abschlus^
78^Master(U)L^A37^G_Master^
79^Solistenpr^A9^G_Abschlus^
80^sonstiger^A9^G_Abschlus^
81^Akademiebr^A9^G_Abschlus^
82^Bachelor U^A24^G_Bachelor^
83^Bachelor K^A24^G_Bachelor^
84^Bachelor F^A24^G_Bachelor^
88^Master Uni^A37^G_Master^
89^Master Kun^A37^G_Master^
90^Master FH^A37^G_Master^
91^St Prom^PROM^G_Prom^
92^PnFH-A^PROM^G_Prom^
93^Ba Lehrer^A24^G_Bachelor^
94^Abschlußze^A9^G_Abschlus^
95^sonst.Absc^A9^G_Abschlus^
96^Abschluß a^A9^G_Abschlus^
97^keine Absc^A99^G_Sonstige^
98^LA Ba G-uH^A24^G_Bachelor^
99^LA Ma G-uH^A37^G_Master^
15^LA Ba G^A24^G_Bachelor^
16^LA Ba H^A24^G_Bachelor^
87^^A99^G_Sonstige^
86^^A99^G_Sonstige^

5
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_env_upgrade.x

@ -53,6 +53,9 @@ fi @@ -53,6 +53,9 @@ fi
# #
#########################
if test -f $WEBAPP/WEB-INF/lib/superx5.1.jar ; then
java -cp $WEBAPP/WEB-INF/lib/superx5.1.jar de.superx.bin.Upgrade $WEBAPP/WEB-INF/conf/obsoletfiles.txt
if test -f $WEBAPP/WEB-INF/lib/superx5.0.jar ; then
java -cp $WEBAPP/WEB-INF/lib/superx5.0.jar de.superx.bin.Upgrade $WEBAPP/WEB-INF/conf/obsoletfiles.txt
else
@ -96,7 +99,7 @@ fi @@ -96,7 +99,7 @@ fi
fi
fi
fi
fi

8
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_pre_upgrade_pg.sql

@ -118,4 +118,12 @@ alter table sieve_column_def alter lookup_func type varchar(1000); @@ -118,4 +118,12 @@ alter table sieve_column_def alter lookup_func type varchar(1000);
alter table systeminfo alter datum type timestamp;
alter table db_version alter his_system type varchar(255);
alter table felderinfo alter defaultwert type text;
alter table db_version add unique(his_system);
--sx_repository
update sx_repository set aktiv=0 where aktiv is null;
<#if TableFieldExists?exists && TableFieldExists('sx_repository','aktiv')>
alter table sx_repository alter aktiv set not null;
</#if>

1
superx/WEB-INF/conf/edustore/db/install/upgrade/kernmodul_upgrade_man.sql

@ -64,6 +64,7 @@ alter table stylesheet_field alter column fieldname type varchar(255); @@ -64,6 +64,7 @@ alter table stylesheet_field alter column fieldname type varchar(255);
alter table update_prot alter column updated_at type timestamptz;
alter table update_prot alter column update_time type timestamptz;
alter table felderinfo alter name type varchar(255);
alter table felderinfo alter defaultwert type TEXT;
--Passwortspalte ab Kern 5.0 größer für SHA512:
alter table userinfo alter column passwd_sha type char(255);
alter table user_pw alter column old_sha1 type char(255);

1
superx/WEB-INF/conf/obsoletfiles.txt

@ -23,6 +23,7 @@ WEB-INF/lib/superx4.6.jar @@ -23,6 +23,7 @@ WEB-INF/lib/superx4.6.jar
WEB-INF/lib/superx4.7.jar
WEB-INF/lib/superx4.8.jar
WEB-INF/lib/superx4.9.jar
WEB-INF/lib/superx5.0.jar
WEB-INF/lib/mondrian-3.5.7.jar
WEB-INF/lib/batik.jar
WEB-INF/lib/batik-all-1.7.jar

BIN
superx/WEB-INF/lib/superx5.0.jar → superx/WEB-INF/lib/superx5.1.jar

Binary file not shown.

22
superx/WEB-INF/patch/patch_archive/patch_2024-06-10_bash_var.sh

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
export ANLEITUNG="Modul: KERN
PATCH 2024-06-10 Erweiterung https://hiszilla.his.de/hiszilla/show_bug.cgi?id=252453 : Patch: Hochschulspezifische Validierung in Masken ermöglichen - und mehr. Vorab-Version nur für SuperX, in HISinOne-BI wird diese Funktion in 2024.06 vorhanden sein.
Weitere Hinweise siehe Laderegel
Dateien:
Datei:
xml/maske_html.xslTemplate Platzhalter
Datei:
xml/maske_html_superx_old.xslTemplate Platzhalter
Datei:
xml/maskComponents_html.xslLesezeichen Vorlagen unter Chrome
Datei:
xml/pageComponents_html.xslTemplate Platzhalter
Datei:
xml/js/memtext/sx_functions.jsJavascript Code für die Maske "Maske kopieren"
Masken:
70350 - Maske kopieren
"
export MODULE_LIST="kern "

99
superx/WEB-INF/patch/patch_archive/patch_2024-06-10_readme.htm

@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Patch </title>
<META NAME="author" content="Daniel Quathamer">
<META NAME="copyright" content="(c)2024 Daniel Quathamer">
<META NAME="date" content="10.06.2024 22:46:00">
<meta name="viewport" content="width=device-width, initial-scale=1"><style type="text/css">
@page { }
table { border-collapse:collapse; border-spacing:0; empty-cells:show }
td, th { vertical-align:top; font-size:12pt;}
h1, h2, h3, h4, h5, h6 { clear:both }
span.footnodeNumber { padding-right:1em; }
span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
</style><LINK REL="stylesheet" type="text/css" href="https://super-ics.de/superx/style/bulma.css">
<base target="_parent">
</head>
<body>
<div class="container has-text-left">
<div class="columns is-mobile is-left">
<div class="column is-14">
<div class="card has-background">
<div class="card">
<header class="card-header">
<div class="media-content">
<div class="media-left">
<figure class="image is-96x96"><a href="http://www.superx-projekt.de"><img src="https://super-ics.de/superx/images/superx_logo_pur.png"></a></figure>
</div>
<div class="media-right">
<p class="title is-1"></p>
<p class="title is-3">Patchnotes mit Administrationshilfe</p>
<p class="subtitle is-5">made by MEMTEXT</p>
<p class="subtitle is-5"></p>
</div>
</div>
</header>
<div class="card-content">
<div class="media">
<div class="media-left">
<figure class="image is-48x48"><img src="https://super-ics.de/superx/images/context_add.svg"></figure>
</div>
<div class="media-content">
<p class="title is-5">Modul: KERN</p>
<p class="subtitle is-5">PATCH 2024-06-10</p>
</div>
</div>
<div class="content">
<p><strong>Achtung: Der Patch ist nur für aktuelle Modulversionen geeignet!</strong></p>
<p><strong> Erweiterung <a href="https://hiszilla.his.de/hiszilla/show_bug.cgi?id=252453">252453</a></strong>:
</p>
<patch-description feature_id="252453">Patch: Hochschulspezifische Validierung in Masken ermöglichen - und mehr. Vorab-Version nur für SuperX, in HISinOne-BI wird
diese Funktion in 2024.06 vorhanden sein.
Weitere Hinweise siehe <a href="https://superx-rocks.de/git/Memtext/KENN_BW_STALA_2022">Laderegel</a></patch-description>
<p>Dateien:</p>
<ul type="circle">
<li>Datei: xml/maske_html.xsl<br>Template Platzhalter
</li>
<li>Datei: xml/maske_html_superx_old.xsl<br>Template Platzhalter
</li>
<li>Datei: xml/maskComponents_html.xsl<br>Lesezeichen Vorlagen unter Chrome
</li>
<li>Datei: xml/pageComponents_html.xsl<br>Template Platzhalter
</li>
<li>Datei: xml/js/memtext/sx_functions.js<br>Javascript Code für die Maske "Maske kopieren"
</li>
</ul>
<p>Masken:</p>
<ul type="circle">
<li>70350 - Maske kopieren<br></li>
</ul>
<hr>
</div>
<div class="content">
<h3>Download</h3>
<ul>
<li><strong>Patch SuperX <a href="http://www.superx-projekt.de/dist/patch/patch_2024-06-10_webapps_utf8.zip">webapps in UTF8</a></strong></li>
<li><strong>Patch SuperX <a href="http://www.superx-projekt.de/dist/patch/patch_2024-06-10_superx_utf8.zip">klassisch in UTF8</a></strong></li>
<li><strong>Patch <a href="http://www.superx-projekt.de/dist/patch/patch_2024-06-10_superx_iso.zip">klassisch in ISO</a></strong></li>
</ul>
<p><small>In der klassischen SuperX-Variante liegt das db und webserver Verzeichnis auf einer Ebene meistens unterhalb von /home/superx.
Bei der "webapps"-Variante liegt alles unterhalb von webapps/superx. Dies ist der Standard in HISinOne-BI.</small></p>
</div>
<footer class="card-footer"><a href="http://download.superx-projekt.de/" class="card-footer-item"> Link zur Downloadseite
<figure class="image is-48x48"><img src="https://super-ics.de/superx/images/downloadblck.svg"></figure></a><a href="http://www.superx-projekt.de/doku/kern_modul/install/f_Patcheinspielen.htm" class="card-footer-item"> Hinweise zur Patchinstallation
<figure class="image is-48x48"><img src="https://super-ics.de/superx/images/bookblck.svg"></figure></a><a href="https://super-ics.de/impressum.htm" class="card-footer-item"> Impressum </a><a href="https://super-ics.de/datenschutz_public.htm" class="card-footer-item"> Datenschutz </a></footer>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

59
superx/WEB-INF/patch/xml/patch_2024-06-10.xml

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<patch patch_id="2024-06-10">
<systeme>
<system name="his1" codierung="utf8"/>
<system name="superx" codierung="utf8"/>
<system name="superx" codierung="iso"/>
</systeme>
<module name="kern" systeminfo_id="xxx" inst_from="xx">
<patch-description feature_id="252453">Patch: Hochschulspezifische Validierung in Masken ermöglichen - und mehr. Vorab-Version nur für SuperX, in HISinOne-BI wird diese Funktion in 2024.06 vorhanden sein.
Weitere Hinweise siehe <a href="https://superx-rocks.de/git/Memtext/KENN_BW_STALA_2022">Laderegel</a></patch-description>
<patch-test>
<!-- Bisher nur sql erlaubt. Ergebniss muss 0 sein, um zu erlauben, dass der Patch eingespielt wird! -->
<nativeaction sql="select 0 from xdummy where (select count(*) from db_version where his_system='kern') > 0 " scriptfile="" database=""/>
</patch-test>
<patch-data>
<files>
<file path="xml/maske_html.xsl"><patch-description feature_id="">Template Platzhalter</patch-description></file>
<file path="xml/maske_html_superx_old.xsl"><patch-description feature_id="">Template Platzhalter</patch-description></file>
<file path="xml/maskComponents_html.xsl"><patch-description feature_id="">Lesezeichen Vorlagen unter Chrome</patch-description></file>
<file path="xml/pageComponents_html.xsl"><patch-description feature_id="">Template Platzhalter</patch-description></file>
<file path="xml/js/memtext/sx_functions.js"><patch-description feature_id="">Javascript Code für die Maske "Maske kopieren"</patch-description></file>
</files>
<database name="superx">
<!-- TODO: hier können beliebige Elemente der normalen Modul-XML stehen-->
<masken>
<maske tid="70350" name="Maske kopieren" thema="Masken verwalten">
<src>
<path>$SUPERX_DIR/db/install/masken</path>
</src>
</maske>
</masken>
</database>
<upgrade>
<upgrade-step>
</upgrade-step>
</upgrade>
</patch-data>
</module>
</patch>

119
superx/edit/kern/systeminfo_view.jsp

@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
<%@ taglib uri="/WEB-INF/dbforms.tld" prefix="db" %>
<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %>
<html>
<!--Automatically generated by module_scripts_create.x (SuperX)-->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="0" http-equiv="expires">
<LINK href="/superx/style/superx.css" type="text/css" REL="stylesheet">
<LINK href="/superx/xml/superxml_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/xml/maske_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/style/dbforms_40.css" type="text/css" REL="stylesheet">
<title>Formular Systeminfo abrufen</title>
<script type="text/javascript">
var djConfig = {isDebug: false };
//djConfig.debugAtAllCosts = true;
</script><script src="/superx/xml/js/dojo/dojo.js" type="text/javascript">&nbsp;</script><script type="text/javascript">
dojo.require("dojo.widget.Dialog");
dojo.require("dojo.widget.Button");
dojo.require("dojo.widget.Tooltip");
dojo.require("dojo.string.common");
dojo.hostenv.writeIncludes();
</script><script src="/superx/xml/js/memtext/dbforms.js" type="text/javascript">&nbsp;</script>
<db:base/>
</head>
<body class="clsPageBody"><%@ page import ="java.util.Hashtable" %>
<%
//HttpSession session=request.getSession(true);
if (request.getCharacterEncoding() == null)
request.setCharacterEncoding("UTF-8");
Object userobject=request.getSession().getAttribute("UserID");
String userid;
String filter="";
String sql="";
if(userobject == null)
{
%>
<jsp:forward page="/edit/not_authenticated.htm"/>
<%
}
else
userid=userobject.toString();
Object mandantobject=request.getSession().getAttribute("MandantenID");
String mandantenid="";
if(mandantobject != null)
mandantenid=mandantobject.toString();
//der superx-Default-Mandant ist bei dbforms ein Leerstring
if(mandantenid.equals("default"))
mandantenid="";
String db_form_name="systeminfo";
String erlaubt="0";
%>
<%@ include file="/edit/check_authentication.inc" %>
<%
if(erlaubt.equals("0"))
{
%>
<jsp:forward page="/edit/not_authorized.htm"/>
<%
}
String keyfieldsused="false";
Object kf=request.getParameter("keyfieldsused");
if(kf != null)
keyfieldsused=kf.toString();
%>
<p align="right">
<a target="_parent" href="http://www.superx-projekt.de"><img border="0" alt="Logo" src="../../images/logo.gif"></a>
<br><% if(!mandantenid.equals("default") && !mandantenid.equals(""))
out.println("<strong>Mandant: " + mandantenid +"</strong>");
%></p>
<div style="margin: 0px; padding: 0px; overflow: hidden; width: 100%;" id="menuCaption">
<span class="menuCaptionTitle" id="menuCaptionTitle">Systeminfo abrufen. </span><img border="0" height="18px" alt="Erl&auml;uterung" src="/superx/images/information.svg"><span style="display:none" connectId="menuCaption" dojoType="tooltip">In diesem Formular k&ouml;nnen Sie installierte Module sehen.</span>
</div><%
String tid = request.getParameter("tid");
Hashtable gotoMyHash = null;
if(tid !=null) {
gotoMyHash= new Hashtable();
gotoMyHash.put("tid",tid);
}
%>
<%
String name = request.getParameter("name");
if(name != null && !name.equals("null")){
filter +="name~'"+name+"'";
}
%>
<db:dbform tableName="systeminfo" maxRows="*" autoUpdate="false" captionResource="true" multipart="false" followUp="/edit/kern/systeminfo_view.jsp" gotoHt="<%= gotoMyHash %>" filter="<%= filter %>" orderBy="name"
dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/><db:header>
<table class="dbform_tab" border="1" >
<tr>
<th></th><th align="left">
<db:message key="Name"/></th><th align="left">
<db:message key="Datum"/></th>
</tr>
</db:header>
<db:errors/>
<db:body allowNew="false">
<tr>
<td>
<input type="hidden" name="name" value="<%= name %>" />
</td><td><db:label nullFieldValue="" fieldName="name" />
</td><td><db:label nullFieldValue="" fieldName="datum" />
</td>
</tr>
</db:body>
<db:footer><tr></tr>
</table>
</db:footer></db:dbform></body>
</html>

64
superx/edit/kern/webapp_manager.jsp

@ -63,10 +63,6 @@ function getLogs(logtype,caption,loglines) @@ -63,10 +63,6 @@ function getLogs(logtype,caption,loglines)
document.getElementById("MaskHeader").innerHTML=(logtype.startsWith("server")?"Server-Logdateien":"Maskenprotokolle");
document.getElementById("MaskSubHeader").innerHTML=caption;
if(document.forms['log'] && document.forms['log'].elements['logtype'])
{
document.forms['log'].elements['logtype'].value=logtype;
}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
@ -177,7 +173,11 @@ if(tab == null) @@ -177,7 +173,11 @@ if(tab == null)
<a class="navbar-item" href="webapp_manager.jsp">Webanwendung Manager</a>
<div class="navbar-burger burger" data-target="navMenu">
<span>dd</span>
<span>dd</span>
<span>dd</span>
</div>
</div>
<!-- <div id="navMenu" class="navbar-menu">
<div class="navbar-start">
@ -206,14 +206,14 @@ if(tab == null) @@ -206,14 +206,14 @@ if(tab == null)
<div class="container">
<div class="columns">
<div class="column is-3 ">
<aside class="menu is-hidden-mobile">
<%
if(tab.equals("mask"))
{
%>
<div class="column is-3 ">
<aside class="menu is-hidden-mobile">
<ul class="menu-list">
<li><a class="is-active">Maskenprotokolle</a></li>
</ul>
@ -225,11 +225,18 @@ if(tab.equals("mask")) @@ -225,11 +225,18 @@ if(tab.equals("mask"))
<li><a onClick="getLogs('xml','XML-Ergebnis',100000);">XML-Ergebnis</a></li>
</ul>
</aside>
</div>
<div class="column is-9">
<%
} //Ende Masken Menü
if(tab.equals("log"))
{
%>
<div class="column is-3 ">
<aside class="menu is-hidden-mobile">
<ul class="menu-list">
<li><a class="is-active">Server-Logdateien</a></li>
</ul>
@ -240,19 +247,20 @@ if(tab.equals("log")) @@ -240,19 +247,20 @@ if(tab.equals("log"))
<li><a onClick="getLogs('serverlogxml','XML-Log',document.forms['log'].elements['loglines'].value);">XML log</a></li>
</ul>
</aside>
</div>
<div class="column is-9">
<%
} //Ende log Menü
%>
</aside>
</div>
<div class="column is-9">
<%
if(tab.equals(""))
{
%>
<div class="column">
<section class="hero is-info welcome is-small">
<div class="hero-body">
<div class="container">
@ -265,9 +273,8 @@ if(tab.equals("")) @@ -265,9 +273,8 @@ if(tab.equals(""))
</div>
</div>
</section>
<section class="info-tiles">
<div class="tile is-ancestor has-text-centered">
<div class="tile is-parent">
<div class="grid">
<div class="cell">
<article class="tile is-child box">
<p class="title">Serverumgebung</p>
<p class="subtitle">JVM-Parameter</p>
@ -283,7 +290,7 @@ if(tab.equals("")) @@ -283,7 +290,7 @@ if(tab.equals(""))
</article>
</div>
<div class="tile is-parent">
<div class="cell">
<article class="tile is-child box">
<p class="title">Server Cache</p>
<p class="subtitle">aktualisieren</p>
@ -296,13 +303,13 @@ if(tab.equals("")) @@ -296,13 +303,13 @@ if(tab.equals(""))
</article>
</div>
<div class="tile is-parent">
<div class="cell">
<article class="tile is-child box">
<p class="title">Einstellungen</p>
<p class="subtitle">der Webanwendung</p>
<p align="left">Version: <%= sxversion %><br />
Builddatum: <%= builddatum %><br />
Plattform: <%= platform %><br />
Platform: <%= platform %><br />
Aktueller Mandant: <%= mandantenid %><br />
Installierte Mandanten: <br />
<%= finRechteInfos %>
@ -315,16 +322,7 @@ if(tab.equals("")) @@ -315,16 +322,7 @@ if(tab.equals(""))
</article>
</div>-->
</div>
</section>
<div class="columns">
<div class="column is-6">
</div>
<div class="column is-6">
</div>
</div>
<%
<%
} //Ende Tiles Startseite
%>
<%
@ -369,6 +367,9 @@ if(tab.equals("mask")) @@ -369,6 +367,9 @@ if(tab.equals("mask"))
if(tab.equals("db"))
{
%>
<div class="column is-3 ">
</div>
<div class="column is-9 ">
<section class="hero is-info welcome is-small">
<div class="hero-body">
<div class="container">
@ -399,6 +400,7 @@ if(tab.equals("db")) @@ -399,6 +400,7 @@ if(tab.equals("db"))
</p>
</div>
</section>
</div>
<%
} //Ende db Content
@ -418,10 +420,10 @@ if(tab.equals("log")) @@ -418,10 +420,10 @@ if(tab.equals("log"))
</div>
</section>
<section class="section">
<form name="log" onsubmit="getLogs(document.forms['log'].elements['logtype'].value,document.getElementById('MaskSubHeader').innerHTML,document.forms['log'].elements['loglines'].value);return false;" >
<form name="log" >
<div class="container" id="loadMask" >
<div> (max. letzte <input type="hidden" name="logtype" value="" /> <input type="text" size="5" maxlength="5" name="loglines" value="100" onChange="getLogs(document.forms['log'].elements['logtype'].value,document.getElementById('MaskSubHeader').innerHTML,this.value);" /> 100 Zeilen)
<div> (max. letzte <input type="text" size="5" maxlength="5" name="loglines" value="100" /> Zeilen)
<textarea id="Inhalt" name="Inhalt" class="textarea" placeholder="Inhalt..." rows="20"></textarea>

80
superx/images/table.svg

@ -1,55 +1,27 @@ @@ -1,55 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="25"
version="1.1"
id="svg4"
sodipodi:docname="sort-name-up.svg"
height="25"
inkscape:version="0.92.2 5c3e80d, 2017-08-06">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="963"
id="namedview6"
showgrid="false"
inkscape:zoom="4.6980313"
inkscape:cx="69.885868"
inkscape:cy="50"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="m 17.316667,5.7 h 2.45 l -1,-3.05 -0.15,-0.65 q -0.05,-0.225 -0.05,-0.275 h -0.05 l -0.05,0.275 q 0,0 -0.025,0.25 -0.025,0.25 -0.125,0.4 z m -6.35,14.4 q 0,0.15 -0.15,0.325 l -4.4500004,4.45 q -0.125,0.125 -0.325,0.125 -0.15,0 -0.325,-0.125 L 1.2666665,20.4 q -0.2,-0.225 -0.1,-0.475 0.1,-0.275 0.425,-0.275 H 4.2666666 V 0.45 q 0,-0.2 0.125,-0.325 0.125,-0.125 0.325,-0.125 h 2.675 q 0.2,0 0.325,0.125 0.125,0.125 0.125,0.325 v 19.2 h 2.6750004 q 0.2,0 0.325,0.125 0.125,0.125 0.125,0.325 z m 11.65,1.65 V 25 h -8.15 v -1.25 l 5.15,-7.375 q 0.175,-0.25 0.3,-0.4 l 0.15,-0.125 v -0.025 q -0.025,0 -0.1,0 -0.075,0 -0.1,0 -0.15,0.05 -0.4,0.05 h -3.25 v 1.6 h -1.675 v -3.2 h 7.925 v 1.25 l -5.15,7.4 q -0.1,0.1 -0.3,0.35 l -0.15,0.175 v 0.025 l 0.2,-0.025 q 0.125,-0.05 0.4,-0.05 h 3.475 v -1.65 z m 1.25,-12.525 v 1.5 h -4.025 v -1.5 h 1.05 l -0.65,-2 h -3.4 l -0.65,2 h 1.05 v 1.5 h -4 v -1.5 h 0.975 l 3.2,-9.225 h 2.25 l 3.225,9.225 z"
id="path2"
inkscape:connector-curvature="0"
style="stroke-width:0.025" />
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#006AB2;}
.st2{fill:#696969;}
</style>
<g>
<path class="st0" d="M50,10H14l0,44.1H50L50,10z M23,48.5c0,0.5-0.5,1-1,1h-3c-0.6,0-1-0.5-1-1v-3c0-0.5,0.4-1,1-1h3
c0.5,0,1,0.5,1,1V48.5z M23,39c0,0.5-0.5,1-1,1h-3c-0.6,0-1-0.5-1-1v-3c0-0.5,0.4-1,1-1h3c0.5,0,1,0.5,1,1V39z M23,29
c0,0.5-0.5,1-1,1h-3c-0.6,0-1-0.5-1-1v-3c0-0.5,0.4-1,1-1h3c0.5,0,1,0.5,1,1V29z M46,49H28.1c-0.9,0-1.6-0.7-1.6-1.5
s0.7-1.5,1.6-1.5H46c0.9,0,1.6,0.7,1.6,1.5S46.9,49,46,49z M46,39H28.1c-0.9,0-1.6-0.7-1.6-1.5s0.7-1.5,1.6-1.5H46
c0.9,0,1.6,0.7,1.6,1.5S46.9,39,46,39z M46,29H28.3c-0.9,0-1.6-0.7-1.6-1.5s0.7-1.5,1.6-1.5H46c0.9,0,1.6,0.7,1.6,1.5
S46.9,29,46,29z M46,19H19.6c-0.9,0-1.6-0.7-1.6-1.5s0.7-1.5,1.6-1.5H46c0.9,0,1.6,0.7,1.6,1.5S46.9,19,46,19z"/>
<path class="st1" d="M50,4H14c-3.3,0-6,2.7-6,6v44c0,3.3,2.7,6,6,6H50c3.3,0,6-2.7,6-6V10C56,6.7,53.3,4,50,4z M14,54.1L14,10H50
l0,44.1H14z"/>
<path d="M46,16H19.6c-0.9,0-1.6,0.7-1.6,1.5s0.7,1.5,1.6,1.5H46c0.9,0,1.6-0.7,1.6-1.5S46.9,16,46,16z"/>
<path class="st2" d="M46,46H28.1c-0.9,0-1.6,0.7-1.6,1.5s0.7,1.5,1.6,1.5H46c0.9,0,1.6-0.7,1.6-1.5S46.9,46,46,46z"/>
<path d="M22,44.5h-3c-0.6,0-1,0.5-1,1v3c0,0.5,0.4,1,1,1h3c0.5,0,1-0.5,1-1v-3C23,45,22.5,44.5,22,44.5z"/>
<path class="st2" d="M46,36H28.1c-0.9,0-1.6,0.7-1.6,1.5s0.7,1.5,1.6,1.5H46c0.9,0,1.6-0.7,1.6-1.5S46.9,36,46,36z"/>
<path d="M22,35h-3c-0.6,0-1,0.5-1,1v3c0,0.5,0.4,1,1,1h3c0.5,0,1-0.5,1-1v-3C23,35.5,22.5,35,22,35z"/>
<path class="st2" d="M46,26H28.3c-0.9,0-1.6,0.7-1.6,1.5s0.7,1.5,1.6,1.5H46c0.9,0,1.6-0.7,1.6-1.5S46.9,26,46,26z"/>
<path d="M22,25h-3c-0.6,0-1,0.5-1,1v3c0,0.5,0.4,1,1,1h3c0.5,0,1-0.5,1-1v-3C23,25.5,22.5,25,22,25z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

21
superx/style/LICENSE_bulma_tooltip_1.2.0.txt

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 CreativeBulma
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

2
superx/style/bulma-tooltip.min.css vendored

File diff suppressed because one or more lines are too long

2
superx/xml/pageComponents_html.xsl

@ -865,7 +865,7 @@ document.forms[0].target = '_blank'; @@ -865,7 +865,7 @@ document.forms[0].target = '_blank';
<td>
<span dojoType="tooltip" connectId="btnKonfig" style="display:none">Spaltensortierung- und Reihenfolge festlegen<br />, Spalten entfernen</span>
<a href="javascript:showConfig();" id="btnKonfig">
<img src="../images/table.svg" class="svg_icon" alt="Konfiguration der Tabelle" border="0" /></a></td>
<img src="../images/table_sort.svg" class="svg_icon" alt="Konfiguration der Tabelle" border="0" /></a></td>
</xsl:if>
<!--<td><a href="javascript:document.forms[0].submit();">PDF</a></td>
<td><a href="javascript:document.forms[0].stylesheet.value='tabelle_xml.xsl';document.forms[0].contenttype.value='text/xml; charset=ISO-8859-1'; document.forms[0].submit();">XML</a></td>

Loading…
Cancel
Save