Google Apps SSO: SAML2 Authentication with PHP

You would like to use the Single Sign On (SSO) feature in Google Apps in your PHP application?

According to Google you are advised to use simplesamlphp.

In my opinion simpleSAMLphp has grown to a full suite of SAML modules and the amount of code and possibilities to configure things make it more complex than simple. (There is good documentation though, so its not too hard to really get a single installation up and running [given you have the right server, php mods and access rights on your hosting machine]).
I did not need the various modules supplied with simpleSAMLphp – i looked for a straight way to create the SAMLResponse for Google Apps to act as Identity Provider (IdP) – nothing more and nothing less.
In addition to that simpleSAMLphp was no real option for me as i did not want to put ~1000 files of code into my application – i wanted a very small part of code that i can easily review and check and then embed in my own application.

So i started to read documentation, support forums etc. etc. and although my XML looked good – Google Apps “was not able to parse the login”. Reading the google SAMLsupport forum did not really help either as the current message of the day is: “Use simpleSAMLphp!”.

So i ended up with installing simplesamlphp anyway, because it seemed the only way to get an accepted XML request to check against (the templates you find in the google docs are all outdated).
If you are in a similar position my advice is to use an online xml compare tool and check all differences you find against a known valid SAMLresponse.
There are so many small caveats you can run into that it’s hard to list them all. A quick checklist would something like this:

  • Do you have the assertion signed? (Signing the response is optional, skip it if you trace errors)
  • Does your ID attribute start with a letter? (not a number)
  • Make sure your namespaces and attributes are right (i ended up with “Id” and “ID” attributes simultanously at one point when working with the xmlseclibs)
  • Is your key formatted the way your signature code/library needs it? [e.g. RSA-SHA1 in PEM format]

Long story short – i have successfully created a simple php script which is able to create a SAMLresponse accepted by google apps:

SAMLResponse PHP Script to use as IdP for Google Apps

Here is the code, plain and simple for you to copy, learn and use as you wish. As usual: no warranty, no obligation, no fee – just a free code sample:

» Download SAMLResponse.zip (16KB)
contains the xmlseclibs for you convenience.

Make sure you insert the private and public keys. You can generate them as described in the simpleSAML tutorial:

openssl genrsa -des3 -out googleappsidp.key 1024
openssl rsa -in googleappsidp.key -out googleappsidp.pem
openssl req -new -key googleappsidp.key -out googleappsidp.csr
openssl x509 -req -days 9999 -in googleappsidp.csr -signkey googleappsidp.key -out googleappsidp.crt

You’ll find the blocks for public and private certs in the response_params:


		$response_params['x509'] = <<<X509
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
X509;

		$private_key = <<<RSA_PRIVATE_KEY
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----
RSA_PRIVATE_KEY;

Example


//Somewhere in your code...

//Determine which user wants to login (check session.. have a login screen whatever - remember the 2 vars RelayState + SAMLRequest though)
$loginUser = 'john@my-google-domain.com';//John it is.. good

//Prepare the SAMLResponse and use HTTP-POST Binding to send the user to google apps.
$auth = new xauth_googleapps();
$auth->login($_GET['SAMLRequest'],$loginUser);

//This script is for demonstration purposes - the block below is a XSS vulnerability for sure, so make sure your code handles the GET vars with some respect ^^

$form = <<<FORM
	<h3>Redirecting you to Google</h3>
 <form method="post" action="{$auth->acs_url}">
   <input type="hidden" name="RelayState" value="{$_GET['RelayState']}" />
   <input type="hidden" name="SAMLResponse" value="{$auth->SAML_response}" />
   <input type="submit" value="Submit" />
 </form>
 <script>document.forms[0].submit();</script>
FORM;
print $form;

Enjoy!

Veröffentlicht unter Google, Technik (LAMP), Webentwicklung | Hinterlasse einen Kommentar

Warum eine Portallösung der Marketingabteilung helfen kann

