public function build_frontend_meta_configuration(Request $request)
 {
     $url = $request->getPathInfo();
     $metaConfig = $this->pageMetaConfigurationService->findOneByUrl($url);
     // we have no saved configuration yet
     if (!$metaConfig) {
         // TODO: this is just a temporary approach
         // check if searchObjects attributes parameter has been set from the main controller
         if ($request->attributes->has('searchObjects')) {
             // this is a search results page
             $metaConfig = $this->pageMetaConfigurationService->buildFromSearchObjects($request->attributes->get('searchObjects'));
             $metaConfig->setUrl($url);
             // save this new config
             $this->pageMetaConfigurationService->save($metaConfig);
         } elseif (($institution = $request->attributes->get('institution', null)) && PageMetaConfiguration::PAGE_TYPE_INSTITUTION == $request->attributes->get('pageMetaContext', PageMetaConfiguration::PAGE_TYPE_STATIC)) {
             $metaConfig = $this->pageMetaConfigurationService->buildForInstitutionPage($institution);
             $metaConfig->setUrl($url);
             // save this new config
             $this->pageMetaConfigurationService->save($metaConfig);
         } elseif (($institutionMedicalCenter = $request->attributes->get('institutionMedicalCenter', null)) && $institutionMedicalCenter instanceof InstitutionMedicalCenter && PageMetaConfiguration::PAGE_TYPE_INSTITUTION_MEDICAL_CENTER == $request->attributes->get('pageMetaContext', PageMetaConfiguration::PAGE_TYPE_STATIC)) {
             $metaConfig = $this->pageMetaConfigurationService->buildForInstitutionMedicalCenterPage($institutionMedicalCenter);
             $metaConfig->setUrl($url);
             // save this new config
             $this->pageMetaConfigurationService->save($metaConfig);
         } else {
             // we don't have dynamic ways for adding other pages
             $metaConfig = new PageMetaConfiguration();
             // set to default metas
             $metaConfig->setTitle($this->siteName . ' - Global Medical Tourism Directory');
             $metaConfig->setDescription('');
             $metaConfig->setKeywords('');
         }
     }
     $pageMetaVariables = $request->attributes->get('pageMetaVariables', array());
     // replace variables in description
     $metaConfig->setDescription($this->_supplyPatternVariables($metaConfig->getDescription(), $pageMetaVariables));
     // replace variables in keywords
     $metaConfig->setKeywords($this->_supplyPatternVariables($metaConfig->getKeywords(), $pageMetaVariables));
     return $metaConfig;
 }