<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Weblog - Michael Jendryschik &#187; onion.net</title>
	<atom:link href="http://jendryschik.de/weblog/tag/onion-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://jendryschik.de/weblog</link>
	<description></description>
	<lastBuildDate>Mon, 30 Jan 2012 08:19:21 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blick unter die Haube: Funktionsweise meiner Glossareinbindung</title>
		<link>http://jendryschik.de/weblog/2010/08/17/funktionsweise-meiner-glossareinbindung/</link>
		<comments>http://jendryschik.de/weblog/2010/08/17/funktionsweise-meiner-glossareinbindung/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 20:42:36 +0000</pubDate>
		<dc:creator>Michael Jendryschik</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung und Webstandards]]></category>
		<category><![CDATA[Glossar]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[onion.net]]></category>
		<guid isPermaLink="false">http://jendryschik.de/weblog/?p=657</guid>
		<description><![CDATA[<p>Ein bis zwei Mal im Monat erhalte ich eine E-Mail mit der Frage, wie ich die kleinen Tooltipps umgesetzt habe, die erscheinen, wenn man einen Glossareintrag mit der Maus überfährt, beispielsweise den Begriff CSS. Erst vergangene Woche wurde ich wieder gefragt:</p>
<blockquote><p>»Ihre Begriffserklärungen kleben sozusagen am Mauszeiger fest. Wenn dieser sich bewegt, dann bewegen sich die Fenster mit. Zudem öffnen sie sich am Rand des Fensters stets nach innen, sodass immer der komplette Inhalt sichtbar ist. Geht das ausschließlich mit XHTML und CSS oder benötige ich dafür JavaScript?«</p></blockquote>
<p>Dieser Artikel wirft einen kurzen Blick unter die Haube dieser Website und bietet eine Schritt-für-Schritt-Anleitung zum Nachmachen. Zum Einsatz kommen XHTML, das jQuery-Skript <code>jquery.glossary.js</code> und ein wenig CSS.</p> <a href="http://jendryschik.de/weblog/2010/08/17/funktionsweise-meiner-glossareinbindung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ein bis zwei Mal im Monat erhalte ich eine E-Mail mit der Frage, wie ich die kleinen Tooltipps umgesetzt habe, die erscheinen, wenn man einen Glossareintrag mit der Maus überfährt, beispielsweise den Begriff <a class="glossary-term" title="Formatierungssprache, die es Webautoren und Benutzern erlaubt, Formatierungen (zum Beispiel Schriften, Abstände und akustische Aspekte) von strukturierten Dokumenten (z.B. HTML oder XML) durchzuführen. Vereinfach mit der Trennung vom Inhalt des Dokuments von dessen Präsentation die Erfassung von Web-Dokumenten und die Verwaltung von Websites." href="/publikationen-und-vortraege/glossar/c/language=de/taps=1222/543/css"><abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr></a>. Erst vergangene Woche wurde ich wieder gefragt:</p>
<blockquote><p>»Ihre Begriffserklärungen kleben sozusagen am Mauszeiger fest. Wenn dieser sich bewegt, dann bewegen sich die Fenster mit. Zudem öffnen sie sich am Rand des Fensters stets nach innen, sodass immer der komplette Inhalt sichtbar ist. Geht das ausschließlich mit XHTML und CSS oder benötige ich dafür JavaScript?«</p></blockquote>
<p>Dieser Artikel wirft einen kurzen Blick unter die Haube dieser Website und bietet eine Schritt-für-Schritt-Anleitung zum Nachmachen. Zum Einsatz kommen XHTML, das jQuery-Skript <code>jquery.glossary.js</code> und ein wenig CSS.</p>
<p><span id="more-657"></span></p>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="idee">Die Idee</h2>
<p>Im Rahmen der Arbeit an meiner <a href="/wsdev/einfuehrung/">Einführung in XHTML, CSS und Webdesign</a> entstand ein umfangreiches <a href="/wsdev/glossar/">Glossar</a>, also eine Liste von Wörtern mit sprachlichen Erläuterungen. Ein technisches Glossar wie meines erläutert die Terminologie eines technischen Sachgebietes mit sachlichen Definitionen, die den richtigen Gebrauch dieser Fachausdrücke und deren eindeutiges Verständnis sichern sollen. Das Glossar beinhaltet eine Vielzahl von Begriffen, die in der weitgefassten Themenwelt der Webentwicklung beheimatet sind.</p>
<p>Ich bin seit jeher der Ansicht, dass man Dinge und Sachverhalte nur verstehen kann, wenn man ihren Namen und die Namen ihrer Bestandteile kennt. Aus diesem Grund lege ich so viel Wert auf die richtige Anwendung von Fachterminologie und versuche Fachbegriffe zu erklären, wenn ich sie erstmalig verwende.</p>
<p>Dazu bieten sich Hyperlinks an: Das erste Auftreten eines Glossarbegriffs wird zum Hyperlink, und wenn Sie diesem folgen, dann gelangen Sie zur Erklärung des Begriffs. Diese muss nicht lang sein – vielleicht handelt es sich nur um ein oder zwei Sätze. Ich habe mich bemüht, kurze und prägnante Definitionen zu finden. Daher auch die Idee mit dem Tooltipp: Wenn Sie den verlinkten Glossarbegriff mit dem Mauszeiger berühren, erscheint am Mauszeiger ein kleines Fenster mit der Erklärung – ist sie zu lang, wird sie abgeschnitten. Das Fenster orientiert sich an der Position des Mauszeigers und erscheint abhängig von der Position zum Fensterrand mal auf der einen, mal auf der anderen Seite des Mauszeigers.</p>
<p>Eine Spezialbehandlung ist erforderlich, wenn es sich bei Glossarbegriffen um <a href="/wsdev/einfuehrung/auszeichnung/text#abbr-acronym">Abkürzungen oder Akronyme</a> handelt: In diesem Fall steht nicht der Glossarbegriff selbst, sondern dessen ausgeschriebene Bedeutung im Titel des Tooltipps, also beispielsweise nicht »CSS«, sondern »Cascading Style Sheets« – siehe den ersten Absatz dieses Artikels.</p>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="markup">Glossarbegriffe auszeichnen</h2>
<p>Glossarbegriffe sind Links, die zwei Eigenschaften erfüllen: Sie haben die Klasse <code>glossary-term</code> und ein <code>title</code>-Attribut, das die vollständige Begriffserklärung enthält.</p>
<div id="lst1" class="code brush">
<pre class="brush: xml;">&lt;p&gt;WordPress ist seit einigen Jahren &lt;em&gt;das&lt;/em&gt;
Weblog- und &lt;a class="glossary-term"
href="/publikationen-und-vortraege/glossar/c/content
-management-system" title="Softwaresystem für das
Administrieren von (Web-)Inhalten mit Unterstützung
des Erstellungsprozesses basierend auf der Trennung von
Inhalten und Struktur. Benutzen die Mechanismen des
Dokumenten-Managements."&gt;Content-Management-System&lt;/a&gt;
für Blogs sowie kleine und mittlere Websites, vor allem
in Deutschland.&lt;/p&gt;</pre>
</div>
<p>Der zweite Glossarbegriff im folgenden Beispiel zeigt die Auszeichnung eines Akronyms als Glossarbegriff: Der Anker umschließt das Akronym einfach. Die Auszeichnung von Abkürzungen (<code>abbr</code>) verläuft analog.</p>
<div id="lst2" class="code brush">
<pre class="brush: xml;">&lt;body&gt;
  &lt;p&gt;Jede &lt;a class="glossary-term"
  href="/publikationen-und-vortraege/glossar/w/webseite"
  title="Dokument, das mit einem Benutzeragenten von
  einem Webserver abgerufen werden kann. Bestandteil
  einer Website. Besteht zumeist aus strukturiertem Text
  und Multimediaelementen."&gt;Webseite&lt;/a&gt; ist über
  mindestens einen &lt;a class="glossary-term"
  href="/publikationen-und-vortraege/glossar/u/uri"
  title="Zeichenfolge, die zur Identifizierung einer
  abstrakten oder physikalischen Ressource dient. Wurde
  mit RFC 1630 im Juni 1992 von Tim Berners-Lee im Rahmen
  seines Projekts World Wide Web am CERN eingeführt.
  Aktuell ist RFC 3986 vom Januar 2005. Ein URI ist
  entweder ein URL, ein URN oder beides."&gt;&lt;acronym
  title="Uniform Resource Identifier" lang="en"
  xml:lang="en"&gt;URI&lt;/acronym&gt;&lt;/a&gt; adressierbar.&lt;/p&gt;
&lt;/body&gt;</pre>
</div>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="scripting">Glossar-Tooltipps erzeugen</h2>
<p>Die Tooltipps mit den Erklärungen der Glossarbegriffe erzeugt ein jQuery-Skript, das <a href="http://startbigthinksmall.wordpress.com/">Lars Corneliussen</a> entwickelt hat und <a href="https://bitbucket.org/larscorneliussen/jquery.glossary/">bei bitbucket.org hostet</a>. Das Skript tut folgendes:</p>
<ul>
<li>Es leert die <code>title</code>-Attribute der Glossaranker sowie eventuell darin enthaltener <code>acronym</code>- oder <code>abbr</code>-Elemente, damit die Standard-Browsertooltipps unsere Glossar-Tooltipps nicht überlagern.</li>
<li>Es erzeugt die Glossar-Tooltipps als <code>div</code>-Elemente mit der Klasse <code>glossary-description</code> und fügt sie über <code>$('body').append($div);</code> am Ende des <code>body</code>-Elements vor dem schließenden <code>&lt;/body&gt;</code> ein. Die <code>hide()</code>-Funktion sorgt dafür, dass die Tooltipps zunächst nicht sichtbar sind.</li>
<li>Die Glossar-Tooltipps enthalten eine Überschrift und die Beschreibung. Das Skript befüllt die Überschrift entweder mit dem Glossarbegriff selbst oder, wenn es sich um ein Akronym oder eine Abkürzung handelt, mit dem Inhalt des <code>title</code>-Attributs des <code>acronym</code>- bzw. <code>abbr</code>-Elements, sofern dieses vorhanden ist. Das ist sinnvoll, da das <code>title</code>-Attribut die ausgeschriebene Fassung des Akronyms bzw. der Abkürzung enthält.</li>
<li>Wird der Glossarbegriff mit dem Mauszeiger berührt, blendet das Skript den dazu gehörigen Tooltipp ein und kümmert sich um dessen Positionierung unter Berücksichtigung der Mauszeigerposition und dem Abstand zum Browserfenster.</li>
</ul>
<div id="lst3" class="code brush">
<pre class="brush: jscript;">;(function($) {
var _settings = {
  descriptionClass:"glossary-description"
}
$.fn.glossify = function (settings)
{
  settings = _settings;
  // pregenerate
  for( var i = 0; i &lt; this.length; i++)
  {
    var g = this[i];
    var $g = $(g);
    g.glossTitle = g.title;
    g.title = "";
    var $subElement = $g.find('acronym, abbr');
    if ($subElement.length) {
      caption = $subElement[0].title;
      $subElement[0].title = "";
    }
    else
      caption = $g.text();
    g.$glossElement = makeGloss(settings, caption, g.glossTitle);
  }
  this.mouseover(function glossover(ev){
    this.$glossElement.show();
    followTheMouse(ev, this.$glossElement);
  });
  this.mouseout(function() {this.$glossElement.hide();});
  this.mousemove(followTheMouse);
}
function makeGloss(settings, caption, text)
{
  var $div = $('&lt;div&gt;&lt;strong/&gt;&lt;span/&gt;&lt;/div&gt;')
    .css('position', 'absolute')
    .addClass(settings.descriptionClass)
    .hide();
  $div.find('strong').text(caption);
  $div.find('span').text(text);
  $('body').append($div);
  return $div;
}
function followTheMouse(ev, $el)
{
  var $el = $el ? $el : this.$glossElement
  // relative mouse position
  var rx = ev.clientX;
  var ry = ev.clientY;
  // absolute mouse position
  var x = ev.pageX;
  var y = ev.pageY;
  var xOffset = 10;
  var yOffset = 10;
  // ip if not enough space
  if ( (rx + $el.width() + xOffset) &gt; $(window).width() )
  {
    x -= $el.width();
    xOffset *= -1;
  }
  if ( (ry + $el.height() + yOffset) &gt; $(window).height() )
  {
    y -= $el.height();
    yOffset *= -1;
  }
  $el.css("left", x + xOffset);
  $el.css("top", y + yOffset);
}
})(jQuery);</pre>
</div>
<p>Eingebunden wird das Skript über:</p>
<div id="lst4" class="code brush">
<pre class="brush: jscript;">$(function(){
  $('a.glossary-term').glossify();
});</pre>
</div>
<p>Die Änderungen am Document Object Model müssen wir berücksichtigen, wenn es um das Styling der Glossarbegriffe und vor allem der Glossar-Tooltipps geht. Daher sollten wir uns einmal anschauen, wie das Skript das Beispiel aus <a href="#lst2">Listing 2</a> verändert:</p>
<div id="lst4" class="code brush">
<pre class="brush: xml;">&lt;body&gt;
  &lt;p&gt;Jede &lt;a class="glossary-term"
  href="/publikationen-und-vortraege/glossar/w/webseite"
  title=""&gt;Webseite&lt;/a&gt; ist über mindestens einen
  &lt;a class="glossary-term"
  href="/publikationen-und-vortraege/glossar/u/uri"
  title=""&gt;&lt;acronym title="" lang="en"
  xml:lang="en"&gt;URI&lt;/acronym&gt;&lt;/a&gt; adressierbar.&lt;/p&gt;
  &lt;div style="position: absolute; display: none;"
  class="glossary-description"&gt;
    &lt;strong&gt;Webseite&lt;/strong&gt;
    &lt;span&gt;Dokument, das mit einem Benutzeragenten von
    einem Webserver abgerufen werden kann. Bestandteil
    einer Website. Besteht zumeist aus strukturiertem
    Text und Multimediaelementen.&lt;/span&gt;
  &lt;/div&gt;
  &lt;div style="position: absolute; display: none;"
  class="glossary-description"&gt;
    &lt;strong&gt;Uniform Resource Identifier&lt;/strong&gt;
    &lt;span&gt;Zeichenfolge, die zur Identifizierung einer
    abstrakten oder physikalischen Ressource dient.
    Wurde mit RFC 1630 im Juni 1992 von Tim Berners-Lee
    im Rahmen seines Projekts World Wide Web am CERN
    eingeführt. Aktuell ist RFC 3986 vom Januar 2005.
    Ein URI ist entweder ein URL, ein URN oder
    beides.&lt;/span&gt;
  &lt;/div&gt;
&lt;/body&gt;</pre>
</div>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="styling">Tooltipps in Form bringen</h2>
<p>Wir haben jetzt das Markup, wir haben die Funktionalität, fehlt noch das Styling. Nur wenige CSS-Regeln sorgen für die richtige Darstellung der Glossarbegriffe und der Tooltipps.</p>
<p>Glossarbegriffe erscheinen, anders als normale Hyperlinks, in Schriftfarbe, einem sehr dunklen Grau. Der Unterstrich fällt weg, dafür spendieren wir den Links unten einen gepunkteten Rahmen. Die zweite Regel sorgt für die Darstellung eines Ost-Pfeils vor den Glossarbegriffen. Die weiteren Regeln kümmern sich um die Breite, Farben, Rahmen und weitere Eigenschaften des Tooltipps.</p>
<div id="lst6" class="code brush">
<pre class="brush: css;">a.glossary-term {
  color: #444;
  background-color: transparent;
  text-decoration: none;
  border-bottom: 1px dotted;
}
a.glossary-term:before {
  content: "\2192\00A0";
  font-size: 1.1em;
}
/* Glossar-Tooltipp */
.glossary-description {
  width: 300px;
  color: inherit;
  background-color: white;
  border: 2px solid #806554;
  font-size: 1em;
  line-height: 1.5;
  z-index: 2;
}
.glossary-description strong,
.glossary-description span {
  display: block;
  padding: 4px 8px;
}
.glossary-description strong {
  color: white;
  background: #806554;
}</pre>
</div>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="onion">Umständlich und unpraktisch?</h2>
<p>Vielleicht fragen Sie sich: Nette Funktion, aber wer macht sich denn die Mühe, auf seiner gesamten Website Glossarbegriffe auszeichnen und aktuell zu halten? Die Frage ist berechtigt, wahrscheinlich macht das niemand – ich auch nicht.</p>
<div id="attachment_678" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.jendryschik.de/wp-content/uploads/2010/08/onion.net-Editor.jpg"><img class="size-medium wp-image-678" title="onion.net-Editor" src="http://blog.jendryschik.de/wp-content/uploads/2010/08/onion.net-Editor-300x230.jpg" alt="" width="300" height="230" /></a><p class="wp-caption-text">Glossarverwaltung im onion.net-Editor</p></div>
<p>Mein Weblog betreibe ich mit WordPress, den Großteil der Website hingegen mit <a href="http://onion.net/">onion.net</a>, also alles, was nicht unterhalb von <code>jendryschik.de/weblog</code> liegt. onion.net verfügt über eine großartige Glossar-Erweiterung, die vor der Auslieferung der Website alle Texte parst und die Glossar-Auszeichnungen automatisch ergänzt. Ich schreibe nur die Texte, onion.net kümmert sich um den Rest. Performance-Einbußen gibt es durch das Parsing keine, denn sobald ich einen Text ändere, werden alle Fragmente invalidiert, die diesen Text verwenden, und neu im Cache abgelegt. Das bedeutet in diesem Fall konkret:</p>
<ul>
<li>Ändere ich einen Artikel, wird dieser und die Webseite, auf der er verwendet wird, invalidiert. Dabei schaut onion.net, ob ich (neue) Glossarbegriffe verwende und berücksichtigt diese entsprechend, wenn der Text neu geparst und die Webseite neu zusammengesetzt und gecacht wird.</li>
<li>Ändere ich einen Glossarbegriff, invalidiert onion.net alle Texte, aktualisert sie und alle Webseiten, die die Texte verwenden, und baut den Cache entsprechend neu auf.</li>
</ul>
<p>Das ist auch der Grund, weshalb im Blog nahezu keine Glossarbegriffe ausgezeichnet sind, auch in diesem Artikel nicht, denn für WordPress habe ich keine entsprechende Funktion implementiert und ich müsste alle Glossarbegriffe redundant per Hand auszeichnen.</p>
<p>Bei der <a href="http://www.itemis.de/">Website der itemis AG</a> haben wir die Funktion noch um eine weitere Komponente ergänzt. Ich kann nicht davon ausgehen, dass alle Online-Redakteure stets daran denken, Akronyme und Abkürzungen als solche zu markieren – ich tue es ja selbst nicht konsequent. Also pflegen wir über den onion.net-Editor, die Redaktionsoberfläche, nicht nur Glossarbegriffe, sondern auch Akronyme und Abkürzungen. onion.net verteilt die passenden <code>abbr</code>-Tags (auf <code>acronym</code> verzichten wir) automatisch. Eine super Sache, die ich für meine Website eigentlich mal übernehmen sollte. ;-)</p>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2 id="kommentare">Kommentare? Anmerkungen?</h2>
<p>Ich mag die Integration meines umfangreichen Glossars und finde die Glossar-Tooltipps nützlich, informativ und hübsch. Ich werde häufig darauf angesprochen, viele wollen eine ähnliche Funktion auf ihren Webseiten haben.</p>
<p>Wie gefällt Ihnen die Glossarfunktion? Verweilen Sie mit dem Mauszeiger auf den Links und lesen Sie die Erklärungen?</p>
<p>Hier lesen ja auch Experten verschiedener Disziplinen der Webentwicklung mit, unter anderem Experten für Barrierefreiheit und Skripting bzw. speziell jQuery. Ist die Lösung technisch robust? Wie sieht es mit der Barrierefreiheit aus? Die Erklärungen sind per Klick auf den Glossar-Link erreichbar, es werden also keine unnötigen Barrieren aufgebaut, oder doch? Ist die Entfernung der <code>title</code>-Attribute ein Problem? Wir haben weder beim Markup, noch beim Skript explizit auf Barrierefreiheit geachtet. Könnte <a href="http://www.w3.org/WAI/intro/aria">WAI-ARIA</a> die Zugänglichkeit der Glossarfunktion entscheidend verbessern?</p>
<p>Ich freue mich auf Ihre Anmerkungen, Hinweise und Tipps und lade dazu ein, die Lösung weiterzuverwenden.</p>
]]></content:encoded>
			<wfw:commentRss>http://jendryschik.de/weblog/2010/08/17/funktionsweise-meiner-glossareinbindung/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Einführung in onion.net: Screencasts bei YouTube</title>
		<link>http://jendryschik.de/weblog/2009/12/08/einfuehrung-in-onion-net-screencasts-bei-youtube/</link>
		<comments>http://jendryschik.de/weblog/2009/12/08/einfuehrung-in-onion-net-screencasts-bei-youtube/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:54:11 +0000</pubDate>
		<dc:creator>Michael Jendryschik</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Webentwicklung und Webstandards]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content-Management]]></category>
		<category><![CDATA[itemis]]></category>
		<category><![CDATA[onion.net]]></category>
		<guid isPermaLink="false">http://jendryschik.de/weblog/?p=304</guid>
		<description><![CDATA[<p class="floatRight portrait"><img src="http://blog.jendryschik.de/wp-content/uploads/2009/12/onion.net.gif" alt="onion.net" width="200" height="45" /></p>
<p>Vor meiner derzeitigen Anstellung bei der <a href="http://www.itemis.de/">itemis AG</a> war ich bei der <a href="http://www.getit.de/">GETIT GmbH</a> in Dortmund beschäftigt, einem E-Business-Dienstleister und Hersteller des Content-Management-Systems <a href="http://onion.net/">onion.net</a>. Ich habe selbst an der Entwicklung von onion.net mitgewirkt und zahlreiche Projekte mit dem System realisiert.</p>
<p>Als ich das Unternehmen verlassen habe, war onion.net nicht viel mehr als ein internes »Dienstleistungstool«, aber mittlerweile hat es sich zu einem eigenständigen Produkt entwickelt. Vor kurzem hat Bernd Burkert, Produktmanager bei GETIT, einige <a href="http://www.youtube.com/user/BerndBurkert">Screencasts</a> bei YouTube eingestellt, die onion.net und die Arbeit mit diesem System zeigen. Allerdings ist YouTube etwas unübersichtlich und die richtige Reihenfolge der Screencasts nicht so ganz offensichtlich. Ich habe mir daher die Mühe gemacht, das Material ein wenig sortiert und kommentiert.</p> <a href="http://jendryschik.de/weblog/2009/12/08/einfuehrung-in-onion-net-screencasts-bei-youtube/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vor meiner derzeitigen Anstellung bei der <a href="http://www.itemis.de/">itemis AG</a> war ich bei der <a href="http://www.getit.de/">GETIT GmbH</a> in Dortmund beschäftigt, einem E-Business-Dienstleister und Hersteller des Content-Management-Systems <a href="http://onion.net/">onion.net</a>. Ich habe selbst an der Entwicklung von onion.net mitgewirkt und zahlreiche Projekte mit dem System realisiert.</p>
<p>Als ich das Unternehmen verlassen habe, war onion.net nicht viel mehr als ein internes »Dienstleistungstool«, aber mittlerweile hat es sich zu einem eigenständigen Produkt entwickelt. Vor kurzem hat Bernd Burkert, Produktmanager bei GETIT, einige <a href="http://www.youtube.com/user/BerndBurkert">Screencasts</a> bei YouTube eingestellt, die onion.net und die Arbeit mit diesem System zeigen. Allerdings ist YouTube etwas unübersichtlich und die richtige Reihenfolge der Screencasts nicht so ganz offensichtlich. Ich habe mir daher die Mühe gemacht, das Material ein wenig sortiert und kommentiert.</p>
<p><span id="more-304"></span></p>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2>Einführung in die Arbeit mit onion.net</h2>
<p>Im diesem dreiteiligen Tutorial zeigt Bernd Burkert in wenigen Schritten den Aufbau einer kleinen Zitatsammlung, gibt einen Einblick, wie erfasste Daten über XSL-Transformationen in HTML »übersetzt« werden und wie die Oberfläche des onion.net-Editors und der Erfassungsmasken individualisiert werden kann.</p>
<dl>
<dt>Folge 1: Zitatsammlung erstellen, Informationsmodell festlegen (<a href="http://www.youtube.com/watch?v=mlwnTfylH18">Teil 1</a> und <a href="http://www.youtube.com/watch?v=UCakVacZ35A">Teil 2</a>)</dt>
<dd>Die erste Folge des Tutorials zeigt den Aufbau einer Zitatsammlung in einem neu installierten onion.net-System. Zunächst werden in der Schemaverwaltung des onion.net-Editors Objekttypen für Zitate und Zitatsammlungen erstellt. Daraus generiert der onion.net-Editor automatisch die Pflegemasken, über die der Redakteur die Zitate erfasst und über Zitatsammlungen zusammenstellt.</p>
<p>An dieser Stelle ist die Einführung in den <a href="http://www.youtube.com/watch?v=ylO4dM44VnY">Richtext-Editor</a> interessant, die einige Möglichkeiten der Inhaltserfassung zeigt. Mir gefällt übrigens nicht, dass Tabellenkopfzellen fett und kursiv markiert und nicht als <code>th</code> ausgezeichnet werden. Möglich ist dies aber, wie man an der Schaltfläche unten rechts erkennen kann.</p>
</dd>
<dt>Folge 2: Zitatsammlung erstellen, Transformationen entwickeln (<a href="http://www.youtube.com/watch?v=4ipdTvqA3j8">Teil 1</a> und <a href="http://www.youtube.com/watch?v=Qes7OJJb2XI">Teil 2</a>)</dt>
<dd>Die zweite Folge führt in XSL-Transformationen mit onion.net ein und zeigt, wie schnell und unkompliziert Entwickler die erfassten Daten als HTML ausgeben können. Dabei wird eine Transformation immer einem Objekttyp zugeordnet. Sie versteht sich als objektorientierte Methode, die Entwickler wie in der Programmierung üblich durch Ableitungen erweitern und Methodensignaturen parametrisieren können.</p>
</dd>
<dt>Folge 3: Zitatsammlung erstellen, Editor individualisieren (<a href="http://www.youtube.com/watch?v=mitsCy0Uy0E">Teil 1</a> und <a href="http://www.youtube.com/watch?v=rKjLBrlRCO8">Teil 2</a>)</dt>
<dd>Die dritte Folge zeigt, wie Administratoren oder Entwickler die Pflege im onion.net-Editor mit wenigen Handgriffen durch lokalisierte Bezeichner, zusätzliche sortierbare Listenansichten und übersichtliche Icons verbessern können. Dieser Schritt erhöht den Komfort bei der Arbeit mit dem onion.net-Editor für Redakteure enorm. Wie Sie den onion.net-Editor in beliebigen weiteren Sprachen lokalisieren können, sehen Sie im Screencast <a href="http://www.youtube.com/watch?v=ah3ugUyNNZ8">Lokalisierung der Pflegemasken in weiteren Sprachen</a>.</p>
<p>Ein weiterer Screencast zeigt, wie Sie den <a href="http://www.youtube.com/watch?v=8QjvjhXs0YE">Richtext-Editor anpassen</a> können.</p>
</dd>
</dl>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2>Screencasts für Informationsarchitekten</h2>
<p>Neben dem dreiteiligen Tutorial für Webentwickler stellt Burkert zahlreiche weitere Screencasts zur Verfügung. Darunter sind folgende für Informationsarchitekten interessant, die sich tiefer über die Datenmodellierung mit onion.net informieren möchten.</p>
<dl>
<dt><a href="http://www.youtube.com/watch?v=CQRIbCSTqnM">Objektorientierte Erweiterung der Datentypen</a></dt>
<dd>Dieser Screencast zeigt, wie Entwickler die in den ersten drei Folgen aufgebaute Zitatsammlung erweitern können. Ein Objekttyp Filmzitat wird hinzugefügt und die Transformationen sowie der Editor angepasst.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=qFk8QlUtLug">Erweiterung des Datenmodells</a></dt>
<dd>In diesem Screencast werden Zitate um ein Element für die Erfassung der Zitatquelle erweitert. Die Aktualisierung der Bestandsdaten lässt sich übrigens automatisieren, sodass es bei einer Menge von einigen Hundert Zitaten nicht unbedingt notwendig ist, alle auszuleihen, zu ändern und wieder zurückzugeben.</p>
<p>Der Screencast <a href="http://www.youtube.com/watch?v=SqR4m7-XtPU">Datenkonsistenz</a> zeigt darüber hinaus, dass es nicht möglich ist, Objektdefinitionen so zu verändern, dass Bestandsdaten ungültig werden.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=4Xk4ACcmhSQ">Einschränkung simpler Datentypen</a></dt>
<dd>Am Beispiel der Zitatverwaltung zeigt dieser Screencast, wie ein Entwickler simple Datentypen einschränkt. Das ist eher eine kurze Einführung in die Möglichkeiten von XML Schema, aber dennoch oder gerade deswegen interessant zu sehen.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=E19iKbTvcBE">Strukturelle Integrität und Kindschemata</a></dt>
<dd>Dieser Screencast räumt alle Zweifel beiseite, falls Ihnen noch nicht klar geworden ist, dass onion.net über die Definition von Kindschemata für Ordnung sorgt und der Informationsarchitekt bestimmen kann, welche Objekte unterhalb welcher Objekte liegen können.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=20OdF_ibZTU">Module erstellen und verteilen</a></dt>
<dd>Objekttypen, angelegte Daten, Transformationen und Konfigurationen können in ein Modul zusammengefasst, als ZIP-Archiv exportiert und in ein anderes onion.net-Projekt importiert werden. Der Screencast <a href="http://www.youtube.com/watch?v=4KvF_0VeBl8">Zukunftsfähigkeit durch XML</a> zeigt ergänzend, wie das Archiv aufgebaut ist und wie Entwickler über diesen Weg onion.net-Daten in andere Systeme importieren können.</p>
</dd>
</dl>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2>Screencasts für Redakteure</h2>
<p>Die folgenden Screencasts zeigen, wie einfach sich Inhalte über den onion.net-Editor einstellen und bearbeiten lassen. Das einzige Manko hierbei ist der Editor an sich: Er läuft derzeit nur im Internet Explorer! Dass das ein Unding ist, ist den onion.net-Entwicklern schon seit Jahren bewusst. Leider ist noch keine Alternative in Sicht.</p>
<dl>
<dt><a href="http://www.youtube.com/watch?v=RDHJd9xsr4U">Paralleles Arbeiten in mehreren Fenstern</a></dt>
<dd>Die Arbeit mit dem onion.net-Editor ist nicht auf ein Fenster beschränkt. Stattdessen können Redakteure beliebig viele Fenster öffnen, parallel arbeiten und Inhalte von einem Fenster ins andere kopieren und verschieben.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=ulLj5jZn5QU">Exklusive Bearbeitungssperren</a></dt>
<dd>Wenn ein Redakteur Inhalte im onion.net-Editor bearbeiten möchte, muss er das Objekt ausleihen. Dadurch ist es für die Bearbeitung durch andere Redakteure gesperrt, sodass parallele Änderungen sich nicht gegenseitig stören können und nicht derjenige Redakteur »gewinnt«, der zuletzt speichert.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=Ja0G1tqW6J0">Referenzielle Integrität</a></dt>
<dd>Interessant für Redakteure und Informationsarchitekten: onion.net stellt zu jeder Zeit sicher, dass alle Referenzen innerhalb des Systems konsistent sind. Das bedeutet, dass es keine internen toten Links auf einer mit onion.net erstellten Website geben kann, und darüber hinaus, dass Webentwickler sich darauf verlassen können, dass Objekte, auf die sie sich in ihren Transformationsmethoden beziehen, auch tatsächlich vorhanden sind.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=xq10d4-gflI">Volltext- und Metadatensuche</a></dt>
<dd>onion.net unterstützt Redakteure durch eine leistungsfähige Suche, die sie unter anderem auf Pfade (wo soll gesucht werden), Objekttypen (was soll gesucht werden), Status, Bearbeiter, Ersteller und Zeiträume einschränken können.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=in7wZVqhwj4">Metadaten und Versionierung</a></dt>
<dd>Jede Änderung an einem Objekt wird in der Versionshistorie archiviert und kann von dort wieder hergestellt werden. Darüber hinaus werden strukturelle Änderungen protokolliert.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=uKF1u4iZw64">Papierkorb</a></dt>
<dd>Der Papierkorb des onion.net-Editors ist ein durchsuchbares Archiv, in dem Löschvorgänge aller Redakteure protokolliert werden. Gelöschte Objekte können wiederhergestellt werden.</p>
</dd>
</dl>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2>Weitere Screencasts</h2>
<p>Die übrigens Screencasts geben einen Überblick über die Benutzer- und Rechtverwaltung, den Imageserver und die SharePoint-Einbindung, mit der ich allerdings noch nicht gearbeitet habe.</p>
<dl>
<dt><a href="http://www.youtube.com/watch?v=3ONWdiUOV_4">Benutzer- und Rechtverwaltung</a></dt>
<dd>Das onion.net-Rechtemanagement ist gruppenbasiert. Der Benutzerverwalter definiert Gruppen, die typische Aufgabenstellungen des Systems widerspiegeln. Die Rechte legt er für die Gruppen fest. Anschließend weißt er Benutzern eine oder mehrere Gruppen zu. Welche Objekte ein Benutzer sehen, anlegen, bearbeiten oder löschen darf, ist abhängig von den Rechten, die er aufgrund seiner Gruppenzugehörigkeit besitzt.</p>
</dd>
<dt><a href="http://www.youtube.com/watch?v=MbWlSKVJIeU">Bilder mit dem onion.net-Imageserver vereinheitlichen</a></dt>
<dd>Es ist ein typisches Problem auf den meisten Webseiten, Bildgrößen und -formate konsistent zu halten. onion.net bietet mit dem Imageserver ein optionales Modul, mit dem Entwickler Bilder skalieren, bearbeiten und manipulieren können.</p>
</dd>
<dt>Integration von Microsoft SharePoint: <a href="http://www.youtube.com/watch?v=DU3I5zn64cA">CMS Inhalte in Web Parts anbieten</a> und <a href="http://www.youtube.com/watch?v=X6N68PBg7Ts">SharePoint-Inhalte im CMS verwenden</a></dt>
<dd>SharePoint ist ein Webportal mit Microsoft Office SharePoint Server als Portal und Windows SharePoint Services als Informationsspeicher bzw. Repository. Diese Screencasts zeigen, wie onion.net-Inhalte für die Nutzung in Microsoft SharePoint als Web Parts bereitgestellt werden und wie Inhalte aus SharePoint mit onion.net verwendet werden können.</p>
</dd>
</dl>
<p>Auf der <a href="http://onion.net">onion.net-Website</a> gibt es übrigens noch weitere Videos, die zum Teil wirklich beeindruckend sind. Das Video zu <a href="http://onion.net/insite-editing">InSite Editing</a> gehört in diese Kategorie: Es zeigt, wie das Farbschema einer Website aus den Farben des Logos abgeleitet werden kann, und darüber hinaus weitere Funktionen des ImageServers. Das ist sehenswert!</p>
<p class="top"><a href="#top">Zum Seitenanfang</a></p>
<h2>Hinweis in eigener Sache</h2>
<p>Wenn Sie sich die Screencasts angeschaut haben und onion.net für Ihre eigene Website interessant finden, dann gestatten Sie mir bitte einen Hinweis: Seit einiger Zeit wenden wir bei der itemis AG unsere Vorgehensmodelle auch auf die Entwicklung von webbasierten Portalen an. onion.net kann dabei Teil der Werkzeugkette sein. Oder wir setzen Websites komplett mit onion.net um wie beispielsweise unser eigenes <a href="http://www.itemis.de/">Corporate Portal</a>. Wir bieten Ihnen einen Einsteiger-Workshop für modellbasierte Portale an und geben Ihnen die Möglichkeit, die Vorteile in der Praxis zu testen. Wenn Sie mehr erfahren möchten, dann nehmen Sie <a href="/kontakt/">Kontakt</a> zu mir auf.</p>
]]></content:encoded>
			<wfw:commentRss>http://jendryschik.de/weblog/2009/12/08/einfuehrung-in-onion-net-screencasts-bei-youtube/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