Marketingexperten sind bei internen Prozessen wichtiger Ansprechpartner: Wie können alte Strukturen aufgebrochen werden, wie gelingt es, das gesamte Team einzubeziehen? Der Aufbau einer sogenannten Enterprise 2.0 verbessert nicht nur die Absprachen und die Weitergabe von Wissen im Unternehmen, sondern erleichtert auch organisatorische Aufgaben für Marketingbeauftragte.

Baukasten-System
Ein Beispiel hierfür ist unsere Lösung xelos.net business. Durch den modularen Aufbau kann sie individuell zusammengestellt werden und gibt jedem Marketingverantwortlichen die Möglichkeit, die für ihn wichtigen Bestandteile auszuwählen. Innerhalb des sogenannten Basic Packs ist nicht nur das Content-Management-System enthalten, sondern auch der Baustein News, der Unternehmensnachrichten innerhalb des Systems verteilt. Er ist insbesondere für die Marketingabteilung interessant, da sie hier die interne Info-Verteilung intensivieren kann. Mit dem Mitgliederverzeichnis werden außerdem alle internen oder externen Kontaktdaten gepflegt, der Messenger kann zur Verwaltung von Mails eingesetzt werden.

Newsletter-Marketing und interne Struktur
Zahlreiche ergänzende Modul-Pakete stehen zur Wahl, die jederzeit zugeschaltet werden können. Mit dem CRM-Modul können z. B. eine unbegrenzte Anzahl von Kontakten verwaltet und individuelle Datenfelder sowie Suchfilter erstellt werden. Mit dem Newsletter-Modul können kundenspezifische Mailings anhand der CRM-Suchfilter erstellt und nach dem Versand statistisch ausgewertet werden können – die Messbarkeit der Marketingaktionen ist demnach gegeben und kann bei weiteren Aktionen als Argumentationsgrundlage genutzt werden.

Damit Arbeitstage strukturierbar sind, steht mit dem Personal Information-Paket ein Kalender bereit, der mit besonderen Freigaben versehen werden kann und die Abstimmung von Terminen erleichtert. Ein Eventplanner bietet darüber hinaus eine Übersicht über Seminare, Fortbildungen oder andere relevante Termine, die von der Marketingabteilung koordiniert werden. Innerhalb eines Dokumenten-Management-Systems (DMS) ist der Datenaustausch ebenso gegeben wie die Versionierung, der WebDAV-Zugriff oder der Direct Edit von Office-Dokumenten. Zusätzlich steht die Knowledge Database zur Verfügung, in neben allen anderen Mitarbeitern auch der Marketingverantwortliche beispielsweise über aktuelle Kampagnen berichten und auf die Erfahrungen aus vorigen Aktionen zurückgreifen kann.

Sozial und technologisch angebunden
Marketing ist auf die Zusammenarbeit mit Kollegen aus und über das Team hinaus angewiesen. Um diese zu optimieren, ist es im xelos.net Modul-Paket Social Collaboration möglich, Arbeits- und Projektgruppen sowie Wikis, Blogs oder Foren zu nutzen und den Informationsaustausch voranzutreiben. Wer beruflich viel unterwegs ist, greift über den Desktop Connector von jedem Ort auf Daten, Termine und Kontakte zu und synchronisiert einfach PC, Notebook und mobile Endgeräte. Per xelos.net Mobile App besteht außerdem die Möglichkeit, von nahezu jedem Smartphone aus auf plattforminterne Daten zuzugreifen.

Veröffentlicht unter Enterprise 2.0 | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

TSUNG GUI

Load and Stress tests are a vital thing to do when developing web applications, intranet or community systems. During our development on xelos.net we do performance tests on a regular basis to ensure that the software is running as smoothly as possible on the hardware given. The data and insights we gain from those loadtests tell us roughly how many cluster nodes a specific setup might need (or wether it can run on a single box). Although loadtests cannot foresee every case in the real world, you can still see how many users a software/hardware combination is likely to handle well and when it’s bound to fail for sure.

