<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[Frdlweb: Frdlweb Software}]]></title>
	<link>https://frdl.de/groups/profile/97/frdlweb-software</link>
	<atom:link href="https://frdl.de/groups/profile/97/frdlweb-software" rel="self" type="application/rss+xml" />
	<description><![CDATA[}]]></description>
		<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/1483/webfan-ui-concept-4</guid>
	<pubDate>Thu, 09 Apr 2026 16:08:53 +0000</pubDate>
	<link>https://frdl.de/blog/view/1483/webfan-ui-concept-4</link>
	<title><![CDATA[Webfan UI - Concept 4]]></title>
	<description><![CDATA[<p>Webfan is now testing the new successor of an UI concept implementing components that has been around in the stack since years.</p><p>It is based in the following components or forks of them:</p><p>&nbsp;</p><ul><li><strong>StartDir\Html\Container</strong> Compiles and renders HTML. It uses<ul><li><a href="https://github.com/ivopetkov/html-server-components-compiler">ivopetkov/html-server-components-compiler</a> fork <a href="https://startdir.de/install/?source=Webfan%5CWebfat%5CHTMLServerComponentsCompiler">Webfan\Webfat\HTMLServerComponentsCompiler</a> and the <i><strong>insane</strong></i> PHP-NodeJs-styler <a href="https://startdir.de/install/?source=Webfan%5CScript%5CModules">Webfan\Script\Modules</a></li><li><a href="https://github.com/krzksz/phCompile">krzksz/phcompile</a> for <i><strong>Angularifary</strong></i>!</li></ul></li><li><i><strong>Angularifary </strong>scopify-fetch </i><a href="https://cdn.frdl.de/@webfan3/website/patches/angularjs-make-app.js">Directive</a> is used to asynchronous update the pre-rendered Server-HTML in the browser:&nbsp; Example: <code>&lt;span&nbsp;</code><br /><code>&nbsp;scopify-fetch</code><br /><code>&nbsp; url="https://webfan.de/@&lt;?php echo $component-&gt;subject; ?&gt;/actor.json"</code><br /><code>&nbsp; interval="35"&nbsp;</code><br /><code>&nbsp; increaseinterval="15"&nbsp;</code><br /><code>&nbsp; global&nbsp;</code><br /><code>&nbsp; removemissing="false"&nbsp;</code><br /><code>&nbsp; assign="ItemActor"</code><br /><code>&nbsp; transform="actorTransform"&nbsp;</code><br /><code>&gt;&lt;/span&gt;</code>&nbsp;</li><li><a href="https://github.com/mmamedov/page-cache"><strong>mmamedov/page-cache</strong></a> is &nbsp;needed in the front/top of the UI-Controller as the above rendering can be <i><strong>extremely slow</strong></i>!!!</li></ul><p>&nbsp;</p><p><strong>Example Code-Snippet:</strong></p><p>First register shut down function to output the HTML-Document finally:&nbsp;</p><blockquote><p>$ShutdownTasks = \frdlweb\Thread\ShutdownTasks::mutex();<br />$ShutdownTasks(function($ItemUpdater){<br />&nbsp;&nbsp;&nbsp;&nbsp;$str = @$ItemUpdater-&gt;context()-&gt;html()-&gt;compileScope( Config::get('context.scope') );<br />&nbsp;$str = str_replace(['&lt;/head&gt;'], ['&lt;/head&gt;&lt;body&gt;'], $str).'&lt;/body&gt;';<br />&nbsp;echo '&lt;!DOCTYPE html&gt;<br />&lt;html&gt;'.$str.'&lt;/html&gt;';<br />}, $ItemUpdater);</p></blockquote><p>Then write HTML:&nbsp;</p><blockquote><p>$ItemUpdater::context()-&gt;html()-&gt;write('<br />&nbsp;&lt;component src="file:'.__DIR__.'/template-main.php" subject="'.getenv('WEBFINGER_HANDLE').'" description="'.$ItemUpdater-&gt;getItem()-&gt;getData()['description'].'" /&gt;<br />');</p></blockquote><p>&nbsp;</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/1225/webfanjs-frdlwebjs-markdown-components</guid>
	<pubDate>Mon, 25 Dec 2023 21:37:40 +0000</pubDate>
	<link>https://frdl.de/blog/view/1225/webfanjs-frdlwebjs-markdown-components</link>
	<title><![CDATA[webfan.js | Frdlweb.js - Markdown Components]]></title>
	<description><![CDATA[<p>The <a href="https://frdlweb.de/cdn/index#examples">framework</a> parses everything that is in the innerHTML of an element wich has the attribute or the class <code>frdl-markdown</code> as <a href="https://de.wikipedia.org/wiki/Markdown">markdown</a> and then purifies the HTML result. So for example:</p><blockquote><p>&lt;div frdl-markdown&gt;</p><p>**fat**</p><p>&lt;/div&gt;</p></blockquote><p>…will be parsed into:</p><blockquote><p>&lt;div frdl-markdown&gt;</p><p>&lt;b&gt;fat&lt;/b&gt;</p><p>&lt;/div&gt;</p></blockquote><p>…and the result looks like:</p><blockquote><p><strong>fat</strong></p></blockquote>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/1213/darkmode-added-to-the-framework</guid>
	<pubDate>Sat, 23 Dec 2023 19:21:06 +0000</pubDate>
	<link>https://frdl.de/blog/view/1213/darkmode-added-to-the-framework</link>
	<title><![CDATA[Darkmode added to the framework]]></title>
	<description><![CDATA[<p>Thanks to <a href="https://www.npmjs.com/package/darkmode-js">darkmode-js</a>, a darkmode was added to the framework:</p><blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;async function darkmode(Webfan){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(true !== Webfan.c.website.darkmode.enabled &amp;&amp; 'true' !== Webfan.c.website.darkmode.enabled){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(new Webfan.Darkmode(Webfan.c.website.darkmode.options)).showWidget();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}catch(err){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;console.warn(err);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}</p></blockquote><p><a href="https://frdl.de/blog/view/1208/webfanjs-webfan-websitejs-configuration-parameters">Read here how you can change the options: https://frdl.de/blog/view/1208/webfanjs-webfan-websitejs-configuration-parameters</a></p><p>&nbsp;</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/1208/webfanjs-frdlwebjs-configuration-parameters</guid>
	<pubDate>Sat, 23 Dec 2023 19:17:39 +0000</pubDate>
	<link>https://frdl.de/blog/view/1208/webfanjs-frdlwebjs-configuration-parameters</link>
	<title><![CDATA[webfan.js | Frdlweb.js Configuration Parameters]]></title>
	<description><![CDATA[<p>As you may have noticed we have appended the <a href="https://frdlweb.de/cdn/index#examples">injection-Url for the webfan.js in the example</a> by a “configuration query”:<br />&nbsp;</p><pre><code class="language-plaintext">'DEBUG.enabled=true&amp;website.consent.ads=false&amp;angularjs.html5mode.rewriteLinks=false&amp;angularjs.html5mode.enabled=false'</code></pre><p>These query-attributes are objects in the “dot-notation”. You can <strong>alter the query</strong> and it will be <strong>merged</strong> into the configuration object.</p><p>To get <strong>the defaults</strong> of the configuration object and to get wich attributes/members you can use/alter, you can read and study this file:</p><p><a href="https://cdn.startdir.de/@webfan3/common/config-defaults.js">https://cdn.startdir.de/@webfan3/common/config-defaults.js</a>&nbsp;</p><blockquote><p>…</p><p>DEF.angularjs.html5mode.enabled = true; //null !== document.querySelector('base');</p><p>DEF.angularjs.html5mode.requireBase = null !== document.querySelector('base');</p><p>DEF.angularjs.html5mode.rewriteLinks = null !== document.querySelector('a[ui-sref]');</p><p>…</p></blockquote><p>It will be compiled into every current webpack built.</p><p>You can edit this options runtime as described above.</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/1169/rss-viewer-frdlwebjs-component</guid>
	<pubDate>Sun, 26 Nov 2023 05:39:10 +0000</pubDate>
	<link>https://frdl.de/blog/view/1169/rss-viewer-frdlwebjs-component</link>
	<title><![CDATA[RSS Viewer - Frdlweb.js Component]]></title>
	<description><![CDATA[<p>Display merged RSS Feed items in random order (example limited to 60 items displayed initially, loads more on scrolling):</p><blockquote><p>&lt;div webfan-rss-feeds="https://www.tagesschau.de/index~rss2.xml https://www.tagesschau.de/investigativ/index~rss2.xml https://www.tagesschau.de/faktenfinder/index~rss2.xml https://www.tagesschau.de/wissen/technologie/index~rss2.xml" webfan-rss-headline="h3" webfan-rss-max-items="60"&gt;&lt;/div&gt;</p></blockquote><p>The <a href="https://cdn.startdir.de/">webfan.js</a> has to be injected to run the component.</p><p><strong>Customize item sorting</strong></p><p>There are 3 modes of sort order available:</p><ul><li>rand : random order (default)</li><li>asc: oldest items first</li><li>desc: newest items first</li></ul><p>You can configure the sorting by the <code>webfan-rss-sorting</code>-attribute of the component.&nbsp;</p><p>Example to display neswest items first:</p><blockquote><p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div webfan-rss-feeds="https://example.com/feed1.rss https://example.com/otherfeed2.rss"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;webfan-rss-headline="h4" webfan-rss-max-items="5" webfan-rss-sorting="desc" style="max-height:1536px;"&gt;&lt;/div&gt;</p></blockquote><p><strong>@Todo:</strong></p><p>To provide the correct order by timestamps after merging the feeds, in the next version we will implement our <code>@frdl/sort</code>package! It is available via npm:&nbsp;</p><p><code>npm i @frdl/sort</code></p><p><a href="https://www.npmjs.com/package/@frdl/sort">https://www.npmjs.com/package/@frdl/sort</a></p><p>It is just not implemented yet due to my time on other projects.</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/discussion/view/251/performance</guid>
	<pubDate>Sun, 17 Sep 2023 04:01:37 +0000</pubDate>
	<link>https://frdl.de/discussion/view/251/performance</link>
	<title><![CDATA[Performance]]></title>
	<description><![CDATA[<p>Although most things are cached now, the "boostrap process" is too slow.</p><p>Does anyone have any suggestions to increase performance on this?</p><p>https://github.com/frdlweb/webfat/blob/cd8280643f1f4ebefd7adb9ceeda98c5ff16deb0/public/index.php#L5074</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/247/introducing-io4webfat-facades</guid>
	<pubDate>Sun, 17 Sep 2023 03:52:10 +0000</pubDate>
	<link>https://frdl.de/blog/view/247/introducing-io4webfat-facades</link>
	<title><![CDATA[Introducing IO4/Webfat Facades]]></title>
	<description><![CDATA[<p><strong>Import shortcuts and facades into ANY namespace</strong></p><p>You can now import the <a href="https://github.com/frdlweb/webfat/blob/e1949d2d55ccb984b168e11c0a7f0262799367b6/public/index.php#L5534">facades</a> into ANY namespace.</p><p>So this works:</p><blockquote><p>&nbsp;&nbsp;&lt;?php</p><p>namespace MyNamespace1;</p><p>&nbsp;&nbsp;echo &nbsp; Helper::toUUID4() ;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo '-';&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo Config::get('appId');&nbsp;&nbsp;&nbsp;&nbsp;</p></blockquote><p>…and this works also…:</p><blockquote><p>&nbsp;&nbsp;&lt;?php</p><p>namespace MyOtherNamespace2;</p><p>&nbsp;&nbsp;echo &nbsp; Helper::toUUID4() ;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo '-';&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo Config::get('appId');&nbsp;&nbsp;&nbsp;&nbsp;</p></blockquote><p>The snippet from container-entry “script@inc.common.bootstrap” does it and it now looks like</p><blockquote><p>&lt;?php</p><p>if($container-&gt;has('config.IO4_FACADES_ENABLE') &amp;&amp; true === $container-&gt;get('config.IO4_FACADES_ENABLE')<br />&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; $container-&gt;has('config.app.core.code.facades.$import')<br />&nbsp;&nbsp;&nbsp;&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$import = $container-&gt;get('config.app.core.code.facades.$import');<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$container-&gt;get('app.runtime.stubrunner')-&gt;withFacades(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; $import['baseName'],&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; $import['namespace']&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;);<br />&nbsp;}&nbsp;</p></blockquote><p>It uses the “<a href="https://github.com/johnstevenson/statical">statical library</a>”.</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/205/introducing-webfat-scoped-frdl-home</guid>
	<pubDate>Thu, 17 Aug 2023 04:13:23 +0000</pubDate>
	<link>https://frdl.de/blog/view/205/introducing-webfat-scoped-frdl-home</link>
	<title><![CDATA[Introducing Webfat &quot;Scope/d&quot; - FRDL_HOME]]></title>
	<description><![CDATA[<p>The environment variable “FRDL_HOME” defines the global root directory of the frdl-context (the directory where the apps global scope lives in, different to the public www webdirectory).</p><p>You can now customize the scope by the init method or the environment variable “IO4_WORKSPACE_SCOPE”.</p><p>IO4_WORKSPACE_SCOPE can have the values</p><ul><li>@cwd - current working directory - getcwd()</li><li>&nbsp;@www - &nbsp; public www web directory - $_SERVER['DOCUMENT_ROOT']</li><li>@global - USER HOME (Users HOME of current process or webspace) - the first directory in the cwd path wich is readable and writable by the current PHP process.</li><li>@www@parent - the superior directory of &nbsp;$_SERVER['DOCUMENT_ROOT']</li><li>@www@root' - &nbsp;the first directory in the $_SERVER['DOCUMENT_ROOT'] path wich is readable and writable by the current PHP process.</li><li><i>custom directory</i> - set a path/directory in IO4_WORKSPACE_SCOPE</li></ul><p><a href="https://github.com/frdlweb/webfat/blob/4aa209234da5bbf700cc127843d43cb8227e581e/public/index.php#L4354">Code from Webfat:</a></p><blockquote><p>if(null === $scope){<br />&nbsp;$scope = !empty(getenv('IO4_WORKSPACE_SCOPE')) ? getenv('IO4_WORKSPACE_SCOPE') : null;<br />}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />switch($scope){<br />&nbsp;&nbsp;&nbsp;&nbsp;case '@cwd' :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$__home = &nbsp;getcwd();<br />&nbsp;&nbsp;&nbsp;&nbsp; break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case '@www' :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$__home = &nbsp;$_SERVER['DOCUMENT_ROOT'];<br />&nbsp;&nbsp;&nbsp;&nbsp; break;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case '@www@root' :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$__home = &nbsp;$getRootDir($_SERVER['DOCUMENT_ROOT']);<br />&nbsp;&nbsp;&nbsp;&nbsp; break;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case '@www@parent' :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$__home = &nbsp;dirname($_SERVER['DOCUMENT_ROOT']);<br />&nbsp;&nbsp;&nbsp;&nbsp; break;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case '@global' :<br />&nbsp;&nbsp;&nbsp;&nbsp;case null :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$__home = $HOME_DEFAULT;<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;default :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $__home = is_dir(getenv('IO4_WORKSPACE_SCOPE')) ? getenv('IO4_WORKSPACE_SCOPE') : $HOME_DEFAULT;<br />&nbsp;&nbsp;&nbsp;&nbsp; break;<br />}<br />&nbsp;</p><p>$__home = @is_readable($__home) &amp;&amp; @is_writable($__home) ? $__home : $getRootDir($_SERVER['DOCUMENT_ROOT']);</p><p>$_ENV['FRDL_HOME'] = $__home;&nbsp;&nbsp;&nbsp;&nbsp;<br />putenv('FRDL_HOME='.$_ENV['FRDL_HOME']);</p></blockquote><p>&nbsp;</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/171/transforms-php</guid>
	<pubDate>Mon, 31 Jul 2023 15:14:22 +0000</pubDate>
	<link>https://frdl.de/blog/view/171/transforms-php</link>
	<title><![CDATA[Transforms (PHP)]]></title>
	<description><![CDATA[<p>Transforms for multiple purposes. (E.g. transports, migrations, …)</p><blockquote><pre><code class="language-plaintext">namespace Webfan\Transform;

interface TransformInterface
 {
	const RIGHT = 1;
	const LEFT = -1;	
    public function detect($payload) : int;
    public function up($payload);	
	public function down($payload); 
	public function __invoke($payload);
 }</code></pre></blockquote><p>&nbsp;</p><p>Examples in the <a href="https://webfan.de/install/?source=Webfan%5CRemoteObjectProxyClientFactory">RemoteObjects API</a>:</p><blockquote><p>use Webfan\Transform\Sequence;<br />use Webfan\Transform\UrlsafeBinaryTransform;<br />use Webfan\Transform\OpisTranform;<br />use Webfan\Transform\TransformCallbacks;</p></blockquote><p>Transform in <a href="https://registry.frdl.de/?goto=php%3AWebfan%5CTransform">the registry</a></p><p>&nbsp;</p>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
<item>
	<guid isPermaLink="true">https://frdl.de/blog/view/137/psr-11-container-manager-with-remote-fallback</guid>
	<pubDate>Sat, 15 Jul 2023 21:02:18 +0000</pubDate>
	<link>https://frdl.de/blog/view/137/psr-11-container-manager-with-remote-fallback</link>
	<title><![CDATA[PSR-11 Container Manager with remote-fallback]]></title>
	<description><![CDATA[<p>Added:&nbsp;</p><ul><li><a href="https://registry.frdl.de/?goto=php%3AIO4%5CContainer%5CContainerCollectionInterface.php">IO4\Container\ContainerCollectionInterface</a></li><li>Final Fallback-Container</li><li><a href="https://registry.frdl.de/?goto=php%3AIO4FallbackContainerClient.php">Remote-Container</a> as Final Fallback-Container</li></ul><p>in <a href="https://github.com/frdlweb/webfat/blob/44bed3c5c73c998c79b1634d92b659a19ddbb936/public/index.php#L4626">webfats index.php</a>:</p><p><code>&nbsp; &nbsp; $this['Container']-&gt;setFinalFallbackContainer(new \IO4FallbackContainerClient ( &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this['Container']-&gt;get('proxy-object-factory.cache-configuration'), &nbsp; &nbsp; &nbsp; &nbsp; $this['Container']-&gt;get('app.runtime.codebase') &nbsp; &nbsp; &nbsp;-&gt;getRemoteApiBaseUrl(\Frdlweb\Contract\Autoload\CodebaseInterface::ENDPOINT_CONTAINER_REMOTE) &nbsp; ) ); &nbsp;</code></p><p>The <i>addContainer</i> -Method adds a PSR-11 Container to the Containers-Stack.</p><p>The <i>setFinalFallbackContainer</i> -Method sets the final container wich is resolved as the last conainer in the stack, even if you add other containers later. This is where you CAN/SHOULD put a/the Remote-Container.</p><p>Reference:</p><ul><li><a href="https://registry.frdl.de/?goto=php%3APsr%5CContainer">PSR-11 Container</a></li><li><a href="https://registry.frdl.de/?goto=php%3Afrdl%5CContainerCollectionV2.php">ContainerCollectionV2</a></li></ul>]]></description>
	<dc:creator>Melanie Wehowski</dc:creator>		</item>
</channel>
</rss>
