Browse Source

Barrierefreiheit und Tabellenlayout angepasst #15

master
Daniel Quathamer 2 weeks ago
parent
commit
db85809544
  1. 2
      superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt
  2. 4
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/job_log.idx
  3. 13
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/job_log.tab
  4. 9
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/cifx_key.view
  5. 13
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/cifx_table.view
  6. 3
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_pg.xml
  7. 2
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_pg.sql
  8. 212
      superx/WEB-INF/conf/edustore/db/install/conf/kern.html
  9. 1
      superx/WEB-INF/conf/edustore/db/install/conf/module_alter_table_schema.x
  10. 16
      superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql
  11. 3
      superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x
  12. 3
      superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x
  13. 166
      superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql
  14. 18
      superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_loeschen.sql
  15. 24
      superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql
  16. 1
      superx/WEB-INF/conf/edustore/db/install/kern_backup.x
  17. 1
      superx/WEB-INF/conf/edustore/db/install/kern_drop_pg.sql
  18. 1
      superx/WEB-INF/conf/edustore/db/install/kern_indexes_drop.sql
  19. 5
      superx/WEB-INF/conf/edustore/db/install/kern_indexes_pg.sql
  20. 59
      superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql
  21. 2
      superx/WEB-INF/conf/edustore/db/install/kern_purge_pg.sql
  22. 1
      superx/WEB-INF/conf/edustore/db/install/kern_restore.x
  23. 33
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_fields_pg.sql
  24. 28
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_indexes_pg.sql
  25. 43
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_tables_pg.sql
  26. 80
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql
  27. 28
      superx/WEB-INF/kern_dbforms-config_pg.xml
  28. 6
      superx/edit/kern/cifx_customize_edit.jsp
  29. 4
      superx/edit/kern/cifx_customize_list.jsp
  30. 8
      superx/edit/kern/portlets_edit.jsp
  31. 2
      superx/edit/kern/portlets_list.jsp
  32. 2
      superx/xml/js/memtext/sx_functions.js
  33. 8
      superx/xml/nd_templates.xsl

2
superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt

@ -1 +1 @@
09.08.2026 13.08.2026

4
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/job_log.idx

@ -0,0 +1,4 @@
{### job_log - automatisch generiert ##############################################
}
create unique index ix_job_log1 on job_log (job_instance_id );

13
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/sch.eduetl/job_log.tab

@ -0,0 +1,13 @@
{### job_log - automatisch generiert #########}
create table job_log(
job_instance_id int8 not null,
log TEXT ,
status TEXT
);
comment on column job_log.job_instance_id is 'Job-Instanz-ID';
comment on column job_log.log is 'Job-Log';
comment on column job_log.status is 'Job-Status';

9
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/cifx_key.view

@ -0,0 +1,9 @@
create view cifx_key(
key,
druck) as
SELECT distinct C.key,
coalesce(trim(I.druck) || '- ' ,'') || C.key as druck
from cifx C left outer join cif I on (I.apnr=C.key and I.key=2)
;

13
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/cifx_table.view

@ -0,0 +1,13 @@
create view cifx_table(
name,
caption) as
SELECT
name,
case when caption='' then name else coalesce(caption,name) end as caption
FROM sx_tables
where name like '%cifx'
and name !='trans_cifx'
and table_type='Schlüsseltabelle'
;

3
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_pg.xml

@ -598,6 +598,9 @@
</dbi:dbaction> </dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop table if exists k_astat_lfb_fg cascade; <dbi:dbaction dbi:action="sqlexec">eduetl:drop table if exists k_astat_lfb_fg cascade;
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop table if exists job_log cascade;
</dbi:dbaction> </dbi:dbaction>
<dbi:dbaction dbi:action="executeFile"> <dbi:dbaction dbi:action="executeFile">
<dbi:file structure="SQL" withNativeClient="n" encoding="UTF-8" database="eduetl" filename="$KERN_PFAD/conf/sx_tables_loeschen.sql"/> <dbi:file structure="SQL" withNativeClient="n" encoding="UTF-8" database="eduetl" filename="$KERN_PFAD/conf/sx_tables_loeschen.sql"/>

2
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_pg.sql

@ -284,6 +284,8 @@ delete from db_tabellen where name='k_source';
insert into db_tabellen (name,protokollierung) values('k_source',0); insert into db_tabellen (name,protokollierung) values('k_source',0);
delete from db_tabellen where name='k_astat_lfb_fg'; delete from db_tabellen where name='k_astat_lfb_fg';
insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0); insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0);
delete from db_tabellen where name='job_log';
insert into db_tabellen (name,protokollierung) values('job_log',0);
-- Fülle sachgebiete, systeminfo und themenbaum -- Fülle sachgebiete, systeminfo und themenbaum

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

