Browse Source

Initiales Datenmodell und JSP Viewer

master
Daniel Quathamer 6 days ago
parent
commit
a9bf9dabe3
  1. 35
      .classpath
  2. 17
      .project
  3. 183
      build.xml
  4. 10
      src-modules/module/portal/conf/excludes.txt
  5. 7
      src-modules/module/portal/conf/includes.txt
  6. 642
      src-modules/module/portal/conf/portal.xml
  7. 7
      src-modules/module/portal/masken/52000_felderinfo.unl
  8. 1
      src-modules/module/portal/masken/52000_maske_system_bez.unl
  9. 7
      src-modules/module/portal/masken/52000_masken_felder_bez.unl
  10. 62
      src-modules/module/portal/masken/52000_maskeninfo.unl
  11. 1
      src-modules/module/portal/masken/52000_sachgeb_maske_bez.unl
  12. 337
      src-modules/module/portal/schluesseltabellen/fm_templates.unl
  13. 15
      src-modules/module/portal/schluesseltabellen/fm_templates_fuellen.sql
  14. 11
      src-modules/module/portal/schluesseltabellen/fm_templates_unload.x
  15. 17
      src-modules/module/portal/schluesseltabellen/fm_templates_update.x
  16. 64
      src-modules/module/portal/schluesseltabellen/portal_config_fuellen_gang.sql
  17. 60
      src-modules/module/portal/schluesseltabellen/portal_config_fuellen_sample_superx.sql
  18. 8
      src-modules/module/portal/schluesseltabellen/portal_element_role.unl
  19. 6
      src-modules/module/portal/schluesseltabellen/portal_element_type.unl
  20. 82
      src-modules/module/portal/schluesseltabellen/portal_layout_fuellen.sql
  21. 123
      src/de/superx/portal/PortalConfig.java
  22. 96
      src/de/superx/portal/PortalElement.java
  23. 16
      superx/WEB-INF/conf/edustore/db/bin/SQL_ENV_portal.sam
  24. BIN
      superx/WEB-INF/lib/spring-context-indexer-6.2.19.jar
  25. BIN
      superx/WEB-INF/lib/superx-portal.jar

35
.classpath

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/dom4j-2.1.4.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/fop-2.2.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/fop-2.2-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/freemarker-2.3.33.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/freemarker-2.3.33-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/kettle-core-8.3.0.0-SNAPSHOT.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/kettle-core-8.3.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/kettle-engine-8.3.0.0-SNAPSHOT.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/kettle-engine-8.3.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/log4jdbc-1.2.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/log4jdbc-1.2-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/metastore-6.0.0.0-353.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/postgresql-42.7.2.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/postgresql-42.7.2-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/saxon-he-10.5.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/saxon-he-10.5-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/slf4j-api-1.6.4.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/slf4j-api-1.6.4-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/slf4j-log4j12-1.6.4.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/slf4j-log4j12-1.6.4-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/spring-jdbc-6.2.19.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/spring-jdbc-6.2.19-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/superx/WEB-INF/lib/spring-jdbc-6.2.19.jar/../javadoc/spring-jdbc-6.2.19-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/superx6.0.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib_ext/jakarta.servlet-api-6.0.0.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/spring-web-6.2.19.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/spring-web-6.2.19-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/superx/WEB-INF/lib/spring-web-6.2.19.jar/../javadoc/spring-web-6.2.19-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/jaxws-api-2.1.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/jaxws-api-2.1-sources.jar"/>
<classpathentry kind="lib" path="/eduStore_superX/superx/WEB-INF/lib/jersey-bundle-1.19.4.jar" sourcepath="/eduStore_superX/superx/WEB-INF/lib/src/jersey-bundle-1.19.4-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/superx/WEB-INF/lib/jersey-bundle-1.19.4.jar/../javadoc/jersey-bundle-1.19.4-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="superx/WEB-INF/classes"/>
</classpath>

17
.project

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>portal</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

183
build.xml

@ -0,0 +1,183 @@ @@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="ModuleCreation" default="all" basedir=".">
<!--Aufruf mit
ant -DMODULE_PATH=$PORTAL_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=portal all
So erzeugen Sie dann ein SuperX-Paket:
ant -DMODULE_PATH=$PORTAL_PFAD -DWEBAPP_DIR=$WEBAPP -DMODULE=portal dist
PORTAL-JAR erzeugen:
ant -DWEBAPP=$WEBAPP distPortal
ant -DWEBAPP=$WEBAPP cleanBuildPath
-->
<dirname file="${ant.file.superx}" property="superxBuildBaseDir" />
<property name="spring.version" value="6.2.19"/>
<property name="distDir" location="${superxBuildBaseDir}/superx/WEB-INF/lib" />
<property environment="env" />
<!-- set global properties for this build -->
<property name="BASE_DIR" value="." />
<property name="SUPERX_DIR" value="${WEBAPP}"/>
<property name="BUILD_PATH" value="${WEBAPP}/WEB-INF/classes"/>
<property name="TARGET_SRC_DIR" value="${WEBAPP}/WEB-INF/src"/>
<property name="SRC_DIR" value="${BASE_DIR}/src" />
<property name="SRC_DIR_TEST" value="${BASE_DIR}/test-src"/>
<property name="LIB_PORTAL_DIR" value="${BASE_DIR}/superx/WEB-INF/lib"/>
<property name="LIB_SUPERX_DIR" value="${WEBAPP}/WEB-INF/lib"/>
<property name="LIB_WEBAPP_DIR" value="${WEBAPP}"/>
<property name="LIB_EXT_SUPERX_DIR" value="${WEBAPP}/WEB-INF/lib_ext"/>
<property name="superx-classes" value="${WEBAPP}/WEB-INF/classes" />
<property name="build_cobertura" value="${superxBuildBaseDir}/cobertura_build_classes" />
<property name="test-target" value="${superxBuildBaseDir}/cobertura_build_tests"/>
<property name="superx-lib" value="${WEBAPP}/WEB-INF/lib" />
<property name="build-results" value="${superxBuildBaseDir}/results" />
<property name="build_cobertura_report" value="${superxBuildBaseDir}/coveragereport" />
<property name="src-java" value="${SRC_DIR}"/>
<property name="test-resource" location="resource"/>
<property name="version" value="0.1" />
<property name="docm_version" value="1.0" />
<property name="portal_version" value="0.4b" />
<dirname file="${ant.file}" property="moduleCreateBaseDir" />
<property name="BASE_DIR" value="${moduleCreateBaseDir}/../.." />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<path id="classpath">
<!--WEB-INF/lib-->
<fileset dir="${WEBAPP}/WEB-INF">
<include name="lib/**/*.jar" />
<include name="classes" />
</fileset>
<fileset dir="${LIB_EXT_SUPERX_DIR}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${LIB_PORTAL_DIR}">
<include name="*.jar" />
</fileset>
</path>
<path id="processor.path">
<pathelement location="lib/spring-context-indexer-${spring.version}.jar"/>
</path>
<condition property="isWindoze">
<os family="windows" />
</condition>
<condition property="isUnix">
<os family="unix" />
</condition>
<taskdef name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpathref="classpath"/>
<target name="initTimestamp">
<tstamp>
<format property="SX_TIMESTAMP" pattern="dd.MM.yyyy HH:mm" />
</tstamp>
</target>
<target name="all" description="Gruppe: Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<antcall target="module_copy_source" />
<antcall target="call_module_scripts_create_ant" />
<antcall target="module_copy_webapp_files" />
</target>
<target name="module_copy_source" description="Gruppe: Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<echo message="Start module_copy_sources für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${MODULE_PATH}" overwrite="true">
<fileset dir="${BASE_DIR}/src-modules/module/${MODULE}" />
</copy>
<copy todir="${WEBAPP}/edit/${MODULE}" overwrite="true">
<fileset dir="${BASE_DIR}/superx/edit/${MODULE}" />
</copy>
</target>
<target name="call_module_scripts_create_ant" description="Call to module_scripts_create_ant">
<subant target="all">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="DATABASE" value="POSTGRES" />
<property name="WEBAPP_EXT_MODULE" value="${WEBAPP}" />
<property name="WEBAPP" value="${WEBAPP}" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="module_scripts_create_ant.xml" />
</subant>
<chmod dir="${MODULE_PATH}/rohdaten" perm="ugo+x" includes="**/*.x" />
</target>
<target name="module_copy_webapp_files" description="Kopiere webapp-Dateien in den WEBAPP-Verzeichnisbaum">
<echo message="Start module_copy_webapp_files für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${WEBAPP}" overwrite="true">
<fileset dir="${BASE_DIR}/superx" />
</copy>
</target>
<target name="dist" description="Create Download package">
<subant target="erzeuge_paket">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="PFAD" value="/home/superx/fertige_module" />
<property name="DATABASE" value="POSTGRES" />
<property name="ENCODING" value="utf8" />
<property name="PLATFORM" value="superx" />
<property name="WEBAPP_EXT_MODULE" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="build.xml" />
</subant>
</target>
<target name="distPortal" depends="compileSuperx" description="Erzeugt die superx-portal.jar. ">
<delete>
<fileset dir="${distDir}" includes="superx-portal*.jar" />
</delete>
<jar destfile="${distDir}/superx-portal.jar" basedir="${BUILD_PATH}" includes="de/superx/portal/** de/superx/rest/**" excludes="freemarker/**/* com/**/* javax/**/* **/*.java">
<manifest>
<!-- Who is building this jar? -->
<attribute name="Built-By" value="superx"/>
<!-- Information about the program itself -->
<attribute name="Implementation-Date" value="${SX_TIMESTAMP}"/>
<attribute name="Implementation-Title" value="SuperX"/>
<attribute name="Implementation-Version" value="${version}"/>
</manifest>
</jar>
</target>
<target name="compileSuperx" depends="cleanBuildPath" description="Compile all classes for superx.">
<filter token="sxtimestamp" value="${SX_TIMESTAMP}" />
<filter token="version" value="${portal_version}" />
<copy todir="${BUILD_PATH}" filtering="true">
<fileset dir="${SRC_DIR}">
<include name="**/*.java" />
</fileset>
</copy>
<copy todir="${TARGET_SRC_DIR}" filtering="true">
<fileset dir="${SRC_DIR}">
<include name="**/*.java" />
</fileset>
</copy>
<!--Quellcode für Auslieferung-->
<!--<echo message="cp:${FULL_CLASSPATH}"/>-->
<javac source="17" target="17"
srcdir="${BUILD_PATH}" excludes="**/*Test*.java,test/**/*"
destdir="${BUILD_PATH}"
listfiles="false" encoding="UTF-8" nowarn="on" debug="true" debuglevel="lines,vars,source">
<classpath refid="classpath" />
<compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />
<compilerarg value="-proc:full"/>
</javac>
</target>
<target name="cleanBuildPath" depends="initTimestamp" description="Löscht alle *.class-Dateien in WEB-INF/classes">
<delete failonerror="false" includeemptydirs="true">
<fileset dir="${BUILD_PATH}" includes="**/*.class,**/*.java" excludes="*.properties" />
</delete>
</target>
</project>

