BSH feiert seine 50 Jahre

Der Begriff “Riese” um BSH (u. a. Siemens, Bosch, Neff und Gaggenau) zu beschreiben, ist sicherlich bestens geeignet. BSH ist nach eigenen Angaben weltweit die Nummer zwei (Nummer 1 in Europa) mit 41 Produktionsstätten rund um den Globus und ca. 13 Milliarden Euro Umsatz in 2016. Wahrscheinlich hat einer jeder einige deren Produkte/Geräte im Haushalt.

Um seine 50 Jahre Geschichte seit der Entstehung voller Innovationen zu dokumentieren und in einem gut strukturierten Format zu präsentieren hat sich BSH für MediaWiki entschieden: die bekannteste Open Source Wissensdatenbank, mit der auch Wikipedia bzw. für Wikipedia erstellt wurde.

Managed MediaWiki von SaaS Web

Pflege der Anwendung, Updates, tägliche Backups, Monitoring der Verfügbarkeit und Performance, es gibt zahlreiche Gründe das Managed Angebot von SaaS Web zu nutzen – BSH hat sie erkannt.

SaaS Web sponsort den MediaWiki Hackathon Wien 2017

Nach Lyon (Frankreich) und Jerusalem (Israel) wird der MediaWiki Hackathon in Wien ausgetragen. Parallel zu dem Coding Event findet die Fantastic MediaWikis Conference statt zu der u. a. bekannte Referenten Vorträge halten wie z. B. Richard Heigl (BlueSpice) oder Markus Glaser (BlueSpice).

SaaS Web wird international

Endlich gibt es die SaaS Web Homepage auch auf französisch und englisch.

Die französischsprachigen Seiten sind unter https://www.saasweb.net/fr aufrufbar und die englischsprachigen unter https://www.saasweb.net/en. Nicht nur die Homepage mit den Managed Applications wurde übersetzt, sondern auch dieser Blog. Noch gibt es keine/kaum anderssprachige Inhalte, aber mit der Zeit wird sich das natürlich ändern.

SaaS Web hat seit dem 15. Januar eine neue Mitarbeiterin, Anne-Gaële Wulkow, zuständig für Marketing – insbesondere für den französischen Markt.

 

 

.shop TLD und Managed Hosting – das SaaS-Dilemna

Hä?! Nein, ihr habt schon richtig gelesen 😉

Als SaaS Web haben wir lange versucht unsere Produkte rund um das Wort, besser den Begriff, SaaS (Software as a Service) zu etablieren. Wir mussten allerdings feststellen, dass SaaS doch viel weniger gesucht oder benutzt wird, als wir dachten. Die meisten Menschen, die Software as a Service benötigen – zumindest was unsere Produkte angeht – suchen nach Managed Hosting.

So kommt es, dass wir uns auch neue Domains zugelegt haben: managedhosting.shop bzw. managed-hosting.shop um damit besser zu verdeutlichen was wir anbieten: Managed Hosting 🙂 Und ja, die Registrierung von .shop Domainendungen gibt es seit dem 26. September. So schließt sich der Kreis und der Titel dieses Beitrages ergibt einen Sinn…

WordPress Meetup Karlsruhe #10

Das WordPress Meetup Karlsruhe ist das Treffen für WordPress-Nutzer, Entwickler und Designer, um sich in einem bequemen und ruhigen Ambiente auszutauschen und zu netzwerken. Wir legen Wert darauf, jede Veranstaltung zu einem Erlebnis werden zu lassen, an das sich die Teilnehmer auch gerne erinnern.

WordPress Meetup Karlsruhe #4

Dieses Meetup wird mit OVH als Partner organisiert und finanziert.

Die Location: Café Palaver im Gewerbehof.
Adresse: Steinstraße 23, 76133 Karlsruhe.

Cafe Palaver

Die Speaker

Monique Koepke
Speaker Bio: Studium der Visuellen Kommunikation an der Fachhochschule für Gestaltung in Pforzheim. Seit 5 Jahren selbstständig als Kommunikations-Designerin, mit Schwerpunkt im Bereich Web-Design.
Monique Koepke

Tricks und Tipps im Workflow zwischen Photoshop und WordPressWenn man sich mit modernem Webdesign auseinander setzt, kommt um die Themen Responsive Webdesign, WordPress und Photoshop nicht herum. In meinem Vortrag geht es darum den Workflow zwischen Photoshop/ Webdesignern und WordPress/ Webentwicklern zu optimieren.

Daniel Jagszent
Speaker Bio: Ich bin für das Studium der Informatik am Karlsruhe Institute of Technology (KIT) von Schleswig-Holstein in den Süden Deutschlands gezogen. Ich kann auf mehr als 10 Jahre Erfahrung in den meisten Teilbereichen der professionellen Webentwicklung zurückblicken.
Daniel Jagszent

Custom Post Types: Piklist vs. PodsDieser Vortrag soll eine kleine Einführung in Custom Post Types sein anhand zweier Plugins zeigen, wie man sie benutzen kann.

Frank Puhl
Speaker Bio: Frank Puhl ist Senior Support Advisor bei OVH. Er ist seit 1995 im IT Supportbereich tätig in den Bereichen Technik, Security, Redaktion und Social Media.
Frank Puhl

Lösungen für die Zukunft – dynamische IT Strukturen für erfolgreiche (WordPress-) ProjekteWelche technischen Ansprüche bringt die digitale Revolution für zukunftssichere skalierbaren Plattformen mit sich und welche innovativen Lösungen bietet der europäische Marktführer und einer der führenden Anbieter von IT-Infrastrukturen weltweit?

Sponsoring

Premium Sponsor

OVHMit rund 200.000 Servern ist OVH europäischer Marktführer und einer der führenden Anbieter von IT-Infrastrukturen weltweit.* Das ISO/IEC 27001 und SOC zertifizierte Unternehmen betreibt 17 hochmoderne Rechenzentren in Europa und Nordamerika sowie ein eigenes Glasfasernetzwerk mit einer Gesamtbandbreite von 3,5 TB/s und 33 Präsenzpunkten auf 3 Kontinenten. Die Produktpalette umfasst eine große Auswahl an Dedicated Servern, individuelle Cloud-Architekturen sowie Domains & Webhosting. OVH bietet für jeden Bedarf die passende technische Lösung und zählt sowohl Privatpersonen als auch kleine und mittelständische Unternehmen sowie internationale Konzerne zu seinen Kunden. In Deutschland ist OVH seit 2006 am Markt. Sitz der deutschen Niederlassung ist Saarbrücken.

OVH Website

Anmeldung zum Event

<<  Hier geht es zur Anmeldung  >>

https://www.xing.com/events/4-wordpress-meetup-karlsruhe-29-april-1547842

Das After-Meetup

Wie es sich zu einem gelungenen Karlsruher WordPress Meetup gehört, gibt es zum Schluss leckere Cocktails – ausgewählt von Craig. Dieses Mal möchten wir auch den Autofahrern etwas bieten und haben einen einfachen aber leckeren Drink im Programm.

Tom CollinsEin Collins (Mehrzahl Collinses) ist ein alkoholhaltiger Cocktail, der auf dem klassischen Sour (Spirituose, Zitronensaft, Zuckersirup) aufbaut, aber wie ein Fizz zusätzlich Sodawasser enthält. Er gehört damit zu den Longdrinks. Da Kombinationen mit nahezu jeder Basisspirituose möglich sind, bilden Collinses eine eigene Drinkgruppe und werden entweder nach der enthaltenen Spirituose benannt (zum Beispiel Wodka Collins, Rum bzw. Ron Collins, Brandy Collins) oder mit Spitznamen bezeichnet, die sich für viele geläufige Kombinationen etabliert haben. Bekannte Beispiele sind die bereits im 19. Jahrhundert in den Vereinigten Staaten sehr populären John Collins und Tom Collins, die meist mit Gin oder Old Tom Gin, seltener mit Genever oder Bourbon Whiskey gemixt werden.

NegroniDer Negroni ist ein klassischer, aus Italien stammender Cocktail. Er wird von der International Bartenders Association in der Kategorie Pre-Dinner Cocktail (Aperitif) aufgeführt. Der Negroni wurde in Florenz im Caffè Casoni in der Via de′ Tornabuoni erfunden. Er ist nach dem Grafen Camillo Negroni benannt, der beim Barkeeper (Fosco Scarselli) zwischen 1919 und 1920 zum ersten Mal einen mit Gin verlängerten Americano bestellte.