When we looked for a good stress-testing plattform we decided to use TSUNG – an open-source multi-protocol distributed load testing tool. The major features we like on tsung is the way to setup individual clickpaths to simulate different users and be able to literally have thousands of those users clicking through our loadtest setup. To make loadtesting easy and try out lots of different combinations, we’ve setup a cluster within Amazon EC2 (Sadly this setup got wiped out last week by the problems amazon had in its dublin datacentre – together with the recovery snapshots of course :( ).

So i’m not going to talk about this setup further, maybe sometime later when we recovered it.

TSUNG UI

One thing we had a backup from was our TSUNG UI though and thats a piece i’d like to make available today for anyone to make good use of. Tsung is usually managed with shellcommands and while the setup is straightforward, it’s always a bit tedious to work with it on a regurlar basis. We wanted our developers to be able to launch a test against their EC2 instance very easily and often. To make this a bit simpler we’ve wrapped the important shell commands to start a test and create the report into a few lines of PHP/mysql code (Please note that the code is from a backup and although i checked it through, there might still be a little bit tweaking for you to do).

PHP/mysql interface for TSUNG

You can setup different Test-Scenarios (individual config and clickpath xmls used by tsung) and add a run task for tsung over the GUI. An additional comment can be used to note changes you did to your target machine (we usually end up tweaking some parameters and repeat the process to compare the results). During the loadtest this interface will display status information on the running test. When the test is completed these script will automatically trigger the tsung_stats.pl and generate the html report. You can then access the report right from the gui.

Take me straight to the documentation and download: TSUNG GUI

Veröffentlicht unter Technik (LAMP), Technik Blog, Webentwicklung | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Google Filter Bubble | wie personalisiert ist Deine Suche?

Google ist einer der beliebtesten Suchmaschinen weltweit. Mit mehr als 80% Marktanteil aller Suchanfragen (über 150 Mio. Suchanfragen täglich) gilt Google als Marktführer unter den Internet-Suchmaschinen. Doch bekommen wir bei Google auch wirklich objektive Ergebnisse auf unsere Suchanfragen präsentiert?

Nein, denn das Web wird gefiltert, überall und für jeden individuell. Wie sieht Dein Filter aus? Du weißt es nicht! Viele Seiten im Web filtern Inhalte wie bspw. Newsfeeds, die persönliche Facebook Wall oder bereits getätigte Suchanfragen bevor sie dem Nutzer angezeigt werden.

Laut einem Vortrag von TED.com werden im Fall von Google bis zu 57 individuelle Eigenschaften ausgewertet und dauerhaft hinterlegt, welche direkt auf alle Suchergebnisse über Google durchschlagen. Dies können bspw. folgende Eigenschaften sein:

  • Aus welchem Land kommst Du?
  • Welchen PC und welchen Browser nutzt Du?
  • Wie alt bist Du? Welches Geschlecht?
  • Etc.

Hier ist ein schöner Link, welcher zeigt, was Google bereits über Dich herausgefunden hat und ggf. für die Darstellung Deiner Suchergebnisse nutzt: http://www.google.com/

Unser Google-Test:

Wir haben den Google-Mini-Test gemacht und nach dem Suchbegriff “Griechenland” gegooglet. Folgendes ist bei zwei unserer Mitarbeiter dabei heraus gekommen:

Ein sehr guter Artikel, wie man die Personalisierung in der Google Suche deaktivieren kann, findet sich auf www.makeuseof.com.

Hier noch der Vortrag von TED.com (ca. 9 Min.):

Veröffentlicht unter Google | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

AES-Verschlüsselung in MySQL

Oftmals besteht die Anforderung, Nutzerdaten verschlüsselt in der Datenbank zu speichern. MySQL bietet die Möglichkeit solche Daten mittels AES_ENCRYPT() und AES_DECRYPT() zu Ver- und Entschlüsseln (AES = Advanced Encryption Standard). Hierbei wird standardmäßig ein Schlüssel mit 128-bit Länge verwendet. Diese Schlüssellänge sorgt für eine relativ schnelle Ver- und Entschlüsselung und bietet genug Sicherheit für die meisten Anwendungsfälle.

AES_ENCRYPT() verschlüsselt einen String und gibt einen binären String zurück. Die entsprechenden Datenfelder sollten also dementsprechend vom Typ VARBINARY oder BLOB sein. Da die AES-Verschlüsselung blockweise arbeitet, kann die benötigte Größe errechnet werden.

Angenommen es sollen die beiden Felder “vorname” und “nachname” der folgenden Tabelle verschlüsselt werden:

CREATE TABLE `kunden` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`vorname` VARCHAR(100) NOT NULL ,
`nachname` VARCHAR(100) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8;

In der MySQL-Referenz wird folgende Formel zur Berechnung der benötigten Länge angegeben:

16 * (trunc(string_length / 16) + 1)

Daraus folgt, dass die beiden Felder mit der Länge 100 mindestens eine Länge von 116 haben müssen, um in verschlüsselter Form gespeichert werden zu können. Daraus ergibt sich folgende neue Tabelle:

CREATE TABLE `kunden` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`vorname` VARBINARY(116) NOT NULL ,
`nachname` VARBINARY(116) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = MyISAM DEFAULT CHARSET = utf8;

Daten können nun folgendermaßen in der Tabelle gespeichert werden:

INSERT INTO kunden
(vorname, nachname)
VALUES (
AES_ENCRYPT('Max', 'meinpasswort'),
AES_ENCRYPT('Mustermann', 'meinpasswort')
);

Sollte der zu verschlüsselnde String oder das Passwort nicht gesetzt sein (NULL), gibt AES_ENCRYPT() ebenfalls den Wert NULL zurück.

Verschlüsselte Daten können folgendermaßen gelesen werden:

SELECT
id,
AES_DECRYPT(vorname, 'meinpasswort'),
AES_DECRYPT(nachname, 'meinpasswort')
FROM kunden;

AES_DECRYPT() erkennt Fehler in der Verschlüsselung der Daten und gibt in diesem Fall NULL zurück. Dies gilt jedoch nicht bei korrekt verschlüsselten Daten und falschem Passwort. In diesem Fall ist das zurückgelieferte Ergebnis gültig, aber quasi unbrauchbar.

Zu beachten ist außerdem, dass AES_DECRYPT() nicht den Datentyp des Feldes ändert und somit eventuelle Bedingungen, die explizit auf einen String vergleichen, fehlschlagen (z.B. LIKE). Der Rückgabewert von AES_DECRYPT() muss in einem solchen Fall zunächst (z.B. mittels CONVERT()) konvertiert werden:

SELECT id FROM kunden
WHERE
CONVERT(AES_DECRYPT(nachname, 'meinpasswort') USING utf8) LIKE '%Muster%';

Bei einem ORDER BY Statement spielt der Datentyp keine Rolle:

SELECT id FROM kunden ORDER BY AES_DECRYPT(nachname, 'meinpasswort') ASC;

Quelle:
http://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html

Veröffentlicht unter Webentwicklung | Verschlagwortet mit , | Hinterlasse einen Kommentar

Internet Explorer: ElementID-”Magic”

Der Internet Explorer greift dem Web-Entwickler oftmals unerwartet “unterstützend” unter die Arme. Manchmal auch öfter als einem lieb ist.
Dies soll hier in einem kleinem HTML/JavaScript Beispiel verdeutlicht werden.


<input type="text" name="add_name" id="field_id" />
<div id="add_name">Add Name</div>
<script type="text/javascript">
document.getElementById("add_name");
//bzw. jQuery
$("#add_name");
//od. Prototype
$("add_name");
</script>

Im gezeigten Beispiel würde im Firefox, Chrome und Safari das zu erwartende <div id=”add_name”>-Element durch den JavaScript-Code selektiert.
Der Internet Explorer (getestet in Version 7/8/9) selektiert in diesem Fall jedoch das <input>-Element. Der Internet Explorer macht offensichtlich kein Unterschied zwischen dem “name” und dem “id” Attribut (obwohl das “id”-Attribut auf dem <input>-Element explizit vergeben wurde) und liefert dann den ersten verfügbaren Treffer und ignoriert des weiteren das nachfolgende Element, obwohl es das gesuchte “id”-Attribut gesetzt hat.

Falls also z.B. ein auf einen Button gesetzter Ajax-Call im Internet Explorer ausgelöst werden sollte sobald man in ein Formular-Feld klickt, sollte das “name”-Attribut des Feldes überprüft werden…

Veröffentlicht unter Webentwicklung | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Wie kann man den ROI für Social Software messbar machen?

Als Hersteller von Social Software hören wir diese Frage des Öfteren von potentiellen Kunden, können jedoch keine eindeutige Antwort liefern. Gerade bei der Implementierung und dem Einsatz von Social Software in Unternehmen wird die Messung des Return on Investment (ROI) von vielerlei „sozialen“ Faktoren mitbestimmt, den sog. weichen Faktoren. Eine konkrete Aussage zur Rendite bei der Investition in Social Software kann daher oft nur vage getroffen werden. Eine Pi mal Daumen Rechnung wird aufgemacht um die Entscheider zu überzeugen. Aber ist es nicht genau diese Rechnung, die in solch einer Situation auch Sinn macht?

Nehmen wir mal an, ein mittelständisches Unternehmen mit 25 Mitarbeitern möchte seine Mitarbeiter über eine Social Software vernetzen und die damit oft in Verbindung gebrachten Bereiche „Wissensmanagement“, „Projektmanagement“ und „Geschäftsprozesse“ abbilden und unterstützen. Die komplette Unternehmenskommunikation findet bisher über Mailings oder über traditionelle Kommunikationswege (Telefon, Handzettel, Meetings, etc.) statt. Wann rentiert sich nun der Einsatz einer Social Software für ein solches Unternehmen und welche Vorteile hat es dadurch? Wie kann man diese Vorteile bewerten? Ich versuche dies mal anhand einer sehr vereinfachten Rechnung zu verdeutlichen.

Die Berechnung läuft klar auf die Berücksichtigung von Opportunitätskosten hinaus. Nehmen wir an, dass o.g. Unternehmen zahlt 750 EUR monatliche Lizenzkosten inkl. Hosting und Support an den Social Software Dienstleister. Das sind exakt 30 EUR pro Mitarbeiter im Monat. Bedenkt man nun die Vorteile, welche man durch den Einsatz einer solchen Software hat, dann „rentiert“ sich aus meiner Sicht eine solche Investition deutlich. Wie komme ich darauf? Gerade hinsichtlich zentraler Dokumentenverwaltung und Wissensdatenbank sowie durch eine effiziente Organisation in Projektgruppen arbeiten Mitarbeiter zielgerichteter zusammen und können Arbeitsabläufe optimieren. Inhalte bzw. Dokumente sind schneller auffindbar, genauso wie Experten bzw. Ansprechpartner für bestimmte Themenbereiche oder der unbeschränkte Zugriff auf eine unternehmensinterne Wissensdatenbank. Unterstellt man nun, dass der Einsatz einer Social Software Lösung dieselbe tägliche Arbeitsleistung eines jeden Mitarbeiters um ca. 15 Min. verbessert bzw. optimiert, dann kommt man auf folgende Rechnung:

  • 15 Min/MA/Tag  x  25 MA  =  375 Min/Tag  =  6,25 Std/Tag
  • 6,25 Std/Tag  x  20 EUR/Std (Stundenlohn)  =  125 EUR/Tag
  • 125 EUR/Tag  x  20 Arbeitstage/Monat  =  2.500 EUR/Monat Ersparnis
  • 2.500 EUR/Monat  -  750 EUR Lizenzkosten/Monat  =  1.750 EUR/Monat Opportunitätskosten

Die um insgesamt 6,25 Std. effizientere Arbeitszeit der kompletten Belegschaft pro Tag schafft Räume für neue Aufgaben und bringt dem Unternehmen somit Woche für Woche mehr Wachstumsimpulse. Ohne Zweifel ist klar, dass die Arbeitszeit und hierzu die entsprechende Entlohnung pro Mitarbeiter gleich bleibt, jedoch wird durch obiges Beispiel verdeutlicht, dass die Arbeitsleistung des Unternehmens für gerade mal 750 EUR/Monat signifikant erhöht werden kann. Nimmt man nun den Differenzbetrag zwischen Ersparnis durch den Einsatz einer Social Software Lösung und den Kosten für diese Software, dann bleibt monatlich ein stattlicher Betrag von 1.750 EUR an Opportunitätskosten übrig. Ein virtueller Betrag, mit welchen man bspw. wieder in neue Mitarbeiter oder in andere Maßnahmen investieren könnte. Zudem kommt hinzu, dass mit dem Einsatz einer Social Software Lösung weitere Kostenarten wie bpsw. Papier- und Druckkosten signifikant verringert werden können.

Fazit: Der Einsatz einer Social Software Lösung kann Vorteile für nahezu jedes Unternehmen mit sich bringen. Die Bereitschaft und der Mut zur Veränderung ist maßgeblich davon abhängig, inwieweit der traditionelle 1.0 Gedanke in Unternehmen noch verankert ist. Unternehmen, welche auch in Zukunft konkurrenzfähig bleiben wollen, kommen um eine Modernisierung ihrer IT-Infrastruktur nicht drum herum.

Veröffentlicht unter Enterprise 2.0 | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Homescreen-Icons für Webseiten auf Smartphones

Die Zahl der Smartphones und Tablets nimmt stetig zu und mit ihr auch die Zahl der mobilen Betriebssysteme. Vor allem iOS (Apple) und Android (Google) werden immer populärer und stellen in naher Zukunft die meistgenutzten mobilen Plattformen dar.

Mit der Benutzung eines Smartphones/Tablet rückt auch der mobile Zugang zum Internet immer weiter in den Vordergrund, um etwa unterwegs E-Mails abzurufen, mit Freunden zu chatten und natürlich auch um auf Webseiten zu surfen.

Für Entwickler von Webseiten ist daher interessant zu wissen, dass man mit kleinen Kniffen die Komfortabilität für den mobilen Nutzer verbessern kann. Legt ein Nutzer bspw. ein Lesezeichen auf den Homescreen seines Geräts ab, kann man ein Icon definieren. Dieses lässt das Lesezeichen auf dem mobilen Gerät wie eine native App aussehen.

Mit zusätzlich einem, speziell für die mobile Ansicht gestaltetem, Layout lässt sich so die Benutzerfreundlichkeit und der Wiedererkennungswert der Webseite erhöhen ohne dass eine native App für jedes Betriebssystem bzw. Version entwickelt werden muss.

Für dieses Homescreen-Icon kann ein PNG-Bild mit der Auflösung 48×48 oder 60×60 (hochauflösend) Pixel verwendet werden – letzteres empfiehlt sich natürlich für Displays der neusten Generation. Anschließend muss man folgende Link-Tags in den Header der Webseite einfügen.

<link rel="apple-touch-icon" href="/path/to/mobile/icon.png" />
<link rel="apple-touch-icon-precomposed" href="/path/to/mobile/icon.png" />

Um sicher zu gehen, dass das Icon bei jeder Version von iOS oder Android angezeigt wird, sollten beide Tags verwendet werden, da es hier von Version zu Version zu Unterschieden kommen kann.

Auf den uns zur Verfügung stehenden Testgeräten HTC Desire mit der Android-Version 2.2 und dem iPhone 3GS wurde das Icon ohne Probleme wie gewünscht angezeigt. Dahingegen zeigte uns jedoch das HTC Incredible S mit Android-Version 2.3.3 das Icon leider nicht an. Auch ein absoluter Pfad zum Icon half nicht weiter.

Zusätzlich zu diesen Tags, welche von iOS und Android interpretiert werden, existieren noch folgende, welche jedoch nur für iOS spezifisch sind.

Hiermit kann die Browserbar beim Start deaktiviert werden:
<meta name="apple-mobile-web-app-capable" content="yes" />

Über diesen Tag kann die Farbe der Browserbar bestimmt werden:
<meta name="apple-mobile-web-app-status-bar-style" content="black" />

Legt ein Bild fest, welches beim Laden der Webseite angezeigt wird:
<link rel="apple-touch-startup-image" href="/pfad/zum/bild.png" />

Veröffentlicht unter Android, Mobile, iOS | Verschlagwortet mit , , , , , , , , , , , , , | Hinterlasse einen Kommentar

Social Business | Schnittstelle Enterprise 2.0 Software

Neulich bin ich über eine interessante Grafik zum Thema “Social Business” gestolpert (siehe unten), welche den Wandel von Unternehmen hin zu dynamischen Organisationsformen verdeutlicht. Micheal Brito skizziert grob, dass Unternehmen nur dann erfolgreich sein können, wenn zuerst die interne Unternehmenskommunikation klar strukturiert ist und auf die individuellen Kundenbedürfnisse bzw. Projekte abgestimmt ist.

Als Schnittstelle interner Kommunkation als auch in der direkten Kundenansprache ist demnach der Einsatz der richtigen Software Technologie entscheidend. Die sog. Social Software, oft auch als Enterprise 2.0 Software bezeichnet, unterstützt mittlerweile immer mehr Unternehmensprozesse und ist abhängig vom jeweiligen Anbieter so gestaltet, dass zukünftige Trends und Funktionalitäten jederzeit integriert werden können. Eine große Flexibilität, die individuelle Anpassungsfähigkeit und eine einfache Bedienung sowie Wartung von Software-Komponenten sind wichtige Faktoren die das Unternehmenswachstum der Zukunft mitbestimmen.

Sie befinden sich noch auf der Suche nach einer Enterprise 2.0 Software Lösung? Dann kann ich Ihnen unsere Social Software xelos.net empfehlen. Schauen Sie doch einfach mal unter www.xelos.net vorbei und lassen Sie uns über Ihre individuellen Anforderungen sprechen.

Social Business Imperative

Via: OnlineMBA.com

Veröffentlicht unter Community 2.0, Enterprise 2.0 | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

Mit dem xelos.net DocLink Modul noch mehr Inhalte personalisieren

Über das Modul „Doclink“ und die dazugehörige Schnittstelle können Funktionen wie eine globale Dokumentenbewertung, Konvertierungen (bspw. in ein PDF), Vorschaufunktionen und vieles mehr für Inhalte und Dateien innerhalb eines xelos.net Enterprise 2.0 Systems bereitgestellt werden.

Zudem erhält jeder Benutzer seinen eigenen Workspace, in den er plattforminterne Inhalte als auch Dokumente dauerhaft hinterlegen kann. So kann bspw. eine Newsmeldung mit einem Klick auf das DocLink Icon in eine PDF-Datei gerendert und automatisch im Workspace des Benutzers hinterlegt werden. Der Workspace stellt dabei ein Ableger des DMS-Moduls (Dokumenten-Management-System) dar, in welchem der Benutzer seine hinterlegten Dokumente beliebig verwalten kann (neue Ordner anlegen, Dokumente verschieben, umbenennen und vieles mehr). Der Workspace kann mit Hilfe des xelos.net Desktop Connectors mit jedem beliebigen Endgerät (PC, Laptop, etc.) synchronisiert werden, so dass Sie von überall aus auf dieselbe „persönliche“ Datenbasis zurückgreifen können.

Mit dem DocLink Modul kann jeder Benutzer zudem verschiedene Inhalte (Artikel, Beiträge, oder Dokumente) auf seine eigene Watchlist hinzufügen. Werden Inhalte, welche sich auf der eigenen Watchlist befinden durch andere System-Benutzer geändert, so wird der Benutzer in Real-time via Notification darüber informiert. Die Benachrichtigungen werden via E-Mail an die hinterlegte E-Mail-Adresse im Benutzerprofil zugestellt.

Der System-Administrator bekommt über ein separates Interface die Möglichkeit alle vorhandenen Inhalte zentral zu ändern und zu verwalten.

Interessenten können sich auf unserer Produktwebseite www.xelos.net einen Demo-Account beantragen und u.a. auch das xelos.net DocLink Modul testen.

Veröffentlicht unter Enterprise 2.0 | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar