Infographik von Wrike – aufgaben online verwalten
-> Die Evolution des Büro-Menschen (groß)
Posted on 28. Juni 2017 Comments
Posted on 2. Mai 2017 Comments
In Cafés wie Balzac oder Starbucks oder anderen öffentlichen Hotspots in Deutschland muss man sich häufig anmelden bzw. bekommt Login Daten an der Kasse. Diese muss man dann in ein captive portal eintragen, damit der Internetzugang am WiFi freigeschaltet wird. Blöd nur, wenn sich nicht einmal die Login Seite öffnet. Das könnte natürlich daran liegen, dass der DHCP Server am Router spinnt, der Laptop/Tablet/Smartphone einfach mal neugestartet werden muss oder sonst irgendein Fehler vorliegt. Speziell bei Hotsplot (z. B. bei Balzac) liegt die Login Seite allerdings im Internet, irgendwie ein Catch 22.
Das heisst, bevor der Laptop die Seite öffnen kann, muss die Adresse der Login Seite (https://hotsplots.de/login/auth.php?…) erst einmal aufgelöst werden. Blöd auch, dass im Router nur Port 80 (HTTP) freigeschaltet ist und nicht auch Port 53 (DNS). Das ist bei mobilen devices meist kein Problem, da diese über eine Mobilfunkverbindung die DNS Query absetzen. Bei Laptops wird das schon schwieriger, wenn die IP-Adresse nicht im Cache ist. Über WISPr sollte eigentlich der Browser weitergeleitet werden, kann aber wie gesagt die Seite nicht auflösen.
Lösung
1. Auf Smartphone eine Netzwerk Analyse App wie z. B. Fing herunterladen.
2. DNS Query oder z. B. ping für Login Seite (hotsplots.de) absetzen oder sonst irgendwie die IP zur Login Seite herausfinden
3. Adresse und Domain in /etc/hosts (Linux/MacOS) bzw. Reg %SystemRoot%\system32\drivers\etc\hosts (Windows)eintragen
92.51.175.170 www.hotsplots.de 172.18.10.10 www.wifionice.de
4. Login Seite aufrufen und einloggen.
Warum die Anbieter nicht einfach Port 53 freischalten?
Eine Vermutung könnte sein, dass man diese Verbindung mittels iodine nutzen könnte um kostenlos im Internet zu surfen. Ob das wirklich ein so großes Problem ist wage ich aber zu bezweifeln.
Posted on 2. März 2017 Comments
Another way to use the PHP library shipping-service-provider-check apart from fixing the shipping providers in the ERP Plentymarkets is a simple quick and dirty PHP script that redirects to the tracking page of a fitting shipping provider. You can find the whole sourcecode on GitHub.
Installation
If you don’t use some sort of MVC this is a quick way to do it. If you do, I suspect you’ll know how to alter this example to fit your system. Feel free to write me an e-mail or comment if you need help
Explanation of the code
The $trackingId variable is received via HTTP GET. This means the URL would be http://url.tld/trackingscriptfolder/script.php?tracking_id=123456 (or without the script.php in case of the .htaccess), where 123456 is the TrackingID. The rest is more or less just for debugging. The scripts returns a HTTP Code 422 and ends if there is no input given.
$trackingId = $_GET["tracking_id"]; if (empty($trackingId)) { $unprocessableEntity = 422; http_response_code($unprocessableEntity); echo "wrong input"; return; }
Next the URLs will be defined. The keys have to match the shipping providers so make sure the shipping providers are added at the library as well. The TrackingID will be added at the end of the URL, so make sure they have the right format.
$shippingProviderURLs = [ "dhl" => 'https://nolp.dhl.de/nextt-online-public/set_identcodes.do?idc=', ... ];
Then follows the documented way of checking for the providers. It could technically be that at the same time a TrackingID is valid for more than one provider. To keep things simple, we’ll just use the first one (array_search instead of array_keys). In case there is none found, array_search returns false and the script continues. In case there is one found, the header() function is called to redirect the user to the correct provider page.
$checkedProvider = array_search(true, $result); $urlOfCheckedProvider = $shippingProviderURLs[$checkedProvider]; if ($checkedProvider !== false) { header('location: ' . $urlOfCheckedProvider . $trackingId); }
Now it’s up to you what you will do with the ones you can’t redirect. I decided to write a little skeleton.html file and include that with a simple message that the user could try the shipping providers where a check is not possible (no API, no website scraping, no regex). They are listed earlier:
$shippingProviderURLsNoCheck = [ "DPD" => 'https://tracking.dpd.de/parcelstatus?query=', ...
Posted on 27. Februar 2017 Comments
The popular ERP Plentymarkes let’s you send your orders via the Fulfillment by Amazon program to your customers. Amazon is just used as a logistics partner, the order doesn’t have to come via Amazon. It could e.g. be a Rakuten or eBay order. The problem that Plentymarkets didn’t address at all and is discussed in the private forums, is that Amazon chooses whatever shipping company they seem fit.
Every order has a standard shipping provider and with it comes a URL for tracking the package. Most of the vendors would implement an event procedure („Ereignisaktion“) that sends an email to the customer containing the order and the TrackingID as soon as it’s shipped. The TrackingIDs are directly imported from Amazon. Unfortunately Plentymarkets does not change the shipping provider in case it’s not the default one (which is often the case). So the customer gets wrong information.
In one of last last blogposts I introduced a PHP package to check which shipping provider a TrackingID belongs to by either scraping their website or using a regular expression and filtering for common patterns. In this blog post I want to explain how to use it to fix those orders. You will need a webserver with PHP and MySQL and a little knowledge of programming and Linux.
You can find some simplified code examples on GitHub soon.
Posted on 22. Januar 2017 Comments
If you use the IDE atom.io with some sort of remote sync/scp/sftp package you can’t just use ssh-keys out of the box, if you set them up with a passphrase (which you should!). Here’s the 3 options most plugins offer:
The problem with #2 is, that you would have to save your passphrase in a clear-text file which is never a good idea. But you can use the ssh-agent on MacOS the following way:
Posted on 19. Januar 2017 Comments
Posted on 6. Januar 2017 Comments
echo QWxhZGRpbjpvcGVuIHNlc2FtZQ== | base64 --decode
Posted on 15. Dezember 2016 Comments
Infographik von Wrike – im team arbeiten
Posted on 12. Dezember 2016 Comments
Infographik von Wrike – aufgabenverwaltung app
Posted on 9. November 2016 Comments
Infographik von Wrike – arbeiten im team