Whiskey sourAls Sour bezeichnet man einen alkoholhaltigen Cocktail, der aus einer Spirituose, Zitronensaft und Zucker besteht. Er stellt die Urform einer ganzen Gattung von Cocktails dar, die alle auf dem Grundprinzip Spirituose – Süßungsmittel – saurer Zitrussaft aufbauen. Wenn die Spirituose ein Likör ist, lässt man den Zucker weg oder reduziert zumindest seine Menge. Die bekanntesten Sours, die die Gattungsbezeichnung auch im Namen tragen, sind Whiskey Sour, Pisco Sour und Amaretto Sour.

Eklärungen zu den Cocktails wurden von Wikipedia gecloud:
Tom Collins
Negroni
Whiskey Sour

Und hier das Cocktail ohne Alkohol: Lazy Lemonade

* 2.5 cl Zitronen-Minze Sirup
* 15 cl Sodawasser
..serviert auf Eis mit einem kleinem Zweig Minze

Details zum Meetup

3. WordPress Meetup Karlsruhe

Das dritte WordPress Meetup in Karlsruhe wird von Commodore Room und SaaS Web organisiert.
Wir möchten Themen für alle Zielgruppen bieten, also sowohl Endnutzer als auch Designer, Entwickler oder Administratoren; dieses Mal wieder geht es Design & Layout, bzw. um das Thema “wp-finder” (am 3.12. angesprochen).

Sponsor des Events ist Hochquadrat, ein Karlsruher Netzwerk aus Medienexperten.

WordPress Meetup Karlsruhe #2 am 3. Dezember

WP-Meetup-Karlsruhe-squareEs geht weiter! Nach dem ersten WordPress Meetup  in Karlsruhe folgt nun der nächste. Das Meetup wird im Vanguarde veranstaltet, ein Co-Working Space im Westen von Karlsruhe – Stadtteil Mühlburg – in einem alten Brauereigebäude (Seldeneck’sche Brauerei). Es geht um 19h los und soll bis 21h gehen, anschließend, für diejenigen, die noch gerne bleiben möchten, werden wir noch ein After-Meetup auf die Beine stellen.

Das Event wird von 1&1 gesponsort – Raummiete, Catering und Media. Die Organisation des Meetups wird von Commodore Room und SaaS Web übernommen.

Location
Vanguarde
Hardtstr. 37a
76185 Karlsruhe-Mühlburg
Datum / Zeit
03.12.2014
19h-21h

Hier geht es zur Anmeldung für das Event.

Hier geht es zur Event Website.

 

Selbstverwaltete WordPress Installationen für Malware und Spam misbraucht

WordPress LogoEine am 24.03. veröffentlichte Studie von Netcraft zeigt, dass ca. 8% der Malware Sites weltweit eine WordPress-Basis gemein haben. Scheinbar wurden dabei allerdings keine Websites identifiziert, die bei WordPress.com gehostet werden (auch nicht bei SaaS Web), was die Vermutung nahe legt, dass es sich um schlecht gewartete WordPress Installationen handelt. Wie bereits in älteren Posts erwähnt, ist vor allem bei PlugIns darauf zu achten, eine gute Auswahl zu machen und die Erweiterungen zeitnah aktuell zu halten.
Bei SaaS Web brauchen Sie sich keine Gedanken um die Wartung der Anwendung oder der PlugIns und Themes zu machen. SaaS Web pflegt die Anwendung für Sie, erstellt täglich Backups und prüft regelmäßig die Installationen nach Schadsoftware bzw. stellt sicher, dass die Anwendung läuft wie sie soll.

FindNames :: SaaS Web startet Domainbestelldienst (Beta) :: www.findnames.eu

Endlich ist es soweit, es ist nun für Jedermann möglich auf findnames.eu seine Wunschdomain zu bestellen. Die Preise sind knapp kalkuliert und es gibt keine Einrichtungsgebühr. Wer möchte kann auch E-Mail und Webhosting dazubuchen.

Wir freuen uns natürlich auf Anmerkungen und Anregungen jeder Art.

Natürlich ist es auch bei uns möglich Domains für mit den neuen/kommenden TLDs zu reservieren (.berlin, .web, ..).