10
src-modules/module/portal/conf/excludes.txt

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
rohdaten/ETL_ENV
rohdaten/*.properties
preparation.sql
finalize.sql
rohdaten/*.err
*.log
*.err
rohdaten/unl/*
conf/customize.sql
conf/*.log

7
src-modules/module/portal/conf/includes.txt

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
doku/etl_modul/etl.html
WEB-INF/conf/edustore/db/bin/SQL_ENV_etl.sam
WEB-INF/lib/superx-etl.jar
images/eye.svg
images/downloadblck.svg
images/resultset_up.svg

642
src-modules/module/portal/conf/portal.xml

@ -0,0 +1,642 @@ @@ -0,0 +1,642 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="portal" version="0.1b" sachgebiet_id="380"
sachgebiet="Portalkonfiguration" systeminfo_id="380"
system="Portalkonfiguration" thema="Portalkonfiguration" thema_parent="Masken">
<database name="superx" system="superx">
<sachgebiete>
<sachgebiet id="381" name="Portalkonfiguration Administr."
rightname="CS_BIA_ADMINISTRATE_TOPIC_AREA[PORTAL]" />
</sachgebiete>
<table name="portal_config" thema="Portalkonfiguration" caption="Portalkonfigurationen" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Portalkonfigurationen</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="true" description="Schlüssel" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="userinfo_id" type="INTEGER" size="255" default="" notnull="" description="Benutzer_in"><comment> (optional)</comment></column>
<column name="print_maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske für Druckversion" />
<column name="booklet_stylesheet" type="VARCHAR" size="255" default="" notnull="" description="Stylesheet für Druckversion" />
<column name="id_param_name" type="VARCHAR" size="255" default="" notnull="" description="ID-Parametername" ><comment> (optional für Filterung)</comment></column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_config_tab" thema="Portalkonfiguration" caption="Portalkonfiguration Reiter" typ="Datentabelle"
releaseUnload="demo">
<description>Portal-Tab Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="portal_config_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="print_maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske für Druckversion" />
<column name="booklet_stylesheet" type="VARCHAR" size="255" default="" notnull="" description="Stylesheet für Druckversion" />
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" ><comment></comment></column>
<column name="tab_id" type="VARCHAR" size="255" default="" notnull="true" description="HTML-Element ID" />
<column name="target_url" type="VARCHAR" size="255" default="" notnull="" description="Ziel-URL" ><comment>bei Frames</comment></column>
<column name="target_window" type="VARCHAR" size="255" default="" notnull="" description="Ziel-Fenster" ><comment>bei Frames</comment></column>
<column name="target_div" type="VARCHAR" size="255" default="" notnull="" description="Ziel-DIV" ><comment>bei DOM</comment></column>
<column name="active" type="SMALLINT" size="" default="1"
notnull="true" description="Aktiv" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config_tab</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config_tab_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_config_menu" thema="Portalkonfiguration" caption="Portalkonfiguration Menü" typ="Datentabelle"
releaseUnload="demo">
<description>Portalkonfiguration-Menü Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="portal_config_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portalkonfiguration" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" />
<column name="js_handler" type="VARCHAR" size="255" default="" notnull="" description="Javascript Methode" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config_menu</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config_menu_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_element" thema="Portalkonfiguration" caption="Portalelement" typ="Datentabelle"
releaseUnload="demo">
<description>Portal-Elemente</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="element_type_id" type="INTEGER" size="255" default="1" notnull="true" description="Art des Elements" ><comment>Maske, Wiki, static_html, dbform</comment></column>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Schlüssel" />
<column name="onclick_event" type="VARCHAR" size="255" default="" notnull="" description="Mausklick-Ereignis" ><comment>JS-Hander, wenn auf das Element geklickt wird</comment></column>
<column name="description" type="VARCHAR" size="255" default="" notnull="" description="Beschreibung" />
<column name="open_modal_card_detail" type="SMALLINT" size="255" default="1" notnull="" description="Grafik bei Mausklick vergrößern" />
<column name="src_url" type="VARCHAR" size="255" default="" notnull="" description="URL" />
<column name="content_static" type="TEXT" size="255" default="" notnull="" description="Statischer Inhalt" ><comment>Bei Wiki und static_html</comment></column>
<column name="content_maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Detail-Maske" />
<column name="content_chart_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Grafik" />
<column name="content_rpta_column_layout_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Spaltenlayout" />
<column name="content_tablestylesheet" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Stylesheet" />
<column name="link_maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Detail-Maske" />
<column name="link_chart_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Grafik" />
<column name="link_tablestylesheet" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Stylesheet" />
<column name="active" type="SMALLINT" size="" default="1"
notnull="true" description="Aktiv" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_element_type" thema="Portalkonfiguration" caption="Portalelement Typ" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Arten von Portalelementen</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="true" description="Schlüssel" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_element_type</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_element_type_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_element_role" thema="Portalkonfiguration" caption="Portalelement Rolle" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Rollen von Portalelementen</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="true" description="Schlüssel" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="is_dynamic" type="SMALLINT" size="255" default="" notnull="" description="Dynamisch" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_element_role</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_element_role_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_config2element" thema="Portalkonfiguration" caption="Element zu Portal" typ="Datentabelle"
releaseUnload="demo">
<description>Zuordnung Element zu Portal</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="portal_config_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal" />
<column name="portal_element_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal-Element" />
<column name="portal_config_tab_id" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Reiter" />
<column name="sortnr" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Sortiernummer" />
<column name="element_role_id" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Elementrolle" ><comment>Header,Footer,Sidebar-left, sidebar-right, content</comment></column>
<column name="is_foldable" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Einklappbar" />
<column name="is_maximizable" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Maximierbar" />
<column name="min_width" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Minimale Breite" ><comment>Wert 1-32 (max)</comment></column>
<column name="height" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Höhe" ><comment>in px</comment></column>
<column name="active" type="SMALLINT" size="" default="1"
notnull="true" description="Aktiv" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config2element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config2element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_layout" thema="Portalkonfiguration" caption="Portal-Layout" typ="Datentabelle"
releaseUnload="demo">
<description>Portal-Layout</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Schlüssel" />
<column name="grid_type" type="VARCHAR" size="255" default="" notnull="" description="Grid-Typ" ><comment>fixed (Feste Spalten), smart (Responsiv)</comment></column>
<column name="fixed_grid_column_count" type="SMALLINT" size="255" default="" notnull="" description="Spaltenanzahl (bei fixed grid)" ><comment>1-32</comment></column>
<column name="css_url" type="VARCHAR" size="255" default="" notnull="" description="CSS-URL" />
<column name="js_url" type="VARCHAR" size="255" default="" notnull="" description="JS-URL" />
<column name="onload_handler" type="VARCHAR" size="255" default="" notnull="" description="JS-Methode beim Onload" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_layout_pk</fld>
</row>
</rs>
</primaryKeys>
</table>
<table name="portal_config2layout" thema="Portalkonfiguration" caption="Layout zu Portal" typ="Datentabelle"
releaseUnload="demo">
<description>Zuordnung Layout zu Portal</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="portal_config_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal" />
<column name="portal_layout_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal-Layout" />
<column name="userinfo_id" type="INTEGER" size="255" default="" isKey="" notnull="false" description="Benutzer_in" ><cpmment>optional</cpmment></column>
<column name="active" type="SMALLINT" size="" default="1"
notnull="true" description="Aktiv" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config2layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config2layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="portal_config_menu2element" thema="Portalkonfiguration" typ="Datentabelle"
releaseUnload="demo">
<description>Verlinkung Portal-Menü zu Elementen</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="portal_menu_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal-Menü" />
<column name="portal2element_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Portal-Element" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>portal_config_menu2element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>portal_config_menu2element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<views>
<!--
<view name="portal_element_role">
<description>View Portalelement-Rollen</description>
<columns>
<column name="tid" type="INTEGER" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="is_dynamic" type="SMALLINT" size="255" default="" notnull="" description="Dynamisch" />
</columns>
<sql dbsystem=""><![CDATA[
select 1 as tid,'Header'::varchar(255) as caption,
0::smallint as is_dynamic
union
select 2,'Footer',
0::smallint as is_dynamic
union
select 3,'Sidebar-links',
0::smallint as is_dynamic
union
select 4,'Sidebar-rechts',
0::smallint as is_dynamic
union
select 5,'content',
1::smallint as is_dynamic
]]></sql>
</view> -->
</views>
<functions>
</functions>
<themen>
<thema name="Administration Portalkonfiguration"
parent="Portalkonfiguration">Abfragen zur Administration von Portalkonfiguration </thema>
</themen>
<masken>
<maske tid="52000" name="Portalkonfiguration verwalten" thema="Administration Portalkonfiguration">
<description>Portalkonfiguration verwalten</description>
<src>
<path>$PORTAL_PFAD/masken</path>
</src>
</maske>
</masken>
<data-integrity>
<!--portal_element-->
<relation from="portal_element_type" to="portal_element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="element_type_id" />
</relation>
<relation from="maskeninfo" to="portal_element" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="content_maskeninfo_id" />
</relation>
<relation from="maskeninfo" to="portal_element" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="link_maskeninfo_id" />
</relation>
<!--portal_config2element-->
<relation from="portal_element_role" to="portal_config2element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="element_role_id" />
</relation>
<relation from="portal_config" to="portal_config2element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="portal_config_id" />
</relation>
<relation from="portal_element" to="portal_config2element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="portal_element_id" />
</relation>
</data-integrity>
</database>
<!-- ********************* Liste der PORTAL-Prozesse ************************** -->
<etl>
<etl-step name="Transformation" type="trans">
<action>
<nativeaction sql="update systeminfo set datum=today() where tid in (370)" scriptfile="" database=""/>
</action>
</etl-step>
</etl>
<install>
<install-step name="Füllen der Modul-Tabellen">
<action>
<nativeaction sql="create table tmp_templates(tid integer,
id char(200) not null,
content text not null,
description char(200) ,
comment char(200) ,
version integer default 1
) ;" scriptfile="" database="" />
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="portal_element_type"><file path="$PORTAL_PFAD/schluesseltabellen/portal_element_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="portal_element_role"><file path="$PORTAL_PFAD/schluesseltabellen/portal_element_role.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates">
<file path="$PORTAL_PFAD/schluesseltabellen/fm_templates.unl" />
</loadtable>
</action>
<action>
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_layout_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$PORTAL_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database="" />
<nativeaction sql="" scriptfile="$PORTAL_PFAD/schluesseltabellen/portal_config_fuellen_sample_superx.sql" database="" />
</action>
</install-step>
</install>
<!-- Elemente nur für die neue KV von HIS:-->
<install_upgrade_job>
<install-upgrade-step name="pre_upgrade" type="container" id="portal_preupgrade_containernode">
<action error="stop"/>
</install-upgrade-step>
<install-upgrade-step name="upgrade_tables" type="" id="portal_upgrade_tables_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_upgrade_tables_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="upgrade_fields" type="" id="portal_upgrade_fields_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_upgrade_fields_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="upgrade_views" type="" id="portal_upgrade_views_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_upgrade_views_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="install_functions" type="container" id="portal_install_functions_containernode">
<action error="stop"/>
</install-upgrade-step>
<install-upgrade-step name="upgrade_indices" type="" id="portal_upgrade_indices_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_upgrade_indexes_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="fill_tables" type="" id="portal_fill_tables_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/conf/sx_tables_fuellen.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="Update Module Metadata" type="container" id="portal_update_module_metadata_container">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/conf/module_metadata.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="update_topic_tree" type="" id="portal_update_topictree_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_upgrade_themenbaum.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="install_masks" type="container" id="portal_install_masks_containernode">
<action error="stop"/>
</install-upgrade-step>
</install_upgrade_job>
<upgrade>
<upgrade-step>
<action>
<nativeaction sql="create table tmp_templates(tid integer,
id char(200) not null,
content text not null,
description char(200) ,
comment char(200) ,
version integer default 1
) ;" scriptfile="" database="" />
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="portal_element_type"><file path="$PORTAL_PFAD/schluesseltabellen/portal_element_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="portal_element_role"><file path="$PORTAL_PFAD/schluesseltabellen/portal_element_role.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates">
<file path="$PORTAL_PFAD/schluesseltabellen/fm_templates.unl" />
</loadtable>
</action>
<action>
<nativeaction sql="" scriptfile="$PORTAL_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database="" />
<nativeaction sql="" scriptfile="$PORTAL_PFAD/upgrade/portal_layout_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$PORTAL_PFAD/schluesseltabellen/portal_config_fuellen_sample_superx.sql" database="" />
</action>
</upgrade-step>
</upgrade>
<uninstall-step name="Deinstalliere Schlüssel">
<action error="stop">
<!--<nativeaction sql="" scriptfile="$PORTAL_PFAD/schluesseltabellen/sachgebiete_loeschen.sql" database=""/>-->
</action>
</uninstall-step>
<!-- ********************* Liste der PORTAL-Prozesse ************************** -->
<dbforms>
<form name="portal_config_list"
table="portal_config"
path="/edit/portal/portal_config_list.jsp"
followUp=""
caption="Portale verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Portale verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="uniquename" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/portal/portal_config_edit.jsp" linkid="tid"/>
</form>
<form name="portal_config_edit"
table="portal_config"
path="/edit/portal/portal_config_edit.jsp"
followUp=""
caption="Portale bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Layouts verwalten.</description>
<filters>
<filter mandatory="false" type="equals">tid</filter>
</filters>
<field-selection complete="false" />
<customfield name="tid" />
<customfield name="caption" visibleSize="50" nullFieldValue="" />
<customfield name="uniquename" visibleSize="50" nullFieldValue="" />
<customfield name="id_param" visibleSize="50" nullFieldValue="" />
<customfield name="id_param_name" visibleSize="50" nullFieldValue="" />
<customfield name="print_maskeninfo_id" visibleSize="50" nullFieldValue="" />
<customfield name="booklet_stylesheet" visibleSize="50" nullFieldValue="" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="portal_config2element" parentField="tid" childField="portal_config_id"
orderBy="sortnr" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="portal_config_id" type="hidden" overrideValue="tid" />
<customfield name="portal_element_id" type="hidden" overrideValue="" />
<customfield name="element_role_id" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/portal/portal_element_edit.jsp" linkVar="tid" linkid="portal_element_id"/>
</customfield>
</form>
<form name="portal_layout_list"
table="portal_layout"
path="/edit/portal/portal_layout_list.jsp"
followUp=""
caption="Layouts verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Portal Layouts verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="uniquename" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/portal/portal_layout_edit.jsp" linkid="tid"/>
</form>
<form name="portal_layout_edit"
table="portal_layout"
path="/edit/portal/portal_layout_edit.jsp"
followUp=""
caption="Layouts bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Layouts verwalten.</description>
<filters>
<filter mandatory="false" type="equals">tid</filter>
</filters>
<field-selection complete="false" />
<customfield name="tid" />
<customfield name="caption" visibleSize="50" nullFieldValue="" />
<customfield name="uniquename" visibleSize="50" nullFieldValue="" />
<customfield name="grid_type" visibleSize="50" nullFieldValue="" />
<customfield name="fixed_grid_column_count" visibleSize="50" nullFieldValue="" />
<customfield name="css_url" visibleSize="50" nullFieldValue="" />
<customfield name="js_url" visibleSize="50" nullFieldValue="" />
<customfield name="onload_handler" visibleSize="50" nullFieldValue="" />
</form>
<form name="portal_element_edit"
table="portal_element"
path="/edit/portal/portal_element_edit.jsp"
followUp=""
caption="Elemente bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Elemente verwalten.</description>
<filters>
<filter mandatory="false" type="equals">tid</filter>
</filters>
<field-selection complete="false" />
<customfield name="tid" />
<customfield name="caption" visibleSize="50" nullFieldValue="" />
<customfield name="uniquename" visibleSize="50" nullFieldValue="" />
<customfield name="element_type_id" visibleSize="50" nullFieldValue="" />
<customfield name="content_static" visibleSize="50" nullFieldValue="" />
<customfield name="content_maskeninfo_id" visibleSize="50" nullFieldValue="" />
<customfield name="content_chart_uniquename" visibleSize="50" nullFieldValue="" />
<customfield name="content_rpta_column_layout_uniquename" visibleSize="50" nullFieldValue="" />
</form>
</dbforms>
</module>

7
src-modules/module/portal/masken/52000_felderinfo.unl

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
52000^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^
52001^Portal-Layouts bearbeiten^1000^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/portal/portal_layout_list.jsp' from xdummy;^
52003^Stichwort^20^0^0^150^150^1^sql^50^0^0^^^^
52004^Komponente^1^0^0^150^200^1^integer^200^0^13^<<SQL>> select tid,name from systeminfo order by 2;^ ^^
52005^Portale bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<<SQL>> select '../edit/portal/portal_config_list.jsp' from xdummy;^
52006^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^13^<<SQL>> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^
52008^Schlüssel^15^0^0^150^80^1^sql^200^0^0^ ^^^

1
src-modules/module/portal/masken/52000_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
52000^370^

7
src-modules/module/portal/masken/52000_masken_felder_bez.unl

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
52000^52000^
52000^52001^
52000^52003^
52000^52004^
52000^52005^
52000^52006^
52000^52008^

62
src-modules/module/portal/masken/52000_maskeninfo.unl

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
52000^Portale verwalten^--Autor: D. Quathamer\
--Datum: 15.3.2024\
--freemarker template\
create temp table tmp_portal_config(\
tid INTEGER , \
uniquename VARCHAR(255) not null, \
caption VARCHAR(255) , \
userinfo_id INTEGER , \
print_maskeninfo_id INTEGER , \
booklet_stylesheet VARCHAR(255) ,\
layout_uniquename varchar(255),\
layout_id integer,\
id_param_name VARCHAR(255) ,\
nextedit varchar(255)\
);\
insert into tmp_portal_config (tid,\
uniquename,\
caption,\
userinfo_id,\
print_maskeninfo_id,\
booklet_stylesheet,\
-- id_param,\
-- id_param_name,\
nextedit) \
select tid,\
uniquename,\
caption,\
userinfo_id,\
print_maskeninfo_id,\
booklet_stylesheet,\
-- id_param,\
-- id_param_name\
('../edit/portal/portal_config_edit.jsp|tid=' || C.tid)::varchar(255)\
FROM portal_config C\
where 1=1\
/* and C.caption ilike '%<<Stichwort>>%' */\
/* and C.uniquename ilike '%<<Schlüssel>>%' */\
;\
\
\
\
select \
caption,\
uniquename,\
nextedit \
\
from tmp_portal_config\
order by caption ,uniquename\
;^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="Name" center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=0 heading_text="Schlüssel" center_heading\
row_selectable col_selectable heading_platform readonly\
width=50 text_size=100\
Column CID=1 heading_text="Bearbeiten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
@@@^^^Portale und Inhalte verwalten.^drop table tmp_portal_config;^^1^440^360^0^1^ ^

