<?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>Siebel Archívum - evoCRM</title>
	<atom:link href="https://www.evocrm.hu/category/siebel/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.evocrm.hu/category/siebel/</link>
	<description></description>
	<lastBuildDate>Wed, 11 Mar 2026 19:32:45 +0000</lastBuildDate>
	<language>hu</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://www.evocrm.hu/wp-content/uploads/2026/01/cropped-favicon-32x32.png</url>
	<title>Siebel Archívum - evoCRM</title>
	<link>https://www.evocrm.hu/category/siebel/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Why Oracle Intelligent Advisor?</title>
		<link>https://www.evocrm.hu/why-oracle-intelligent-advisor/</link>
		
		<dc:creator><![CDATA[evoCRM]]></dc:creator>
		<pubDate>Mon, 17 Jul 2023 12:16:03 +0000</pubDate>
				<category><![CDATA[Esettanulmányok]]></category>
		<category><![CDATA[Siebel]]></category>
		<guid isPermaLink="false">https://networksolutions.hu/regi/?p=3714</guid>

					<description><![CDATA[<p>A <a href="https://www.evocrm.hu/why-oracle-intelligent-advisor/">Why Oracle Intelligent Advisor?</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p><b><span data-contrast="auto">Oracle Intelligent Advisor </span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Oracle Intelligent Advisor (OIA) is a powerful rule engine that supports complex decision-making and calculations. The use-cases for OIA are endless. Whether you need to enable user-friendly self-service, improve personalized assistance through chatbots, reduce the workload of customer service agents, provide decision analytics, or fully automate decision-making OIA comes to the rescue. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Why OIA?</span></b></p>
<p><b><span data-contrast="auto">Consistent decision-making</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">OIA ensures consistent decision-making across various communicational channels and reduces the possibility of human error. All the above-mentioned use cases may be combined in a project and OIA guarantees that end-users receive the same result through different channels. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">For instance, a user may get assistance from a chatbot or fill-in an Interview to determine eligibility for a certain bank loan. Once he is reassured by the decision and explanation, he receives through these self-service channels he hands in his application.  The agent handling his case at the bank utilizes the automated decision-making process and at the push of a button he is presented with the exact same decision and explanation the client had received. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Consistency is a guarantee because the core of the rule engine is the same, regardless of the end user or the channel: the rules.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Personalized service</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">OIA allows customers to get personalized advice by completing an OIA Interview on a self-service portal. The client can pick what benefit they are applying for on a user-friendly interview screen.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">The interview changes dynamically based on what data the customer provides. For instance, once the customer selects whether they are applying for a house loan or a car loan, the interview will only ask for the input data that is relevant for the chosen loan type.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto"><img fetchpriority="high" decoding="async" class="alignnone wp-image-4025 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Oracle-Intelligent-Advisor-Demo-Interview.gif" alt="" width="1200" height="675" /></span></p>
<p><span data-contrast="auto">In case the client provides data that rules out eligibility – for instance the client is not employed when applying for the loan &#8211; the interview immediately returns the negative decision with the relevant explanation.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <img decoding="async" class="alignnone wp-image-4035 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep1.png" alt="" width="549" height="174" srcset="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep1.png 549w, https://www.evocrm.hu/wp-content/uploads/2023/07/Kep1-300x95.png 300w" sizes="(max-width: 549px) 100vw, 549px" /></span></p>
<p><span data-contrast="auto">Dynamic interviews ensure that the customer receives the decision in the shortest amount of time with the minimum number of clicks. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Reduced workload for agents</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">OIA interviews may also be designed for the use of call-center agents. Supporting the work of agents by OIA can significantly decrease the time required to process a case. By making use of OIA’s input validation, consistent decision-making, and detailed explanation on how a decision was reached the likelihood of human error can also be reduced. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Automating complex decision-making</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Depending on the purpose of the project OIA may run in the background without a surface. OIA does not have its own database. It collects the data from other services and returns the answer. The rule engine is able to make a decision using thousands of input values within milliseconds and send back the result and the relevant explanation.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Rules written in natural language</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">OIA rules are written in Microsoft Word and Excel. OIA stands out from other rule engines because in OIA rules can be written in natural language. As a result, no serious IT background is necessary in order to build an effective decision-making system.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <img decoding="async" class="alignnone wp-image-4034 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep2.png" alt="" width="598" height="183" srcset="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep2.png 598w, https://www.evocrm.hu/wp-content/uploads/2023/07/Kep2-300x92.png 300w" sizes="(max-width: 598px) 100vw, 598px" /></span></p>
<p><span data-contrast="auto">The fact that the rules are written in easily understandable language greatly promotes the cooperation between the clients and developers. OIA supports various custom languages in addition to English.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <img loading="lazy" decoding="async" class="alignnone wp-image-4033 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep3.png" alt="" width="572" height="212" srcset="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep3.png 572w, https://www.evocrm.hu/wp-content/uploads/2023/07/Kep3-300x111.png 300w" sizes="auto, (max-width: 572px) 100vw, 572px" /></span></p>
<p><b><span data-contrast="auto">Built-in functions</span></b><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Built-in functions enable complex calculations and logic in the rules. The main types of built in functions are numerical functions, date and time functions, text functions, entity and relationship functions and temporal reasoning functions.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <img loading="lazy" decoding="async" class="alignnone wp-image-4032 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep4.png" alt="" width="629" height="126" srcset="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep4.png 629w, https://www.evocrm.hu/wp-content/uploads/2023/07/Kep4-300x60.png 300w" sizes="auto, (max-width: 629px) 100vw, 629px" /></span></p>
<p><b><span data-contrast="auto">Temporal variables</span></b><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">A specialty of OIA is handling temporal variables, that is variables the value of which change over time. Therefore, it’s easy to handle past changes in the rule engine and calculate the margin that results from these changes.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <img loading="lazy" decoding="async" class="alignnone wp-image-4031 size-full" src="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep5.png" alt="" width="616" height="133" srcset="https://www.evocrm.hu/wp-content/uploads/2023/07/Kep5.png 616w, https://www.evocrm.hu/wp-content/uploads/2023/07/Kep5-300x65.png 300w" sizes="auto, (max-width: 616px) 100vw, 616px" /></span></p>
<p><b><span data-contrast="auto">Built-in regressive testing </span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">OIA allows for saving test cases and running them at a click of a button, guaranteeing that during a new development no bugs can hide among the rules. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">The test cases are created in excel files, using color-coded input, expected and actual values. The user-friendly surface enables close cooperation with the client while creating test cases.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">The test cases can range from unit tests written to guarantee that small parts of the rules work as expected to complex test cases that cover all the rules and the whole decision-making process.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><b><span data-contrast="auto">Conclusion</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Oracle Intelligent Advisor is a powerful rule engine that can be implemented in various business scenarios. OIA ensures quick and consistent decision-making across multiple channels. It can speed up the decision-making process, reduce the workload of agents and consequently reduce costs.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">The fact that OIA can read rules from documents written in natural language simplifies the development process, allows for easier communication between developers and customers and strengthens cooperation.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>

		</div>
	</div>
</div></div></div></div>
</div><p>A <a href="https://www.evocrm.hu/why-oracle-intelligent-advisor/">Why Oracle Intelligent Advisor?</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On-premise rendszer migráció felhőbe</title>
		<link>https://www.evocrm.hu/on-premise-rendszer-migracio-felhobe/</link>
		
		<dc:creator><![CDATA[evoCRM]]></dc:creator>
		<pubDate>Thu, 06 Apr 2023 07:23:19 +0000</pubDate>
				<category><![CDATA[Esettanulmányok]]></category>
		<category><![CDATA[Siebel]]></category>
		<guid isPermaLink="false">https://networksolutions.hu/regi/?p=3735</guid>

					<description><![CDATA[<p>A <a href="https://www.evocrm.hu/on-premise-rendszer-migracio-felhobe/">On-premise rendszer migráció felhőbe</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megbízó</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p><span data-contrast="auto">Megrendelőnk régóta a Siebel </span><span data-contrast="auto">Call Center alapú rendszert használja az értékesített termékeihez kapcsolódó bejelentések, hibajegyek komplex kezelésére, alkalmazásaikat szerverekről, Windows operációs rendszeren futtatják. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Azzal az igénnyel fordultak hozzánk, hogy a rendszer hatékonyságának növelése, valamint a saját üzemeltetésű infrastruktúra üzemeltetésének elhagyása érdekében az on-premise működésről szeretnének átállni felhős rendszerre.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megvalósítás</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p><span data-contrast="auto">A folyamat elkezdése előtt a rendszert </span><b><span data-contrast="auto">dockerizáltuk</span></b><span data-contrast="auto">, annak érdekében, hogy bármilyen platformon – legyen az Windows, Linux vagy IOS &#8211; bármilyen környezetben egységesen tudjuk megkezdeni a fejlesztést és a későbbiekben az üzemeltetést is.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Mivel az akkor használt rendszerük egy régebbi verzióval működött, így egy </span><b><span data-contrast="auto">upgrade</span></b><span data-contrast="auto">-et is végrehajtottunk, a 16-os rendszerről átálltunk a legújabb 22.6-os rendszerre. Erre azért is volt szükség, mert rengeteg hasznos funkció nem volt még elérhető a korábbi verzióban. Ilyen például a CRM GUI és a webtools funkciók. A két feature-nek köszönhetően már a párhuzamos fejlesztésre lehetőségünk nyílt webes felületen is. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Ezt követően készítettük el a </span><b><span data-contrast="auto">Proof of Conceptet</span></b><span data-contrast="auto">. A felhőszolgáltatók közül a választásunk a linux alapú </span><b><span data-contrast="auto">Oracle Cloud</span></b><span data-contrast="auto">-ra esett, így a szokásos technikai kihívások mellett a Windows-os környezet Linux-ra történő áthangolása volt egy nagyobb feladat.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Első lépésként kiépítettünk egy Linux Red Hat rendszert, ahova átmigráltuk az alkalmazást. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">A </span><b><span data-contrast="auto">cloud-ban készítettünk két szervert</span></b><span data-contrast="auto"> (Linux és Windows), így a migrációt elővigyázatosságból két lépésben tudtuk elvégezni. Először Windowson telepítettük a felhőbe, majd tesztelést követően Linuxra is telepítettük. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">A két szervernek köszönhetően a Siebel Enterprise-on belül </span><b><span data-contrast="auto">hibrid architektúrával dolgoztunk</span></b><span data-contrast="auto">, aminek az volt a célja, hogy az esetlegesen felmerülő hibalehetőségeket tudjuk szűrni, illetve meg tudjuk állapítani, hogy azok miből adódhatnak (architektúra váltás vagy szerver probléma). </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">A sikeres migrációt követően </span><b><span data-contrast="auto">performancia méréseket végeztünk</span></b><span data-contrast="auto">, amik a feltételezett eredményt hozták, Cloud-on hatékonyabban, gyorsabban működik a rendszer valamint az üzemeltetés is jelentősen egyszerűbbé vált. A POC bizonyította, hogy lehetséges a régi, jól működő rendszer modern környezetbe helyezése anélkül, hogy az üzleti logikát újra kellene fejleszteni.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>

		</div>
	</div>
</div></div></div></div>
</div><p>A <a href="https://www.evocrm.hu/on-premise-rendszer-migracio-felhobe/">On-premise rendszer migráció felhőbe</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Felújítási támogatás sikertörténet</title>
		<link>https://www.evocrm.hu/felujitasi-tamogatas-sikertortenet/</link>
		
		<dc:creator><![CDATA[evoCRM]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 07:22:36 +0000</pubDate>
				<category><![CDATA[Esettanulmányok]]></category>
		<category><![CDATA[Siebel]]></category>
		<guid isPermaLink="false">https://networksolutions.hu/regi/?p=3733</guid>

					<description><![CDATA[<p>A <a href="https://www.evocrm.hu/felujitasi-tamogatas-sikertortenet/">Felújítási támogatás sikertörténet</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megbízó</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>Önállóan működő és gazdálkodó költségvetési szerv, mely a költségvetés végrehajtása során a pénzforgalom lebonyolításáért, az elszámolásokért, költségvetési pozíciók előrejelzéséért, likviditás menedzseléséért, továbbá meghatározott adatszolgáltatásokért felelős.</p>
<p><strong>Szektor:</strong> IT, Közigazgatás</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Feladat</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>Egy központi adatbázis rendszer kezeli többek között a család és szerzési támogatással kapcsolatos kérelmek beérkeztetését, iktatását, feldolgozását, kifizetését, statisztikák készítését és adatok tárolását.</p>
<p>A feladatunk a <strong>felújítási támogatás kérelmek teljes folyamatának integrálása</strong> volt a fent említett központi adatbázis rendszerbe, kezdve a különböző csatornákon beérkező <strong>kérelmek fogadásától egészen az utólagos statisztikák elkészítéséig</strong>.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megvalósítás</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>A projekt megvalósítása az igényegyeztető felmérésekkel indult, ahol bemutattuk a központi adatbázis rendszer képességeit, és összehangba hoztuk a szakmai igényeket a rendszer technikai tulajdonságaival.</p>
<p>Az igények tisztázását követően a papíralapú, valamint az elektronikus kérelmek alapján létrehoztuk a különböző <strong>ügyek specifikus rendszerének felületeit és az adminisztrációs adatokat</strong>.</p>
<p>Első lépésben felvettük az ügytípust és ügyaltípust, ami jelen esetben maga a felújítási támogatás. Minden ilyen ügy saját adatlapot (az ügy főadatai) és részletek-adatlapot kapott (pl. ingatlanra vonatkozó adatok, banki adatok), illetve ügyspecifikus adatlapot alakítottunk ki a szerepkörök kapcsán is (pl. kérelmező, jogosító).</p>
<p>A fenti felületeken el lettek helyezve az adatellenőrzések indítására vonatkozó gombok is, amivel párhuzamosan és a szükséges egyeztetéseket követően bevezettünk <strong>négy új interfészt</strong>, melyek a kérelmekről beérkező adatok ellenőrzésére szolgálnak.</p>
<p>Interfészek:</p>
<ul>
<li>Hivatali kapun keresztül történő küldemények fogadása és feldolgozása</li>
<li>Takarnet (a kérelemben szereplő ingatlan tulajdonlapját lehet lekérni a rendszerből, melyet az ügyintéző automatikusan csatolni is tud az ügy alá)</li>
<li>NAV számlaonline</li>
<li>TB jogviszony ellenőrzés</li>
</ul>
<p>&nbsp;</p>
<p>A fejlesztési fázisban végeztük egy fontos szabálybázis működéséhez szükséges specifikálást a kiadott jogszabály alapján, <strong>melynek segítségével a rendszer képes meghozni az elvárt döntést a támogatás megítélése vagy elutasítása kapcsán</strong>.</p>
<p>Ezután elkészítettük a szükséges <strong>ütközésvizsgálatokat</strong>, majd a pénzügyekkel és utalásokkal kapcsolatos fejlesztéseket, illetve létrehoztuk a rendszerből kiküldésre kerülő dokumentum sablonokat (pl. megállapító határozat).</p>
<p>Utolsó lépésként elkészítettük <strong>a riportokhoz és kimutatásokhoz szükséges felületet és adatstruktúrát</strong>, melynek segítségével a rendszerben szereplő összes felújítási támogatással kapcsolatos adat lekérdezhető és igény szerint rendszerezhető.</p>
<p>Az éles működés indulását követő jogszabály változásokat is lekövettük, melynek eredményeként új mezők, bejövő dokumentum típusok és hitelintézetek számára készített rendszerkiegészítő funkciók implementálására is sor került. Ezen felül elkészítettük az utóellenőrzések elvégzését biztosító funkciókat és felületeket, ezzel segítve az ellenőrzést végző kollégák munkáját.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Eredmény</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>A projekt indulásakor az elsődleges elvárás az volt, hogy a kérelmek befogadására és feldolgozására alkalmas rendszer álljon az ügyintézők rendelkezésére. Bár viszonylag szűk volt a határidő, de a projektet az igényeknek megfelelően sikeresen teljesítettük, mely nagyban köszönhető a teljes projektcsapat rugalmas és profi hozzáállásnak, illetve a két fél közötti szoros együttműködésnek, ami igazán gördülékennyé és hatékonnyá tette/teszi a közös munkát.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div>
</div><p>A <a href="https://www.evocrm.hu/felujitasi-tamogatas-sikertortenet/">Felújítási támogatás sikertörténet</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Utazási költségtérítési rendszer</title>
		<link>https://www.evocrm.hu/utazasi-koltsegteritesi-rendszer/</link>
		
		<dc:creator><![CDATA[evoCRM]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 07:18:43 +0000</pubDate>
				<category><![CDATA[Esettanulmányok]]></category>
		<category><![CDATA[Siebel]]></category>
		<guid isPermaLink="false">https://networksolutions.hu/regi/?p=3731</guid>

					<description><![CDATA[<p>A <a href="https://www.evocrm.hu/utazasi-koltsegteritesi-rendszer/">Utazási költségtérítési rendszer</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megbízó</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>Önállóan működő és gazdálkodó költségvetési szerv, mely a költségvetés végrehajtása során a pénzforgalom lebonyolításáért, az elszámolásokért, költségvetési pozíciók előrejelzéséért, likviditás menedzseléséért, továbbá meghatározott adatszolgáltatásokért felelős.</p>
<p><strong>Szektor:</strong> IT, Közigazgatás</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Feladat</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>A fent említett rendszer kezeli többféle támogatással kapcsolatos kérelem beérkeztetését, iktatását, feldolgozását, kifizetését, statisztikák készítését és adatok tárolását. A feladatunk a projekt kapcsán az egészségbiztosítási területhez köthető feladatokat egy rendszerbe integrálni, kezdve a különböző csatornán beérkező kérelmek fogadásától egészen az utólagos statisztikák elkészítéséig.</p>
<p>Az utazási költségtérítési rendszer bevezetését megelőzően a betegeknek a támogatás kérelmezése előtt a háziorvosukhoz kellett menniük a támogatási igényt jelezni, majd az utazásokhoz köthető jegyeket és számlákat össze kellett gyűjteniük, melyet kizárólag személyesen vagy postai úton tudtak eljuttatni a Megbízónkhoz. Utóbbi rengeteg adminisztrációs feladattal és hibalehetőséggel járt, valamint az ügyfelek számára is időigényes volt az eljárás teljesítése.</p>
<p><strong>A cél egy olyan új rendszer kiépítése</strong>, amely eltér a korábbi szokásrendtől, automatizálja a folyamatokat, amellyel hatékonyabb működést tudnak biztosítani, minimalizálni lehet a hibalehetőségek számát, valamint felhasználóbarát felületet nyújt a Megbízó kollégái számára.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Megvalósítás</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>A projekt megvalósítása 2021 márciusában az <strong>igényegyeztető felmérések</strong>kel indult, ahol megismertük a megrendelői igényeket, valamint bemutattuk a rendszer képességeit, és összehangba hoztuk a szakmai igényeket a rendszer technikai tulajdonságaival.</p>
<p>Az igények tisztázása után a korábbi papíralapú kérelmek alapján <strong>létrehoztuk a rendszerfelületeket </strong>az ellátásra vonatkozóan.</p>
<p>Ezzel párhuzamosan, a szükséges egyeztetéseket követően létrehoztuk az interfész kapcsolatokat, melyek a kérelmekről beérkező adatok ellenőrzésére szolgálnak, például, hogy a szolgáltatást igénybe vevőnek van-e valid biztosítása.</p>
<p>Rendszerintegrációk segítségével hozzáférünk azokhoz az adatokhoz is, amelyeket a kezelőorvosok rögzítenek a beteglátogatásokról.</p>
<p>Létrehoztunk egy <strong>településmátrixot</strong>, ami kiszámolja a magyarországi települések közötti távolságokat.</p>
<p>Ezután elkészítettük a szükséges <strong>ütközésvizsgálatokat</strong>, majd a pénzügyekkel és utalásokkal kapcsolatos fejlesztéseket, illetve <strong>létrehoztuk a rendszerből kiküldésre kerülő dokumentum sablonokat. </strong></p>
<p>A fejlesztés során háromféle ügytípust különböztettünk meg:</p>
<ul>
<li>Utazási költségtérítés, amit bárki igénybe vehet</li>
<li>Sajátos nevelési igényű gyerekek részére történő utazási költségtérítés</li>
<li>Önkormányzatok által benyújtott igények</li>
</ul>
<p>Az ügyek kezelése során kiküldésre kerülhetnek különböző kommunikációs csatornákon a rendszerben generált iratok. (megállapító sablon, elutasító határozat, tényállástisztázás stb.)</p>
<p><strong>Az elektronikus kérelmek esetén már automata ügyfeldolgozás történik</strong>, a rendszer képes meghozni az elvárt döntést &#8211; a beérkezett adatok alapján &#8211; a támogatás megítélése vagy elutasítása kapcsán.</p>
<p>Utolsó lépésként elkészítettük a <strong>riportokhoz és kimutatásokhoz szükséges interaktív felületet és adatstruktúrát</strong>.</p>
<p>Az éles működés indulását követően felmerült igények alapján is kerültek be új funkciók a rendszerbe. Ilyen például az automata ügyfeldolgozás, ami azt a cél szolgálja, hogy a pénz automatizált kiutalását követően az ügy is automatikusan lezárásra kerüljön.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner"><div class="wpb_wrapper"><h4 style="text-align: left" class="vc_custom_heading vc_do_custom_heading" >Eredmény</h4><div class="vc_empty_space"   style="height: 20px"><span class="vc_empty_space_inner"></span></div></div></div></div><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>A projekt indulásakor az elsődleges elvárás a kérelmek befogadására és feldolgozására alkalmas felhasználóbarát felülettel rendelkező rendszer álljon az ügyintézők rendelkezésére. A megrendelő számára ezt biztosítanunk és azóta is folyamatában kezeljük a beérkező igényeket, mely nagyban köszönhető a teljes projektcsapat rugalmas és profi hozzáállásnak, illetve a két fél közötti szoros együttműködésnek, ami igazán gördülékennyé és hatékonnyá teszi a közös munkát.</p>
<p>A támogatási igénylés előtt a betegnek már nem kell a háziorvoshoz elmennie, a kezelőorvos rögzíti elektronikusan a megfelelő adatokat a megjelenés igazolására. Ezt követően a hivatalos igénylést már Ügyfélkapun keresztül is be tudja adni a beteg elektronikusan, valamint postán és személyesen is van továbbra is lehetősége leadni a dokumentációt, viszont ehhez már nem szükséges csatolni a menetjegyeket sem.</p>

		</div>
	</div>
<div class="vc_empty_space"   style="height: 60px"><span class="vc_empty_space_inner"></span></div></div></div></div></div>
</div><p>A <a href="https://www.evocrm.hu/utazasi-koltsegteritesi-rendszer/">Utazási költségtérítési rendszer</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Browser Script migration for OpenUI</title>
		<link>https://www.evocrm.hu/browser-script-migration-for-openui/</link>
		
		<dc:creator><![CDATA[evoCRM]]></dc:creator>
		<pubDate>Wed, 14 Dec 2022 08:41:16 +0000</pubDate>
				<category><![CDATA[Esettanulmányok]]></category>
		<category><![CDATA[Siebel]]></category>
		<guid isPermaLink="false">https://networksolutions.hu/regi/?p=3597</guid>

					<description><![CDATA[<p>A <a href="https://www.evocrm.hu/browser-script-migration-for-openui/">Browser Script migration for OpenUI</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<h3 style="text-align: center;" aria-level="1"><span data-contrast="none">Introduction</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></h3>
<p><span data-contrast="auto">In this article, I would like to share an idea to solve a problem that occurs during the upgrade of an old Siebel version.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">This Problem usually affects upgrade projects with IP15 or older versions.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">Before OpenUI, Browser Scripts were the only way to write client-side scripts in Siebel. It was used mainly on Applets but there were occurrences for business components or for the application.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"><img loading="lazy" decoding="async" class="aligncenter wp-image-3598 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture1.png" alt="" width="674" height="231" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture1.png 674w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture1-300x103.png 300w" sizes="auto, (max-width: 674px) 100vw, 674px" /></span></p>
<p><span data-contrast="auto">These Browser Scripts should be replaced with OpenUI manifested JavaScript codes. In Siebel IP16 or above, these obsolete Browser Scripts, although they are supported by OpenUI, aren’t recommended.</span><span data-ccp-props="{}"> </span></p>
<p><a href="https://docs.oracle.com/cd/E95904_01/books/ConfigOpenUI/appendix_b_reference29.html"><span data-contrast="none">https://docs.oracle.com/cd/E95904_01/books/ConfigOpenUI/appendix_b_reference29.html</span></a><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">Oracle suggests, that the Browser Scripts should be refactored to OpenUI.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">I wanted to achieve a general, object-oriented, and logically well-built solution, with the approach of, staying in Oracle`s OpenUI architecture, and try using the best of its features.</span><span data-ccp-props="{}"> </span></p>
<p><span data-ccp-props="{}"> </span></p>
<h3 style="text-align: center;" aria-level="1"><span data-contrast="none">The task</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></h3>
<p aria-level="1"><span data-contrast="auto">I was working on a project with many of these Browser Scripts and the OpenUI was just getting introduced in its IP15 environment. The goal was to replace all Browser Scripts with a corresponding OpenUI solution. We were speaking of more than 50 Applet and 2-3 Business Component scripts.</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></p>
<p aria-level="1"><span data-contrast="auto">It is possible to implement every logic in OpenUI but requires some refactoring, since it has a completely different structure. The labor cost in this case would significantly increase with the number of scripts to be migrated. I wanted to come up with a more general solution that could improve the efficiency of the migration. </span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></p>
<p aria-level="1"><span data-contrast="auto">With a new solution, the syntax and codes of Browser Script could be kept and reused in the OpenUI environment.</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></p>
<h3 style="text-align: center;" aria-level="1"><span data-contrast="none">The idea</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></h3>
<p><span data-contrast="auto">The idea was to use a proxy or a wrapper as an interface between Browser Script and OpenUI logic and fortunately OpenUI supports classes and an object-oriented approach. </span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">The first challenge was to find a way how the Browser Script Methods could be invoked in OpenUI.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">I will demonstrate the details later, but here is an example: When I refer to “Applet_PreInvokeMethod” in OpenUI, it should behave the same as in Browser Script.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">Although, it would be relatively easy to migrate with a guideline, the chances of failure will increase when it must be done 50 times. With a translator or a wrapper, these repetitions and the risk of copy-paste errors can be avoided.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">First, we summarize the statements of OUI and BS.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">Here is a partial list of these differences in the statements:</span><span data-ccp-props="{}"> </span></p>
<table style="height: 683px;" width="965" data-tablestyle="MsoNormalTable" data-tablelook="1184" aria-rowcount="11">
<tbody>
<tr aria-rowindex="1">
<td data-celllook="69905"><span data-contrast="none">this.FindControl(&#8222;</span><i><span data-contrast="none">controlname</span></i><span data-contrast="none">&#8222;)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">var ctrls = this.Get(&#8222;GetControls&#8221;)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">ctrls[</span><i><span data-contrast="none">controlname</span></i><span data-contrast="none">]</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="2">
<td data-celllook="69905"><span data-contrast="none">this.BusComp()</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">this.Get(&#8222;GetBusComp&#8221;)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="3">
<td data-celllook="69905"><span data-contrast="none">this.BusComp().GetFieldValue(</span><i><span data-contrast="none">fieldName</span></i><span data-contrast="none">)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">var bc = this.Get(&#8222;GetBusComp&#8221;);</span><br />
<span data-contrast="none">bc.GetFieldValue(</span><i><span data-contrast="none">fieldName</span></i><span data-contrast="none">);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="4">
<td data-celllook="69905"><span data-contrast="none">this.BusComp().WriteRecord()</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">var bc = this.Get(&#8222;GetBusComp&#8221;);</span><br />
<span data-contrast="none">bc.WriteRecord();</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="5">
<td data-celllook="69905"><span data-contrast="none">confirm(&#8222;text&#8221;)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">var answer = SiebelApp.Utils.Confirm(&#8216;text&#8217;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="6">
<td data-celllook="69905"><span data-contrast="none">alert(&#8222;text&#8221;)</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">SiebelApp.Utils.Alert(&#8222;text&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="7">
<td data-celllook="69905"><span data-contrast="none">theApplication().GetProfileAttr(&#8222;Attr&#8221;) </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">SiebelApp.S_App.GetProfileAttr(&#8222;Attr&#8221;) </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="8">
<td data-celllook="69905"><span data-contrast="none">theApplication().SetProfileAttr(&#8222;ActBusCase&#8221;, &#8222;TRUE&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">var bs = SiebelApp.S_App.GetService(&#8222;DEMO OpenUI Services&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">var psInput = SiebelApp.S_App.NewPropertySet();</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">psInput.SetProperty(&#8222;AttributeName&#8221;, &#8222;ActBusCase&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">psInput.SetProperty(&#8222;AttributeValue&#8221;, &#8222;TRUE&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">bs.InvokeMethod(&#8222;SetProfileAttribute&#8221;, psInput);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="9">
<td data-celllook="69905"><span data-contrast="none">return (&#8222;CancelOperation&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">returnStructure [&#8222;CancelOperation&#8221;] = true;</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="10">
<td data-celllook="69905"><span data-contrast="none">return (&#8222;ContinueOperation&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">returnStructure [&#8222;ContinueOperation&#8221;] = true;</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="11">
<td data-celllook="69905"><span data-contrast="none">this.InvokeMethod(&#8222;CheckRufRUEExist&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">SiebelApp.S_App.GetActiveView().GetApplet(this.GetObjName()).InvokeMethod(&#8222;CheckRufRUEExist&#8221;);</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
</tbody>
</table>
<p><span data-contrast="auto"><br />
The next step was to build a context, where all the BrowserScript lines would be “OpenUI-functioning”.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"> Thanks to OpenUI and the modern Javascript architecture, a parent class was introduced.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">At this point, I would like to write a few words, about how this OpenUI architecture provides us an environment, which we may call object-oriented. There are many documents and articles about the principles of OpenUI, like what a Presentation Model or a Physical Renderer is and their recommended usage. However, the core logic and how OpenUI is built are a bit weakly documented. Javascript is not an Object-Oriented language but is certainly capable of something similar. This is aided by the technologies like constructor objects and prototypes in JS. Oracle also used these when they were designing the basic architecture, this Class-Based solution can be used for any custom solution.</span><span data-ccp-props="{}"> </span></p>
<h3 style="text-align: center;" aria-level="1"><span data-contrast="none">The solution</span><span data-ccp-props="{&quot;335559738&quot;:240,&quot;335559739&quot;:0}"> </span></h3>
<p><span data-contrast="auto">I have written a new Presentation Model class: BrowserScriptPM.js and BrowserScriptListAppletPM.js</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">It has some implemented methods, but it is an abstract interface class in general and should only be used as a superclass.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">List of BrowserScript methods and their corresponding OpenUI method:</span><span data-ccp-props="{}"> </span></p>
<table data-tablestyle="MsoNormalTable" data-tablelook="1184" aria-rowcount="7">
<tbody>
<tr aria-rowindex="1">
<td data-celllook="69905"><b><span data-contrast="none">Applet Browser Script Methode</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><b><span data-contrast="none">OpenUI Object</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><b><span data-contrast="none">Method/Event</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><b><span data-contrast="none">List/Form Applet</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="2">
<td data-celllook="69905"><span data-contrast="none">Applet_PreInvokeMethod</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PM</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Method: InvokeMethod</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">List + Form</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="3">
<td data-celllook="69905"><span data-contrast="none">Applet_ChangeFieldValue</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PM</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Method: FieldChange</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">List + Form</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="4">
<td data-celllook="69905"><span data-contrast="none">Applet_InvokeMethod</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PM</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Method: PostExecute</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">List + Form</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="5">
<td data-celllook="69905"><span data-contrast="none">Applet_Load</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PR</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PR Method: ShowUI</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">List + Form</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="6">
<td data-celllook="69905"><span data-contrast="none">Applet_ChangeRecord</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PM</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Event:</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">Select Row</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">List</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
<tr aria-rowindex="7">
<td data-celllook="69905"><span data-contrast="none">Applet_ChangeRecord</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">PM</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Method:</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">ShowSelection</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559738&quot;:150,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
<td data-celllook="69905"><span data-contrast="none">Form</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></td>
</tr>
</tbody>
</table>
<p><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">This PM acts as a base PM class for every applet which had BrowserScript.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">For instance, we have the following applet with browser script “Applet_InvokeMethod” implemented: </span><br />
<b><span data-contrast="auto">EVO TT Account Trouble Ticket List Applet</span></b><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"><img loading="lazy" decoding="async" class="aligncenter wp-image-3599 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture2.png" alt="" width="776" height="157" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture2.png 776w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture2-300x61.png 300w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture2-768x155.png 768w" sizes="auto, (max-width: 776px) 100vw, 776px" /></span></p>
<p><span data-contrast="auto">How can we migrate it to OpenUI? A possible solution is to write a whole new PM and set everything up to achieve the same logic as it was in the browser script.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">With the help of our parent abstract class, it`s enough to create a new PM with the following code:</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"><img loading="lazy" decoding="async" class="aligncenter wp-image-3600 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture3.png" alt="" width="806" height="209" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture3.png 806w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture3-300x78.png 300w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture3-768x199.png 768w" sizes="auto, (max-width: 806px) 100vw, 806px" /></span></p>
<p><span data-contrast="auto">How does it work? Trough the base class, it is functioning with the following statement:</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"><img loading="lazy" decoding="async" class="aligncenter wp-image-3601 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture4.png" alt="" width="690" height="25" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture4.png 690w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture4-300x11.png 300w" sizes="auto, (max-width: 690px) 100vw, 690px" /></span></p>
<p><span data-contrast="auto">upon this idea, the parent class prepares every browser script call.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">It consists of implementation for the interface and an abstract method declaration that could be implemented in child classes:</span><span data-ccp-props="{}"> </span></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3602 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture5.png" alt="" width="970" height="347" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture5.png 970w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture5-300x107.png 300w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture5-768x275.png 768w" sizes="auto, (max-width: 970px) 100vw, 970px" /><br />
<span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">An extra wrapper for “theApplication” object was also required to avoid code reformatting.</span><span data-ccp-props="{}"> </span></p>
<p aria-level="1"><span data-contrast="none"><img loading="lazy" decoding="async" class="aligncenter wp-image-3603 size-full" src="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture6.png" alt="" width="959" height="689" srcset="https://www.evocrm.hu/wp-content/uploads/2022/12/Picture6.png 959w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture6-300x216.png 300w, https://www.evocrm.hu/wp-content/uploads/2022/12/Picture6-768x552.png 768w" sizes="auto, (max-width: 959px) 100vw, 959px" /></span></p>
<h3 style="text-align: center;" aria-level="1">Conclusion</h3>
<p><span data-contrast="auto">With this method, we achieved our goal to migrate the scripts, and we also introduced a neat feature of OpenUI and Javascript. As a result, an applet script should take no more than 3-5 minutes. The task was reduced not more than to register the new PM and copy-paste the browser script into the PM template. </span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto"> When an error occurred in the logic, it was an easy fix because only the parent abstract class needed some adjustments.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">As a bit of advice, always try to take into consideration creating a parent super class for such solutions.</span><span data-ccp-props="{}"> </span></p>
<p><span data-contrast="auto">Now we can:</span><span data-ccp-props="{}"> </span></p>
<ul>
<li data-leveltext="-" data-font="Calibri" data-listid="3" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:&#091;8226&#093;,&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto">keep our codes better organized</span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="-" data-font="Calibri" data-listid="3" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:&#091;8226&#093;,&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto">adjust and modify code easily</span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="-" data-font="Calibri" data-listid="3" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:&#091;8226&#093;,&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto">avoid repetition</span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="-" data-font="Calibri" data-listid="3" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:&#091;8226&#093;,&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto">use these structured classes as a template and reduce spaghetti code</span><span data-ccp-props="{}"> </span></li>
</ul>
<p><span data-contrast="auto">In this particular case, it was worth it. But if there were less than 10 Browser Scripts, I`m not sure if I would recommend building a similar framework but I would certainly think about it in in any other case.</span><span data-ccp-props="{}"> </span></p>
<p><em><span class="ui-provider cnj cnk c d e f g h i j k l m n o p q r s t cnl cnm w x y z ab ac ae af ag ah ai aj ak" dir="ltr">Gábor Káli &#8211; Senior CRM Developer</span></em></p>

		</div>
	</div>
</div></div></div></div>
</div><p>A <a href="https://www.evocrm.hu/browser-script-migration-for-openui/">Browser Script migration for OpenUI</a> bejegyzés először <a href="https://www.evocrm.hu">evoCRM</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