findnames

Es gibt auch einen Bereich um existierende Domains zu kaufen.

Wie kann man die Rufnummer bei Telefonaten zwischen Sipgate Teilnehmern und Asterisk anzeigen (anstatt interne Sipgate-ID)?

AsteriskAnrufe zwischen Sipgate Teilnehmern werden automatisch als SIP-Anrufe geroutet, selbst wenn man die “externe” Telefonnummer anruft. Das hat den Vorteil, dass die Anrufe zwischen den Sipgate Teilnehmern nichts kosten, da die Telefonate über Internet abgewickelt werden. Schön wäre es aber auch zu wissen, wer mich anruft 😉

Problem:
In der From-Header steht dann nicht die Telefonnummer des Anrufers sondern die SIP-URL (z.B. <sip:12345e0@sipgate.de>). Die von Asterisk gesetzte Variable CALLERID(num) beinhaltet dann nur noch die Sipgate SIP-UserID wie z.B. 12345e0. Die an Asterisk angeschlossenen Telefone können meistens damit nichts anfangen. Wenn die ID einen Buchstaben enthält (hier im Beispiel ‘e‘), führt es dazu, dass manch ältere Telefone gar keine Rufnummer anzeigen. Besonders ärgerlich ist es, wenn man einen Anruf verpasst hat und die Rufnummer nicht mehr zuordnen kann, wer tatsächtlich angerufen hat.

Lösungsweg:
Schaut man sich die SIP Header an, stellt man fest, dass die gewünschte Information in dem Headerelement “P-Asserted-Identity” enthalten ist:

INVITE sip:5000@10.0.0.33 SIP/2.0
...
From: <sip:12345e0@sipgate.de>;tag=CAFEBABE
To: <sip:072198765432@sipgate.de>
Contact: <sip:12345e0@12.34.56.78;uniq=CAFEAFFE23>
...
P-Asserted-Identity: <sip:072112345678@sipgate.de>

Bei anderen Anbietern kann das Format abweichen. Mehr dazu in http://www.ietf.org/rfc/rfc3325.txt.

Zwecks Demonstration habe ich einen kleinen Dialplan für Asterisk geschrieben:

; debug
exten => 5000,1,NoOp(Caller-ID: ${CALLERID(all)})
exten => 5000,2,NoOp(SIP From: ${SIP_HEADER(From)})
exten => 5000,3,NoOp(SIP To  : ${SIP_HEADER(TO)})
exten => 5000,4,NoOp(SIP PAI : ${SIP_HEADER(P-Asserted-Identity)})

; try to extract phone number from sip header P-Asserted-Identity
exten => 5000,5,Set(FON=$["${SIP_HEADER(P-Asserted-Identity)}" : "<sip:([0-9]+)"])
exten => 5000,6,ExecIf($[${ISNULL(${FON})}=0]?Set(CALLERID(num)=${FON}))

; debug
exten => 5000,7,NoOp(Caller-ID: ${CALLERID(all)})
...

Erläuterung:
5: Wir extrahieren die Nummer mit RegExp und speichern das Ergebnis in die Variable FON.
6: Falls FON nicht null ist, ersetzen wir die CALLERID(num) mit dem Wert von FON.

Hier zwei UseCases und Ausgabe von Asterisk:
Teinehmer für das Beispiel (Telefonnummer, IPs sowie alle TAGs sind verschleiert).
Angerufene (Asterisk mit Sipgate-Account):
– Telefonnumber = 072198765432
Anrufer 1 (Fritzbox mit Sipgate-Account):
– Sipgate ID = 12345e0
– Telefonnumber = 072112345678
Anrufer 2 (Mobil):
– Telefonnumber = 017112345678

Case 1: Anrufer 1 (sipgate -> sipgate):

-- Exec...1] NoOp("SIP/sipgate.de-000000b6", "Caller-ID: "" <12345e0>") in new stack
-- Exec...2] NoOp("S..b6", "SIP From: <sip:12345e0@sipgate.de>;tag=CAFEBABE") in new stack
-- Exec...3] NoOp("S..b6", "SIP To  : <sip:072198765432@sipgate.de>") in new stack
-- Exec...4] NoOp("S..b6", "SIP PAI : <sip:072112345678@sipgate.de>") in new stack
-- Exec...5] Set("S..b6", "FON=072112345678") in new stack
-- Exec...6] ExecIf("S..b6", "1?Set(CALLERID(num)=072112345678)") in new stack
-- Exec...7] NoOp("S..b6", "Caller-ID: "" <072112345678>") in new stack
-- Exec...8] ...