1
src-modules/module/portal/masken/52000_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
381^52000^

337
src-modules/module/portal/schluesseltabellen/fm_templates.unl

@ -0,0 +1,337 @@ @@ -0,0 +1,337 @@
222^PORTAL-Makros^<#macro PORTAL_FUELLEN portal_config portal_elements portal_tabs>\
create temp table tmp_portal_config(\
tid INTEGER , \
uniquename VARCHAR(255) not null, \
caption VARCHAR(255) , \
userinfo_id INTEGER , \
print_maskeninfo_id INTEGER , \
booklet_stylesheet VARCHAR(255) ,\
layout_uniquename varchar(255),\
layout_id integer,\
id_param_name VARCHAR(255) \
\
) \
;\
\
create temp table tmp_portal_element(\
tid INTEGER, \
element_type_uniquename varchar(255),\
element_type_id INTEGER , \
caption VARCHAR(255) , \
uniquename VARCHAR(255),\
onclick_event VARCHAR(255) , \
description VARCHAR(255) , \
open_modal_card_detail SMALLINT default 1 , \
src_url VARCHAR(255) , \
content_static TEXT , \
content_maskeninfo_id INTEGER , \
content_chart_uniquename VARCHAR(255) , \
content_rpta_column_layout_uniquename VARCHAR(255) , \
content_tablestylesheet VARCHAR(255) , \
link_maskeninfo_id INTEGER , \
link_chart_uniquename VARCHAR(255) , \
link_tablestylesheet VARCHAR(255) , \
active SMALLINT default 1 not null\
\
) \
;\
\
create temp table tmp_portal_config2element(\
\
portal_config_id INTEGER not null, \
portal_element_id INTEGER not null, \
portal_config_tab_id INTEGER , \
sortnr INTEGER , \
element_role_id INTEGER , \
is_foldable INTEGER , \
is_maximizable INTEGER , \
min_width INTEGER , \
height INTEGER , \
active SMALLINT default 1 not null\
) \
;\
\
create temp table tmp_portal_config2layout(\
\
portal_config_id INTEGER not null, \
portal_layout_id INTEGER not null, \
userinfo_id INTEGER , \
active SMALLINT default 1 not null\
) \
;\
\
create temp table tmp_portal_config_tab(\
\
portal_config_id INTEGER, \
caption VARCHAR(255) , \
print_maskeninfo_id INTEGER , \
booklet_stylesheet VARCHAR(255) , \
sortnr SMALLINT default 0 , \
tab_id VARCHAR(255) , \
target_url VARCHAR(255) , \
target_window VARCHAR(255) , \
target_div VARCHAR(255) \
\
) \
;\
\
insert into tmp_portal_config(uniquename,\
caption,\
-- userinfo_id,\
print_maskeninfo_id,\
booklet_stylesheet,\
id_param_name)\
select '${portal_config.uniquename}',\
'${portal_config.caption}',\
<#if portal_config.print_maskeninfo_id?exists> ${portal_config.print_maskeninfo_id} <#else> null::integer</#if>,\
<#if portal_config.booklet_stylesheet?exists> '${portal_config.booklet_stylesheet}' <#else> null::varchar(255) </#if>,\
<#if portal_config.id_param_name?exists> '${portal_config.id_param_name}' <#else> null::varchar(255) </#if>\
from xdummy;\
\
update portal_config set caption='${portal_config.caption}'\
<#if portal_config.print_maskeninfo_id?exists>, print_maskeninfo_id=${portal_config.print_maskeninfo_id} </#if>\
<#if portal_config.booklet_stylesheet?exists>, booklet_stylesheet='${portal_config.booklet_stylesheet}' </#if>\
<#if portal_config.id_param_name?exists>, id_param_name='${portal_config.id_param_name}' </#if>\
where uniquename='${portal_config.uniquename}';\
\
delete from tmp_portal_config where uniquename in (select uniquename\
from portal_config);\
\
insert into portal_config(uniquename,\
caption,\
-- userinfo_id,\
print_maskeninfo_id,\
booklet_stylesheet,\
id_param_name)\
select uniquename,\
caption,\
-- userinfo_id,\
print_maskeninfo_id,\
booklet_stylesheet,\
id_param_name\
from tmp_portal_config;\
\
\
--Zuordnung zu Layout:\
\
insert into tmp_portal_config2layout(portal_config_id,\
portal_layout_id,\
userinfo_id,\
active)\
select C.tid,\
L.tid as layout_id,\
null::integer,\
1 as active\
from portal_config C, portal_layout L\
where L.uniquename='${portal_config.layout_uniquename}'\
and C.uniquename='${portal_config.uniquename}';\
\
delete from portal_config2layout\
where (portal_config_id,portal_layout_id) in (\
select portal_config_id,portal_layout_id\
from tmp_portal_config2layout);\
\
insert into portal_config2layout(portal_config_id,\
portal_layout_id,\
userinfo_id,\
active)\
select portal_config_id,\
portal_layout_id,\
userinfo_id,\
active\
from tmp_portal_config2layout;\
\
\
<#foreach elem in portal_elements>\
insert into tmp_portal_element(\
element_type_id,\
caption,\
uniquename,\
onclick_event,\
description,\
open_modal_card_detail,\
src_url,\
content_static,\
content_maskeninfo_id,\
content_chart_uniquename,\
content_rpta_column_layout_uniquename,\
content_tablestylesheet,\
link_maskeninfo_id,\
link_chart_uniquename,\
link_tablestylesheet,\
active)\
select T.tid,\
'${elem.caption}',\
'${elem.uniquename}',\
<#if elem.onclick_event?exists> '${elem.onclick_event}' <#else> null::varchar(255)</#if>,\
<#if elem.description?exists> '${elem.description}' <#else> null::varchar(255)</#if>,\
<#if elem.open_modal_card_detail?exists> 1 <#else> 0</#if>,\
<#if elem.src_url?exists> '${elem.src_url}' <#else> null::varchar(255)</#if>,\
<#if elem.content_static?exists> '${elem.content_static?replace("'","''")}' <#else> null::varchar(255)</#if>,\
<#if elem.content_maskeninfo_id?exists> ${elem.content_maskeninfo_id} <#else> null::integer</#if>,\
<#if elem.content_chart_uniquename?exists> '${elem.content_chart_uniquename}' <#else> null::varchar(255)</#if>,\
<#if elem.content_rpta_column_layout_uniquename?exists> '${elem.content_rpta_column_layout_uniquename}' <#else> null::varchar(255)</#if>,\
<#if elem.content_tablestylesheet?exists> '${elem.content_tablestylesheet}' <#else> null::varchar(255)</#if>,\
<#if elem.link_maskeninfo_id?exists> link_maskeninfo_id <#else> null::integer</#if>,\
<#if elem.link_chart_uniquename?exists> '${elem.link_chart_uniquename}' <#else> null::varchar(255)</#if>,\
<#if elem.link_tablestylesheet?exists> '${elem.link_tablestylesheet}' <#else> null::varchar(255)</#if>,\
1 as active\
from portal_element_type T\
where T.uniquename= '${elem.element_type}';\
\
\
</#foreach>\
\
update portal_element E set caption=T.caption,\
element_type_id=T.element_type_id,\
onclick_event=T.onclick_event,\
description=T.description,\
open_modal_card_detail=T.open_modal_card_detail,\
src_url=T.src_url,\
content_static=T.content_static,\
content_maskeninfo_id=T.content_maskeninfo_id,\
content_chart_uniquename=T.content_chart_uniquename,\
content_rpta_column_layout_uniquename=T.content_rpta_column_layout_uniquename,\
content_tablestylesheet=T.content_tablestylesheet,\
link_maskeninfo_id=T.link_maskeninfo_id,\
link_chart_uniquename=T.link_chart_uniquename,\
link_tablestylesheet=T.link_tablestylesheet,\
active=T.active\
from tmp_portal_element T\
where T.uniquename=E.uniquename\
and E.uniquename in (select T2.uniquename from tmp_portal_element T2);\
\
delete from tmp_portal_element where uniquename in (select uniquename\
from portal_element);\
\
insert into portal_element(\
element_type_id,\
caption,\
uniquename,\
onclick_event,\
description,\
open_modal_card_detail,\
src_url,\
content_static,\
content_maskeninfo_id,\
content_chart_uniquename,\
content_rpta_column_layout_uniquename,\
content_tablestylesheet,\
link_maskeninfo_id,\
link_chart_uniquename,\
link_tablestylesheet,\
active)\
select element_type_id,\
caption,\
uniquename,\
onclick_event,\
description,\
open_modal_card_detail,\
src_url,\
content_static,\
content_maskeninfo_id,\
content_chart_uniquename,\
content_rpta_column_layout_uniquename,\
content_tablestylesheet,\
link_maskeninfo_id,\
link_chart_uniquename,\
link_tablestylesheet,\
active\
from tmp_portal_element;\
\
\
delete from portal_config2element where \
portal_config_id =(select T.tid from portal_config T where T.uniquename='${portal_config.uniquename}');\
\
<#assign sortnr=0 />\
<#foreach elem in portal_elements>\
<#assign sortnr=sortnr +1 />\
\
insert into portal_config2element(\
portal_config_id,\
portal_element_id,\
--portal_config_tab_id,\
sortnr,\
element_role_id,\
is_foldable,\
is_maximizable,\
min_width,\
height,\
active)\
select T.tid as portal_config_id,\
E.tid as portal_element_id,\
--portal_config_tab_id,\
${sortnr} as sortnr,\
R.tid as element_role_id,\
<#if elem.is_foldable?exists> 1 <#else> 0</#if> as is_foldable,\
<#if elem.is_maximizable?exists> 1 <#else> 0</#if> as is_maximizable,\
<#if elem.min_width?exists> ${elem.min_width} <#else> null::integer </#if> as min_width,\
<#if elem.height?exists> ${elem.height} <#else> null::integer </#if> as height,\
1 as active\
from portal_config T, portal_element_role R, portal_element E\
where T.uniquename='${portal_config.uniquename}'\
and R.uniquename='${elem.element_role}'\
and E.uniquename='${elem.uniquename}';\
</#foreach> \
\
\
--TABS:\
<#assign sortnr=0 />\
\
<#foreach elem in portal_tabs>\
<#assign sortnr=sortnr+1 />\
insert into tmp_portal_config_tab(\
portal_config_id,\
caption,\
-- print_maskeninfo_id,\
-- booklet_stylesheet,\
sortnr,\
tab_id,\
target_url,\
target_window,\
target_div)\
select T.tid,\
'${elem.caption}',\
${sortnr},\
'${elem.tab_id}',\
<#if elem.target_url?exists> '${elem.target_url}' <#else> null::varchar(255)</#if>,\
<#if portal_config.tab_target_window?exists> '${portal_config.tab_target_window}' <#else> null::varchar(255)</#if>,\
<#if portal_config.target_div?exists> '${portal_config.target_div}' <#else> null::varchar(255)</#if>\
\
from portal_config T\
where T.uniquename= '${portal_config.uniquename}';\
\
\
</#foreach>\
\
delete from portal_config_tab where \
portal_config_id =(select T.tid from portal_config T where T.uniquename='${portal_config.uniquename}');\
\
insert into portal_config_tab(\
portal_config_id,\
caption,\
-- print_maskeninfo_id,\
-- booklet_stylesheet,\
sortnr,\
tab_id,\
target_url,\
target_window,\
target_div)\
select portal_config_id,\
caption,\
-- print_maskeninfo_id,\
-- booklet_stylesheet,\
sortnr,\
tab_id,\
target_url,\
target_window,\
target_div\
from tmp_portal_config_tab;\
\
\
drop table tmp_portal_config;\
drop table tmp_portal_element;\
drop table tmp_portal_config2element;\
drop table tmp_portal_config2layout;\
drop table tmp_portal_config_tab;\
</#macro>^Makros des Portal-Moduls^^1^

