Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Smart Tags auf die Finger geschaut

Geschrieben von: Christoph Wille
Kategorie: ASP Tricks

Das Smart Tags Feature des Internet Explorer 6 ließ die Wogen hoch gehen, vor allem, da dadurch "hinterrücks" am Content einer Web Site herumgebastelt werden kann. Da nun einige Zeit seit dieser Debatte ins Land gegangen ist, sehen wir uns nun einmal genauer an, was Smart Tags sind, wie man sie verwendet, wie man sie abschaltet, und wie man eigene programmieren kann.

Was sind Smart Tags? Im Falle von Internet Explorer sieht das (vereinfacht) so aus: eine Webseite wird geladen und gerendert. Während des Renderings werden diverse Smart Tag Libraries aufgerufen, die den Inhalt nach ihnen bekannten Termini durchsuchen - und dann Internet Explorer anweisen, diese durch eine gewellte Linie darzustellen. Fährt man über diesen "Hyperlink", wird eine Infobox mit diversen Links geöffnet, die vom Hersteller der Smart Tag Library als dem Kontext entsprechend gewählt wurden.

Genau das ist der Kritikpunkt an Smart Tags: sie verändern die Informationen einer Site. Ein krasses Beispiel gefällig? Eine Finanzsite A, die Informationen über Firmen anbietet. Eine Smart Tag Library, die auf Firmennamen reagiert, und dem Benutzer Links zu anderen Finanzsites vorschlägt - ob das den Betreibern der Finanzsite A gefällt sei dahingestellt.

Allerdings können Smart Tags auch durchwegs nützlich sein - im Falle einer Firma, die ihren Benutzern eigene Smart Tags zur Verfügung stellen will. Und andererseits - man kann Smart Tags als Website Betreiber auch ausschalten (siehe später im Artikel). Kümmern wir uns aber zuerst um die Userperspektive.

Smart Tags in Action

Beginnen wir damit, uns anzusehen wie sich Smart Tags beim täglichen Surfen bemerkbar machen. Dazu muß man allerdings zuerst zwei Schritte setzen: die Smart Tags generell erlauben, und sich eine Smart Tag Library downloaden & installieren. Das Erlauben von Smart Tags geht in der Tools/Internet Options... Dialogbox von statten:

Das war Teil Eins, nun folgt der interessantere Teil - wo bekommt man Smart Tag Libraries her? Einerseits bietet MS eine kleine Demolibrary an, andererseits finden sich bei Microsoft Office eServices etliche Libraries, die man einsetzen kann. Nach der (meist automatisierten) Installation ist man dann ready to rock and roll.

Als Opfer meiner Versuche habe ich mir die MSDN Site ausgesucht. Generell sind Smart Tags nicht sehr aufdringlich - sie werden nur unterwellt dargestellt, wie in diesem Fall der Terminus Microsoft:

Fährt man mit der Maus auf das Smart Tag, erhält man ein Info-Icon, mit dem man das eigentliche Smart Tag Menü öffnen kann:

Hier besteht es "nur" aus Links - aber da Smart Tags als COM Komponenten implementiert werden können, gibt es hier einen gewissen "Spielraum".

Smart Tags verhindern

Den Web Site Betreiber interessiert klarerweise, wie man verhindern kann, daß Smart Tags in die eigenen Seiten "hineingedoktert" werden - weil hin und wieder kann das störend sein, und seien es "nur" firmenpolitische Entscheidungen. Und man will sich ja nicht gerade darauf verlassen, daß der User die Smart Tags im Browser ausgeschaltet hat...

Nehmen wir folgendes einfaches Dokument (tagdocument.asp):

<html>
<head>
<title>SmartTags sind erlaubt</title>
</head>
<body>

<p>Der Terminus Microsoft erscheint mit SmartTag.</p>

</body>
</html>

Dieses wird bei eingeschalteten Smart Tags so dargestellt:

Um zu verhindern, daß Smart Tags eingefügt werden, muß man in das Dokument ein zusätzliches META Tag einbauen (tagsdisabled.asp):

<html>
<head>
<title>No SmartTags, please</title>
<meta name="MSSmartTagsPreventParsing" content="TRUE">
</head>
<body>

<p>
Der Terminus Microsoft wird ohne SmartTag
angezeigt, weil wir das META Tag gesetzt haben.
</p>

</body>
</html>

Der Erfolg gibt uns Recht:

Eigene Smart Tags programmieren

Das Selbstprogrammieren von Smart Tags kann auf 2 Arten angegangen werden: die harte Tour über COM (sehr leistungsfähig), oder über Smart Tag XML Libraries. An dieser Stelle möchte ich einige MSDN Artikel empfehlen:

Auf die erstere Variante kann ich zeit- und platzmäßig nicht eingehen, aber für die zweitere kann ich ein kleines Beispiel präsentieren. Alles, was man braucht, ist eine XML Datei (aspheutetags.xml):

<FL:smarttaglist xmlns:FL="urn:schemas-microsoft-com:smarttags:list">
<FL:name>AspHeute Demo Tags</FL:name> 
<FL:lcid>1033</FL:lcid>
<FL:description>Simple SmartTags von AspHeute</FL:description>
<FL:moreinfourl>http://www.aspheute.com/</FL:moreinfourl>
<FL:smarttag type="urn:schemas-microsoft-com:smarttags#generalterms">
    <FL:caption>ASP bezogene Termini</FL:caption>
    <FL:terms>
        <FL:termlist>upload,datenbank,performance</FL:termlist>
    </FL:terms>
    <FL:actions>
        <FL:action id="AHDbCat"> 
            <FL:caption>Daten&amp;bank Artikel</FL:caption>
            <FL:url>http://www.aspheute.com/kategorien/Datenbank.htm</FL:url>
        </FL:action>
        <FL:action id="AHTipsCat">
            <FL:caption>&amp;Tips und Tricks</FL:caption>
            <FL:url>http://www.aspheute.com/kategorien/ASP%20Tricks.htm</FL:url>
        </FL:action>
    </FL:actions>
</FL:smarttag>
</FL:smarttaglist>

Der Artikel Developing Simple Smart Tags geht auf die einzelnen XML Tags genau ein, von meiner Seite nur so viel: jedes Wort in FL:termlist wird mit einem Smart Tag ausgestattet, der die Links aus der Sektion FL:actions enthält.

Die Installation ist denkbar einfach - einfach in das folgende Verzeichnis kopieren:

Der Anwendungsfall? Eine firmeninterne Smart Tag Library, die den Mitarbeitern helfen soll, während des Surfens für bestimmte Termini firmenspezifische Informationen abrufen zu können. Der Artikel Developing Simple Smart Tags zeigt genauer, wie man die Library deployed (zum Client bringt), und wie man diese automatisch über den firmeninternen Webserver updaten kann.

Schlußbemerkung

In bestimmten Situationen - speziell der Intranetanwendungsfall der selbstgeschriebenen Smart Tags - können Smart Tags durchaus nützlich sein. Will man sie auf seiner Site allerdings unterbinden, muß man ein zusätzliches META Tag einfügen. Wäre es anders herum gewesen, hätte es keinen Aufschrei gegeben - allerdings wer hätte dann das META Tag zum Einschalten von Smart Tags eingebaut?

Download des Codes

Klicken Sie hier, um den Download zu starten.

Links zu anderen Sites

Deploying Smart Tag DLLs by Using the Visual Studio Installer
Developing Simple Smart Tags
Developing Smart Tag DLLs
Smart Tags Frequently Asked Questions

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.