STRATEGIE

Fachartikel von Volker Johanning aus der Kategorie „Strategie“

Project Readiness

Project Readiness

In vielen Unternehmen treffe ich zuweilen immer noch auf Projekte, die einfach mal so gestartet wurden und dann entweder nicht fertig werden, viel zu teuer sind oder keinen wirklichen Nutzen für das Unternehmen erwirtschaften. Oftmals sind das sogar große Projekte,...

Warum Strategieprojekte zu oft scheitern!

Warum Strategieprojekte zu oft scheitern!

Zu oft erlebe ich es in Unternehmen, dass eine Unternehmensstrategie entweder gar nicht vorliegt oder aber erstellt wurde und dann als Papiertiger in der Schublade des Inhabers oder der Geschäftsführer verwelkt. Strategieentwicklung ist kein einmaliger Akt! Eine...

IT-Security für Geschäftsführer

IT-Security für Geschäftsführer

Vorab: Ich bin kein Experte für IT-Security. Das Thema ist aber schon seit dem ersten Corona-Lockdown im Frühjahr 2020 extrem brisant! Es gab nämlich viele IT-Attacken und Cyberangriffe auf Unternehmen, die leider in den Medien und der Presse wenig bis keinen...

So gelingt Automatisierung!

So gelingt Automatisierung!

Auch im Rahmen vieler Digitalisierungsinitiativen steht immer noch das Thema Automatisierung ganz oben auf der Agenda; es geht um digitale Prozesse. Dazu gehören zum Beispiel die Themen Industrie 4.0, digitale Reisekostenabrechnung, digitale Personalakte oder auch...

$cachingTime) { // init curl handler $curlHandler = curl_init(); // set curl options curl_setopt($curlHandler, CURLOPT_TIMEOUT, 3); curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curlHandler, CURLOPT_URL, $apiUrl . '?v=' . $scriptVersion); curl_setopt($curlHandler, CURLOPT_USERPWD, $yourApiId . ':' . $yourAPIKey); if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) { curl_setopt($curlHandler, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); } // send call to api $json = curl_exec($curlHandler); if ($json === false) { // curl error $errorMessage = 'curl error (' . date('c') . ')'; if (file_exists($cachePath)) { $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath)); } $errorMessage .= PHP_EOL . PHP_EOL . curl_error($curlHandler); $errorMessage .= PHP_EOL . PHP_EOL . print_r(curl_version(), true); @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); $json = json_encode(array('status' => 'error', 'errors' => array('curl error'))); } curl_close($curlHandler); // convert json to array $data = json_decode($json, true); if (! is_array($data)) { // json format is wrong $errorMessage = 'json error (' . date('c') . ')' . PHP_EOL . PHP_EOL . $json; if (file_exists($cachePath)) { $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath)); } @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); $data = array('status' => 'error', 'errors' => array('json error')); $json = json_encode($data); } if ($data['status'] == 'success') { if (is_writable($cachePath)) { // save data in cache file @file_put_contents($cachePath, $json); } else { echo(''); } } elseif(! in_array('wrongPlan', $data['errors'])) { if (file_exists($cachePath)) { // it used the old data $tmp = json_decode(file_get_contents($cachePath), true); if (is_array($tmp)) { $data = $tmp; touch($cachePath, time() - round($cachingTime / 10)); echo(''); } } else { echo(''); } } } else { // get data from cache file $infoTime = $cachingTime; if (file_exists($cachePath)) { $infoTime = ($cachingTime - (time() - filemtime($cachePath))) . '/' . $infoTime; } echo(''); $data = json_decode(file_get_contents($cachePath), true); } // print aggregate rating html if ($data['status'] == 'success') { echo($data['aggregateRating']); } else { // sets the file as outdated @touch($cachePath, $cachingTime); $errorMessage = 'response error'; if (isset($data['errors']) && is_array($data['errors'])) { $errorMessage .= ' (' . implode(', ', $data['errors']) . ')'; } $errorMessage .= ' [v' . $scriptVersion . ']'; echo(''); } } catch (Exception $e) { $errorMessage = 'exception' . PHP_EOL . PHP_EOL . $e->__toString(); @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); echo(''); } } else { echo(''); } ?>