15
src-modules/module/portal/schluesseltabellen/fm_templates_fuellen.sql

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
delete from fm_templates where id in (select id from tmp_templates);
insert into fm_templates(id,
content,
description,
comment,
version) select id,
content,
description,
comment,
version from tmp_templates;
drop table tmp_templates;

11
src-modules/module/portal/schluesseltabellen/fm_templates_unload.x

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
#!/bin/bash
#löscht alle nicht-kern-templates und entlädt die Tabelle sortiert ins Rohdaten Verzeichnis (für git-diff).
SX_CLIENT=jdbc
export SX_CLIENT
#man_catalogue
DOQUERY "select * from fm_templates where id in ('PORTAL-Makros')" false $DBDELIMITER ./fm_templates.unl txt

17
src-modules/module/portal/schluesseltabellen/fm_templates_update.x

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
#!/bin/bash
DOQUERY "create table tmp_templates(tid integer,
id char(200) not null,
content text not null,
description char(200) ,
comment char(200) ,
version integer default 1
)
;"
sx_auto_upload_table.x tmp_templates ./fm_templates.unl
DOSQL fm_templates_fuellen.sql

64
src-modules/module/portal/schluesseltabellen/portal_config_fuellen_gang.sql

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
--freemarker template
<#include "PORTAL-Makros"/>
<#assign portal_config =
{"uniquename":"portal_config_gang_bearbeiten",
"caption":"Studiengang bearbeiten",
"print_maskeninfo_id":"25100",
"layout_uniquename":"COLUMNS_2",
"id_param_name":"tid",
"tab_target_window":"parent.editPane"}
/>
<#assign portal_elements = [
{"element_type":"STATIC_HTML", "caption":"GANG Kopfzeile",
"uniquename":"GANG_HEADER", "src_url":"",
"content_static":"GANG Studiengangsverwaltung",
"element_role":"HEADER"},
{"element_type":"STATIC_HTML", "caption":"GANG Menue",
"uniquename":"GANG_MENU", "src_url":"../../edit/gang/menue.jsp",
"content_static":"menü",
"element_role":"CONTENT",
"min_width":"4",
"height":"400"},
{"element_type":"IFRAME", "caption":"GANG Content",
"uniquename":"GANG_CONTENT", "src_url":"../../edit/gang/studiengang_edit.jsp",
"content_static":"Inhalt",
"element_role":"CONTENT",
"min_width":"8",
"height":"400"},
{"element_type":"STATIC_HTML", "caption":"GANG Fusszeile",
"uniquename":"SX_FOOTER", "src_url":"../../edit/gang/bottombar.htm",
"content_static":"<ul><span class='bottom-nav'>
<li class='navbar-item'><a href='https://super-ics.de/superx/f_SuperX-Homepage.htm' aria-label='SuperX-Homepage'>
<div class='poweredby_sxbi' aria-hidden='true'></div></a></li>
<li class='navbar-item'><a href='https://super-ics.de/datenschutz_public.htm'>Datenschutz</a></li>
<li class='navbar-item'><a href='https://super-ics.de/impressum.htm'>Impressum</a></li>
<li class='navbar-item'><a href='#top' aria-label='Zum Seitenanfang'><span class='icon' aria-hidden='true'><img src='../../images/up-circled-grey.svg' alt='nach oben' title='nach oben'></span></a></li></span></ul>
",
"element_role":"FOOTER"}
] />
<#assign portal_tabs = [
{"caption":"Studiengang", "tab_id":"Linkstudiengang", "target_url":"../../edit/gang/studiengang_edit.jsp"},
{"caption":"Zuordnung", "tab_id":"Linkzuordnung", "target_url":"../../edit/gang/zuordnung_edit.jsp"},
{"caption":"Allgemein", "tab_id":"Linkallgemein", "target_url":"../../edit/gang/allgemein_edit.jsp"},
{"caption":"Bes. Studienform", "tab_id":"Linkstudienformen", "target_url":"../../edit/gang/studienformen_edit.jsp"},
{"caption":"Zulassung", "tab_id":"Linkzulassung", "target_url":"../../edit/gang/zulassung_edit.jsp"},
{"caption":"Zulassungszahlen", "tab_id":"Linkzulassungszahlen", "target_url":"../../edit/gang/zulassungszahlen_edit.jsp"},
{"caption":"Kapazität", "tab_id":"Linkkapazitaet", "target_url":"../../edit/gang/kapazitaet_edit.jsp"},
{"caption":"Prüfungsrechtliches", "tab_id":"Linkpruefung", "target_url":"../../edit/gang/pruefung_edit.jsp"},
{"caption":"Initialisierung", "tab_id":"Linkinitialisierung", "target_url":"../../edit/gang/initialisierung_edit.jsp"},
{"caption":"Akkreditierung", "tab_id":"Linkakkreditierung", "target_url":"../../edit/gang/akkreditierung_edit.jsp"},
{"caption":"Qualitätssicherung", "tab_id":"Linkevaluation", "target_url":"../../edit/gang/studiengang_edit.jsp"},
{"caption":"Einstellung", "tab_id":"Linkabwicklung", "target_url":"../../edit/gang/abwicklung_edit.jsp"}
] />
<@PORTAL_FUELLEN portal_config=portal_config portal_elements=portal_elements portal_tabs=portal_tabs />

