<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Workflow on Janik von Rotz</title>
    <link>https://janikvonrotz.ch/tags/workflow/</link>
    <description>Recent content in Workflow on Janik von Rotz</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 01 May 2020 13:19:51 +0200</lastBuildDate>
    <atom:link href="https://janikvonrotz.ch/tags/workflow/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Use software effectively</title>
      <link>https://janikvonrotz.ch/2020/05/01/use-software-effectively/</link>
      <pubDate>Fri, 01 May 2020 13:19:51 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2020/05/01/use-software-effectively/</guid>
      <description>&lt;p&gt;Increasing productivity is the main goal when introducing new business software. There is always a process or workflow at an organization that can be improved with the help of a software. When it comes to making decisions on how to introduce an existing software you can go in two directions. Adapt the software to suit your existing process or educate employees in adapting processes to the idea of the software.&lt;/p&gt;&#xA;&lt;p&gt;In this short post, we will explore the two ways and see which questions must be answered.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case&#34;&gt;Use case&lt;/h2&gt;&#xA;&lt;p&gt;To depict the topic more clearly, I will explain everything based on fictional use case.&lt;/p&gt;&#xA;&lt;p&gt;Lets say that employees in Company ACME track their time in a Excel sheet. Every month the superior collects the time sheets, reviews and enters them in a summarized Excel sheet in a very time consuming fashion. As he is not able to aggregate information properly from all the time sheets, he is unaware of how much time is spent on each project over the last year. He is well aware of the insufficency, but claims that he has not found a software that suits his needs yet.&lt;/p&gt;&#xA;&lt;p&gt;There are tons of time tracking tools on the market. The workflow of these tools follows a common pattern. If you do not want to adopt this pattern, it will be difficult to integrate any time tracking software at all. Each software has a different level of customizability.&lt;/p&gt;&#xA;&lt;p&gt;How should we approach the superior when trying to explain that a software will make his process more efficient?&lt;/p&gt;&#xA;&lt;h2 id=&#34;introducing-new-software&#34;&gt;Introducing new software&lt;/h2&gt;&#xA;&lt;p&gt;As already mentioned the main goal is to increase productivity. We want to merge the software and business workflows, only then there will be an improvement of the process.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/images/Business%20IT/Increase%20Productivity.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Once this idea is understood, we can move on consulting the ACME company.&lt;/p&gt;&#xA;&lt;p&gt;New software always needs customization. Technical and business requirements must be fulfilled. Applying customization comes at a cost that must be exceeded the productivity gain, otherwise there is not point in introducing a new software.&lt;/p&gt;&#xA;&lt;h2 id=&#34;adapt-software&#34;&gt;Adapt software&lt;/h2&gt;&#xA;&lt;p&gt;Adapting the software to business needs is one possibility to merge the two fields.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/images/Business%20IT/Adapt%20Software.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The limitations are the technical capabilities of the software. If the software does not support critical workflows it should not be evaluated at all. Take it for granted that there are technical limits where the cost of adapting the software grows exponentially.&lt;/p&gt;&#xA;&lt;h2 id=&#34;educate-employees&#34;&gt;Educate employees&lt;/h2&gt;&#xA;&lt;p&gt;Educating employees in using the software is essentials to increase acceptance. Whenever employees are introduced to changes there is wide spectrum of how they handle the situation. There is everything from the welcome, frustrated to the quitter or rebel. Having a well structured roadmap and training for introducing the software is key.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/images/Business%20IT/Educate%20Employees.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Aside from costs a limiting factor might be the motivation of the employees to relearn. The are used to make their job in specific manner and expect to move in the same way. Are they willing to learn how to use the new software? This is the limitation of moving users towards the software workflow.&lt;/p&gt;&#xA;&lt;p&gt;The ACME superior must understand that he can move his thinking and employees towards a software workflow. This software workflow if applied correctly can increase his business process dramatically.&lt;/p&gt;&#xA;&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;p&gt;In order to introduce a new software successfully and thus increasing productivity, these requirements must be met:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Adpoting a common pattern&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Should you processes be unique to the company or follow an industry pattern? Launching a new software means to adopting a common workflow.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Software needs customization&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Software always requires customization. The question is how much is company willing and able to pay? Do they adhere to the idea that a software must be runnable out of the box or do they see the point of customization?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Willing to relearn&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Launching a new software means change and change means relearn for most poeple. How much are the employees to willing to relearn?&lt;/p&gt;&#xA;&lt;p&gt;It is not up to the consultant to answer this questions. The must be answered by the company.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adobe Lightroom switch from jpeg raw workflow to single raw</title>
      <link>https://janikvonrotz.ch/2014/05/02/adobe-lightroom-switch-from-jpeg-raw-workflow-to-single-raw/</link>
      <pubDate>Fri, 02 May 2014 08:02:54 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2014/05/02/adobe-lightroom-switch-from-jpeg-raw-workflow-to-single-raw/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t know since when I started to make photos in jpeg and raw. Also don&amp;rsquo;t know the reasons for doing that any more.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve made the decision to change my photography workflow from whatever to: take a photo in raw &amp;gt; import it to Adobe Lightroom &amp;gt; processing in Lr &amp;gt; export to specified format &amp;gt; publish for a project.&lt;/p&gt;&#xA;&lt;p&gt;Last week I decided to drop all jpegs when there&amp;rsquo;s also a raw file in Adobe Lightroom.&lt;/p&gt;&#xA;&lt;p&gt;So in case you want to do the same and want to start to treat jpegs and raws sperately instead of unify them to one picture in Adobe Lighroom, here are the steps to do so:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;First back up your catalog and photos, just in case you make a mistake.&lt;/li&gt;&#xA;&lt;li&gt;Go to preferences and switch the &amp;ldquo;treat them separately&amp;rdquo; check-box from unchecked to checked.&#xA;&lt;a href=&#34;https://janikvonrotz.ch/wp-content/uploads/2014/05/Lighroom-jpeg-raw-workflow.png&#34;&gt;&lt;img src=&#34;https://janikvonrotz.ch/wp-content/uploads/2014/05/Lighroom-jpeg-raw-workflow.png&#34; alt=&#34;Lighroom jpeg raw workflow&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Now for each imported picture folder do:&lt;/li&gt;&#xA;&lt;li&gt;Run a new import for the folder.&lt;/li&gt;&#xA;&lt;li&gt;Now open the the &amp;ldquo;Previous Import&amp;rdquo; folder.&lt;/li&gt;&#xA;&lt;li&gt;You should find all jepgs that have been bind to a raw file.&lt;/li&gt;&#xA;&lt;li&gt;Delete them.&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>SharePoint Class Registration Form</title>
      <link>https://janikvonrotz.ch/2014/04/07/sharepoint-class-registration-form/</link>
      <pubDate>Mon, 07 Apr 2014 12:25:53 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2014/04/07/sharepoint-class-registration-form/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;This walkthrough shows how to build an automated registration form that closes down registration if the seats in the class fill up.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s an example of what the result will look like:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://janikvonrotz.ch/2014/04/07/sharepoint-class-registration-form/class-registration-form-example/&#34;&gt;&lt;img src=&#34;https://janikvonrotz.ch/wp-content/uploads/2014/04/Class-Registration-Form-Example.gif&#34; alt=&#34;Class Registration Form Example&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;create-lists&#34;&gt;Create Lists&lt;/h1&gt;&#xA;&lt;p&gt;This solution requires two lists, one containing the classes and another one containing the registrations.&lt;/p&gt;&#xA;&lt;h2 id=&#34;class-calendar&#34;&gt;Class Calendar&lt;/h2&gt;&#xA;&lt;p&gt;The class calendar list holds the classes and informations such as the remaining seats.&lt;/p&gt;&#xA;&lt;p&gt;Type: Calendar&lt;/p&gt;&#xA;&lt;p&gt;Fields:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Seats&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Number&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;FilledSeats&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Number&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;RemainingSeats&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Calculated&lt;/li&gt;&#xA;&lt;li&gt;Formula: &lt;code&gt;=Seats-FilledSeats&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Data type returned: Number&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SeatsIncrement&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Calculated&lt;/li&gt;&#xA;&lt;li&gt;Formula: &lt;code&gt;=FilledSeats+1&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Data type returned: Number&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Closed&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Yes/No&lt;/li&gt;&#xA;&lt;li&gt;Default value: No&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;StaticID&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Number&lt;/li&gt;&#xA;&lt;li&gt;Note: This is a Hack we have to put in because we can’t use the real ID field in a calculated column. We will use a workflow to fill it in correctly later. I am open to suggestions on a better way to do this.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Register&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Calculated&lt;/li&gt;&#xA;&lt;li&gt;Formula: &lt;code&gt;=IF(Closed=TRUE;&amp;quot;Closed for registration&amp;quot;;IF(RemainingSeats&amp;gt;0;CONCATENATE(&amp;quot;&amp;lt;a href=&#39;#&#39; onclick=&#39;OpenRegistrationForm(&amp;quot;;StaticID;&amp;quot;)&#39;&amp;gt;Register&amp;lt;/a&amp;gt;&amp;quot;);&amp;quot;Class is Full&amp;quot;))&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Data type returned: Number&lt;/li&gt;&#xA;&lt;li&gt;Note: You might have to replace the semicolons with commas as this seperater depends on the SharePoint localized installation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;class-calendar-view&#34;&gt;Class Calendar view&lt;/h3&gt;&#xA;&lt;p&gt;In order to register for an class we need a custom view.&lt;/p&gt;&#xA;&lt;p&gt;Type: Default view&lt;/p&gt;&#xA;&lt;p&gt;Option: Make this the default view&lt;/p&gt;&#xA;&lt;p&gt;Columns:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Title&lt;/li&gt;&#xA;&lt;li&gt;Location&lt;/li&gt;&#xA;&lt;li&gt;Description&lt;/li&gt;&#xA;&lt;li&gt;Start Time&lt;/li&gt;&#xA;&lt;li&gt;End Time&lt;/li&gt;&#xA;&lt;li&gt;Seats&lt;/li&gt;&#xA;&lt;li&gt;RemainingSeats&lt;/li&gt;&#xA;&lt;li&gt;Register&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;class-attendees&#34;&gt;Class Attendees&lt;/h2&gt;&#xA;&lt;p&gt;This list contains the registration every entry shows the attendee and the chosen class ID.&lt;/p&gt;&#xA;&lt;p&gt;Type:  Custom List&lt;/p&gt;&#xA;&lt;p&gt;Fields:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Username&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Single line of text&lt;/li&gt;&#xA;&lt;li&gt;Option: Required&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Meeting&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Lookup&lt;/li&gt;&#xA;&lt;li&gt;List: Class Calendar&lt;/li&gt;&#xA;&lt;li&gt;Field: Title&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;MeetingID&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type: Single line of text&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;create-workflows&#34;&gt;Create Workflows&lt;/h1&gt;&#xA;&lt;h2 id=&#34;setstaticclassid-workflow&#34;&gt;SetStaticClassID Workflow&lt;/h2&gt;&#xA;&lt;p&gt;The SetStaticClassID Workflow is really a hack because SharePoint won’t let you use the ID field in the calculated columns. All we are doing is setting a number field with the ID field every time the calendar item is created or modified.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the Class Calendar in SharePoint Designer&lt;/li&gt;&#xA;&lt;li&gt;Add a list workflow&lt;/li&gt;&#xA;&lt;li&gt;Name it: SetStaticClassID&lt;/li&gt;&#xA;&lt;li&gt;Update Start Options: Start Workflow automatically when an item is created and Start workflow automatically when an item is changed&lt;/li&gt;&#xA;&lt;li&gt;Add an action: Set Field in Current Item&lt;/li&gt;&#xA;&lt;li&gt;For field link choose: StaticID&lt;/li&gt;&#xA;&lt;li&gt;For value link click on the fx button&lt;/li&gt;&#xA;&lt;li&gt;Data source: Current Item&lt;/li&gt;&#xA;&lt;li&gt;Field from source: ID&lt;/li&gt;&#xA;&lt;li&gt;Save and publish&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;registration-workflow&#34;&gt;Registration Workflow&lt;/h2&gt;&#xA;&lt;p&gt;The Registration Workflow is one of the main parts of this solution. This is the Workflow that will update the remaining seats in the calendar list when an Attendee register for the course.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the Class Attendees list in SharePoint Designer&lt;/li&gt;&#xA;&lt;li&gt;Add a list workflow&lt;/li&gt;&#xA;&lt;li&gt;Name it: Registration&lt;/li&gt;&#xA;&lt;li&gt;Update Start Options: Start Workflow automatically when an item is created&lt;/li&gt;&#xA;&lt;li&gt;Add an action: Update List Item&lt;/li&gt;&#xA;&lt;li&gt;Click the &amp;ldquo;this list&amp;rdquo; link in the action&lt;/li&gt;&#xA;&lt;li&gt;Change the list ot the Class Calendar list created earlier&lt;/li&gt;&#xA;&lt;li&gt;Click the &amp;ldquo;Add&amp;rdquo; button&lt;/li&gt;&#xA;&lt;li&gt;Choose &amp;ldquo;FilledSeats&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Click the fx button&lt;/li&gt;&#xA;&lt;li&gt;Data source: Class Calendar&lt;/li&gt;&#xA;&lt;li&gt;Field from source: SeatIncrement&lt;/li&gt;&#xA;&lt;li&gt;Field: ID&lt;/li&gt;&#xA;&lt;li&gt;Click the fx button&lt;/li&gt;&#xA;&lt;li&gt;Data source: Current Item&lt;/li&gt;&#xA;&lt;li&gt;Field from source: MeetingID&lt;/li&gt;&#xA;&lt;li&gt;Close all dialogs until you get back to the &amp;ldquo;Update list Item&amp;rdquo; dialog by clicking on ok&lt;/li&gt;&#xA;&lt;li&gt;In the same dialog in the Find the list item section choose for Field: ID&lt;/li&gt;&#xA;&lt;li&gt;Click on the fx button&lt;/li&gt;&#xA;&lt;li&gt;Data source: Current Item&lt;/li&gt;&#xA;&lt;li&gt;Field from source: MeetingID&lt;/li&gt;&#xA;&lt;li&gt;Click ok&lt;/li&gt;&#xA;&lt;li&gt;Save and publish&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h1 id=&#34;create-infopath-form&#34;&gt;Create InfoPath Form&lt;/h1&gt;&#xA;&lt;p&gt;The end user will eventually register through the InfoPath form on the Class Attendees list.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the Class Attendees list InfoPath form&lt;/li&gt;&#xA;&lt;li&gt;Right-click on the Title entry field and select Text Box Properites&lt;/li&gt;&#xA;&lt;li&gt;Click the fx button on the default value filed&lt;/li&gt;&#xA;&lt;li&gt;Add this for the formula &lt;code&gt;concat(Username, &amp;quot; registration for event number &amp;quot;, Meeting)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Add a fomratting rule to the Title and MeetingID field&lt;/li&gt;&#xA;&lt;li&gt;Check &amp;ldquo;Hide this control&amp;rdquo; foreach formatting rule&lt;/li&gt;&#xA;&lt;li&gt;Move the filed Title and MeetingID to the bottom of the form as the will be invisible.&lt;/li&gt;&#xA;&lt;li&gt;Add a formatting rule to the Username and Meeting field&lt;/li&gt;&#xA;&lt;li&gt;Check &amp;ldquo;Disable this control&amp;rdquo; foreach formatting rule&lt;/li&gt;&#xA;&lt;li&gt;Right-click on the Username entry field and select Text Box Properites&lt;/li&gt;&#xA;&lt;li&gt;Click on the fx button for the default value&lt;/li&gt;&#xA;&lt;li&gt;Add this formula &lt;code&gt;username()&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Select the Meeting entry field&lt;/li&gt;&#xA;&lt;li&gt;In the Properties tab click the &amp;ldquo;Default Value&amp;rdquo; button&lt;/li&gt;&#xA;&lt;li&gt;Click the fx button on the default value field&lt;/li&gt;&#xA;&lt;li&gt;Insert the MeetingID field&lt;/li&gt;&#xA;&lt;li&gt;Delte the Attachments field&lt;/li&gt;&#xA;&lt;li&gt;Publish the form&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h1 id=&#34;querystring&#34;&gt;Querystring&lt;/h1&gt;&#xA;&lt;p&gt;In order to automatically set the the meeting in the InfoPath form, we will use a query string to the MeetingID field.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the Class Attendees list&lt;/li&gt;&#xA;&lt;li&gt;Select the List tab &amp;gt; Form Web Parts &amp;gt; (Item) New Form&lt;/li&gt;&#xA;&lt;li&gt;Add a Query String (URL) Filter webpart&lt;/li&gt;&#xA;&lt;li&gt;Updat the &amp;ldquo;Query String Parameter Name&amp;rdquo; with meeting_id in the webpart properties&lt;/li&gt;&#xA;&lt;li&gt;In the webpart options select Connection &amp;gt; Send Filter Values To &amp;gt; InfoPath Form Web Part&lt;/li&gt;&#xA;&lt;li&gt;Select the MeetingID field as Consumer Field Name&lt;/li&gt;&#xA;&lt;li&gt;Save the changes&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h1 id=&#34;add-javascript&#34;&gt;Add JavaScript&lt;/h1&gt;&#xA;&lt;p&gt;The javascript creates the dialog box javascript to open our new form. The call to this javascript method is in the calculated field on the attendees list to register.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the SharePoint site were you are going to display the Class Calendar list webpart&lt;/li&gt;&#xA;&lt;li&gt;Edit the page and select Embed Code on the Insert tab&lt;/li&gt;&#xA;&lt;li&gt;Paste the following javascript and save the page&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;//cdn.jsdelivr.net/jquery/2.1.0/jquery.min.js&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// visit http://www.jsdelivr.com/#!jquery to update the cdn url&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;/script&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;OpenRegistrationForm&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;meeting_id&lt;/span&gt;){&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;options&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// to geht following make a right click on the new item link in the Class Attendees list and select open in new tab.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// Now copy the url in the browser from the beginning to the of the &amp;amp;RootFolder= part&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// Inser the link below and replace [RootFolder] with meeting_id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://sharepoint.vbl.ch/Personal/Lists/Class%20Attendees/Item/newifs.aspx?List=21803ee2-66ab-4df2-9116-b02853ca7e1a&amp;amp;meeting_id=&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;meeting_id&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;750&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;600&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;dialogReturnValueCallback&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DialogCallback&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  };&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;SP&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;UI&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ModalDialog&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;showModalDialog&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;options&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DialogCallback&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;dialogResult&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;returnValue&lt;/span&gt;){}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;/script&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;finally&#34;&gt;Finally&lt;/h1&gt;&#xA;&lt;p&gt;Now we got everything required to set up our Class Registration Form.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the SharePoint site were you are going to display the Class Calendar list webpart&lt;/li&gt;&#xA;&lt;li&gt;Add the Class Calendar list webpart&lt;/li&gt;&#xA;&lt;li&gt;Edit the webpart and select the Registration view&lt;/li&gt;&#xA;&lt;li&gt;Add a class example&lt;/li&gt;&#xA;&lt;li&gt;Now you should be able to register for classes by click on the registration link.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h1 id=&#34;source&#34;&gt;Source&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://sharepoint.rackspace.com/calculated-columns-tutorial&#34;&gt;SharePoint Calculated Columns By Andy Wessendorf&lt;/a&gt;&#xA;&lt;a href=&#34;http://www.greggalipeau.com/2012/05/20/sharepoint-2010-class-registration-form/&#34;&gt;SharePoint 2010 Class Registration Form&lt;/a&gt;&#xA;&lt;a href=&#34;http://sharepointjavascript.wordpress.com/2009/10/15/reformat-url-from-calculated-column-with-decent-clickable-link-text/&#34;&gt;Enable clickable urls in calculated fiels&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
