Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Current »

Configuration in repository.cfg

<repoName>.protocolservice.type=database
<repoName>.protocolservice.database.driver=
<repoName>.protocolservice.database.url=
<repoName>.protocolservice.database.user=
<repoName>.protocolservice.database.password=
#<repoName>.protocolservice.database.read-connections.max= #default: 32, not after 2.7.0
#<repoName>.protocolservice.database.read-connections.min= #default: 32, not after 2.7.0
#<repoName>.protocolservice.database.read-connections.shared= #default: false, not after 2.7.0
#<repoName>.protocolservice.database.write-connections.max= #default: 32, not after 2.7.0
#<repoName>.protocolservice.database.write-connections.min= #default: 32, not after 2.7.0
#<repoName>.protocolservice.database.cache-statements= #default: false, not after 2.7.0
#<repoName>.protocolservice.database.cache-statements.size= #default: 50, not after 2.7.0
#<repoName>.protocolservice.database.minimumIdle= #default: maximumPoolSize
#<repoName>.protocolservice.database.maximumPoolSize= #default: 10
#<repoName>.protocolservice.database.connectionTimeout= #default: 30000
#<repoName>.protocolservice.database.idleTimeout= #default: 600000
#<repoName>.protocolservice.database.keepaliveTime= #default: 0
#<repoName>.protocolservice.database.maxLifetime= #default: 1800000
#<repoName>.protocolservice.database.scripts= #default: classpath:sql/prot/migration/h2|sqlserver|oracle, dependening on database provider , 3.0.0+

As of version 2.7.0 we switched from EclipseLink to Hibernate, therefore some parameters have changed.

H2

<repoName>.protocolservice.database.driver=org.h2.Driver
<repoName>.protocolservice.database.url=jdbc:h2:C:/h2db.db;FILE_LOCK=FS;TRACE_LEVEL_SYSTEM_OUT=0

Oracle

<repoName>.protocolservice.database.driver=oracle.jdbc.OracleDriver
<repoName>.protocolservice.database.url=jdbc:oracle:thin:@localhost:49161:xe

MSSQL

<repoName>.protocolservice.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
<repoName>.protocolservice.database.url=jdbc:sqlserver://localhost:1433;databaseName=CONTENTSERVER;

Required Configuration for Searching in Protocols:

Make sure that your configuration has the following values:

FI.protocolservice.document.properties=name,contentlength,path,contentDigest
FI.protocolservice.container.properties= name,path

Supported values for document:
starttime,endtime,requestid,path,id,respository,status,message,command,object,module,client,user,objectcommand,objectid,contentLength,contentType,contentDisposition,contentDigest,contentDigestAlgorithm,contentEncoding,creationTime,modificationTime,creationUser,modificationUser

Supported values for container:

name,path

Tables:

PROTOCOL

Contains one record per access, defines acces modul and access data

 Table create Scripted (based on MS SQL)