60
src-modules/module/portal/schluesseltabellen/portal_config_fuellen_sample_superx.sql

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
--freemarker template
<#include "PORTAL-Makros"/>
<#assign portal_config =
{"uniquename":"portal_config_sample_superx",
"caption":"SuperX-Beispielportal",
"print_maskeninfo_id":"25100",
"layout_uniquename":"SUPERX_CARD",
"id_param_name":"",
"tab_target_window":""}
/>
<#assign portal_elements = [
{"element_type":"STATIC_HTML", "caption":"SuperX Kopfzeile",
"uniquename":"SX_HEADER", "src_url":"",
"content_static":"SuperX-Beispielportal Header",
"element_role":"HEADER",
"min_width":"100",
"height":"40"},
{"element_type":"STATIC_HTML", "caption":"SuperX Content Beispielinhalt",
"uniquename":"SX_CONTENT1", "src_url":"",
"content_static":"Dieses Portal",
"element_role":"CONTENT",
"min_width":"33",
"height":"60"},
{"element_type":"STATIC_HTML", "caption":"SuperX Content Beispielinhalt 2",
"uniquename":"SX_CONTENT2", "src_url":"",
"content_static":"ist nur",
"element_role":"CONTENT",
"min_width":"33",
"height":"60"},
{"element_type":"STATIC_HTML", "caption":"SuperX Content Beispielinhalt 3",
"uniquename":"SX_CONTENT3", "src_url":"",
"content_static":"ein Muster",
"element_role":"CONTENT",
"min_width":"33",
"height":"60"},
{"element_type":"STATIC_HTML", "caption":"SuperX Fusszeile",
"uniquename":"SX_FOOTER",
"content_static":"<ul><span class='bottom-nav'>
<li class='navbar-item'><a href='https://super-ics.de/superx/f_SuperX-Homepage.htm' aria-label='SuperX-Homepage'>
<div class='poweredby_sxbi' aria-hidden='true'></div></a></li>
<li class='navbar-item'><a href='https://super-ics.de/datenschutz_public.htm'>Datenschutz</a></li>
<li class='navbar-item'><a href='https://super-ics.de/impressum.htm'>Impressum</a></li>
<li class='navbar-item'><a href='#top' aria-label='Zum Seitenanfang'><span class='icon' aria-hidden='true'><img src='../../images/up-circled-grey.svg' alt='nach oben' title='nach oben'></span></a></li></span></ul>
",
"element_role":"FOOTER",
"min_width":"100",
"height":"40"}
] />
<#assign portal_tabs = [
] />
<@PORTAL_FUELLEN portal_config=portal_config portal_elements=portal_elements portal_tabs=portal_tabs />

