<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Extending a Webform into a Wizard? in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205924#M159054</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We finally managed to load an XForm based only on an individual XSD (so no need to create a webform residing within Alfresco) by creating our own implementation of the org.alfresco.web.forms.Form interface (most methods throw an UnsupportedOperationException, but hey…). However, I'm hoping someone can tell me how we can access the values submitted to that form in our Wizard? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We know that in case we just render a JSP, we can use the following code and access the values with the "someProperty" getter and setter…&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;h:inputText id="name" value="#{WizardManager.bean.someProperty}" size="50" maxlength="1024" required="true"/&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;However, now that we have our form rendered via javascript and xform stuff, and we don't know how/where to access the submitted values. Can somebody please point us in the right direction?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Feb 2009 14:14:40 GMT</pubDate>
    <dc:creator>benvercammen</dc:creator>
    <dc:date>2009-02-24T14:14:40Z</dc:date>
    <item>
      <title>Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205918#M159048</link>
      <description>We currently have a system set up where content managers need to create 3 content types (via webforms) in a specific order and link them together in the end. Of course, this isn't very user-friendly and we would like to change the webform for the central content type into a sort of wizard, which cou</description>
      <pubDate>Tue, 17 Feb 2009 12:29:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205918#M159048</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-17T12:29:42Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205919#M159049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think I'm on the right track now. What I'm planning on doing is to override the CreateWebContentWizard and add some steps to it (&lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Customising_The_Create_Content_Wizard" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Customising_The_Create_Content_Wizard&lt;/A&gt;&lt;SPAN&gt;). However, I would like to add those steps only for one specific content type. I tried to use the "&lt;/SPAN&gt;&lt;STRONG&gt;condition&lt;/STRONG&gt;&lt;SPAN&gt;" statements &lt;/SPAN&gt;&lt;STRONG&gt;outside&lt;/STRONG&gt;&lt;SPAN&gt; the "&lt;/SPAN&gt;&lt;STRONG&gt;step&lt;/STRONG&gt;&lt;SPAN&gt;" elements in the configuration, but that doesn't seem to work. So is there any way to add some logic to which Wizard should be picked?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This works…&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;step …&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition if="#{'true' == 'true'}"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;page path="…" … /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/step&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;But this doesn't…&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition if="#{'true' == 'true'}"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;step …&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;page path="…" … /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/step&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;So if anyone can point out to me where the "Which wizard should be used" decision making is taking place, and optionally how to extend/modify it, we would be very happy indeed!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Feb 2009 09:35:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205919#M159049</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-18T09:35:27Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205920#M159050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;org.alfresco.web.app.AlfrescoNavigationHandler decides what dialog/wizard is used so this is a good starting point, it then uses the ConfigService to lookup the relevant configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I presume you have looked at web-client-config-wziards.xml for examples of using the &amp;lt;condition&amp;gt; stuff, the 'createSpace' wizard uses them. However, there is a limitation in that only a linear path can be taken through the wizard i.e. you can't have 2 different paths with a different number of steps so that might not fit your use case anyway.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Feb 2009 15:23:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205920#M159050</guid>
      <dc:creator>gavinc</dc:creator>
      <dc:date>2009-02-18T15:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205921#M159051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply! I've also come to the conclusion that this isn't the way to go for me… I would've liked to be able to override the WizardConfig class to for example modify the getSteps() method, but I can't override the "AlfrescoNavigationHandler" (which ultimately leads to the WizardConfigElement and WizardConfig classes) in the faces-config-app.xml file. So I'm currently planning on giving up on that, unless there would be another way to be able to shove my custom WizardConfig class in there?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just to be clear, I'm working with Enterprise 2.2.2 at the moment. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I'm looking into creating my own Action, which would start a Wizard to collect all necessary data and in the end creates/updates the necessary items and renditions. But my first issue with this approach is that I don't yet see how, where and when I could/should execute that Action. Maybe you've got an idea or suggestion on how or in which direction I can go best?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once again thanks already!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Feb 2009 15:58:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205921#M159051</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-18T15:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205922#M159052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;After browsing through the code and quite some debugging and comparison, we've finally managed to do what we wanted; mashing 3 webforms into 1 wizard. And it actually isn't all that hard!&amp;nbsp; &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&amp;nbsp; Below are listed the steps taken to come to our solution…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;1. Create a new wizard&lt;/STRONG&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;config&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wizards&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wizard name="customWizard" managed-bean="CustomWizard"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title-id="custom_create_content_wizard_title" description-id="create_content_desc"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;icon="/images/icons/new_content_large.gif"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;step name="step1" title="Step 1" description="…"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;page path="/jsp/wcm/create-web-content-wizard/create-xml.jsp"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title="Step 1" description="…" instruction="…" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/step&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;step name="step2" title="Step 2" description="…"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;page path="/jsp/wcm/create-web-content-wizard/create-xml.jsp"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title="Step 2" description="…" instruction="…" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/step&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/wizard&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/wizards&amp;gt;&lt;BR /&gt;&amp;lt;/config&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;The important thing to note here is thate we make use of the &lt;/SPAN&gt;&lt;STRONG&gt;/jsp/wcm/create-web-content-wizard/create-xml.jsp&lt;/STRONG&gt;&lt;SPAN&gt; page. This is the jsp that's responsible to generate the webform from an XSD file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public class CustomWizard extends CreateWebContentWizard {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private int currentStep = 0;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void init(Map&amp;lt;String, String&amp;gt; parameters) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.init(parameters);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setWebForm();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Make sure the first webForm name has been set…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected String finishImpl(FacesContext context, String outcome) throws Exception {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.finishImpl(context, outcome);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return outcome;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public String next() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.currentStep++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setWebForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return super.next();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public String back() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.currentStep–;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setWebForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return super.back();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void setWebForm() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch (currentStep) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 0 : this.setFormName("custom-step-1"); break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 1 : this.setFormName("custom-step-2"); break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Things to note here are:&lt;/SPAN&gt;&lt;BR /&gt;&lt;UL&gt;Extended CreateWebContentWizard&lt;BR /&gt;Manually set which WebForm should be used (this.setFormName()). Note that this should be a webform that's been added to your WebProject!&lt;BR /&gt;Added our own code to track the current step so we can tell which webform to use&lt;/UL&gt;&lt;BR /&gt;&lt;STRONG&gt;2. Create a custom command to trigger the WebForm&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Check &lt;/SPAN&gt;&lt;A href="http://forums.alfresco.com/en/viewtopic.php?f=30&amp;amp;t=17097" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/en/viewtopic.php?f=30&amp;amp;t=17097&lt;/A&gt;&lt;SPAN&gt; for more on this…&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After doing so, you get a URL which will open the Wizard (eg: localhost:8080/alfresco/c/ui/createwebpage). All you need to do now is add a link to that URL wherever you need it…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the end you can't (easily) customize a webform to become a wizard, but you can create a wizard and make use of the webforms anyway without writing too much code yourself! The next thing we're looking into is how we can trigger a wizard from inside the current wizard and in the end have it return it's value to the first wizard… Any clues and tips are welcome!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2009 09:47:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205922#M159052</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-23T09:47:01Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205923#M159053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Okay, cheered too early… Switching the formName like we do, we also lose our formdata and we get errors when submitting. Back to the drawing board…&amp;nbsp; &lt;img id="smileyindifferent" class="emoticon emoticon-smileyindifferent" src="https://connect.hyland.com/i/smilies/16x16_smiley-indifferent.png" alt="Smiley Indifferent" title="Smiley Indifferent" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2009 10:17:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205923#M159053</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-23T10:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205924#M159054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We finally managed to load an XForm based only on an individual XSD (so no need to create a webform residing within Alfresco) by creating our own implementation of the org.alfresco.web.forms.Form interface (most methods throw an UnsupportedOperationException, but hey…). However, I'm hoping someone can tell me how we can access the values submitted to that form in our Wizard? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We know that in case we just render a JSP, we can use the following code and access the values with the "someProperty" getter and setter…&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;h:inputText id="name" value="#{WizardManager.bean.someProperty}" size="50" maxlength="1024" required="true"/&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;However, now that we have our form rendered via javascript and xform stuff, and we don't know how/where to access the submitted values. Can somebody please point us in the right direction?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Feb 2009 14:14:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205924#M159054</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-24T14:14:40Z</dc:date>
    </item>
    <item>
      <title>Re: Extending a Webform into a Wizard?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205925#M159055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;For those who would like to know, we finally pulled it off! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To store the values of the submitted form, we needed to use a transaction:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;private void storeCurrentForm() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FacesContext context = FacesContext.getCurrentInstance();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RetryingTransactionHelper txnHelper = Repository.getRetryingTransactionHelper(context);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RetryingTransactionCallback&amp;lt;String&amp;gt; callback = &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new RetryingTransactionCallback&amp;lt;String&amp;gt;() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public String execute() throws Throwable {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// call the actual implementation&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveContent();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Execute the callback in a transaction&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txnHelper.doInTransaction(callback);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (Exception e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ….&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;With the saveContent() method being:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;@Override&lt;BR /&gt;protected void saveContent() throws Exception {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Saving content for Wizard Step :: " + this.currentStep);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;final Form form = this.getForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (form != null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document instanceDataDocument = this.getInstanceDataDocument();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Make sure the super's variable is already set correctly, as it will be used further on…&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.content = XMLUtil.toString(instanceDataDocument, false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;contents[currentStep] = this.content;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instanceDataDocuments[currentStep] = instanceDataDocument;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The biggest trouble we had was that we forgot to keep some protected members of the super class (CreateWebContentWizard) in synch with what our getters would return (they retrieved the values stored in the arrays for the current step). Therefore we added the preloadWebForm() method (okay, the naming may not be all that…)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;private void preloadWebForm() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.content = contents[currentStep];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.formInstanceData = dataInstances[currentStep];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.formProcessorSession = formProcessorSessions[currentStep];&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;So when adding it all together, our next() and back() methods look like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;@Override&lt;BR /&gt;public String next() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeCurrentForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.currentStep++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;preloadWebForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return super.next();&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;@Override&lt;BR /&gt;public String back() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeCurrentForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.currentStep–;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;preloadWebForm();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return super.back();&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;In the end, in the &lt;/SPAN&gt;&lt;STRONG&gt;finishImpl()&lt;/STRONG&gt;&lt;SPAN&gt; method, we can access the resulting XML Strings via contents[0] or Documents via instanceDataDocuments[0]. We still need to manually trigger the renderings etc, but that shouldn't be too big a problem…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We might extend this functionality (if it's not yet available already) to be more generic, but for now it suits our needs. If someone still sees something that could be done better in this code, please let us know!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Feb 2009 09:20:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extending-a-webform-into-a-wizard/m-p/205925#M159055</guid>
      <dc:creator>benvercammen</dc:creator>
      <dc:date>2009-02-26T09:20:06Z</dc:date>
    </item>
  </channel>
</rss>