CREATE TABLE [dbo].[PROTOCOL](
[RECORDID] [numeric](19, 0) NOT NULL,
[CLIENT] varchar NULL,
[COMMANDCATEGORY] varchar NULL,
[COMMANDMESSAGE] varchar NULL,
[COMMANDNAME] varchar NULL,
[COMMANDOBJECT] varchar NULL,
[COMMANDSTATUS] varchar NULL,
[COMMANDSTATUSCODE] varchar NULL,
[ENDTIME] datetime2 NULL,
[MODULENAME] varchar NULL,
[NODENAME] varchar NULL,
[OBJECTID] varchar NULL,
[REPOSITORYNAME] varchar NOT NULL,
[REQUESTID] varchar NOT NULL,
[STARTTIME] datetime2 NOT NULL,
[USERNAME] varchar NULL,
[VERSION] [int] NULL,
PRIMARY KEY CLUSTERED
(
[RECORDID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

PROTKEY_VALUES

multiple records per access, contains details according to configuration

 Table create script (based on MSSQL)

CREATE TABLE [dbo].[PROTKEY_VALUES](
[ID] [numeric](19, 0) NOT NULL,
[FIELDBOOLVALUE] [bit] NULL,
[FIELDDATETIMEVALUE] datetime2 NULL,
[FIELDDECIMALVALUE] [numeric](28, 0) NULL,
[FIELDINTVALUE] [numeric](28, 0) NULL,
[FIELDSTRINGVALUE] varchar NULL,
[TYPEID] varchar NOT NULL,
[RECORDID] [numeric](19, 0) NOT NULL,
[FIELDID] varchar NOT NULL,
PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[PROTKEY_VALUES] ADD DEFAULT ((0)) FOR [FIELDBOOLVALUE]
GO

ALTER TABLE [dbo].[PROTKEY_VALUES] WITH CHECK ADD CONSTRAINT [PROTKEY_VALUESRECORDID] FOREIGN KEY([RECORDID])
REFERENCES [dbo].[PROTOCOL] ([RECORDID])
GO

ALTER TABLE [dbo].[PROTKEY_VALUES] CHECK CONSTRAINT [PROTKEY_VALUESRECORDID]
GO

Example Queries (based on MSSQL)

find all Entries

SELECT p.*, pv.FIELDSTRINGVALUE as 'Path'
  FROM [PROTOCOL] p
  inner join PROTKEY_VALUES pv on p.RECORDID = pv.RECORDID
  where pv.FIELDID = 'path'

find read entries only

you can replace “read“ with the following values to get only certain categories:

Value

Description

read

all read access to a folder or document (only CMIS/ILM)

create

all create folder or document entries

update

all update requests

delete

all delete requests for folder or documents

info

for info requests (AricheLink or ILM)

admin

all admin access like create put certificate or serverInfo

SELECT p.*, pv.FIELDSTRINGVALUE as 'Path'
  FROM [PROTOCOL] p
  inner join PROTKEY_VALUES pv on p.RECORDID = pv.RECORDID
  where pv.FIELDID = 'path' 
  and p.COMMANDCATEGORY = 'read'

ArchiveLink based Queries

All protocols ArchiveLink entries:

Protocols for documents and components create seperate protocoll entries. A “Create” exists for creation of the document and for each component. Same applies for other commands.

COMMANDOBJECT

Description

document

Protocols for the ArchiveLink Component

container

Protocol for the ArchiveLink Document

select CLIENT,COMMANDOBJECT,COMMANDMESSAGE, COMMANDCATEGORY,COMMANDSTATUS,STARTTIME,ENDTIME,MODULENAME,REPOSITORYNAME,REQUESTID,
  (select FIELDSTRINGVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'path' and prot.COMMANDOBJECT = 'document') as DOCUMENT,
  (select FIELDSTRINGVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'name' and prot.COMMANDOBJECT = 'document') as COMPONENT,
  (select FIELDINTVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'contentlength' and prot.COMMANDOBJECT = 'document') as SIZE,
   (select FIELDSTRINGVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'contentDigest' and prot.COMMANDOBJECT = 'document') as HASHVALUE
  from Protocol p
  where MODULENAME = 'ContentServer4ArchiveLink'

Filter based on docID:

Enter docID instead of example value 85DCD9A03683496DB7B9A8BFED0EBEAD

  select*,  CLIENT,COMMANDOBJECT,COMMANDMESSAGE, COMMANDCATEGORY,COMMANDSTATUS,STARTTIME,ENDTIME,MODULENAME,REPOSITORYNAME,REQUESTID, pv.FIELDSTRINGVALUE as 'PATH',
  (select FIELDINTVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'contentlength' and prot.COMMANDOBJECT = 'document') as SIZE,
   (select FIELDSTRINGVALUE from PROTKEY_VALUES pv inner join PROTOCOL prot on PROT.RECORDID = pv.RECORDID and prot.REQUESTID = P.REQUESTID where FIELDID = 'contentDigest' and prot.COMMANDOBJECT = 'document') as HASHVALUE
  from Protocol p
   inner join PROTKEY_VALUES pv on p.RECORDID = pv.RECORDID and  pv.FIELDID = 'path'
  where pv.FIELDID = 'path'
  and MODULENAME = 'ContentServer4ArchiveLink'
  and pv.FIELDSTRINGVALUE like '%85DCD9A03683496DB7B9A8BFED0EBEAD%'

  • No labels