8
src-modules/module/portal/schluesseltabellen/portal_element_role.unl

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
1^CONTENT^Inhalt^1^
2^FOOTER^Fusszeile^0^
3^HEADER^Kopfzeile^0^
4^TAB_BOTTOM^Reiter (unten)^0^
5^TAB_TOP^Reiter (oben)^0^
6^SIDEBAR_LEFT^Sidebar-links^0^
7^SIDEBAR_RIGHT^Sidebar-rechts^0^
8^MENU^Menüzeile^1^

6
src-modules/module/portal/schluesseltabellen/portal_element_type.unl

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
1^STATIC_HTML^Statisches HTML^
2^STATIC_WIKI^Statisches Wiki^
3^MASKE^Maske^
4^DBFORM^DB-Form^
5^VIZ_CHART^VIZ-Grafik^
6^IFRAME^Inline-Frame^

82
src-modules/module/portal/schluesseltabellen/portal_layout_fuellen.sql

@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
--freemarker template
<#assign portal_layouts = [
{"uniquename":"FRAMESET_GANG",
"caption":"GANG-Portal mit Frame-Layout"},
{"uniquename":"CARD_V",
"caption":"Cards (vertikal)"},
{"uniquename":"FLEXBOX_GRID_3COLS",
"caption":"Flexbox-Grid (dreispaltig)",
"fixed_grid_column_count","3"},
{"uniquename":"FLEXBOX_GRID_2COLS",
"caption":"Flexbox-Grid (zweispaltig)",
"fixed_grid_column_count","2"},
{"uniquename":"FLEXBOX_GRID",
"caption":"Flexbox-Grid (responsiv)"},
{"uniquename":"COLUMNS_2",
"caption":"Inhalt zweispaltig",
"fixed_grid_column_count","2"}
]
/>
create temp table tmp_portal_layout(
tid SERIAL not null,
caption VARCHAR(255) ,
uniquename VARCHAR(255) ,
grid_type VARCHAR(255) ,
fixed_grid_column_count SMALLINT,
css_url VARCHAR(255) ,
js_url VARCHAR(255) ,
onload_handler VARCHAR(255)
)
;
<#foreach elem in portal_layouts>
insert into tmp_portal_layout(caption,
uniquename,
grid_type,
fixed_grid_column_count,
css_url,
js_url,
onload_handler)
select
'${elem.caption}',
'${elem.uniquename}',
<#if elem.grid_type?exists> '${elem.grid_type}' <#else> null::varchar(255)</#if>,
<#if elem.fixed_grid_column_count?exists> ${elem.fixed_grid_column_count} <#else> null::integer</#if>,
<#if elem.css_url?exists> '${elem.css_url}' <#else> null::varchar(255)</#if>,
<#if elem.js_url?exists> '${elem.js_url}' <#else> null::varchar(255)</#if>,
<#if elem.onload_handler?exists> '${elem.onload_handler}' <#else> null::varchar(255)</#if>
from xdummy;
</#foreach>
update portal_layout L set caption=T.caption,
grid_type=T.grid_type,
fixed_grid_column_count=T.fixed_grid_column_count,
css_url=T.css_url,
js_url=T.js_url,
onload_handler=T.onload_handler
from tmp_portal_layout T
where L.uniquename in (select T2.uniquename from tmp_portal_layout T2);
delete from tmp_portal_layout where uniquename in (select uniquename
from portal_layout);
insert into portal_layout(caption,
uniquename,
grid_type,
fixed_grid_column_count,
css_url,
js_url,
onload_handler)
select caption,
uniquename,
grid_type,
fixed_grid_column_count,
css_url,
js_url,
onload_handler
from tmp_portal_layout;
drop table tmp_portal_layout;

