394 lines
21 KiB
XML
Executable File
394 lines
21 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<service namespace="FileManagement" abbreviation="FLM" procNames="FileManagement" exerciseDependency="Global" groups="Core" prio="1">
|
|
<rcs>
|
|
<Id Id="$Id$"/>
|
|
<HeadURL HeadURL="$HeadURL$"/>
|
|
<Author Author="$Author$"/>
|
|
</rcs>
|
|
<operatorRights offset="13">
|
|
<guiPlugin name="FileManagement" offset="1">
|
|
<operatorRightGroup name="File Library Organisation" description="Rights to modify Files and Folders">
|
|
<operatorRight right="FileManagementFoldersEdit" value="4" description="Edit Folders"/>
|
|
<operatorRight right="FileManagementFileAdmin" value="5" description="Administrative Rights to modify Files and Folders"/>
|
|
</operatorRightGroup>
|
|
<operatorRightGroup name="File Management" description="Edit Files">
|
|
<operatorRight right="FileManagementDialogsShow" value="1" description="Show the File Management Dialog"/>
|
|
<operatorRight right="FileManagementFilesShow" value="2" description="Show Files and Folder"/>
|
|
<operatorRight right="FileManagementFilesEdit" value="3" description="Edit Files"/>
|
|
</operatorRightGroup>
|
|
</guiPlugin>
|
|
</operatorRights>
|
|
<tables>
|
|
<table name="flm_file_category">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
</table>
|
|
<table name="flm_file_content">
|
|
<column name="id" datatype="bigint" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
<column name="is_template" datatype="boolean" default="false"/>
|
|
<column name="is_hidden" datatype="boolean" default="false"/>
|
|
<column name="folder_id" datatype="bigint" isForeignKey="1"/>
|
|
<column name="file_category_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="file_type_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="file_status_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="exercise_id" datatype="bigint" isOptional="1" isForeignKey="1"/>
|
|
<column name="phase_id" datatype="integer" isOptional="1" isForeignKey="1"/>
|
|
<column name="operator_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="content" datatype="bytea"/>
|
|
<column name="properties" datatype="jsonb" default="'{}'"/>
|
|
<column name="is_used_by" datatype="boolean" default="false"/>
|
|
<column name="used_by" datatype="integer" default="0"/>
|
|
<column name="last_modified" datatype="bigint"/>
|
|
<constraint name="UQ_flm_file_content_name" type="unique">
|
|
<column name="folder_id"/>
|
|
<column name="name"/>
|
|
<column name="file_type_id"/>
|
|
<column name="file_status_id"/>
|
|
<column name="operator_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_flm_file_content_flm_file_type">
|
|
<source table="flm_file_content" column="file_type_id"/>
|
|
<destination table="flm_file_type" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_flm_file_status">
|
|
<source table="flm_file_content" column="file_status_id"/>
|
|
<destination table="flm_file_status" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_flm_folder">
|
|
<source table="flm_file_content" column="folder_id"/>
|
|
<destination table="flm_folder" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_flm_file_category">
|
|
<source table="flm_file_content" column="file_category_id"/>
|
|
<destination table="flm_file_category" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_exercise">
|
|
<source table="flm_file_content" column="exercise_id"/>
|
|
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_opm_operator">
|
|
<source table="flm_file_content" column="operator_id"/>
|
|
<destination service="OperatorManagement" serviceAbbr="opm" schema="opm" table="opm_operator" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_flm_file_content_exercise_phase">
|
|
<source table="flm_file_content" column="phase_id"/>
|
|
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise_phase" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="flm_file_status">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
</table>
|
|
<table name="flm_file_type">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
</table>
|
|
<table name="flm_file_type_info">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="file_type_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="description" datatype="text"/>
|
|
<column name="extension" datatype="text"/>
|
|
<foreignKey name="FK_flm_file_type_info_flm_file_type">
|
|
<source table="flm_file_type_info" column="file_type_id"/>
|
|
<destination table="flm_file_type" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="flm_folder">
|
|
<column name="id" datatype="bigint" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
<column name="path" datatype="integer[]"/>
|
|
<column name="is_editable" datatype="boolean" default="true"/>
|
|
<column name="is_hidden" datatype="boolean" default="false"/>
|
|
<column name="parent_id" datatype="bigint"/>
|
|
<column name="operator_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="last_modified" datatype="bigint"/>
|
|
<constraint name="UQ_flm_folder_name" type="unique">
|
|
<column name="parent_id"/>
|
|
<column name="name"/>
|
|
</constraint>
|
|
<foreignKey name="FK_flm_folder_opm_operator">
|
|
<source table="flm_folder" column="operator_id"/>
|
|
<destination service="OperatorManagement" serviceAbbr="opm" schema="opm" table="opm_operator" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
</tables>
|
|
<views>
|
|
<view name="flm_file_content_exercise" exerciseDependency="Exercise" filter="exercise_id" base="flm_file_content"/>
|
|
</views>
|
|
<dbServiceStructs>
|
|
<serviceStruct name="FlmFileContent" table="flm_file_content">
|
|
<notification name="notifyDeleteFileContent" returns="void" notificationTypes="AfterDelete">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
<notification name="notifyInsertFileContent" returns="void" notificationTypes="AfterInsert">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
<notification name="notifyUpdateFileContent" returns="void" notificationTypes="AfterUpdate">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
<function name="updateStatus" returns="bool">
|
|
<parameter pos="1" name="fileId" type="int"/>
|
|
<parameter pos="2" name="status" type="const FileStatus &"/>
|
|
<parameter pos="3" name="operatorId" type="int"/>
|
|
</function>
|
|
<function name="setUsedBy" returns="bool">
|
|
<parameter pos="1" name="fileId" type="int"/>
|
|
<parameter pos="2" name="usedBy" type="const bool &"/>
|
|
<parameter pos="3" name="usedNo" type="int"/>
|
|
<parameter pos="4" name="operatorId" type="int"/>
|
|
</function>
|
|
</serviceStruct>
|
|
<serviceStruct name="FlmFileTypeInfo" table="flm_file_type_info"/>
|
|
<serviceStruct name="FlmFolder" table="flm_folder">
|
|
<notification name="notifyDeleteFolder" returns="void" notificationTypes="AfterDelete">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
<notification name="notifyInsertFolder" returns="void" notificationTypes="AfterInsert">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
<notification name="notifyUpdateFolder" returns="void" notificationTypes="AfterUpdate">
|
|
<parameter pos="1" name="id" type="qint64"/>
|
|
</notification>
|
|
</serviceStruct>
|
|
<table name="flm_file_content"/>
|
|
<table name="flm_file_type"/>
|
|
<table name="flm_file_type_info"/>
|
|
<table name="flm_folder"/>
|
|
</dbServiceStructs>
|
|
<topicTypes>
|
|
<topicType name="FileContent" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
|
|
<column name="isTemplate" idlType="boolean"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="folderId" idlType="long"/>
|
|
<column name="fileCategory" idlType="FileCategory"/>
|
|
<column name="fileType" idlType="FileType"/>
|
|
<column name="fileStatus" idlType="FileStatus"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="isUsedBy" idlType="boolean"/>
|
|
<column name="usedBy" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
<column name="exerciseId" idlType="long" isOptional="1"/>
|
|
<column name="phaseId" idlType="long" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
<column name="exportFileName" idlType="string" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="FileContentChangeStatusRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="fileStatus" idlType="FileStatus"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
</topicType>
|
|
<topicType name="FileContentExportRequest">
|
|
<column name="id" idlType="long"/>
|
|
</topicType>
|
|
<topicType name="FileContentModifyRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="name" idlType="string"/>
|
|
<column name="isTemplate" idlType="boolean"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="folderId" idlType="long"/>
|
|
<column name="fileCategory" idlType="FileCategory"/>
|
|
<column name="fileType" idlType="FileType"/>
|
|
<column name="fileStatus" idlType="FileStatus"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="content" idlType="sequence<octet>"/>
|
|
<column name="isUsedBy" idlType="boolean"/>
|
|
<column name="usedBy" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
<column name="exerciseId" idlType="long" isOptional="1"/>
|
|
<column name="phaseId" idlType="long" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
<column name="exportFileName" idlType="string" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="FileContentSetUsedRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="isUsedBy" idlType="boolean"/>
|
|
<column name="usedBy" idlType="long"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
</topicType>
|
|
<topicType name="FileTypeInfo" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
|
|
<column name="description" idlType="string"/>
|
|
<column name="extension" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="Folder" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntityTranslatable">
|
|
<column name="path" idlType="sequence<long>"/>
|
|
<column name="isEditable" idlType="boolean"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="parentId" idlType="long"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
</topicType>
|
|
<topicType name="FolderModifyRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="name" idlType="string"/>
|
|
<column name="path" idlType="sequence<long>"/>
|
|
<column name="isEditable" idlType="boolean"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="parentId" idlType="long"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="lastModified" idlType="long long"/>
|
|
</topicType>
|
|
<topicType name="PathCreateRequest">
|
|
<column name="path" idlType="sequence<string>"/>
|
|
<column name="isEditable" idlType="boolean"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="parentId" idlType="long"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
</topicType>
|
|
<topicType name="GetFileContentDataReply" baseValueType="Core::FunctionReply">
|
|
<column name="content" idlType="sequence<octet>"/>
|
|
</topicType>
|
|
<topicType name="GetFileContentDataRequest">
|
|
<column name="fileContentId" idlType="long"/>
|
|
</topicType>
|
|
</topicTypes>
|
|
<functionTopics>
|
|
<functionTopic name="FileContentChangeStatus" requestTopicType="FileContentChangeStatusRequest" replyTopicType="Core::FunctionReply" requestTopicName="FileContentChangeStatusRequest" replyTopicName="FileContentChangeStatusReply" routeInReplay="1"/>
|
|
<functionTopic name="FileContentExport" requestTopicType="FileContentExportRequest" replyTopicType="Core::FunctionReply" requestTopicName="FileContentExportRequest" replyTopicName="FileContentExportReply" routeInReplay="0"/>
|
|
<functionTopic name="FileContentModify" requestTopicType="FileContentModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="FileContentModifyRequest" replyTopicName="FileContentModifyReply" routeInReplay="1"/>
|
|
<functionTopic name="FileContentRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="FileContentRemoveRequest" replyTopicName="FileContentRemoveReply" routeInReplay="1"/>
|
|
<functionTopic name="FileContentSetUsed" requestTopicType="FileContentSetUsedRequest" replyTopicType="Core::FunctionReply" requestTopicName="FileContentSetUsedRequest" replyTopicName="FileContentSetUsedReply" routeInReplay="1"/>
|
|
<functionTopic name="FolderModify" requestTopicType="FolderModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="FolderModifyRequest" replyTopicName="FolderModifyReply" routeInReplay="1"/>
|
|
<functionTopic name="FolderRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="FolderRemoveRequest" replyTopicName="FolderRemoveReply" routeInReplay="1"/>
|
|
<functionTopic name="PathCreate" requestTopicType="PathCreateRequest" replyTopicType="Core::FunctionReply" requestTopicName="PathCreateRequest" replyTopicName="PathCreateReply" routeInReplay="1"/>
|
|
<functionTopic name="GetFileContentData" requestTopicType="GetFileContentDataRequest" replyTopicType="GetFileContentDataReply" requestTopicName="GetFileContentDataRequest" replyTopicName="GetFileContentDataReply" routeInReplay="1"/>
|
|
</functionTopics>
|
|
<customDtcFunctions>
|
|
<customDtcFunction>
|
|
<function name="getAllTemplates" returns="bool">
|
|
<parameter pos="1" name="allTemplates" type="QList<FileContent > &"/>
|
|
</function>
|
|
<function name="getAllFiles" returns="bool">
|
|
<parameter pos="1" name="fileType" type="const FileType &"/>
|
|
<parameter pos="2" name="folderId" type="int"/>
|
|
<parameter pos="3" name="allFiles" type="QStringList &"/>
|
|
<parameter pos="4" name="showHidden" type="bool" default="false"/>
|
|
</function>
|
|
<function name="getFilesOperator" returns="bool">
|
|
<parameter pos="1" name="fileType" type="const FileType &"/>
|
|
<parameter pos="2" name="folderId" type="int"/>
|
|
<parameter pos="3" name="operatorId" type="int"/>
|
|
<parameter pos="4" name="allFiles" type="QStringList &"/>
|
|
</function>
|
|
<function name="getFile" returns="bool">
|
|
<parameter pos="1" name="fileType" type="const FileType &"/>
|
|
<parameter pos="2" name="folderId" type="int"/>
|
|
<parameter pos="3" name="fileName" type="const QString &"/>
|
|
<parameter pos="4" name="fileMetadata" type="FileContent &"/>
|
|
</function>
|
|
<function name="getExerciseId" returns="int">
|
|
<parameter pos="1" name="folderId" type="int"/>
|
|
</function>
|
|
|
|
<function name="getExerciseFolderName" returns="QString" isConst="1">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
</function>
|
|
<function name="getPhaseFolderName" returns="QString" isConst="1">
|
|
<parameter pos="1" name="phaseId" type="int"/>
|
|
</function>
|
|
<function name="getPartyFolderName" returns="QString" isConst="1">
|
|
<parameter pos="1" name="partyId" type="int"/>
|
|
</function>
|
|
<function name="getExerciseFolderId" returns="int" isConst="1">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
</function>
|
|
<function name="getPhaseFolderId" returns="int" isConst="1">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
<parameter pos="2" name="phaseId" type="int"/>
|
|
</function>
|
|
<function name="getPartyFolderId" returns="int" isConst="1">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
<parameter pos="2" name="partyId" type="int"/>
|
|
</function>
|
|
<function name="getFileId" returns="int">
|
|
<parameter pos="1" name="fileType" type="const FileType &"/>
|
|
<parameter pos="2" name="fileName" type="const QString &"/>
|
|
<parameter pos="3" name="exerciseId" type="int"/>
|
|
<parameter pos="4" name="phaseId" type="int"/>
|
|
</function>
|
|
<function name="findFolder" returns="int" isConst="1">
|
|
<parameter pos="1" name="parentId" type="int"/>
|
|
<parameter pos="2" name="name" type="const QString &"/>
|
|
</function>
|
|
</customDtcFunction>
|
|
</customDtcFunctions>
|
|
<enumerations>
|
|
<enumeration name="FileStatus" table="flm_file_status">
|
|
<attribute key="Valid" value="0"/>
|
|
<attribute key="Deleted" value="1"/>
|
|
</enumeration>
|
|
<enumeration name="FileCategory" table="flm_file_category">
|
|
<attribute key="Global" value="1"/>
|
|
<attribute key="Exercise" value="2"/>
|
|
<attribute key="User" value="3"/>
|
|
</enumeration>
|
|
<enumeration name="FileType" table="flm_file_type">
|
|
<attribute key="Unknown" value="0"/>
|
|
<attribute key="Text" value="1"/>
|
|
<attribute key="Xml" value="2"/>
|
|
<attribute key="Pdf" value="3"/>
|
|
<attribute key="Jpg" value="4"/>
|
|
<attribute key="Png" value="5"/>
|
|
<attribute key="TacticalPlan" value="6"/>
|
|
<attribute key="OperatorFavourite" value="7"/>
|
|
<attribute key="OperatorDefinedSymbol" value="8"/>
|
|
<attribute key="OpenOfficeDocument" value="9"/>
|
|
<attribute key="OpenOfficeSpreadsheet" value="10"/>
|
|
<attribute key="OpenOfficePresentation" value="11"/>
|
|
<attribute key="MSOfficeDocument" value="12"/>
|
|
<attribute key="MSOfficeDocument97" value="13"/>
|
|
<attribute key="MSOfficeSpreadsheet" value="14"/>
|
|
<attribute key="MSOfficeSpreadsheet97" value="15"/>
|
|
<attribute key="MSOfficePresentation" value="16"/>
|
|
<attribute key="MSOfficePresentation97" value="17"/>
|
|
<attribute key="EvaluationSchema" value="18"/>
|
|
<attribute key="AdlerJson" value="19"/>
|
|
</enumeration>
|
|
<enumeration name="MainFolder">
|
|
<attribute key="GlobalDocuments" value="1"/>
|
|
<attribute key="ExerciseDocuments" value="2"/>
|
|
<attribute key="UserDocuments" value="3"/>
|
|
</enumeration>
|
|
<enumeration name="XmlType">
|
|
<attribute key="Unknown" value="0"/>
|
|
<attribute key="AESBorderlineEdit" value="1"/>
|
|
<attribute key="AESBorderlineList" value="2"/>
|
|
<attribute key="AESGasPipeList" value="3"/>
|
|
<attribute key="AVMCombatNetRadio" value="4"/>
|
|
<attribute key="AVMEditCombatNetRadio" value="5"/>
|
|
<attribute key="AVMEditFrequencyPlanning" value="6"/>
|
|
<attribute key="AVMFrequencyPlanning" value="7"/>
|
|
<attribute key="AVMMenuEditView" value="8"/>
|
|
<attribute key="AVMMvsDialog" value="9"/>
|
|
<attribute key="AVMTrainingVoiceCommunication" value="10"/>
|
|
<attribute key="CESParticipantMove" value="11"/>
|
|
<attribute key="EVLCriteriumEdit" value="12"/>
|
|
<attribute key="EXMExerciseDescription" value="13"/>
|
|
<attribute key="FLTSymbolAppearance" value="14"/>
|
|
<attribute key="FLTTypeFilter" value="15"/>
|
|
<attribute key="SMOSingleServiceEquipmentCheck" value="16"/>
|
|
<attribute key="TLNTimelineFilter" value="17"/>
|
|
<attribute key="TLNEventListConfiguration" value="18"/>
|
|
<attribute key="PDMChargeFilter" value="19"/>
|
|
<attribute key="PDMUleisCodeFilter" value="20"/>
|
|
<attribute key="TGTShootbackTargetBaseConfiguration" value="21"/>
|
|
<attribute key="TGTShootbackAssignment" value="22"/>
|
|
<attribute key="TGTShootbackArea" value="23"/>
|
|
</enumeration>
|
|
</enumerations>
|
|
</service>
|