This article is not about classic OSGi plugin tia Proxy. For this, please see: KGS Proxy
About
This article is about the tia core proxy functionality.
Content
Introduction
In contrast to the OSGi plugin tia Proxy, which is a real archive link proxy, the described functionality just acting like a proxy while it is embedded inside the tia core and configures to content store backends.
The proxy plugin is used when a customer had a kgs classic content server in the past or uses a classic content server in parallel.
tia core is able to interact with storages former configured for kgs classic content server.
let us give you an example:
Before, the customer had a classic CS 5 connected with e.g. an filesystem storage.
Then he could replace the classic CS using tia core with the backend kgsstore and the specific shape tia core archivelink (saphttp). It act like an archive link CS but using the tia core.
The prox config for archivelink (saphttp) can be used with the tia core CMIS interface as well. Then he could access via CMIS the old AL data.
A typical proxy sceenario is shown in the picture above. The customer uses the tia CMIS interface, the proxy configuration uses e.g azure blob storage as primary and kgsstore as secondary. Now he can archive via CMIS into a new storage for example azure blob storage (primary) and access legacy data (read only) via secondary and kgs store.
Availability
Please make sure you are using at least tia core version 2.4.2.
Configuration
The configuration has to be made in repository.cfg.
The content server type is now proxy.
Please respect, that the meta services are effected, as well.
Pay attention to the secondary meta type!
For performance reasons you van try to set usefallback
= false, but then it can lead to documents that are no longer found. Examples are documents that are decoded only once (on storage like data%37), documents that contains a plus (a+b.pdf is stored as a b.pdf) or documents with wrong encoding (stored like � � �+�.pdf
)
template
# the repository list for the default repositoryfactory.class repositoryfactory.repositorylist = T1 #---------------------- T1 sample configuration (proxy) ---------------------------------- #===== T1 repository configuration T1.contentservice.type = proxy T1.accessmode = rucd T1.description = T1 Proxy-Repository T1.saphttp.security = 1 T1.authentication.cmis.type = basic T1.authentication.cmis.idprovider = config T1.authentication.cmis.config.login1.user = admin:admin T1.authentication.cmis.config.login1.role = admin T1.configdata.filesystem.root = /temp/meta/ #===== T1 content service configuration (filesystem|azureblobstore|s3blobstore|kgsstore) T1.contentservice.proxy.primary.splitfilesystemv2.root = /temp/tiacore_data/ T1.contentservice.proxy.primary.splitfilesystemv2.contrepinpath = true T1.contentservice.proxy.primary.type = splitfilesystemv2 T1.contentservice.proxy.primary.accessmode = rw T1.contentservice.proxy.secondary.type = kgsstore T1.contentservice.proxy.secondary.accessmode = r T1.contentservice.proxy.secondary.kgsstore.configfile = /temp/proxy/legacy-storage.cfg T1.contentservice.proxy.secondary.kgsstore.context = default T1.metaservice.proxy.secondary.type = kgsstore #===== T1 keystore service configuration (none|pkcs12) T1.keystoreservice.type = pkcs12 T1.keystoreservice.pkcs12.name = tiacore T1.keystoreservice.pkcs12.path = /temp/ #===== T1 meta service configuration (none|elastic|database|kafka) T1.metaservice.type = proxy T1.metaservice.elastic.host = http://elasticsearch:9200 T1.metaservice.elastic.index.write = tiacore-meta T1.metaservice.elastic.index.search = tiacore-meta T1.metaservice.elastic.index.update = tiacore-meta T1.metaservice.elastic.index.delete = tiacore-meta T1.metaservice.elastic.authentication.type = none #===== T1 meta service configuration (none|elastic|database|kafka) T1.protocolservice.type = none