123
src/de/superx/portal/PortalConfig.java

@ -0,0 +1,123 @@ @@ -0,0 +1,123 @@
package de.superx.portal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
public class PortalConfig {
public PortalConfig(String uniquename) {
super();
this.uniquename = uniquename;
}
List elementList = new LinkedList<PortalElement>();
String uniquename;
int configTid;
String configCaption;
String idParamName;
String layoutUniquename;
public String PortalElementsSql;
public String PortalConfigSql;
public int getConfigTid() {
return configTid;
}
public void setConfigTid(int configTid) {
this.configTid = configTid;
}
public String getConfigCaption() {
return configCaption;
}
public void setConfigCaption(String configCaption) {
this.configCaption = configCaption;
}
public String getIdParamName() {
return idParamName;
}
public void setIdParamName(String idParamName) {
this.idParamName = idParamName;
}
public String getLayoutUniquename() {
return layoutUniquename;
}
public void setLayoutUniquename(String layoutUniquename) {
this.layoutUniquename = layoutUniquename;
}
public String getPortalConfigSql() {
return PortalConfigSql;
}
public void setPortalConfigSql(String portletLayoutUniquename ) {
String sql="select C.tid as config_tid,C.caption as config_caption,C.id_param_name,L.uniquename as layout_uniquename";
sql+=" from portal_config C, portal_config2layout CL, portal_layout L";
sql+=" where C.uniquename='"+this.uniquename+"'";
sql+=" and C.tid=CL.portal_config_id and L.tid=CL.portal_layout_id";
sql+= " and L.uniquename='"+portletLayoutUniquename+"'";
PortalConfigSql = sql;
}
public void setPortalConfigAttributesFromSQL(ResultSet rs) throws SQLException
{
while (rs.next())
{
if(rs.getObject(1) !=null)
{
configTid=(int) rs.getObject(1);
configCaption=rs.getString(2);
idParamName=rs.getString(3);
layoutUniquename=rs.getString(4);
}
}
}
public String getPortalElementsSql() {
String sql="select T.uniquename as element_type_uniquename,R.uniquename as element_role_uniquename,";
sql+="E.content_static,E.src_url,";
sql+="E.caption as element_caption,E.uniquename as element_uniquename,";
sql+= "EC.tid as portal_element2config_tid,";
sql+= "EC.min_width,EC.height,EC.sortnr,EC.is_foldable,EC.is_maximizable";
sql+=" from portal_element_type T, portal_config2element EC, portal_config C,portal_element_role R, portal_element E";
sql+=" where T.tid=E.element_type_id and C.tid=EC.portal_config_id and R.tid=EC.element_role_id ";
sql+=" and E.tid=EC.portal_element_id";
sql+=" and E.active=1 and EC.active=1";
sql+=" and C.uniquename='"+this.uniquename+"'";
sql+=" order by EC.sortnr,E.caption";
return sql;
}
public void setPortalConfigElementsFromSQL(ResultSet rs) throws SQLException
{
while (rs.next())
{
if(rs.getObject(1) !=null && rs.getObject(1) != null)
{
PortalElement myElem=new PortalElement(rs.getString(6));
myElem.setElementTypeUniquename(rs.getString(1));
myElem.setElementRoleUniquename(rs.getString(2));
myElem.setContentStatic(rs.getString(3));
myElem.setSrcUrl(rs.getString(4));
myElem.setElementCaption(rs.getString(5));
myElem.setMinWidth(getIntFromRs(rs.getObject(8),100));
myElem.setHeight(getIntFromRs(rs.getObject(9),80));
myElem.setSortnr(getIntFromRs(rs.getObject(10),0));
myElem.setFoldable( (rs.getObject(11)==null || getIntFromRs(rs.getObject(11),0)==0 ?false:true));
myElem.setIs_maximizable( (rs.getObject(12)==null || getIntFromRs(rs.getObject(12),0)==0 ?false:true));
elementList.add(myElem);
}
}
}
public List<PortalElement> getElementList()
{
return elementList;
}
public static int getIntFromRs(Object o,int defaultWert)
{
int ret=defaultWert;
if(o!=null && o instanceof Integer)
{
ret=(int) o;
}
return ret;
}
}