@ -229,6 +229,7 @@ a:active {
<li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li> <li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li>
<li><a href="#tab_hochschulinfo">hochschulinfo</a></li> <li><a href="#tab_hochschulinfo">hochschulinfo</a></li>
<li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li> <li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li>
<li><a href="#tab_job_log">job_log</a></li>
<li><a href="#tab_k_astat_abschl_grp">k_astat_abschl_grp</a></li> <li><a href="#tab_k_astat_abschl_grp">k_astat_abschl_grp</a></li>
<li><a href="#tab_k_astat_abschluss2steller">k_astat_abschluss2steller</a></li> <li><a href="#tab_k_astat_abschluss2steller">k_astat_abschluss2steller</a></li>
<li><a href="#tab_k_astat_abschluss3steller_land">k_astat_abschluss3steller_land</a></li> <li><a href="#tab_k_astat_abschluss3steller_land">k_astat_abschluss3steller_land</a></li>
@ -325,6 +326,8 @@ a:active {
</ul> </ul>
</li> </li>
<li><a href="#views">Views</a><ul> <li><a href="#views">Views</a><ul>
<li><a href="#tab_cifx_key">cifx_key</a></li>
<li><a href="#tab_cifx_table">cifx_table</a></li>
<li><a href="#tab_dim_abschluss">dim_abschluss</a></li> <li><a href="#tab_dim_abschluss">dim_abschluss</a></li>
<li><a href="#tab_dim_kost">dim_kost</a></li> <li><a href="#tab_dim_kost">dim_kost</a></li>
<li><a href="#tab_dim_kotr">dim_kotr</a></li> <li><a href="#tab_dim_kotr">dim_kotr</a></li>
@ -401,6 +404,7 @@ a:active {
<li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li> <li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li>
<li><a href="#tab_hochschulinfo">hochschulinfo</a></li> <li><a href="#tab_hochschulinfo">hochschulinfo</a></li>
<li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li> <li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li>
<li><a href="#tab_job_log">job_log</a></li>
<li><a href="#tab_k_astat_lfb_fg">k_astat_lfb_fg</a></li> <li><a href="#tab_k_astat_lfb_fg">k_astat_lfb_fg</a></li>
<li><a href="#tab_k_prio_param">k_prio_param</a></li> <li><a href="#tab_k_prio_param">k_prio_param</a></li>
<li><a href="#tab_k_source">k_source</a></li> <li><a href="#tab_k_source">k_source</a></li>
@ -526,6 +530,7 @@ a:active {
<li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li> <li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li>
<li><a href="#tab_hochschulinfo">hochschulinfo</a></li> <li><a href="#tab_hochschulinfo">hochschulinfo</a></li>
<li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li> <li><a href="#tab_implicit_orgunit_rights">implicit_orgunit_rights</a></li>
<li><a href="#tab_job_log">job_log</a></li>
<li><a href="#tab_k_astat_lfb_fg">k_astat_lfb_fg</a></li> <li><a href="#tab_k_astat_lfb_fg">k_astat_lfb_fg</a></li>
<li><a href="#tab_k_prio_param">k_prio_param</a></li> <li><a href="#tab_k_prio_param">k_prio_param</a></li>
<li><a href="#tab_k_source">k_source</a></li> <li><a href="#tab_k_source">k_source</a></li>
@ -655,6 +660,7 @@ a:active {
<li><a href="#tab_arch_datum">arch_datum</a></li> <li><a href="#tab_arch_datum">arch_datum</a></li>
<li><a href="#tab_data_upload">data_upload</a></li> <li><a href="#tab_data_upload">data_upload</a></li>
<li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li> <li><a href="#tab_hisinone_deleted_entity">hisinone_deleted_entity</a></li>
<li><a href="#tab_job_log">job_log</a></li>
<li><a href="#tab_kern_cifx_neu">kern_cifx_neu</a></li> <li><a href="#tab_kern_cifx_neu">kern_cifx_neu</a></li>
<li><a href="#tab_kern_pruefrout">kern_pruefrout</a></li> <li><a href="#tab_kern_pruefrout">kern_pruefrout</a></li>
<li><a href="#tab_masken_prot_feld">masken_prot_feld</a></li> <li><a href="#tab_masken_prot_feld">masken_prot_feld</a></li>
@ -1734,7 +1740,7 @@ a:active {
<td class="tabellenzeile">true</td> <td class="tabellenzeile">true</td>
<td class="tabellenzeile">Tabelle</td> <td class="tabellenzeile">Tabelle</td>
<td class="tabellenzeile"></td> <td class="tabellenzeile"></td>
<td class="tabellenzeile"></td> <td class="tabellenzeile"><a href="#tab_cifx_table">cifx_table : name</a><br></td>
</tr> </tr>
<tr> <tr>
<td class="tabellenzeile">key</td> <td class="tabellenzeile">key</td>
@ -1744,7 +1750,7 @@ a:active {
<td class="tabellenzeile">true</td> <td class="tabellenzeile">true</td>
<td class="tabellenzeile">Schlüssel</td> <td class="tabellenzeile">Schlüssel</td>
<td class="tabellenzeile"></td> <td class="tabellenzeile"></td>
<td class="tabellenzeile"></td> <td class="tabellenzeile"><a href="#tab_cifx_key">cifx_key : key</a><br></td>
</tr> </tr>
<tr> <tr>
<td class="tabellenzeile">apnr</td> <td class="tabellenzeile">apnr</td>
@ -5639,6 +5645,76 @@ a:active {
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<h5 class="level_5"><a name="tab_job_log">Tabelle job_log</a></h5>
<p>Log-Tabelle für ETL-Jobs der Komponentenverwaltung</p>
<p>Typ: Datentabelle, Themenbereich: Administration</p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable">
<thead>
<tr>
<th class="column-title">Feldname</th>
<th class="column-title">Feldtyp</th>
<th class="column-title">Größe</th>
<th class="column-title">Default</th>
<th class="column-title">Not Null</th>
<th class="column-title">Beschreibung</th>
<th class="column-title">Kommentar</th>
<th class="column-title">Fremdschlüssel</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tabellenzeile">job_instance_id</td>
<td class="tabellenzeile">BIGINT</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">true</td>
<td class="tabellenzeile">Job-Instanz-ID</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
<tr>
<td class="tabellenzeile">log</td>
<td class="tabellenzeile">TEXT</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Job-Log</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
<tr>
<td class="tabellenzeile">status</td>
<td class="tabellenzeile">TEXT</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Job-Status</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="themenspalte">Primärschlüssel:</td>
<td colspan="8">
<p style="font-size:smaller"></p>
</td>
</tr>
<tr>
<td class="themenspalte">Index/Indizes:</td>
<td colspan="8">
<ul>
<li style="font-size:0.9em"> unique <span style="font-family:courier,monospace;font-size:0.9em">ix_job_log1</span> auf job_log (job_instance_id );</li>
</ul>
</td>
</tr>
<tr>
<td class="themenspalte">Wird benutzt in:</td>
<td colspan="8">
<ul></ul>
</td>
</tr>
</tfoot>
</table>
<h5 class="level_5"><a name="tab_k_astat_abschl_grp">Tabelle k_astat_abschl_grp (Amtl.Abschlüsse (Bundesschlüssel) und Gruppen)</a></h5> <h5 class="level_5"><a name="tab_k_astat_abschl_grp">Tabelle k_astat_abschl_grp (Amtl.Abschlüsse (Bundesschlüssel) und Gruppen)</a></h5>
<p></p> <p></p>
<p>Typ: Schlüsseltabelle, Themenbereich: Stammdaten verwalten</p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable"> <p>Typ: Schlüsseltabelle, Themenbereich: Stammdaten verwalten</p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable">
@ -17407,6 +17483,138 @@ a:active {
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<h5 class="level_5"><a name="tab_cifx_table">View cifx_table (CIFX-Tabellenvariante)</a></h5>
<p>View auf sx_tables-Tabelle (nur cifx-Tabellen)</p>
<p></p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable">
<thead>
<tr>
<th class="column-title">Feldname</th>
<th class="column-title">Feldtyp</th>
<th class="column-title">Größe</th>
<th class="column-title">Default</th>
<th class="column-title">Not Null</th>
<th class="column-title">Beschreibung</th>
<th class="column-title">Kommentar</th>
<th class="column-title">Fremdschlüssel</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tabellenzeile">name</td>
<td class="tabellenzeile">VARCHAR</td>
<td class="tabellenzeile">255</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Name der Tabelle</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
<tr>
<td class="tabellenzeile">caption</td>
<td class="tabellenzeile">VARCHAR</td>
<td class="tabellenzeile">255</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Beschriftung</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="themenspalte">Primärschlüssel:</td>
<td colspan="8">
<p style="font-size:smaller"></p>
</td>
</tr>
<tr>
<td class="themenspalte">SQL-Ausdruck:</td>
<td colspan="8">
<ul>
<li><span style="font-family:courier,monospace;font-size:0.9em">
SELECT
name,
case when caption='' then name else coalesce(caption,name) end as caption
FROM sx_tables
where name like '%cifx'
and name !='trans_cifx'
and table_type='Schlüsseltabelle'
</span></li>
</ul>
</td>
</tr>
<tr>
<td class="themenspalte">Wird benutzt in:</td>
<td colspan="8">
<ul></ul>
</td>
</tr>
</tfoot>
</table>
<h5 class="level_5"><a name="tab_cifx_key">View cifx_key (CIFX-Schlüssel)</a></h5>
<p>Übericht aller exisiterenden cifx-keys</p>
<p></p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable">
<thead>
<tr>
<th class="column-title">Feldname</th>
<th class="column-title">Feldtyp</th>
<th class="column-title">Größe</th>
<th class="column-title">Default</th>
<th class="column-title">Not Null</th>
<th class="column-title">Beschreibung</th>
<th class="column-title">Kommentar</th>
<th class="column-title">Fremdschlüssel</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tabellenzeile">key</td>
<td class="tabellenzeile">INTEGER</td>
<td class="tabellenzeile">255</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Nummer des Schlüssels</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
<tr>
<td class="tabellenzeile">druck</td>
<td class="tabellenzeile">VARCHAR</td>
<td class="tabellenzeile">255</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile">false</td>
<td class="tabellenzeile">Name des Schlüssels</td>
<td class="tabellenzeile"></td>
<td class="tabellenzeile"></td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="themenspalte">Primärschlüssel:</td>
<td colspan="8">
<p style="font-size:smaller"></p>
</td>
</tr>
<tr>
<td class="themenspalte">SQL-Ausdruck:</td>
<td colspan="8">
<ul>
<li><span style="font-family:courier,monospace;font-size:0.9em">
SELECT distinct C.key,
coalesce(trim(I.druck) || '- ' ,'') || C.key as druck
from cifx C left outer join cif I on (I.apnr=C.key and I.key=2)
</span></li>
</ul>
</td>
</tr>
<tr>
<td class="themenspalte">Wird benutzt in:</td>
<td colspan="8">
<ul></ul>
</td>
</tr>
</tfoot>
</table>
<h5 class="level_5"><a name="tab_dim_staat">View dim_staat (Nationalität)</a></h5> <h5 class="level_5"><a name="tab_dim_staat">View dim_staat (Nationalität)</a></h5>
<p>Staaten </p> <p>Staaten </p>
<p>Typ: Schlüsseltabelle, Themenbereich: Studierende</p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable"> <p>Typ: Schlüsseltabelle, Themenbereich: Studierende</p><span class="separator">&nbsp;</span><table class="table is-bordered is-striped is-narrow is-hoverable">

1
superx/WEB-INF/conf/edustore/db/install/conf/module_alter_table_schema.x

@ -146,3 +146,4 @@ DOQUERY "alter table arch_datum SET SCHEMA $SCHEMA;"
DOQUERY "alter table k_prio_param SET SCHEMA $SCHEMA;" DOQUERY "alter table k_prio_param SET SCHEMA $SCHEMA;"
DOQUERY "alter table k_source SET SCHEMA $SCHEMA;" DOQUERY "alter table k_source SET SCHEMA $SCHEMA;"
DOQUERY "alter table k_astat_lfb_fg SET SCHEMA $SCHEMA;" DOQUERY "alter table k_astat_lfb_fg SET SCHEMA $SCHEMA;"
DOQUERY "alter table job_log SET SCHEMA $SCHEMA;"

16
superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql

@ -31,6 +31,12 @@ select sp_table_exists('dimension_view') from xdummy;
<sqlvar name="fact_table_view_exists"> <sqlvar name="fact_table_view_exists">
select sp_table_exists('fact_table') from xdummy; select sp_table_exists('fact_table') from xdummy;
</sqlvar> </sqlvar>
<sqlvar name="cifx_table_view_exists">
select sp_table_exists('cifx_table') from xdummy;
</sqlvar>
<sqlvar name="cifx_key_view_exists">
select sp_table_exists('cifx_key') from xdummy;
</sqlvar>
<sqlvar name="dim_staat_view_exists"> <sqlvar name="dim_staat_view_exists">
select sp_table_exists('dim_staat') from xdummy; select sp_table_exists('dim_staat') from xdummy;
</sqlvar> </sqlvar>
@ -101,6 +107,16 @@ drop view fact_table;
</#if> </#if>
<#if cifx_table_view_exists ==1>
drop view cifx_table;
</#if>
<#if cifx_key_view_exists ==1>
drop view cifx_key;
</#if>
<#if dim_staat_view_exists ==1> <#if dim_staat_view_exists ==1>
drop view dim_staat; drop view dim_staat;
</#if> </#if>

3
superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x

@ -488,6 +488,7 @@ if [ "$DATABASE" == "POSTGRES" -a "$RIGHT" != "select" ]
DOQUERY "grant update on k_astat_lfb_fg_tid_seq to $GRANTEE;" DOQUERY "grant update on k_astat_lfb_fg_tid_seq to $GRANTEE;"
fi fi
DOQUERY "grant $RIGHT on job_log to $GRANTEE;"
#Besonderheit Kernmodul: #Besonderheit Kernmodul:
#Zum Login braucht man Update Rechte auf einzelne Tabellen:" #Zum Login braucht man Update Rechte auf einzelne Tabellen:"
@ -516,6 +517,8 @@ DOQUERY "grant $RIGHT on user_inst_org to $GRANTEE;"
DOQUERY "grant $RIGHT on hochschulen to $GRANTEE;" DOQUERY "grant $RIGHT on hochschulen to $GRANTEE;"
DOQUERY "grant $RIGHT on dimension_view to $GRANTEE;" DOQUERY "grant $RIGHT on dimension_view to $GRANTEE;"
DOQUERY "grant $RIGHT on fact_table to $GRANTEE;" DOQUERY "grant $RIGHT on fact_table to $GRANTEE;"
DOQUERY "grant $RIGHT on cifx_table to $GRANTEE;"
DOQUERY "grant $RIGHT on cifx_key to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_staat to $GRANTEE;" DOQUERY "grant $RIGHT on dim_staat to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_stg to $GRANTEE;" DOQUERY "grant $RIGHT on dim_stg to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;" DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;"

3
superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x

@ -488,6 +488,7 @@ if [ "$DATABASE" == "POSTGRES" -a "$RIGHT" != "select" ]
DOQUERY "revoke update on k_astat_lfb_fg_tid_seq from $GRANTEE;" DOQUERY "revoke update on k_astat_lfb_fg_tid_seq from $GRANTEE;"
fi fi
DOQUERY "revoke $RIGHT on job_log from $GRANTEE;"
#Views: #Views:
DOQUERY "revoke $RIGHT on user_groups from $GRANTEE;" DOQUERY "revoke $RIGHT on user_groups from $GRANTEE;"
DOQUERY "revoke $RIGHT on menu_element_fieldmode from $GRANTEE;" DOQUERY "revoke $RIGHT on menu_element_fieldmode from $GRANTEE;"
@ -498,6 +499,8 @@ DOQUERY "revoke $RIGHT on user_inst_org from $GRANTEE;"
DOQUERY "revoke $RIGHT on hochschulen from $GRANTEE;" DOQUERY "revoke $RIGHT on hochschulen from $GRANTEE;"
DOQUERY "revoke $RIGHT on dimension_view from $GRANTEE;" DOQUERY "revoke $RIGHT on dimension_view from $GRANTEE;"
DOQUERY "revoke $RIGHT on fact_table from $GRANTEE;" DOQUERY "revoke $RIGHT on fact_table from $GRANTEE;"
DOQUERY "revoke $RIGHT on cifx_table from $GRANTEE;"
DOQUERY "revoke $RIGHT on cifx_key from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_staat from $GRANTEE;" DOQUERY "revoke $RIGHT on dim_staat from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_stg from $GRANTEE;" DOQUERY "revoke $RIGHT on dim_stg from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;" DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;"

166
superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql

@ -1549,6 +1549,12 @@ values('cifx_customize',
0, 0,
1); 1);
update tmp_fields set foreignkey_tab='cifx_table',
foreignkey_col='name',
foreignkey_cap='caption',
foreignkey_uniquename=''
where trim(table_name) || '_' || trim(name) ='cifx_customize_cifx_table';
insert into tmp_fields ( insert into tmp_fields (
table_name, table_name,
name, name,
@ -1571,6 +1577,12 @@ values('cifx_customize',
0, 0,
1); 1);
update tmp_fields set foreignkey_tab='cifx_key',
foreignkey_col='key',
foreignkey_cap='druck',
foreignkey_uniquename=''
where trim(table_name) || '_' || trim(name) ='cifx_customize_key';
insert into tmp_fields ( insert into tmp_fields (
table_name, table_name,
name, name,
@ -7171,6 +7183,72 @@ values('implicit_orgunit_rights',
0, 0,
1); 1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('job_log',
'job_instance_id',
'Job-Instanz-ID',
'',
'BIGINT',
'',
1,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('job_log',
'log',
'Job-Log',
'',
'TEXT',
'',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('job_log',
'status',
'Job-Status',
'',
'TEXT',
'',
0,
1,
0,
1);
insert into tmp_fields ( insert into tmp_fields (
table_name, table_name,
name, name,
@ -22851,6 +22929,94 @@ values('xdummy',
0, 0,
1); 1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('cifx_key',
'key',
'Nummer des Schlüssels',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('cifx_key',
'druck',
'Name des Schlüssels',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('cifx_table',
'name',
'Name der Tabelle',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('cifx_table',
'caption',
'Beschriftung',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields ( insert into tmp_fields (
table_name, table_name,
name, name,

18
superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_loeschen.sql

@ -1914,6 +1914,24 @@ name)
values('implicit_orgunit_rights', values('implicit_orgunit_rights',
'lid'); 'lid');
insert into tmp_fields (
table_name,
name)
values('job_log',
'job_instance_id');
insert into tmp_fields (
table_name,
name)
values('job_log',
'log');
insert into tmp_fields (
table_name,
name)
values('job_log',
'status');
insert into tmp_fields ( insert into tmp_fields (
table_name, table_name,
name) name)

24
superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql

@ -359,6 +359,14 @@ values('implicit_orgunit_rights','','Schlüsseltabelle für LiveMapping',
'Administration', 'Administration',
0); 0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('job_log','','Log-Tabelle für ETL-Jobs der Komponentenverwaltung',
'Datentabelle',
9,
9,
'Administration',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('k_astat_abschl_grp','Amtl.Abschlüsse (Bundesschlüssel) und Gruppen','', values('k_astat_abschl_grp','Amtl.Abschlüsse (Bundesschlüssel) und Gruppen','',
'Schlüsseltabelle', 'Schlüsseltabelle',
@ -1103,6 +1111,22 @@ values('xdummy','','',
'Administration', 'Administration',
0); 0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('cifx_key','CIFX-Schlüssel','Übericht aller exisiterenden cifx-keys',
'',
9,
9,
'',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('cifx_table','CIFX-Tabellenvariante','View auf sx_tables-Tabelle (nur cifx-Tabellen)',
'',
9,
9,
'',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('dim_abschluss','Abschluss','Abschluss (intern)', values('dim_abschluss','Abschluss','Abschluss (intern)',
'Schlüsseltabelle', 'Schlüsseltabelle',

1
superx/WEB-INF/conf/edustore/db/install/kern_backup.x

@ -164,6 +164,7 @@ DOQUERY "select arch_table, datum, bezugszeit_von, bezugszeit_bis, bezugsart, us
DOQUERY "select id, name, sortorder from k_prio_param;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_prio_param.unl txt DOQUERY "select id, name, sortorder from k_prio_param;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_prio_param.unl txt
DOQUERY "select id, name, sortorder from k_source;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_source.unl txt DOQUERY "select id, name, sortorder from k_source;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_source.unl txt
DOQUERY "select tid, fgr, fgr_str, lfb, lfb_str, fg, fg_str, gueltig_von, gueltig_bis from k_astat_lfb_fg;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_astat_lfb_fg.unl txt DOQUERY "select tid, fgr, fgr_str, lfb, lfb_str, fg, fg_str, gueltig_von, gueltig_bis from k_astat_lfb_fg;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/k_astat_lfb_fg.unl txt
DOQUERY "select job_instance_id, log, status from job_log;" false $DBDELIMITER ${BACKUP_PFAD_INDIVIDUELL_MODULE}/job_log.unl txt
echo "Finished unloading" echo "Finished unloading"

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

@ -211,6 +211,7 @@ drop table if exists arch_datum cascade;
drop table if exists k_prio_param cascade; drop table if exists k_prio_param cascade;
drop table if exists k_source cascade; drop table if exists k_source cascade;
drop table if exists k_astat_lfb_fg cascade; drop table if exists k_astat_lfb_fg cascade;
drop table if exists job_log cascade;
select now(), 'Uninstall-Actions'; select now(), 'Uninstall-Actions';

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

@ -49,4 +49,5 @@ drop index ix_group_felder2 ;
drop index ix_dim_datum_day_date ; drop index ix_dim_datum_day_date ;
drop index ix_etl_job1 ; drop index ix_etl_job1 ;
drop index k_astat_staat_eu_idx1 ; drop index k_astat_staat_eu_idx1 ;
drop index ix_job_log1 ;

5
superx/WEB-INF/conf/edustore/db/install/kern_indexes_pg.sql

@ -277,3 +277,8 @@ select now(), 'Erzeuge Index k_astat_staat_eu_idx1';
create index k_astat_staat_eu_idx1 on k_astat_staat_eu (astat, create index k_astat_staat_eu_idx1 on k_astat_staat_eu (astat,
semester_von, semester_von,
semester_bis ); semester_bis );
select now(), 'Erzeuge Index ix_job_log1';
create unique index ix_job_log1 on job_log (job_instance_id );

59
superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql

@ -4565,6 +4565,35 @@ select now(), 'Tabelle k_astat_lfb_fg erzeugt';
select now(), 'Erzeuge Tabelle job_log';
create table job_log(
job_instance_id int8 not null,
log TEXT ,
status TEXT
)
;
comment on table job_log is 'Log-Tabelle für ETL-Jobs der Komponentenverwaltung';
comment on column job_log.job_instance_id is 'Job-Instanz-ID';
comment on column job_log.log is 'Job-Log';
comment on column job_log.status is 'Job-Status';
select now(), 'Erzeuge Index ix_job_log1';
create unique index ix_job_log1 on job_log (job_instance_id );
select now(), 'Tabelle job_log erzeugt';
select now(), 'Erzeuge View user_groups'; select now(), 'Erzeuge View user_groups';
create view user_groups( create view user_groups(
@ -4848,6 +4877,34 @@ where T.name in (select distinct fact_table from dimension)
; ;
select now(), 'Erzeuge View cifx_table';
create view cifx_table(
name,
caption) as
SELECT
name,
case when caption='' then name else coalesce(caption,name) end as caption
FROM sx_tables
where name like '%cifx'
and name !='trans_cifx'
and table_type='Schlüsseltabelle'
;
select now(), 'Erzeuge View cifx_key';
create view cifx_key(
key,
druck) as
SELECT distinct C.key,
coalesce(trim(I.druck) || '- ' ,'') || C.key as druck
from cifx C left outer join cif I on (I.apnr=C.key and I.key=2)
;
select now(), 'Erzeuge View dim_staat'; select now(), 'Erzeuge View dim_staat';
create view dim_staat( create view dim_staat(
@ -5779,6 +5836,8 @@ delete from db_tabellen where name='k_source';
insert into db_tabellen (name,protokollierung) values('k_source',0); insert into db_tabellen (name,protokollierung) values('k_source',0);
delete from db_tabellen where name='k_astat_lfb_fg'; delete from db_tabellen where name='k_astat_lfb_fg';
insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0); insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0);
delete from db_tabellen where name='job_log';
insert into db_tabellen (name,protokollierung) values('job_log',0);
select now(), 'Fülle sachgebiete, systeminfo und themenbaum'; select now(), 'Fülle sachgebiete, systeminfo und themenbaum';

2
superx/WEB-INF/conf/edustore/db/install/kern_purge_pg.sql

@ -33,3 +33,5 @@ truncate table hisinone_deleted_entity;
vacuum full hisinone_deleted_entity; vacuum full hisinone_deleted_entity;
truncate table arch_datum; truncate table arch_datum;
vacuum full arch_datum; vacuum full arch_datum;
truncate table job_log;
vacuum full job_log;

1
superx/WEB-INF/conf/edustore/db/install/kern_restore.x

@ -139,6 +139,7 @@ sx_auto_upload_table.x arch_datum tmp"$MANDANTENID"/arch_datum.unl
sx_auto_upload_table.x k_prio_param tmp"$MANDANTENID"/k_prio_param.unl sx_auto_upload_table.x k_prio_param tmp"$MANDANTENID"/k_prio_param.unl
sx_auto_upload_table.x k_source tmp"$MANDANTENID"/k_source.unl sx_auto_upload_table.x k_source tmp"$MANDANTENID"/k_source.unl
sx_auto_upload_table.x k_astat_lfb_fg tmp"$MANDANTENID"/k_astat_lfb_fg.unl sx_auto_upload_table.x k_astat_lfb_fg tmp"$MANDANTENID"/k_astat_lfb_fg.unl
sx_auto_upload_table.x job_log tmp"$MANDANTENID"/job_log.unl
echo 'Finished restoring' echo 'Finished restoring'

33
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_fields_pg.sql

@ -143,7 +143,8 @@ and C.relname::varchar(255) in ('sichtart_rechttabelle',
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg') UNION SELECT trim(N.nspname||'.'||C.relname) || '.' || trim(A.attname),trim(N.nspname||'.'||C.relname) || '.' || trim(A.attname) 'k_astat_lfb_fg',
'job_log') UNION SELECT trim(N.nspname||'.'||C.relname) || '.' || trim(A.attname),trim(N.nspname||'.'||C.relname) || '.' || trim(A.attname)
FROM pg_attribute A, pg_class C, pg_namespace N FROM pg_attribute A, pg_class C, pg_namespace N
where C.oid = A.attrelid where C.oid = A.attrelid
and N.oid = C.relnamespace and N.oid = C.relnamespace
@ -283,7 +284,8 @@ and N.nspname||'.'||C.relname in ('sichtart_rechttabelle',
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg' 'k_astat_lfb_fg',
'job_log'
) order by 1;</sqlvar> ) order by 1;</sqlvar>
</sqlvars> </sqlvars>
@ -9272,3 +9274,30 @@ select now(), 'field k_astat_lfb_fg.gueltig_bis will be added';
alter table k_astat_lfb_fg add column gueltig_bis DATE ; alter table k_astat_lfb_fg add column gueltig_bis DATE ;
</#if> </#if>
<#if !fields?seq_contains("job_log.job_instance_id") >
select now(), 'field job_log.job_instance_id will be added';
alter table job_log add column job_instance_id int8 not null;
</#if>
<#if !fields?seq_contains("job_log.log") >
select now(), 'field job_log.log will be added';
alter table job_log add column log TEXT ;
</#if>
<#if !fields?seq_contains("job_log.status") >
select now(), 'field job_log.status will be added';
alter table job_log add column status TEXT ;
</#if>

28
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_indexes_pg.sql

@ -144,7 +144,8 @@ where D.relname::varchar(200) in ('sichtart_rechttabelle',
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg')) UNION SELECT 'k_astat_lfb_fg',
'job_log')) UNION SELECT
C.relname, C.relname from pg_class C, pg_index I C.relname, C.relname from pg_class C, pg_index I
where I.indexrelid=C.oid where I.indexrelid=C.oid
and I.indrelid in ( and I.indrelid in (
@ -285,7 +286,8 @@ and N.nspname||'.'||D.relname in ('sichtart_rechttabelle',
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg' 'k_astat_lfb_fg',
'job_log'
));</sqlvar> ));</sqlvar>
</sqlvars> </sqlvars>
@ -1416,3 +1418,25 @@ semester_von,
semester_bis ); semester_bis );
</#if> </#if>
<#assign exists="false" />
<#list indexes as i>
<#if i.getName()="ix_job_log1">
<#assign exists="true" />
</#if>
</#list>
<#if exists="true" >
select now(), 'index ix_job_log1 exists - fine';
<#else>
select now(), 'Erzeuge Index ix_job_log1';
create unique index ix_job_log1 on job_log (job_instance_id );
</#if>

43
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_tables_pg.sql

@ -139,7 +139,8 @@ select relname,relname as tabelle from pg_class JOIN pg_namespace ON pg_namespac
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg') UNION SELECT pg_namespace.nspname||'.'||relname as relname,pg_namespace.nspname||'.'||relname as tabelle from pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE pg_namespace.nspname||'.'||relname in ('sichtart_rechttabelle', 'k_astat_lfb_fg',
'job_log') UNION SELECT pg_namespace.nspname||'.'||relname as relname,pg_namespace.nspname||'.'||relname as tabelle from pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE pg_namespace.nspname||'.'||relname in ('sichtart_rechttabelle',
'group_field_pref', 'group_field_pref',
'stylesheet_field', 'stylesheet_field',
'db_tabellen', 'db_tabellen',
@ -274,7 +275,8 @@ select relname,relname as tabelle from pg_class JOIN pg_namespace ON pg_namespac
'arch_datum', 'arch_datum',
'k_prio_param', 'k_prio_param',
'k_source', 'k_source',
'k_astat_lfb_fg' 'k_astat_lfb_fg',
'job_log'
);</sqlvar> );</sqlvar>
</sqlvars> </sqlvars>
@ -5946,6 +5948,43 @@ comment on column k_astat_lfb_fg.fg_str is 'Fachgebiet';
</#if> </#if>
delete from db_tabellen where name='k_astat_lfb_fg'; delete from db_tabellen where name='k_astat_lfb_fg';
insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0); insert into db_tabellen (name,protokollierung) values('k_astat_lfb_fg',0);
<#if !deleted_tables?seq_contains("job_log") && tables?is_sequence && tables?seq_contains("job_log") >
select now(), 'table job_log exists - fine';
<#else>
select now(), 'Erzeuge Tabelle job_log';
create table job_log(
job_instance_id int8 not null,
log TEXT ,
status TEXT
)
;
comment on table job_log is 'Log-Tabelle für ETL-Jobs der Komponentenverwaltung';
comment on column job_log.job_instance_id is 'Job-Instanz-ID';
comment on column job_log.log is 'Job-Log';
comment on column job_log.status is 'Job-Status';
select now(), 'Erzeuge Index ix_job_log1';
create unique index ix_job_log1 on job_log (job_instance_id );
</#if>
delete from db_tabellen where name='job_log';
insert into db_tabellen (name,protokollierung) values('job_log',0);
-- update primary keys, see ticket: #296420 -- update primary keys, see ticket: #296420
alter table if exists sichtart_rechttabelle drop constraint if exists sichtart_rechttabelle_pkey; alter table if exists sichtart_rechttabelle drop constraint if exists sichtart_rechttabelle_pkey;
alter table if exists sichtart_rechttabelle drop constraint if exists ix_sichtart_rt_p1; alter table if exists sichtart_rechttabelle drop constraint if exists ix_sichtart_rt_p1;

80
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql

@ -13,6 +13,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in (
'hochschulen', 'hochschulen',
'dimension_view', 'dimension_view',
'fact_table', 'fact_table',
'cifx_table',
'cifx_key',
'dim_staat', 'dim_staat',
'dim_stg', 'dim_stg',
'dim_abschluss', 'dim_abschluss',
@ -31,6 +33,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups',
'hochschulen', 'hochschulen',
'dimension_view', 'dimension_view',
'fact_table', 'fact_table',
'cifx_table',
'cifx_key',
'dim_staat', 'dim_staat',
'dim_stg', 'dim_stg',
'dim_abschluss', 'dim_abschluss',
@ -420,6 +424,54 @@ where T.name in (select distinct fact_table from dimension)
</#if> </#if>
<#if views?seq_contains("cifx_table") >
select now(), 'view cifx_table exists - fine';
<#else>
select now(), 'Erzeuge View cifx_table';
create view cifx_table(
name,
caption) as
SELECT
name,
case when caption='' then name else coalesce(caption,name) end as caption
FROM sx_tables
where name like '%cifx'
and name !='trans_cifx'
and table_type='Schlüsseltabelle'
;
</#if>
<#if views?seq_contains("cifx_key") >
select now(), 'view cifx_key exists - fine';
<#else>
select now(), 'Erzeuge View cifx_key';
create view cifx_key(
key,
druck) as
SELECT distinct C.key,
coalesce(trim(I.druck) || '- ' ,'') || C.key as druck
from cifx C left outer join cif I on (I.apnr=C.key and I.key=2)
;
</#if>
<#if views?seq_contains("dim_staat") > <#if views?seq_contains("dim_staat") >
@ -962,6 +1014,34 @@ where T.name in (select distinct fact_table from dimension)
; ;
select now(), 'Erzeuge View cifx_table';
create view cifx_table(
name,
caption) as
SELECT
name,
case when caption='' then name else coalesce(caption,name) end as caption
FROM sx_tables
where name like '%cifx'
and name !='trans_cifx'
and table_type='Schlüsseltabelle'
;
select now(), 'Erzeuge View cifx_key';
create view cifx_key(
key,
druck) as
SELECT distinct C.key,
coalesce(trim(I.druck) || '- ' ,'') || C.key as druck
from cifx C left outer join cif I on (I.apnr=C.key and I.key=2)
;
select now(), 'Erzeuge View dim_staat'; select now(), 'Erzeuge View dim_staat';
create view dim_staat( create view dim_staat(

28
superx/WEB-INF/kern_dbforms-config_pg.xml

@ -104,6 +104,12 @@
<field name="uniquename" description="Schlüssel (Anzeige)" fieldType="varchar" size="255" isKey="" sortable=""/> <field name="uniquename" description="Schlüssel (Anzeige)" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="sort1" description="" fieldType="int" size="6" isKey="" sortable=""/> <field name="sort1" description="" fieldType="int" size="6" isKey="" sortable=""/>
<field name="struktur_c" description="Struktur-String" fieldType="varchar" size="50" isKey="" sortable=""/> <field name="struktur_c" description="Struktur-String" fieldType="varchar" size="50" isKey="" sortable=""/>
<foreign-key foreignTable="cifx_table" name="cifx_customize_cifx_table82" displayType="select" visibleFields="caption" format="%s">
<reference local="cifx_table" foreign="name"/>
</foreign-key>
<foreign-key foreignTable="cifx_key" name="cifx_customize_cifx_key83" displayType="select" visibleFields="druck" format="%s">
<reference local="key" foreign="key"/>
</foreign-key>
<interceptor className="de.superx.servlet.DbformInterceptor"/> <interceptor className="de.superx.servlet.DbformInterceptor"/>
</table> </table>
<table name="colorscheme"> <table name="colorscheme">
@ -587,6 +593,12 @@
<field name="lid" description="id" fieldType="varchar" size="255" isKey="" sortable=""/> <field name="lid" description="id" fieldType="varchar" size="255" isKey="" sortable=""/>
<interceptor className="de.superx.servlet.DbformInterceptor"/> <interceptor className="de.superx.servlet.DbformInterceptor"/>
</table> </table>
<table name="job_log">
<field name="job_instance_id" description="Job-Instanz-ID" fieldType="int" size="" isKey="" sortable="true"/>
<field name="log" description="Job-Log" fieldType="long varchar" size="32000" isKey="" sortable=""/>
<field name="status" description="Job-Status" fieldType="long varchar" size="32000" isKey="" sortable=""/>
<interceptor className="de.superx.servlet.DbformInterceptor"/>
</table>
<table name="k_astat_abschl_grp"> <table name="k_astat_abschl_grp">
<field name="abschluss_astat_bund" description="Abschluss (Bundesschlüssel)" fieldType="varchar" size="255" isKey="true" sortable=""/> <field name="abschluss_astat_bund" description="Abschluss (Bundesschlüssel)" fieldType="varchar" size="255" isKey="true" sortable=""/>
<field name="abschluss_astat_bund_ktxt" description="Abschluss (Bundesschlüssel) Kurztext" fieldType="varchar" size="255" isKey="" sortable=""/> <field name="abschluss_astat_bund_ktxt" description="Abschluss (Bundesschlüssel) Kurztext" fieldType="varchar" size="255" isKey="" sortable=""/>
@ -1477,19 +1489,19 @@
</field> </field>
<field name="gueltig_von" description="Start der Gültigkeit" fieldType="date" size="4" isKey="" defaultValue="01.01.1900" sortable=""/> <field name="gueltig_von" description="Start der Gültigkeit" fieldType="date" size="4" isKey="" defaultValue="01.01.1900" sortable=""/>
<field name="gueltig_bis" description="Ende der Gültigkeit" fieldType="date" size="4" isKey="" defaultValue="01.01.3000" sortable=""/> <field name="gueltig_bis" description="Ende der Gültigkeit" fieldType="date" size="4" isKey="" defaultValue="01.01.3000" sortable=""/>
<foreign-key foreignTable="menu_element" name="sx_portlet_menu_element82" displayType="select" visibleFields="description" format="%s"> <foreign-key foreignTable="menu_element" name="sx_portlet_menu_element84" displayType="select" visibleFields="description" format="%s">
<reference local="\'portlet_css_class\'" foreign="element"/> <reference local="\'portlet_css_class\'" foreign="element"/>
<reference local="class" foreign="element_value"/> <reference local="class" foreign="element_value"/>
</foreign-key> </foreign-key>
<foreign-key foreignTable="menu_element" name="sx_portlet_menu_element83" displayType="select" visibleFields="description" format="%s"> <foreign-key foreignTable="menu_element" name="sx_portlet_menu_element85" displayType="select" visibleFields="description" format="%s">
<reference local="\'portlet_visible\'" foreign="element"/> <reference local="\'portlet_visible\'" foreign="element"/>
<reference local="visible" foreign="element_value"/> <reference local="visible" foreign="element_value"/>
</foreign-key> </foreign-key>
<foreign-key foreignTable="menu_element" name="sx_portlet_menu_element84" displayType="select" visibleFields="description" format="%s"> <foreign-key foreignTable="menu_element" name="sx_portlet_menu_element86" displayType="select" visibleFields="description" format="%s">
<reference local="\'portlet_type\'" foreign="element"/> <reference local="\'portlet_type\'" foreign="element"/>
<reference local="type" foreign="element_value"/> <reference local="type" foreign="element_value"/>
</foreign-key> </foreign-key>
<foreign-key foreignTable="menu_element" name="sx_portlet_menu_element85" displayType="select" visibleFields="description" format="%s"> <foreign-key foreignTable="menu_element" name="sx_portlet_menu_element87" displayType="select" visibleFields="description" format="%s">
<reference local="\'portlet_icon\'" foreign="element"/> <reference local="\'portlet_icon\'" foreign="element"/>
<reference local="icon" foreign="element_value"/> <reference local="icon" foreign="element_value"/>
</foreign-key> </foreign-key>
@ -1968,6 +1980,14 @@
<field name="c" description="" fieldType="char" size="1" isKey="" sortable=""/> <field name="c" description="" fieldType="char" size="1" isKey="" sortable=""/>
<interceptor className="de.superx.servlet.DbformInterceptor"/> <interceptor className="de.superx.servlet.DbformInterceptor"/>
</table> </table>
<table name="cifx_key">
<field name="key" description="Nummer des Schlüssels" fieldType="int" size="6" isKey="" sortable=""/>
<field name="druck" description="Name des Schlüssels" fieldType="varchar" size="255" isKey="" sortable="true"/>
</table>
<table name="cifx_table">
<field name="name" description="Name der Tabelle" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="caption" description="Beschriftung" fieldType="varchar" size="255" isKey="" sortable="true"/>
</table>
<table name="dim_abschluss"> <table name="dim_abschluss">
<field name="apnr" description="Laufnummer" fieldType="int" size="6" isKey="" sortable=""/> <field name="apnr" description="Laufnummer" fieldType="int" size="6" isKey="" sortable=""/>
<field name="druck" description="Abschluss" fieldType="char" size="10" isKey="" sortable=""/> <field name="druck" description="Abschluss" fieldType="char" size="10" isKey="" sortable=""/>

6
superx/edit/kern/cifx_customize_edit.jsp

@ -146,7 +146,8 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<td class="db_label"> <td class="db_label">
<db:message key="Tabelle"/></td><td align="left"> <db:message key="Tabelle"/></td><td align="left">
<div id="fld_cifx_table"> <div id="fld_cifx_table">
<db:textField nullFieldValue="" styleClass="clsInputStyle" onBlur="" maxlength="255" size="5" id="inp_cifx_customizecifx_table" fieldName="cifx_table"/> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_cifx_customizecifx_table" class="schluesselfeld" type="text">
<db:select id="inp_cifx_customizecifx_table" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="cifx_table" customEntry=",,true"><% sql = "select name, caption from cifx_table order by caption;"; %><db:queryData name="cifx_customize_cifx_table82" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
</td> </td>
</tr> </tr>
@ -154,7 +155,8 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<td class="db_label"> <td class="db_label">
<db:message key="Schl&uuml;ssel"/></td><td align="left"> <db:message key="Schl&uuml;ssel"/></td><td align="left">
<div id="fld_key"> <div id="fld_key">
<db:textField nullFieldValue="" onBlur="" styleClass="clsInputStyle" id="inp_cifx_customizekey" size="6" fieldName="key"/> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_cifx_customizekey" class="schluesselfeld" type="text">
<db:select id="inp_cifx_customizekey" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="key" customEntry=",,true"><% sql = "select key, druck from cifx_key order by druck;"; %><db:queryData name="cifx_customize_cifx_key83" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
</td> </td>
</tr> </tr>

4
superx/edit/kern/cifx_customize_list.jsp

@ -107,9 +107,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<tr> <tr>
<td> <td>
<input type="hidden" name="key" value="<%= key %>" /> <input type="hidden" name="key" value="<%= key %>" />
</td><td align="left"> </td><td align="left"> <db:select fieldName="cifx_table" customEntry=",,true"><% sql = "select name, caption from cifx_table order by caption;"; %><db:queryData name="cifx_customize_cifx_table82" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="key" customEntry=",,true"><% sql = "select key, druck from cifx_key order by druck;"; %><db:queryData name="cifx_customize_cifx_key83" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="255" size="5" fieldName="cifx_table"/></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" size="6" fieldName="key"/></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="10" size="3" fieldName="apnr"/></td><td align="left"> <db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="10" size="3" fieldName="apnr"/></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="255" size="20" fieldName="druck"/></td><td><% <db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="255" size="20" fieldName="druck"/></td><td><%
if(currentRow_cifx_customize != null) if(currentRow_cifx_customize != null)

8
superx/edit/kern/portlets_edit.jsp

@ -128,7 +128,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:message key="Begr&uuml;&szlig;ungstext HTML, oder Wiki?"/></td><td align="left"> <db:message key="Begr&uuml;&szlig;ungstext HTML, oder Wiki?"/></td><td align="left">
<div id="fld_type"> <div id="fld_type">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portlettype" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portlettype" class="schluesselfeld" type="text">
<db:select id="inp_sx_portlettype" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="type" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_type\' order by description;"; %><db:queryData name="sx_portlet_menu_element84" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_sx_portlettype" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="type" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_type\' order by description;"; %><db:queryData name="sx_portlet_menu_element86" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
</td> </td>
</tr> </tr>
@ -137,7 +137,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:message key="CSS-class f&uuml;r Portlets"/></td><td align="left"> <db:message key="CSS-class f&uuml;r Portlets"/></td><td align="left">
<div id="fld_class"> <div id="fld_class">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portletclass" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portletclass" class="schluesselfeld" type="text">
<db:select id="inp_sx_portletclass" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="class" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_css_class\' order by description;"; %><db:queryData name="sx_portlet_menu_element82" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_sx_portletclass" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="class" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_css_class\' order by description;"; %><db:queryData name="sx_portlet_menu_element84" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
<span style="display:none" connectId="fld_class" dojoType="tooltip">"green" oder "red"</span></td> <span style="display:none" connectId="fld_class" dojoType="tooltip">"green" oder "red"</span></td>
</tr> </tr>
@ -146,7 +146,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:message key="Icon f&uuml;r Portlets"/></td><td align="left"> <db:message key="Icon f&uuml;r Portlets"/></td><td align="left">
<div id="fld_icon"> <div id="fld_icon">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portleticon" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portleticon" class="schluesselfeld" type="text">
<db:select id="inp_sx_portleticon" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="icon" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_icon\' order by description;"; %><db:queryData name="sx_portlet_menu_element85" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_sx_portleticon" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="icon" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_icon\' order by description;"; %><db:queryData name="sx_portlet_menu_element87" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
<span style="display:none" connectId="fld_icon" dojoType="tooltip">z.B. "icon-user-plus" oder "icon-help-circled" </span></td> <span style="display:none" connectId="fld_icon" dojoType="tooltip">z.B. "icon-user-plus" oder "icon-help-circled" </span></td>
</tr> </tr>
@ -171,7 +171,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:message key="Sichtbar"/></td><td align="left"> <db:message key="Sichtbar"/></td><td align="left">
<div id="fld_visible"> <div id="fld_visible">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portletvisible" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" name="key_sx_portletvisible" class="schluesselfeld" type="text">
<db:select id="inp_sx_portletvisible" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="visible" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_visible\' order by description;"; %><db:queryData name="sx_portlet_menu_element83" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_sx_portletvisible" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="visible" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_visible\' order by description;"; %><db:queryData name="sx_portlet_menu_element85" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
<span style="display:none" connectId="fld_visible" dojoType="tooltip">false=wird nicht ausgegeben, all=auch nicht angemeldete Personen sehen das Portlet.</span></td> <span style="display:none" connectId="fld_visible" dojoType="tooltip">false=wird nicht ausgegeben, all=auch nicht angemeldete Personen sehen das Portlet.</span></td>
</tr> </tr>

2
superx/edit/kern/portlets_list.jsp

@ -102,7 +102,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<tr> <tr>
<td></td><td> <td></td><td>
<db:label nullFieldValue="" styleClass="clsInputStyle" fieldName="tid"/></td><td align="left"> <db:label nullFieldValue="" styleClass="clsInputStyle" fieldName="tid"/></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="255" size="25" fieldName="name"/></td><td align="left"> <db:select fieldName="type" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_type\' order by description;"; %><db:queryData name="sx_portlet_menu_element84" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="class" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_css_class\' order by description;"; %><db:queryData name="sx_portlet_menu_element82" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="icon" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_icon\' order by description;"; %><db:queryData name="sx_portlet_menu_element85" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="visible" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_visible\' order by description;"; %><db:queryData name="sx_portlet_menu_element83" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:textField nullFieldValue="" styleClass="clsInputStyle" maxlength="255" size="25" fieldName="name"/></td><td align="left"> <db:select fieldName="type" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_type\' order by description;"; %><db:queryData name="sx_portlet_menu_element86" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="class" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_css_class\' order by description;"; %><db:queryData name="sx_portlet_menu_element84" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="icon" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_icon\' order by description;"; %><db:queryData name="sx_portlet_menu_element87" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left"> <db:select fieldName="visible" customEntry=",,true"><% sql = "select element_value, description from menu_element where menu_element.element = \'portlet_visible\' order by description;"; %><db:queryData name="sx_portlet_menu_element85" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /></db:select></td><td align="left">
<db:textField nullFieldValue="" styleClass="clsInputStyle" size="6" fieldName="sortnr_initial"/></td><td align="left"> <db:textField nullFieldValue="" styleClass="clsInputStyle" size="6" fieldName="sortnr_initial"/></td><td align="left">
<db:dateField styleClass="clsInputStyle" nullFieldValue="" <db:dateField styleClass="clsInputStyle" nullFieldValue=""
size="9" fieldName="gueltig_von"/> size="9" fieldName="gueltig_von"/>

2
superx/xml/js/memtext/sx_functions.js

@ -1953,7 +1953,7 @@ function resetValidation()
var el=document.getElementById('validation'); var el=document.getElementById('validation');
if(el) if(el)
el.innerHTML = ""; el.innerHTML = "";
if(1=2) if(1==2)
{ //still experimental { //still experimental
for(var i=1; i < felder.length; i++) for(var i=1; i < felder.length; i++)
{ {

8
superx/xml/nd_templates.xsl

@ -545,7 +545,7 @@ jQuery.ajaxPrefilter( function( s ) {
<div class="panel-block"> <div class="panel-block">
<form class="panel-block-search" role="search"> <form name="themenbaum" class="panel-block-search" role="search">
<div class="field has-addons"> <div class="field has-addons">
@ -558,14 +558,16 @@ jQuery.ajaxPrefilter( function( s ) {
class="input is-small" class="input is-small"
id="themenbaumSuche" id="themenbaumSuche"
name="themenbaumSuche" name="themenbaumSuche"
type="search"/> type="search"
onChange="themenbaumsuche(this);"/>
</div> </div>
<div class="control"> <div class="control">
<button <button
type="submit" type="submit"
class="button is-small is-rounded" class="button is-small is-rounded"
aria-label="Suche starten"> aria-label="Suche starten"
onClick="themenbaumsuche(document.forms['themenbaum'].elements['themenbaumSuche']); return false;">
<span class="icon" aria-hidden="true"> <span class="icon" aria-hidden="true">
<img src="../images/search_blue.svg" alt=""/> <img src="../images/search_blue.svg" alt=""/>

Loading…
Cancel
Save