<?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>Notes On Siebel</title>
	<atom:link href="http://blog.notesonsiebel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.notesonsiebel.com</link>
	<description>Technical advice, help and instruction with Siebel Systems</description>
	<lastBuildDate>Wed, 13 Aug 2008 23:24:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Siebel User Group Australia Event &#8211; 21 August</title>
		<link>http://blog.notesonsiebel.com/2008/08/14/siebel-user-group-australia-event-21-august/</link>
		<comments>http://blog.notesonsiebel.com/2008/08/14/siebel-user-group-australia-event-21-august/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 23:22:55 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=66</guid>
		<description><![CDATA[
There&#8217;s another Siebel User Group event coming up in Sydney. On Thursday 21st August we&#8217;re back at the Australia Graduate School of Management for a panel discussion on The Single View of a Customer &#8211; Myth or Reality?
I&#8217;m personally interested to hear the panellists&#8217; experiences with building business processes around search. Being able to locate [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.siebelusergroup.org.au/index.html"title="Siebel User Group Australia"  onclick="javascript:pageTracker._trackPageview('/outbound/article/www.siebelusergroup.org.au');"><img class="aligncenter" src="http://www.siebelusergroup.org.au/pics/logo.gif" alt="SUGA Logo" width="382" height="120" /></a></p>
<p>There&#8217;s another Siebel User Group event coming up in Sydney. On Thursday 21st August we&#8217;re back at the Australia Graduate School of Management for a panel discussion on <a href="http://www.siebelusergroup.org.au/events.html"title="SUGA Events"  onclick="javascript:pageTracker._trackPageview('/outbound/article/www.siebelusergroup.org.au');">The Single View of a Customer &#8211; Myth or Reality?</a></p>
<p>I&#8217;m personally interested to hear the panellists&#8217; experiences with building business processes around search. Being able to locate an existing customer record is such a fundamental part of maintaining that &#8217;single view&#8217; &#8211; yet it&#8217;s something Siebel hasn&#8217;t totally nailed. Fulcrum in Siebel 6 was limited, Hummingbird in 7 is only an incremental improvement and then in Siebel 8 we seem to have gone backwards again. In the age of Google and Spotlight and (even!) Vista Live Search, I think users should expect better results than come out of the box with Siebel. I wonder if the panellists agree, or if they&#8217;ve come up with solutions?</p>
<p>If you&#8217;re planning to attend then <a href="http://www.siebelusergroup.org.au/registration.html"title="SUGA Registration"  onclick="javascript:pageTracker._trackPageview('/outbound/article/www.siebelusergroup.org.au');">register</a> now before spaces fill up.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/08/14/siebel-user-group-australia-event-21-august/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Workflow to process multiple rows</title>
		<link>http://blog.notesonsiebel.com/2008/08/06/workflow-to-process-multiple-rows/</link>
		<comments>http://blog.notesonsiebel.com/2008/08/06/workflow-to-process-multiple-rows/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 11:40:33 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=60</guid>
		<description><![CDATA[There&#8217;s no standard loop construction (For/While/Do) in Siebel Workflow, but there are still a couple of ways to have a Workflow Process handle multiple rows.
Update Operation
For a simple update to a child entity use a Siebel Operation. When a Workflow Process has a Business Object then a Siebel Operation Update step defined for a child [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s no standard loop construction (For/While/Do) in Siebel Workflow, but there are still a couple of ways to have a Workflow Process handle multiple rows.</p>
<h4>Update Operation</h4>
<p>For a simple update to a child entity use a Siebel Operation. When a Workflow Process has a Business Object then a Siebel Operation <strong>Update </strong>step defined for a child Business Component will update <em>all</em> records that are children of the selected record in the Primary Buisiness Component. The update can be filtered to specific records by specifying  a SearchSpec on the Update.</p>
<p>This technique can be expanded through the use of Runtime Events: define an Event on the child BusComp to catch a simple update operation and trigger further processing of the record.</p>
<p style="text-align: left;"><img class="size-full wp-image-61 alignnone" title="multipleupdate" src="http://blog.notesonsiebel.com/wp-content/uploads/2008/08/multipleupdate.gif" alt="Siebel Update Workflow" width="353" height="111" /></p>
<p>Bear in mind that for this to work then the Object Id process property must specify a valid record in the Primary Business Component. Also, watch out for <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=498993.1&amp;h=Y"title="MetaLink3 login required"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">this gotcha</a> if you&#8217;re trying to dynamically update a field.</p>
<h4>Sub Process SearchSpec</h4>
<p>An alternative way to process more complicated actions is to call a sub-process for multiple rows. In this case a Workflow Process is defined as normal to act on a single record specified through the Object Id. Then to have this workflow run for multiple rows, define a new &#8216;wrapper&#8217; workflow and add a Sub Process step to call the original process. To this Sub Process step add the Input Argument <strong>SearchSpec</strong>, supplying a search specification through the Value in the normal way.</p>
<p>When the wrapper workflow is executed, the SearchSpec is applied to the primary Business Component of the sub-process and the child workflow is run once for each row returned.</p>
<p><img class="size-full wp-image-62 alignnone" title="multiplesubprocess" src="http://blog.notesonsiebel.com/wp-content/uploads/2008/08/multiplesubprocess.gif" alt="Siebel Sub Process Workflow" width="353" height="111" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/08/06/workflow-to-process-multiple-rows/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Browser Script &#8220;on the fly&#8221;</title>
		<link>http://blog.notesonsiebel.com/2008/05/20/browser-script-on-the-fly/</link>
		<comments>http://blog.notesonsiebel.com/2008/05/20/browser-script-on-the-fly/#comments</comments>
		<pubDate>Tue, 20 May 2008 06:27:21 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=59</guid>
		<description><![CDATA[Top tip today from Neel over at Siebel Unleashed: using the IE address bar to enter browser script.
I&#8217;ve never thought of this, and the key point is worth repeating: script entered into the address bar after a javascript tag is executed by the browser, in exactly the same way as browser script. This means that [...]]]></description>
			<content:encoded><![CDATA[<p>Top tip today from Neel over at Siebel Unleashed: <a href="http://siebelunleashed.com/internet-explorer-address-bar-and-siebel-browser-script/"title="Address Bar and Browser Script"  onclick="javascript:pageTracker._trackPageview('/outbound/article/siebelunleashed.com');">using the IE address bar to enter browser script</a>.</p>
<p>I&#8217;ve never thought of this, and the key point is worth repeating: script entered into the address bar after a javascript tag is executed by the browser, in exactly the same way as browser script. This means that if you edit the address to be:</p>
<p><code>javascript:alert(theApplication().GetProfileAttr("Me.First Name"));</code></p>
<p>&#8230;then the browser will popup a message box with the value of the First Name attribute &#8211; exactly as you&#8217;d expect if this statement was in browser script. Much faster than navigating to <em>Administration &#8211; Personalization &gt; Test</em>, plus it retains current context.</p>
<p>Nice quick-and-dirty hack to check (or set) the value of browser objects. Good work, Neel!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/05/20/browser-script-on-the-fly/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Shell command for Browser Script</title>
		<link>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/</link>
		<comments>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/#comments</comments>
		<pubDate>Mon, 05 May 2008 00:18:00 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=58</guid>
		<description><![CDATA[A question on the Oracle discussion forum last week prompted me to dig out a MetaLink article that I&#8217;ve never noted here. The question was &#8220;How to call a local executable from the browser&#8221;: the answer is to use browser script to instantiate a Windows Scripting Host &#8216;Shell&#8217; ActiveX object, like so:
var objWSH = new [...]]]></description>
			<content:encoded><![CDATA[<p>A question on the Oracle discussion forum <a href="http://forums.oracle.com/forums/thread.jspa?messageID=2499916&amp;tstart=0#2499916"title="Oracle Discussion Form"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/forums.oracle.com');">last week</a> prompted me to dig out a MetaLink article that I&#8217;ve never noted here. The question was &#8220;How to call a local executable from the browser&#8221;: the <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=546014.1&amp;h=Y"title="MetaLink3 Login required"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">answer</a> is to use browser script to instantiate a Windows Scripting Host &#8216;Shell&#8217; ActiveX object, like so:</p>
<p><code>var objWSH = new ActiveXObject("WScript.Shell");</code><br />
<code>objWSH.Run("notepad.exe"); </code></p>
<p>More detail on using the ActiveXObject is available in the post on <a href="http://blog.notesonsiebel.com/2007/04/17/client-side-dlls/"title="Client side DLLS"  target="_blank" >Client-side DLLS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phone Number fields in Integration Objects</title>
		<link>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/</link>
		<comments>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 00:16:05 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=56</guid>
		<description><![CDATA[I&#8217;ve mentioned previously that Siebel&#8217;s handling of phone numbers can cause havoc for EAI. The post on  International Phone Formats outlines how Siebel stores phone numbers as a continuous string including the country code (+610298767654), appending a new line and format string to store special formats (+61041234567890&#60;CR&#62;&#60;LF&#62;0000 0000 0000).
This fancy footwork works nicely in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve mentioned previously that Siebel&#8217;s handling of phone numbers can cause havoc for EAI. The post on  <a href="http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/"title="Siebel Phone Formats"  >International Phone Formats</a> outlines how Siebel stores phone numbers as a continuous string including the country code (<span style="color: #808080;">+610298767654</span>), appending a new line and format string to store special formats (<span style="color: #808080;">+61041234567890<em>&lt;CR</em></span><span style="color: #808080;">&gt;&lt;<em>LF</em>&gt;0000 0000 0000</span>).</p>
<p>This fancy footwork works nicely in the UI, (mostly) displaying numbers in the expected format for the current country. However, imagine a standard Integration Object defined on business component <em>Account</em>, with a component field mapped to the <em>Main Phone Number</em> . Invoke an EAI Siebel Adapter Query for this integration object and the phone number result will be the <strong>database</strong> <strong>value</strong> &#8211; rather awkwardly including that unpleasant format string.</p>
<p>In older versions of Siebel, the only way around this &#8216;feature&#8217; was to pass the integration object through a custom business service, stripping those format strings and rendering the phone number as desired: effectively, re-coding the function that Siebel apply at the UI. This was a pain.</p>
<p>Fortunately, Siebel 7.8 saw the introduction of the Integration Object User Property <strong>UseFormattedValues</strong> to force the EAI Siebel Adapter to use formatted values. If we add this undocumented user property to our <em>Account</em> Integration Object and set the value to <strong>Y</strong>, then the Siebel Adapter uses formatted values and <em>Main Phone Number</em> will contain exactly what you see in the UI. This eases the pain nicely.</p>
<p>If you&#8217;re more familiar with Siebel Scripting, this UseFormattedValues property forces the EAI Adapter to use Get/SetFormattedFieldValue-type requests, rather than Get/SetFieldValue. One restriction is that the User Property can only be applied to the whole Integration Object, not to individual fields &#8211; the property doesn&#8217;t work as an Integration Object Component User Property, nor as an Integration Object Component Field User Property. That&#8217;d be a feature request for future versions&#8230;</p>
<p>MetaLink mentions of UseFormattedValues are sparse, but there is a <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=484743.1&amp;h=Y"title="MateLink login required"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">thin definition</a>, plus a complaint about the inbound <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=541405.1&amp;h=Y"title="MetaLink login required"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">error handling</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Order of Events revisited</title>
		<link>http://blog.notesonsiebel.com/2008/03/30/order-of-events-revisited/</link>
		<comments>http://blog.notesonsiebel.com/2008/03/30/order-of-events-revisited/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 11:39:18 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=55</guid>
		<description><![CDATA[SKV commented on my Order of Events post from July pointing out a contradiction he spotted in TechNote 581. On page 20 of that document, point 4. states:
Problem: If a buscomp has code on WriteRecord and the runtime event fires on WriteRecord, which occurs first? 
Solution: WriteRecord runtime event is in essence a Post-WriteRecord event [...]]]></description>
			<content:encoded><![CDATA[<p>SKV <a href="http://blog.notesonsiebel.com/2007/07/19/order-of-events/#comment-100"title="Order of Events comment"  >commented</a> on my Order of Events post from July pointing out a contradiction he spotted in <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=477992.1"title="MetaLink3 login required. "  onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">TechNote 581</a>. On page 20 of that document, point <strong>4.</strong> states:</p>
<blockquote><p><span style="font-weight: bold">Problem: </span>If a buscomp has code on WriteRecord and the runtime event fires on WriteRecord, which occurs first? <span style="font-weight: bold"><br />
Solution: </span>WriteRecord runtime event is in essence a Post-WriteRecord event and will be fired AFTER the buscomp code is executed.</p></blockquote>
<p>That statement&#8217;s in direct opposition to my assertion that:</p>
<blockquote><p>&#8230;the <span style="font-weight: bold">Runtime Event occurs before the </span>equivalent <span style="font-weight: bold">Server Script event </span>for the same object&#8230;</p></blockquote>
<p>As I responded in the comments, this highlights a mantra I&#8217;ve learnt through painful experience: <strong>never trust the documentation</strong>! However, since my writing here is really just more documentation, it might be useful to explain how I arrived at my list.  To get the order of events published previously, I took a random object (BusComp Account Note, as it happens) and modified each browser script and server script event to log the event to a file. For example, the PreWrite looks like this:</p>
<pre style="padding-left: 30px;">function BusComp_PreWriteRecord ()
{
   var f = Clib.f&#111pen("C:\\events.txt", "at");
   Clib.fputs("BusComp_PreWriteRecord\n", f);
   Clib.fclose(f)
   f = null;
   return (ContinueOperation);
}</pre>
<p>A similar script on each event gives me an ordered list of script events.  To add in the Runtime Events, I created a client-side business service to log to the same file. So in <em>Admistration &#8211; Business Service &gt; Details</em> I created the <em>Events</em> business service, then added the <em>Log</em> method using a very similar script. This <em>Log</em> method takes a single parameter: the <em>event</em> string, which is appended to the file.  In <em>Administration &#8211; Runtime Events &gt; Events</em>, I can now add every event I want to log, with an action for each to call the <em>Events.Log</em> method with the name of the event.  In no time at all, I have a complete, ordered list of  events, as published.  Given my testing, I&#8217;m inclined to assume the documentation is incorrect. However, all of my testing was <span style="font-style: italic">only</span> on Siebel 7.8, so there&#8217;s a slim chance of variations between versions. Anyone want to verify?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/03/30/order-of-events-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shared Browser Script variables</title>
		<link>http://blog.notesonsiebel.com/2008/03/27/shared-browser-script-variables/</link>
		<comments>http://blog.notesonsiebel.com/2008/03/27/shared-browser-script-variables/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 01:43:37 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/2008/03/27/shared-browser-script-variables/</guid>
		<description><![CDATA[I had a problem the other day where I needed to share a value between two applets. On a form applet there&#8217;s a browser script method that executes on the WriteRecord event, but it&#8217;s designed to only fire if certain other events have already run. To control the &#8217;state&#8217; (execute or not), there&#8217;s a boolean [...]]]></description>
			<content:encoded><![CDATA[<p>I had a problem the other day where I needed to share a value between two applets. On a form applet there&#8217;s a browser script method that executes on the WriteRecord event, but it&#8217;s designed to only fire if certain other events have already run. To control the &#8217;state&#8217; (execute or not), there&#8217;s a boolean variable declared in the general declarations of the browser script. This form is used in a number of different views and works as designed.</p>
<p>The challenge was in the screen&#8217;s List view: here we have the form applet, which works as elsewhere, but also a list applet for the same business component. The behaviour should be the same for both applets. Easy enough, I figured: just copy the form&#8217;s browser script across to the list. And this approach appeared to work well enough.</p>
<p>An alert tester picked up the gap: if the operation was started in the <em>list </em>applet, but then completed in the <em>form </em>applet (or vice-versa), then the browser script wasn&#8217;t executing. In the first applet the state variable was set, but in the second applet not. What I needed was for the state to be shared across the two applets.</p>
<p>The usual way to share variables across objects is to use Profile Attributes or Global Variables, but neither solution was an option. Global variables simply aren&#8217;t available through browser scripts, while the getting and setting of profile attributes requires a round-trip to the server &#8211; too much of an overhead in this case. I thought I was going to have to resort to some sort of hidden control and FindApplet then FindControl methods, but the solution was much simpler.</p>
<p>Turns out that <strong>variables declared in the general declarations section of Browser Script are shared for all the applets in the view</strong>. <a href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=477659.1&amp;h=Y" title="MetaLink 3 login required" target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">Who knew</a>? (See the note about halfway down.) Okay, quite possibly everyone except me, but now I won&#8217;t forget.</p>
<p>For my little problem, I was able to prescribe that this list applet be only used alongside the form applet, which meant that in the list&#8217;s browser script I could simply set and get state using the form&#8217;s variable. The applets now share state and everything works as expected.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/03/27/shared-browser-script-variables/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Defining Workflow Process Properties</title>
		<link>http://blog.notesonsiebel.com/2008/03/03/defining-workflow-process-properties/</link>
		<comments>http://blog.notesonsiebel.com/2008/03/03/defining-workflow-process-properties/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 10:59:54 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/2008/03/03/defining-workflow-process-properties/</guid>
		<description><![CDATA[Okay, time for a rant. This is bugging me.
I spend a lot of time with Workflow: EAI work kind of forces that on you. Any moderately complicated workflow process always ends up needing a stack of workflow process properties. The vanilla processes Siebel provide are good examples of this phenomenon. This is understandable, and equivalent [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, time for a rant. This is bugging me.</p>
<p>I spend a lot of time with Workflow: EAI work kind of forces that on you. Any moderately complicated workflow process always ends up needing a stack of workflow process properties. The vanilla processes Siebel provide are good examples of this phenomenon. This is understandable, and equivalent to a scripted function justifiably defining a bunch of local variables. So here&#8217;s the thing: when working with processes, why do I always see <em>all </em>the process properties defined to be &#8216;In/Out&#8217;? <strong>This</strong> is equivalent to a scripted function putting every local variable into the function definition. Crazy talk!</p>
<p>For those who don&#8217;t know, the <strong>In/Out</strong> parameter on a process property defines the purpose of the property. The values are <em>In</em> for input properties, <em>Out</em> for outputs, <em>In/Out</em> (the default) for properties that both accept and return a value, and <em>None</em> for those variables just used internally by the process. Pretty clear cut. Setting this parameter properly makes the workflow easier to understand &#8211; particularly helping when calling the workflow as a sub-process. Leaving it as the default <em>In/Out</em> value is lazy config, and I&#8217;ve seen too much of it. So there. Someone pass the message on to the developers inside Siebel, please.</p>
<p>P.S. While we&#8217;re at it: how about using process property types <em>other</em> than &#8216;String&#8217; and &#8216;Hierarchy&#8217; &#8211; and that &#8216;Integration Object&#8217; parameter is pretty useful too&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/03/03/defining-workflow-process-properties/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Domain, New Host</title>
		<link>http://blog.notesonsiebel.com/2008/02/17/new-domain-new-host/</link>
		<comments>http://blog.notesonsiebel.com/2008/02/17/new-domain-new-host/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 10:07:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/2008/02/17/new-domain-new-host/</guid>
		<description><![CDATA[Welcome to notesonsiebel.com!
I&#8217;ve moved the new URL at the same time as moving the blog off wordpress.org and onto my own Wordpress installation. Apologies for any difficulty you&#8217;ve had while the changes have gone through, but hopefully the TNS and NameServer changes have now circulated around the internet and all your bookmarks and RSS readers [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://blog.notesonsiebel.com/" title="Notes On Siebel" >notesonsiebel.com</a>!</p>
<p>I&#8217;ve moved the new URL at the same time as moving the blog off wordpress.org and onto my own Wordpress installation. Apologies for any difficulty you&#8217;ve had while the changes have gone through, but hopefully the TNS and NameServer changes have now circulated around the internet and all your bookmarks and RSS readers have silently adapted to the change. If not, then do update to the new URL. In theory all permalinks etc should be maintained, so please let me know if you see any problems.</p>
<p>I&#8217;m seriously impressed with Wordpress. It&#8217;s no simple bit of software, yet installation took five minutes and the export &amp; import from Wordpress.org was (I think!) seamless. If only all software installed so easily&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/02/17/new-domain-new-host/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Oracle MetaLink 3</title>
		<link>http://blog.notesonsiebel.com/2008/02/15/oracle-metalink-3/</link>
		<comments>http://blog.notesonsiebel.com/2008/02/15/oracle-metalink-3/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 02:40:12 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/2008/02/15/oracle-metalink-3/</guid>
		<description><![CDATA[Don&#8217;t we all love MetaLink, Oracle&#8217;s replacement for Siebel SupportWeb? Judging from everyone I&#8217;ve spoken to, the answer&#8217;s a resounding &#8216;No&#8217;!
To be honest, a lot of the griping is down to the usual sour grapes that accompany any software release that exposes users to change. I can&#8217;t help but be amused by all these enterprise [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t we all love <a href="https://metalink3.oracle.com" title="Oracle MetaLink 3" onclick="javascript:pageTracker._trackPageview('/outbound/article/metalink3.oracle.com');">MetaLink</a>, Oracle&#8217;s replacement for Siebel SupportWeb? Judging from everyone I&#8217;ve spoken to, the answer&#8217;s a resounding &#8216;No&#8217;!</p>
<p>To be honest, a lot of the griping is down to the usual sour grapes that accompany any software release that exposes users to change. I can&#8217;t help but be amused by all these enterprise software developers wandering around grumbling about having to deal with a new system that&#8217;s &#8220;obviously&#8221; far inferior from the one they&#8217;re used to&#8230; these would be the same developers who spend the rest of their time grumbling about the &#8220;stupid&#8221; users of <em>their</em> systems who can&#8217;t cope with the &#8220;simple&#8221; differences between Siebel 6 and 7&#8230; A salutary lesson, perhaps <img src='http://blog.notesonsiebel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Forgetting the comparison of the merits of the two systems, I do think it&#8217;s a shame that we now have another example of Oracle moving Siebel away from the traditional policy of <a href="http://en.wikipedia.org/wiki/Eat_one%27s_own_dog_food" target="_blank" title="Wikipedia" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">eating it&#8217;s own dogfood</a>. (This is a term for software companies actually using the software they build internally, a practise that is well regarded in the software industry due to it adding internal pressures to improve the product.) Not only do Siebel (the Oracle-subsidiary) no longer use Siebel (the product) as their main CRM system, they also no longer use it for tracking customer service requests. It will be interesting to see whether this change has any impact on the quality and relevance of future Siebel features.</p>
<p>A direct impact the change to MetaLink has had on me is that my stack of SupportWeb deep-links no longer work, including the ones on this blog (thanks Oracle &#8211; a redirect would have been nice!). I&#8217;ve now been through the site and updated all the links I could find, please let me know if you spot any links that don&#8217;t work.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/02/15/oracle-metalink-3/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