96
src/de/superx/portal/PortalElement.java

@ -0,0 +1,96 @@ @@ -0,0 +1,96 @@
package de.superx.portal;
public class PortalElement {
public PortalElement(String elementUniquename) {
super();
this.elementUniquename = elementUniquename;
}
String elementRoleUniquename;
String elementCaption;
String elementUniquename;
String contentStatic;
String srcUrl;
int portalElement2configTid;
int minWidth;
int height;
int sortnr;
boolean isFoldable;
boolean is_maximizable;
String elementTypeUniquename;
public String getElementTypeUniquename() {
return elementTypeUniquename;
}
public void setElementTypeUniquename(String elementTypeUniquename) {
this.elementTypeUniquename = elementTypeUniquename;
}
public String getElementRoleUniquename() {
return elementRoleUniquename;
}
public void setElementRoleUniquename(String elementRoleUniquename) {
this.elementRoleUniquename = elementRoleUniquename;
}
public String getElementCaption() {
return elementCaption;
}
public void setElementCaption(String elementCaption) {
this.elementCaption = elementCaption;
}
public String getElementUniquename() {
return elementUniquename;
}
public void setElementUniquename(String elementUniquename) {
this.elementUniquename = elementUniquename;
}
public String getContentStatic() {
return contentStatic;
}
public void setContentStatic(String contentStatic) {
this.contentStatic = contentStatic;
}
public String getSrcUrl() {
return srcUrl;
}
public void setSrcUrl(String srcUrl) {
this.srcUrl = srcUrl;
}
public int getPortalElement2configTid() {
return portalElement2configTid;
}
public void setPortalElement2configTid(int portalElement2configTid) {
this.portalElement2configTid = portalElement2configTid;
}
public int getMinWidth() {
return minWidth;
}
public void setMinWidth(int minWidth) {
this.minWidth = minWidth;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getSortnr() {
return sortnr;
}
public void setSortnr(int sortnr) {
this.sortnr = sortnr;
}
public boolean isFoldable() {
return isFoldable;
}
public void setFoldable(boolean isFoldable) {
this.isFoldable = isFoldable;
}
public boolean isMaximizable() {
return is_maximizable;
}
public void setIs_maximizable(boolean is_maximizable) {
this.is_maximizable = is_maximizable;
}
}

16
superx/WEB-INF/conf/edustore/db/bin/SQL_ENV_portal.sam

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
#Beispielumgebung für das PORTAL-Modul:
#SUPERX_MODULE=$SUPERX_DIR/db/module
#SUPERX_ROHDATEN=rohdaten
PORTAL_PFAD=$SUPERX_MODULE/portal; export PORTAL_PFAD
PORTAL_ERRORDAT=$PORTAL_PFAD/portal_update.err; export PORTAL_ERRORDAT
#Hier stehen die Rohdaten (im Unterverzeichnis unl)
PORTAL_LOAD_PFAD=$PORTAL_PFAD/$SUPERX_ROHDATEN; export PORTAL_LOAD_PFAD
PORTAL_ERRORMAIL=$ERRORMAIL; export PORTAL_ERRORMAIL
PORTAL_LOGMAIL=$LOGMAIL; export PORTAL_LOGMAIL
PATH=$PORTAL_PFAD/bin:$PATH
export PATH

BIN
superx/WEB-INF/lib/spring-context-indexer-6.2.19.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/superx-portal.jar

Binary file not shown.
Loading…
Cancel
Save