Exec…5: Die externe Rufnummer des Anrufers wurde in FON reingeschrieben
Exec…6: 1? => Kondition erfüllt => ersetze CALLERID(num)
Exec…7: Verifizierung, dass die Nummer ersetzt wurde (vgl. Exec…1)

Case 2: Anrufer 2 (mobil -> sipgate):

-- Exec...1] NoOp("S..b8", "Caller-ID: "017112345678" <017112345678>") in new stack
-- Exec...2] NoOp("S..b8", "SIP From: "017112345678" <sip:017112345678@sipgate.de>;tag=cafebabe") in new stack
-- Exec...3] NoOp("S..b8", "SIP To  : <sip:004972198765432@sipgate.de>") in new stack
-- Exec...4] NoOp("S..b8", "SIP PAI : ") in new stack
-- Exec...5] Set("S..b8", "FON=") in new stack
-- Exec...6] ExecIf("S..b8", "0?Set(CALLERID(num)=)") in new stack
-- Exec...7] NoOp("S..b8", "Caller-ID: "017112345678" <017112345678>") in new stack
-- Exec...8] ...

Exec…5: Patternmatching schlägt fehl, da der Header nicht gesetzt ist, somit is die Variable FON null.
Exec…6: 0? => Kondition nicht erfüllt => nichts tun
Exec…7: Verifizierung, dass die Nummer unverändert geblieben ist (vgl. Exec…1)

Die Endgräte zeigen nun immer die externe Rufnummer des Anrufers an. Somit kann der Anrufer bei einem verpassten Anruf auch zurückgerufen werden.

Viel Spass,

= C. | SaaS Web Techniklabor =

P.S.: Lustig ist, dass die App von Sipgate auch nur die interne ID anzeigt (“Anruf von 12345e0”) und man verwirrt ist, wer nun wirklich anruft…

Multilinguale Homepage mit WebsiteBaker

Dieses einfache CMS ist für viele kleinere Projekte mit Sicherheit bestens geeignet. Wenig Schnickschnack, dafür leichtverständliche Menues in einem schlichten Design.

Besonders interessant sind 2 Aspekte:

  1. Eigene Templates: das Template System ist sehr einfach; Sie können in wenigen Minuten eigene Seiten erstellen, genau wie Sie es sich wünschen.
    • Schritt eins: Verzeichnis erstellen mit dem Namen der Vorlage
    • Schritt zwei: Dateien info.php, index.php und template.css anlegen (Mindestanforderung).

      Besser ist es noch ein /images Verzeichnis zu erstellen, um Bilder und Icons für das Template abzuspeichern.
    • Schritt drei: In info.php die Bereiche angeben, die genutzt werden; zunächst Metadaten, um das Template beim Import richtig in die Datenbank einzutragen. Es muss auch angegeben werden, ob es mehrere Navigationsmenues gibt, mehrere Contentbereiche, …
    • Schritt vier: In index.php nun eine HTML Ansicht der Seite vorbereiten und mit den PHP-Befehlen page_header(), show_menu(), page_content() und page_footer() die wichtigsten CMS-gesteuerten Bereiche anlegen.
      PS: show_menu2() ist eine neue Variante für die Navigationsanzeige und sollte möglichst an der Stelle von show_menu() genutzt werden, vor allem wenn man verschachtelte Navigationen einsetzt.
    • Schritt fünf: Verzeichnis zippen und als Vorlage in WebsiteBaker importieren. Ab dann kann das Template auch direkt in der WebsiteBaker Installation bearbeitet werden und muss nicht permanent neu gezipped und hochgeladen werden.

    Doku zu dem Thema gibt es hier.

  2. Multilingual: einfach Sprach-Container anlegen und schon hat man eine Sprachtrennung – URL rewriting wird automatisch eingestellt.

Natürlich hat SaaS Web gehostete WebsiteBaker Pakete im Sortiment.