<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Plugins%2Fde</id>
		<title>Plugins/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Plugins%2Fde"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;action=history"/>
		<updated>2026-05-12T05:37:43Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=49635&amp;oldid=prev</id>
		<title>Djphil: Fix Quicklinks</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=49635&amp;oldid=prev"/>
				<updated>2020-10-19T16:07:35Z</updated>
		
		<summary type="html">&lt;p&gt;Fix Quicklinks&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:07, 19 October 2020&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Quicklinks|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Download&lt;/del&gt;}}{{ReleaseInfo}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Quicklinks|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Plugins&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{ReleaseInfo}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Überblick==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Überblick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Djphil</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46088&amp;oldid=prev</id>
		<title>Manni at 19:35, 13 April 2018</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46088&amp;oldid=prev"/>
				<updated>2018-04-13T19:35:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:35, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Quicklinks|Download}}{{ReleaseInfo}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Überblick==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Überblick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Die Connectors werden durch den Aufruf von ServerUtils.LoadPlugin&amp;lt;IServiceConnector&amp;gt;() geladen.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Die Connectors werden durch den Aufruf von ServerUtils.LoadPlugin&amp;lt;IServiceConnector&amp;gt;() geladen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Users]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Developers]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:German Translations]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46087&amp;oldid=prev</id>
		<title>Manni: /* Connectors */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46087&amp;oldid=prev"/>
				<updated>2018-04-13T19:34:05Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Connectors&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:34, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; IPresenceData m_Database = LoadPlugin&amp;lt;IPresenceData&amp;gt;(dllName);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; IPresenceData m_Database = LoadPlugin&amp;lt;IPresenceData&amp;gt;(dllName);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Connectors &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Anschlüsse &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Robust &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;finds and loads its &lt;/del&gt;[[Connectors]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;by having them specified explicitly &lt;/del&gt;in Robust.ini (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in the &lt;/del&gt;&amp;quot;ServiceConnectors&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;entry&lt;/del&gt;). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Since the plugins are specified explicitly&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this works by loading the DLL's manually&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;However, it's somewhat similar to the &lt;/del&gt;Mono.Addins &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;technique in that &lt;/del&gt;Robust loads '''all''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the connectors specified; not just one&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Perhaps it can be refactored someday to truly use &lt;/del&gt;Mono.Addins.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Robust &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sucht und lädt seine &lt;/ins&gt;[[Connectors]]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, indem sie &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;der Datei &lt;/ins&gt;Robust.ini (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;im Eintrag &lt;/ins&gt;&amp;quot;ServiceConnectors&amp;quot;) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;explizit angegeben werden&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Da die Plugins explizit angegeben werden&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;funktioniert dies, indem die DLLs manuell geladen werden&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Es ähnelt jedoch der &lt;/ins&gt;Mono.Addins&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Methode insofern, als &lt;/ins&gt;Robust loads '''all''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;angegebenen Anschlüsse lädt&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nicht nur einer. Vielleicht kann es irgendwann überarbeitet werden, um wirklich &lt;/ins&gt;Mono.Addins &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zu verwenden&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The connectors are loaded by calling &lt;/del&gt;ServerUtils.LoadPlugin&amp;lt;IServiceConnector&amp;gt;().&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Connectors werden durch den Aufruf von &lt;/ins&gt;ServerUtils.LoadPlugin&amp;lt;IServiceConnector&amp;gt;() &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;geladen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46086&amp;oldid=prev</id>
		<title>Manni: /* Specifying Plugin Implementation in the Configuration */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46086&amp;oldid=prev"/>
				<updated>2018-04-13T19:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Specifying Plugin Implementation in the Configuration&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:30, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Diese Punkte wurden nach 0.7.1.1 im OpenSimulator-Code entfernt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Diese Punkte wurden nach 0.7.1.1 im OpenSimulator-Code entfernt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Specifying &lt;/del&gt;Plugin &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Implementation &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the Configuration &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Angeben der &lt;/ins&gt;Plugin&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Implementierung &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;der Konfiguration &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For most plugins&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the class that should be used to implement the plugin's interface is specified explicitly &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;one of the .&lt;/del&gt;INI &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;files&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The application then simply loads the assembly &lt;/del&gt;(DLL); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;finds the specified class&lt;/del&gt;; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and instantiates it&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Bei den meisten Plugins wird die Klasse&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;die zur Implementierung der Plugin-Schnittstelle verwendet werden soll, explizit &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;einer der &lt;/ins&gt;INI&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Dateien angegeben&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Anwendung lädt dann einfach die Assembly &lt;/ins&gt;(DLL); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;findet die angegebene Klasse&lt;/ins&gt;; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;und instanziiert es&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These types of plugins are used when it only makes sense to load a single implementation of the plugin&lt;/del&gt;; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;not all the available implementations&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For example, only one database access module can be used. Therefore, the &lt;/del&gt;.INI &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;files contain directives such as these&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diese Plugins werden verwendet, wenn es nur sinnvoll ist, eine einzige Implementierung des Plugins zu laden&lt;/ins&gt;; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nicht alle verfügbaren Implementierungen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Zum Beispiel kann nur ein Datenbankzugriffsmodul verwendet werden&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Daher enthalten die &lt;/ins&gt;INI&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Dateien Anweisungen wie diese&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; [DatabaseService]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; [DatabaseService]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Sometimes the definition also specifies which class to use&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For example&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Manchmal gibt die Definition auch an, welche Klasse verwendet werden soll&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Beispielsweise&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; [InventoryService]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; [InventoryService]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Let's take the example of the data&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;access plugin further&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Most classes that need to access the database have a Data interface defined. For example&lt;/del&gt;, PresenseService &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;defines &lt;/del&gt;IPresenceData. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This interface has implementations for all of the databases &lt;/del&gt;OpenSimulator &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;supports&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;When the service starts&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it loads the database assembly that was specified &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the configuration&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and then finds &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;that assembly the class that implements the desired interface &lt;/del&gt;(IPresenceData). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The code looks something like this &lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;although this is simplified&lt;/del&gt;):&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nehmen wir das Beispiel des Datenzugriffs&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Plugins weiter&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Für die meisten Klassen&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;die auf die Datenbank zugreifen müssen, ist eine Datenschnittstelle definiert. Zum Beispiel definiert &lt;/ins&gt;PresenseService IPresenceData. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diese Schnittstelle verfügt über Implementierungen für alle Datenbanken, die &lt;/ins&gt;OpenSimulator &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unterstützt&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wenn der Dienst gestartet wird&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lädt er die Datenbankassembly, die &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;der Konfiguration angegeben wurde&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;und sucht dann &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dieser Assembly die Klasse, die die gewünschte Schnittstelle implementiert &lt;/ins&gt;(IPresenceData). &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Der Code sieht ungefähr so ​​aus &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;obwohl dies vereinfacht ist&lt;/ins&gt;):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; IConfig dbConfig = config.Configs[&amp;quot;DatabaseService&amp;quot;];&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; IConfig dbConfig = config.Configs[&amp;quot;DatabaseService&amp;quot;];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46085&amp;oldid=prev</id>
		<title>Manni: /* Unused Extension Points */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46085&amp;oldid=prev"/>
				<updated>2018-04-13T19:28:53Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Unused Extension Points&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:28, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/WindModule''' - Windmodelle . Geladen von WindModule, welches selbst ein Regionalmodul ist. Die Plugins werden durch direkten Aufruf von AddinManager geladen. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/WindModule''' - Windmodelle . Geladen von WindModule, welches selbst ein Regionalmodul ist. Die Plugins werden durch direkten Aufruf von AddinManager geladen. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Unused Extension Points &lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Unbenutzte Erweiterungspunkte &lt;/ins&gt;====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;There are some extension points defined that are never actually loaded. For example&lt;/del&gt;, OpenSim.data.MySQL.addin.xml &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;defines plugins that '''provide''' implementations for extension points such as &lt;/del&gt;&amp;quot;/OpenSim/GridData&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/del&gt;&amp;quot;/OpenSim/AssetData&amp;quot;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;However, no-one actually loads these extension points &lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;as far as I can see&lt;/del&gt;). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Instead, these plugins are loaded using the config&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;files technique described below&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Es sind einige Erweiterungspunkte definiert&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;die niemals tatsächlich geladen werden. Zum Beispiel definiert &lt;/ins&gt;OpenSim.data.MySQL.addin.xml &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Plugins, die Implementierungen für Erweiterungspunkte wie &lt;/ins&gt;&amp;quot;/OpenSim/GridData&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;und &lt;/ins&gt;&amp;quot;/OpenSim/AssetData&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bereitstellen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Allerdings lädt tatsächlich niemand diese Erweiterungspunkte &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;soweit ich sehen kann&lt;/ins&gt;). &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Stattdessen werden diese Plugins mit der unten beschriebenen Config-Files&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Methode geladen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These points have been removed in OpenSimulator code after &lt;/del&gt;0.7.1.1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diese Punkte wurden nach &lt;/ins&gt;0.7.1.1 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;im OpenSimulator-Code entfernt&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Specifying Plugin Implementation in the Configuration ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Specifying Plugin Implementation in the Configuration ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46084&amp;oldid=prev</id>
		<title>Manni: /* Dynamic Plugins with Mono.Addins */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46084&amp;oldid=prev"/>
				<updated>2018-04-13T19:25:29Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Dynamic Plugins with Mono.Addins&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:25, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OpenSimulator verwendet verschiedene Mechanismen, um die dynamische Konfiguration von Funktionen zu ermöglichen. Diese Seite beschreibt diese Mechanismen.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OpenSimulator verwendet verschiedene Mechanismen, um die dynamische Konfiguration von Funktionen zu ermöglichen. Diese Seite beschreibt diese Mechanismen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dynamic &lt;/del&gt;Plugins &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;with &lt;/del&gt;Mono.Addins ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dynamische &lt;/ins&gt;Plugins &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mit &lt;/ins&gt;Mono.Addins ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Some types of plugins are discovered at runtime using &lt;/del&gt;'''Extension Points'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, and loaded using &lt;/del&gt;'''Mono.Addins'''. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This mechanism is described in detail &lt;/del&gt;[[How to create a dynamic plugin|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;here&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/del&gt;[[Dynamic Plugin Quickstart|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;here&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Einige Plugins werden zur Laufzeit mit &lt;/ins&gt;'''Extension Points''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;erkannt und mit &lt;/ins&gt;'''Mono.Addins''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;geladen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dieser Mechanismus wird &lt;/ins&gt;[[How to create a dynamic plugin|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hier&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;und &lt;/ins&gt;[[Dynamic Plugin Quickstart|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hier&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;detailliert beschrieben&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These types of plugins are used when it's desirable to load '''all''' the plugins of a particular type&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diese Arten von Plugins werden verwendet, wenn es wünschenswert ist, alle Plugins eines bestimmten Typs zu laden&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This mechanism is currently used &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the following cases&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dieser Mechanismus wird derzeit &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;den folgenden Fällen verwendet&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/Startup''' - &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;application plugins &lt;/del&gt;(IApplicationPlugin). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Loaded by &lt;/del&gt;OpenSimBase &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when &lt;/del&gt;OpenSimulator &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;starts&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The plugins are loaded using &lt;/del&gt;PluginLoader.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/Startup''' - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Anwendung Plugins &lt;/ins&gt;(IApplicationPlugin). &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wird von &lt;/ins&gt;OpenSimBase &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;geladen, wenn &lt;/ins&gt;OpenSimulator &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gestartet wird&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Plugins werden mit &lt;/ins&gt;PluginLoader &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;geladen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/RegionModules''' - &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;region modules&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Loaded by &lt;/del&gt;RegionModulesControllerPlugin, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;which is itself an application plugin&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The plugins are loaded by calling &lt;/del&gt;AddinManager &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;directly &lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;not through &lt;/del&gt;PluginLoader)&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''/OpenSim/RegionModules''' - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Region-Module&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Geladen von &lt;/ins&gt;RegionModulesControllerPlugin, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;welches selbst ein Anwendungs-Plugin ist&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Plugins werden durch direkten Aufruf von &lt;/ins&gt;AddinManager &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;geladen &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nicht über &lt;/ins&gt;PluginLoader).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''/OpenSim/WindModule''' - wind models. Loaded by WindModule, which is itself a region module. The plugins are loaded by calling AddinManager directly&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;'''/OpenSim/WindModule''' - Windmodelle . Geladen von WindModule, welches selbst ein Regionalmodul ist. Die Plugins werden durch direkten Aufruf von AddinManager geladen. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Unused Extension Points ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Unused Extension Points ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46083&amp;oldid=prev</id>
		<title>Manni: /* Overview */</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46083&amp;oldid=prev"/>
				<updated>2018-04-13T19:19:35Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:19, 13 April 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Overview&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Überblick&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OpenSimulator &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;uses several mechanisms to enable dynamic configuration of functionality&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This page describes these mechanisms&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OpenSimulator &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verwendet verschiedene Mechanismen, um die dynamische Konfiguration von Funktionen zu ermöglichen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diese Seite beschreibt diese Mechanismen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Dynamic Plugins with Mono.Addins ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Dynamic Plugins with Mono.Addins ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46082&amp;oldid=prev</id>
		<title>Manni: Created page with &quot;==Overview==  OpenSimulator uses several mechanisms to enable dynamic configuration of functionality. This page describes these mechanisms.  == Dynamic Plugins with Mono.Addin...&quot;</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Plugins/de&amp;diff=46082&amp;oldid=prev"/>
				<updated>2018-04-13T19:18:53Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Overview==  OpenSimulator uses several mechanisms to enable dynamic configuration of functionality. This page describes these mechanisms.  == Dynamic Plugins with Mono.Addin...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator uses several mechanisms to enable dynamic configuration of functionality. This page describes these mechanisms.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Plugins with Mono.Addins ==&lt;br /&gt;
&lt;br /&gt;
Some types of plugins are discovered at runtime using '''Extension Points''', and loaded using '''Mono.Addins'''. This mechanism is described in detail [[How to create a dynamic plugin|here]] and [[Dynamic Plugin Quickstart|here]].&lt;br /&gt;
&lt;br /&gt;
These types of plugins are used when it's desirable to load '''all''' the plugins of a particular type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This mechanism is currently used in the following cases:&lt;br /&gt;
&lt;br /&gt;
'''/OpenSim/Startup''' - application plugins (IApplicationPlugin). Loaded by OpenSimBase when OpenSimulator starts. The plugins are loaded using PluginLoader.&lt;br /&gt;
&lt;br /&gt;
'''/OpenSim/RegionModules''' - region modules. Loaded by RegionModulesControllerPlugin, which is itself an application plugin. The plugins are loaded by calling AddinManager directly (not through PluginLoader).&lt;br /&gt;
&lt;br /&gt;
'''/OpenSim/WindModule''' - wind models. Loaded by WindModule, which is itself a region module. The plugins are loaded by calling AddinManager directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unused Extension Points ====&lt;br /&gt;
&lt;br /&gt;
There are some extension points defined that are never actually loaded. For example, OpenSim.data.MySQL.addin.xml defines plugins that '''provide''' implementations for extension points such as &amp;quot;/OpenSim/GridData&amp;quot; and &amp;quot;/OpenSim/AssetData&amp;quot;. However, no-one actually loads these extension points (as far as I can see). Instead, these plugins are loaded using the config-files technique described below.&lt;br /&gt;
&lt;br /&gt;
These points have been removed in OpenSimulator code after 0.7.1.1.&lt;br /&gt;
&lt;br /&gt;
== Specifying Plugin Implementation in the Configuration ==&lt;br /&gt;
&lt;br /&gt;
For most plugins, the class that should be used to implement the plugin's interface is specified explicitly in one of the .INI files. The application then simply loads the assembly (DLL); finds the specified class; and instantiates it.&lt;br /&gt;
&lt;br /&gt;
These types of plugins are used when it only makes sense to load a single implementation of the plugin; not all the available implementations. For example, only one database access module can be used. Therefore, the .INI files contain directives such as these:&lt;br /&gt;
&lt;br /&gt;
 [DatabaseService]&lt;br /&gt;
    StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sometimes the definition also specifies which class to use. For example:&lt;br /&gt;
&lt;br /&gt;
 [InventoryService]&lt;br /&gt;
    LocalServiceModule = &amp;quot;OpenSim.Services.InventoryService.dll:XInventoryService&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let's take the example of the data-access plugin further. Most classes that need to access the database have a Data interface defined. For example, PresenseService defines IPresenceData. This interface has implementations for all of the databases OpenSimulator supports. When the service starts, it loads the database assembly that was specified in the configuration, and then finds in that assembly the class that implements the desired interface (IPresenceData). The code looks something like this (although this is simplified):&lt;br /&gt;
&lt;br /&gt;
 IConfig dbConfig = config.Configs[&amp;quot;DatabaseService&amp;quot;];&lt;br /&gt;
 string dllName = dbConfig.GetString(&amp;quot;StorageProvider&amp;quot;);&lt;br /&gt;
 IPresenceData m_Database = LoadPlugin&amp;lt;IPresenceData&amp;gt;(dllName);&lt;br /&gt;
&lt;br /&gt;
== Connectors ==&lt;br /&gt;
&lt;br /&gt;
Robust finds and loads its [[Connectors]] by having them specified explicitly in Robust.ini (in the &amp;quot;ServiceConnectors&amp;quot; entry). Since the plugins are specified explicitly, this works by loading the DLL's manually. However, it's somewhat similar to the Mono.Addins technique in that Robust loads '''all''' the connectors specified; not just one. Perhaps it can be refactored someday to truly use Mono.Addins.&lt;br /&gt;
&lt;br /&gt;
The connectors are loaded by calling ServerUtils.LoadPlugin&amp;lt;IServiceConnector&amp;gt;().&lt;/div&gt;</summary>
		<author><name>Manni</name></author>	</entry>

	</feed>