FAQ - Frequently Asked Questions

General

Services and their usage in applications

F: I would like to know in which applications a specific WMS service is registered. Is there a way to achive that?

A: Until we provide this information in the Administration Interface, this statement may help you:

SELECT mb_core_application.* from mb_core_application, mb_core_layerset, mb_core_sourceinstance, mb_wms_wmsinstance, mb_wms_wmssource, mb_core_source
where
-- applications and their layersets
mb_core_application.id = mb_core_layerset.application_id and
-- layersets and their instances
mb_core_layerset.id = mb_core_sourceinstance.layerset and
-- layerset-instances and wms-instance
mb_core_sourceinstance.id = mb_wms_wmsinstance.id and
-- wms-instance and wms-source
mb_wms_wmsinstance.wmssource = mb_wms_wmssource.id and
-- wms-source and mb3-core source
mb_wms_wmssource.id = mb_core_source.id and
mb_core_source.id = <id_of_the_wms>;

For the ID <id_of_the_wms> go to the Data Source page and take the number which is assigned to the specific WMS.

Performance

Working with large wms clients

Q: During the upload of large wms into an application (e.g. wms with more than 100 layers), the configuration of the Layerset-Instance only takes and presents an incorrect amount of layers. In addition, the wms instance cannot be saved. Why?

A: To solve the problem, navigate to the php parameter max-input_vars. It defines the number of possible input variables. The default value is 1000 (depending on the php version). In a wms with many layers, the number of input values is higher than the default value. You have to change the parameter to a higher value (e.g. 2000). Notice that the number is directly dependent to the amount of layers in a wms.

;; 1000 (default) or more
max_input_vars = 1000

The access to an Oracle database is too slow

Q: Mapbender seems to have a poor performance while accessing Oracle databases. I noticed this because queries need more time than usual. Can I accelerate the process?

A: There are two parameters in php.ini which may tweak the performance of Mapbender with Oracle databases: oci8.max_persistent and oci8.default_prefetch. Adjust these parameters to:

oci8.max_persistent = 15
oci8.default_prefetch = 100000

Furthermore, change the respective persistent database connection parameter in config.yml to true.

persistent=true

My application cannot be duplicated

Q: I made a highly complex application and want to duplicate it, but it does not work.

A: A possible reason for this is that php does not allow a workflow with big files (YAML-export/import/etc.). The problem occurs especially in FastCGI. Just adjust the php parameter MaxRequestLen (you can do that in the configuration of FCGI).

# mod_fcgi.conf (Windows)
# set value to 2 MB
MaxRequestLen = 2000000

# fcgid.conf (Linux)
# set value to 2 MB
MaxRequestLen 2000000

Simutaneously, you should check the php values in php.ini:

max_execution_time = 240
memory_limit = 1024M
upload_max_filesize = 2M