This document provides instructions for creating workflows in Windows SharePoint Services using Office SharePoint Designer 2007 and Visual Studio. It describes building a workflow to automate a building permit application process. The workflow assigns a review task when an application is submitted and sends an approval email with the permit amount. The exercises guide the user through setting up the workflow in SharePoint Designer, testing it by submitting an application and reviewing the task, and verifying the approval email is sent.
Generate Cross Tool Reports with Rational Publishing EngineBill Duncan
Report generation is an important feature of the IBM® Rational® System Architect tool. But the report generation component of IBM® Rational® Publishing Engine, which it includes, can pose a learning challenge, particularly while generating reports in a Rational System Architect and IBM® Rational® DOORS® integration. This article explains the steps to generate cross-tool reports for Rational System Architect and Rational DOORS projects by using Rational Publishing Engine features.
In this module, you work at the project level. After you complete this module, you should be able to do these tasks :
• Upload requirements information as a recourse
• Create an artifact at the project level
• Create an artifact from another artifact
• Edit artifact attributes at the project level
• Export requirements from the project to a comma-separated values ( CSV) file
This presentation is not mine, the due rights are stated inside the ppt. I'm just uploading this to slideshare, so I can share it in a blackboard course site for my grade in a course at my institution.
La presentazione di Marco Casario per il Codemotion del 5 marzo 2011 a Roma http://www.codemotion.it/
Si parla già molto di HTML5 e delle nuove specifiche che il linguaggio nella sua ultima versione introduce. Ma è davvero il momento giusto di investire su questo standard e migrare le proprie applicazioni? A che punto sono i browsers con il supporto ad HTML5?Il Flash Player scomparirà?Quale sarà il video codec definitivo supportato? Le domande sono molte. Lo scopo di questo speech è quello di cominciare a dare delle risposte analizzando con esempi concreti lo stato attuale del linguaggio HTML5.
Generate Cross Tool Reports with Rational Publishing EngineBill Duncan
Report generation is an important feature of the IBM® Rational® System Architect tool. But the report generation component of IBM® Rational® Publishing Engine, which it includes, can pose a learning challenge, particularly while generating reports in a Rational System Architect and IBM® Rational® DOORS® integration. This article explains the steps to generate cross-tool reports for Rational System Architect and Rational DOORS projects by using Rational Publishing Engine features.
In this module, you work at the project level. After you complete this module, you should be able to do these tasks :
• Upload requirements information as a recourse
• Create an artifact at the project level
• Create an artifact from another artifact
• Edit artifact attributes at the project level
• Export requirements from the project to a comma-separated values ( CSV) file
This presentation is not mine, the due rights are stated inside the ppt. I'm just uploading this to slideshare, so I can share it in a blackboard course site for my grade in a course at my institution.
La presentazione di Marco Casario per il Codemotion del 5 marzo 2011 a Roma http://www.codemotion.it/
Si parla già molto di HTML5 e delle nuove specifiche che il linguaggio nella sua ultima versione introduce. Ma è davvero il momento giusto di investire su questo standard e migrare le proprie applicazioni? A che punto sono i browsers con il supporto ad HTML5?Il Flash Player scomparirà?Quale sarà il video codec definitivo supportato? Le domande sono molte. Lo scopo di questo speech è quello di cominciare a dare delle risposte analizzando con esempi concreti lo stato attuale del linguaggio HTML5.
After completing this unit, you should be able to:
- Describe the purpose of traceability
- Explain the difference between a content link and a traceability link
- Link objects to create traceability
- View traceability relationships in columns, graphically, and in the artifact sidebar
- Delete links between objects to fix traceability
- Navigate around different levels of information by using traceability links
- Analyze the impact of a changed requirement or failed test by using traceability
Lecture 3: Navigating the Requirements Management application: Web clientIBM Rational software
After you complete this module, you should be able to:
► Navigate the web client interface
► View requirement artifacts and information about them, both at the project level and in modules
► Use filters to focus on relevant information
► Change display settings to reveal relevant details
► Quickly switch perspectives of the requirements information by using views
► Use comments on artifacts to collaborate
► Use dashboards for lifecycle and progress analysis
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Amit Singh
Every new release of Oracle EBS in last couple of years has proven that Oracle is relying more and more on Java based technologies to improve their customer experience. Oracle Application Framework (OAF) has been one of the development tool for HTML based self-service application development with in EBS. OAF is not limited to User interface development only. It can be also used in building concurrent program to perform background operation.
Discover how to integrate OA Framework BC4J component within Java concurrent program to perform a background job.
After you complete this module, you should be able to do these tasks :
- Generate requirements report documents
- Explain the reporting capability that is available through IBM® Rational® Reporting for Development Intelligence
After you complete this module, you should be able to:
- Navigate the web client interface
- View requirement artifacts and information about them, both at the project level and in modules
- Use filters to focus on relevant information
- Change display settings to reveal relevant details
- Quickly switch perspectives of the requirements information by using views
- Use comments on artifacts to collaborate
- Use dashboards for lifecycle and progress analysis
Vikrant Rai and Samartha Vashishtha delivered this presentation at the 2010 STC India Conference, New Delhi.
This presentation discusses how you can easily create PDF forms using Acrobat and/or LiveCycle Designer, the native PDF form creation application available with Adobe Acrobat Professional.
Are you using worksets in Revit? Are your consultants using worksets too? Do you feel restricted by Revit Server? Are you tired of the relentless transferring of Revit models to exchange updates between the entire design team? Are you interrupted by that individual who wants to just navigate your Revit model or review its Sheets? Are you plain annoyed of emails back and forth between you and your project stakeholders asking simple questions to get simple responses? End your frustrations now and see how Collaboration for Revit (C4R) eliminates these pains.
After completing this unit, you should be able to:
- Describe the purpose of traceability
- Explain the difference between a content link and a traceability link
- Link objects to create traceability
- View traceability relationships in columns, graphically, and in the artifact sidebar
- Delete links between objects to fix traceability
- Navigate around different levels of information by using traceability links
- Analyze the impact of a changed requirement or failed test by using traceability
Lecture 3: Navigating the Requirements Management application: Web clientIBM Rational software
After you complete this module, you should be able to:
► Navigate the web client interface
► View requirement artifacts and information about them, both at the project level and in modules
► Use filters to focus on relevant information
► Change display settings to reveal relevant details
► Quickly switch perspectives of the requirements information by using views
► Use comments on artifacts to collaborate
► Use dashboards for lifecycle and progress analysis
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Amit Singh
Every new release of Oracle EBS in last couple of years has proven that Oracle is relying more and more on Java based technologies to improve their customer experience. Oracle Application Framework (OAF) has been one of the development tool for HTML based self-service application development with in EBS. OAF is not limited to User interface development only. It can be also used in building concurrent program to perform background operation.
Discover how to integrate OA Framework BC4J component within Java concurrent program to perform a background job.
After you complete this module, you should be able to do these tasks :
- Generate requirements report documents
- Explain the reporting capability that is available through IBM® Rational® Reporting for Development Intelligence
After you complete this module, you should be able to:
- Navigate the web client interface
- View requirement artifacts and information about them, both at the project level and in modules
- Use filters to focus on relevant information
- Change display settings to reveal relevant details
- Quickly switch perspectives of the requirements information by using views
- Use comments on artifacts to collaborate
- Use dashboards for lifecycle and progress analysis
Vikrant Rai and Samartha Vashishtha delivered this presentation at the 2010 STC India Conference, New Delhi.
This presentation discusses how you can easily create PDF forms using Acrobat and/or LiveCycle Designer, the native PDF form creation application available with Adobe Acrobat Professional.
Are you using worksets in Revit? Are your consultants using worksets too? Do you feel restricted by Revit Server? Are you tired of the relentless transferring of Revit models to exchange updates between the entire design team? Are you interrupted by that individual who wants to just navigate your Revit model or review its Sheets? Are you plain annoyed of emails back and forth between you and your project stakeholders asking simple questions to get simple responses? End your frustrations now and see how Collaboration for Revit (C4R) eliminates these pains.
Office apps in Office 365 - Napa the next big thingSPC Adriatics
Speakers: Martina Grom, Toni Pohl; How to build development Solutions without your own Servers, only by using Office 365. In this session we will see how to use the new development model for building cool Office Apps. What is NAPA and how to use it. This session will provide an overview of the new developer features for Office and SharePoint.
Lotus believes that Domino 5.x is an easier and more integrated environment in which to
develop applications than Microsoft Exchange 2000, and Lotus believes that less
experienced programmers can develop applications in Domino more easily than in
Exchange. This is a positive for Domino, since it implies that less training may be
required and people can develop applications more quickly than in Exchange 2000.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Creating Workflows Windows Share Point Services
1. Creating Workflows for Windows SharePoint Services
Table of Contents
Creating Workflows for Windows SharePoint Services ........................................................... 1
Exercise 1 Building a Workflow with Office SharePoint Designer 2007......................................................................2
Exercise 2 Building a Custom Workflow with Visual Studio ......................................................................................8
Conclusion...................................................................................................................................................................16
2. Creating Workflows for Windows SharePoint Services
Creating Workflows for Windows
SharePoint Services
After completing this lab, you will be better able to:
Objectives Build a Workflow with Office SharePoint Designer 2007.
Build a Custom Workflow with Visual Studio.
Seamlessly integrate workflow functionality with the 2007 Microsoft®
Office System release.
Estimated Time to 90 Minutes
Complete This Lab
Computer used in this Lab MOSS
Page 1 of 16
3. Creating Workflows for Windows SharePoint Services
Exercise 1
Building a Workflow with Office SharePoint Designer 2007
Scenario
The city of Anytown, MI, needs an electronic process for building permit applications submitted by residents and
business owners. This process requires that users be able to access a building permit application Office InfoPath
2007 form from the browser. After providing specific data about the project in the form, the user submits the data to
an internal SharePoint form library, where it is assigned to a compliance reviewer for approval. The compliance
reviewer uses the same form as a rich client to determine if the project meets certain requirements (for example, fire
safety regulations) before submitting the form back to the form library. If all requirements have been met, an e-mail
message is sent to the applicant indicating that the application has been approved and that the permit amount is due.
In this exercise, you will use Office SharePoint Designer 2007 to build this workflow process. Office SharePoint
Designer 2007 enables site administrators to write workflow logic against any SharePoint list. Within the Workflow
Designer users can specify action sets, which contain conditions and actions, without having to write any custom
code. These action sets work with any form fields that have been promoted as SharePoint columns.
Tasks Detailed Steps
Complete the following Note: Before working with Office SharePoint Designer 2007, it would be beneficial
6 tasks on: for you to become familiar with the building permit application form template, which
has already been deployed to a SharePoint form library. This template is meant for
MOSS two types of users: (1) residents and business owners, and (2) compliance reviewers.
The residents and business owners (the applicants) provide building project
1. Become familiar
information, including the building size, lot size, property tax, project size, and project
with the Views task
cost. These values are used to calculate a permit amount. In addition, the Anytown,
pane
MI, employee who will be assigned to review the application is determined based on
the selection of project type (for example, building extension). After the applicant
submits the form data to a SharePoint form library, the assigned compliance reviewer
then completes the compliance section, which will determine if the permit is approved
or rejected.
There is a form view for each type of user, with two form views for the applicant. The
View 1 (default) view is the one that is shown when the applicant first fills out the
form. The Initiator Rejected view is shown to the applicant if any of the compliance
requirements are not met, and allows that user to see comments from the reviewer.
a. Login using the following credentials:
Username: administrator
•
Password: pass@word1
•
Log on to: LITWAREINC
•
b. Wait for the Warmup Script to complete and the popup window to close.
c. From Windows Explorer, navigate to C:HOLCreatingWorkflowsExercise1.
d. Right-click BuildingPermitApplication.xsn and select the Design menu
command.
e. In the Design Tasks task pane, click Views.
f. In the Views task pane, click each form view to become familiar with the different
UI sections of the form.
2. View the Form’s Note: You will need to be familiar with the form’s data source in order to write the
Data Source screen workflow logic. Some of the top-level nodes that are worth noting are the RoleID,
PermitStatus and PermitAmount. The RoleID node identifies the current user viewing
the form, with values of 1 (the applicant) and 2 (the compliance reviewer). The
PermitStatus node identifies the status of the form, with values of OPEN (the default
Page 2 of 16
4. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
value), REJECTED, or APPROVED. The PermitAmount node contains the value
that is calculated when the user clicks Calculate Permit Amount.
Note also that there are a number of fields that have been promoted as columns in the
SharePoint library. This promotion is done so that workflow logic can be written
against the form’s data source. Of course, it also allows users to review certain values
in forms in the SharePoint form library without having to open those forms.
a. Select the View | Data Source menu command.
b. In the Data Source task pane, hover over some of the top-level nodes to view the
corresponding data type and default value.
Note: The RoleID default value is 1 and the PermitStatus default value is OPEN.
c. Select the Tools | Forms Options menu command.
d. In the Form Options dialog box, click the Property Promotion category to
review promoted fields.
e. Click Cancel.
f. Close Office InfoPath 2007.
3. Create a new Note: Now that you have some familiarity with the building permit application form
Workflow in template, you can begin the task of designing the workflow. The Workflow Designer of
SharePoint Designer Office SharePoint Designer 2007 has a relatively simple UI that allows users to create
2007 workflow logic for any SharePoint list. Action sets can be added for a workflow
similar to how rules can be added in the Office InfoPath 2007 designer. You can have
actions performed such as assigning a task or sending an e-mail message, and these
actions are executed based on the values of certain promoted fields in the form. You
can even dynamically add the values of promoted form fields to the bodies of e-mail
messages.
In this exercise, you will create a new workflow and associate it with the Building
Permit Application form library. You will use the Workflow Designer to (1) assign a
task to the correct compliance reviewer when a form is first submitted, and (2) send an
e-mail message to the applicant after the form has been reviewed.
a. Navigate to Start | All Programs | Microsoft Office | Microsoft Office
SharePoint Designer 12.
b. If SharePoint Designer does not open to http://moss.litwareinc.com/sites/permits
then click File, Open Site then type http://moss.litwareinc.com/sites/permits,
and click Open. This may take a few minutes to open and for the menu options to
activate.
c. In Microsoft Office SharePoint Designer 2007, select the File | New | Workflow
menu command.
d. In the Workflow Designer, change the SharePoint list value to Building Permit
Application. Leave the Workflow name as Workflow 1.
e. Select the Automatically start this workflow when a new item is created check
box.
f. Select the Automatically start this workflow whenever an item is changed
check box.
g. Click Next.
4. Specify Permit Status Note: Workflows are composed of steps, which are composed of action sets. Each
and Define workflow step is processed in the order listed in the Workflow Steps task pane. Action
Workflow Lookup sets are also processed in the order listed within each step. Processing within a step
stops when one of its action sets evaluates to true. For this exercise, you will create
two action sets: one that assigns a task to a compliance reviewer and one that sends
an e-mail message to the applicant after the form has been reviewed.
The action to assign a task to the compliance reviewer occurs after a form is first
Page 3 of 16
5. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
submitted to the SharePoint form library. If you recall from when you reviewed the
form template’s data source, the PermitStatus node identifies the current review
status of the building permit application. A value of OPEN indicates that the
application has not yet been reviewed, while values of APPROVED and REJECTED
indicate that the reviewer has either approved or rejected the application. Thus, you
will need to add a condition where the Permit Status promoted property value is
OPEN. Once the condition is specified, you use the Actions list to assign a task to the
compliance reviewer. For this set of steps, you will use the Custom Task Wizard to
define a custom task that is assigned to the value of the Reviewer Email promoted
property.
a. In the Workflow Designer, click the Conditions list and select Custom Condition
(Building Permit Application).
b. Click field and select Permit Status.
c. Click value, type OPEN and press ENTER.
d. Click the Actions list and select Assign a Todo Item.
e. Click a todo item.
f. In the first page of the Custom Task Wizard, click Next.
g. Type Review Building Permit Application in the Name field.
h. Type Perform a compliance review for the new building permit application
submitted to the form library in the Description field and click Finish.
i. Click these users.
j. In the Select Users dialog box, click Workflow Lookup in the list box and click
Add.
k. The Define Workflow Lookup dialog box should appear
l. Leave Source section entry with default value of Current Item. Select Reviewer
Email from the Field list in the Lookup Details section.
m. Click OK.
n. In the Select Users dialog box, click OK.
Note: The action to send an e-mail message to the applicant occurs after the
compliance reviewer has either approved or rejected the building permit application.
In the case of an approval, the Permit Status promoted property value changes to
APPROVED, and the applicant would receive an e-mail message identifying the
permit amount that is due to the city of Anytown, MI. If the application is rejected, the
Permit Status promoted property value changes to REJECTED, and the Role ID
value is set to 1. As a result of time constraints, you will build the action set only for
the approval message.
After setting the condition, use the Send an Email action to create the e-mail message
that is to be sent. Because the applicant’s e-mail address is a promoted property, you
can perform a workflow lookup and set the To field in the e-mail message to that
Page 4 of 16
6. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
promoted property’s value. You can use promoted property values in the CC, Subject,
and message body fields as well. For this exercise, you will use the Permit Amount
promoted property value in the message body to indicate the amount owed by the
applicant for the permit.
o. Click Add ‘Else If’ Conditional Branch.
p. Click the new Conditions list and select Custom Condition (Building Permit
Application).
q. Click field and select Permit Status.
r. Click value, type APPROVED and press ENTER.
s. Click the new Actions list and select Send an Email.
t. Click this message.
u. In the Define Email Message dialog box, click the lookup button located to the
right of the To text box.
v. In the Select Users dialog box, click Workflow Lookup in the list box and click
Add.
w. In the Define Workflow Lookup dialog box, select Submitter (Email) from the
Field list in the Lookup Details section and click OK.
x. In the Select Users dialog box, click OK.
y. In the Define Email Message dialog box, type Your Building Permit
Application Has Been Approved in the Subject text box.
z. In the body text box, type The following amount is due to the city of Anytown,
MI, for the building permit: $.
aa. Reposition the cursor between the “$” and the “.” in the body text box. Click Add
Lookup to Body.
bb. In the Define Workflow Lookup dialog box, select Permit Amount from the
Field list in the Lookup Details section.
cc. Click OK.
dd. In the Define Email Message dialog box, click OK. Your workflow step should
now appear
ee. Click Finish to process and validate your changes and save the workflow.
ff. Close Office SharePoint Designer 2007
Page 5 of 16
7. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
5. Test the Workflow Note: To test the workflow, you will need to log on as different users so that you can
simulate the actions of multiple roles. This machine is equipped with remote desktop
connections for NicoleC (the applicant) and DaveR (the reviewer). For the applicant,
a URL is provided for gaining access to the building permit application browser-
based form. The reviewer can access the form as a rich client from the Building
Permit Application form library.
Start the test by logging on as NicoleC. The applicant navigates to the browser-based
version of the building permit application and provides details about the project in the
form. Note that the individual to whom an associated design drawing is sent is
dependent on the value of the PROJECT TYPE list. For this exercise, you will not
have to submit a design drawing.
After all information has been provided, the applicant submits the data, which sends
the form file to the Building Permit Application form library and kicks off the
associated workflow that you created in the previous set of steps.
a. Double-click the Nicole Caron remote desktop connection shortcut on the
desktop.
b. In Internet Explorer, navigate to Favorites | Building Permit Application Form.
c. When the form starts, type R12-34567 in the Lot # text box and click Retrieve
Data to populate the property and owner fields.
d. Select Building Extension in the PROJECT TYPE list.
e. In the PROJECT ESTIMATES section, select 7/24/2006 as a Start Date and
7/28/2006 as an End Date.
f. Type 500 in the Size text box.
g. Type 12000 in the Cost text box.
h. Click Calculate Permit Amount.
i. Click Submit.
j. In the Microsoft Internet Explorer dialog box, click OK to confirm that the form
was submitted successfully.
k. Minimize the Nicole Caron remote desktop connection.
Note: Now, as the compliance reviewer (DaveR), you will navigate to your task list to
see if any tasks have been assigned. You can click the Title link in the task list to view
some of the task details. For now, you will navigate to the Building Permit
Application form library to review the new application from NicoleC.
From the form library, you can click the Name link to start the building permit
application form in the rich client. Because you still want to test whether the second
action set in your workflow is performing correctly, click Approved or NA for all of
the compliance items in the INTERNAL USE ONLY section. As long as none of these
items are set to Rejected, the form’s permit status value will change to APPROVED
on submit.
l. Double-click the Dave Richards remote desktop connection shortcut on the
desktop.
m. In Internet Explorer, navigate to Favorites | My Task List.
n. Click the link in the Link column of the Review Building Permit Application
task, if you are prompted to Open or Save choose to Open the file.
o. In the INTERNAL USE ONLY section of the form, click Approved or NA for
all compliance review items and click Submit.
Page 6 of 16
8. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
p. In the Microsoft Office InfoPath dialog box, click OK to confirm that the form
was submitted successfully, if you are prompted to save you changes select no as
the submit has already saved them.
q. Minimize the Dave Richards remote desktop connection.
6. Verify the e-mail Note: The last task in this exercise is to confirm that an e-mail message was sent to the
was sent applicant after the compliance reviewer approved the building permit application. You
can switch back to the NicoleC remote desktop connection and start Office Outlook
2007 to confirm receipt of the approval message. Within the body of that message,
note how the workflow lookup value (for the Permit Amount promoted property) is
resolved to 1500.
a. Maximize the Nicole Caron remote desktop connection.
b. Navigate to Start | All Programs | Microsoft Office | Microsoft Office Outlook
12.
c. Click Send/Receive.
Note: There may be a bug in this beta 2007 release that prevents workflow e-mail
messages from being sent.
d. Preview the message with the subject Your Building Permit Application Has
Been Approved.
Page 7 of 16
9. Creating Workflows for Windows SharePoint Services
Exercise 2
Building a Custom Workflow with Visual Studio
Scenario
The Microsoft Office SharePoint Server 2007 Workflow Developer Starter Kit installs additional project templates
and a Toolbox and Designer that developers can use to build custom Microsoft Office SharePoint Server 2007
workflows.
In this exercise you will create a new managed-code Workflow project using Microsoft Visual Studio 2005 with the
Microsoft Office SharePoint Server 2007 Workflow Developer Starter Kit and deploy the workflow to a Microsoft
Office SharePoint Server.
Tasks Detailed Steps
a. Switch back to administrator desktop.
1. Create a new
Workflow project b. From Windows Explorer, navigate to
using a Microsoft C:HOLCreatingWorkflowsExercise2OrderRequestWorkflow.
Office SharePoint
c. Double-click OrderRequestWorkflow.sln and Visual Studio will open.
Workflow project
Note: The Microsoft Office SharePoint Server 2007 Workflow Developer Starter Kit
template
Designer and Toolbox allow you to design a Workflow visually similar to designing a
Microsoft Office Visio 2007 flowchart. You will use the designer to layout a sequence
of activities and bind those activities to custom event handlers.
In our scenario, when the workflow is activated on a document in an Office
SharePoint Server 2007 document library, a Microsoft Office InfoPath 2007 form will
open in the browser. In this form you will enter a product description for the order
request, including a person to assign to the request. When the form is submitted, the
custom workflow will create a new Task Item and save the information entered in the
Office InfoPath 2007 form as Task Item properties. You will then log on as Luis
Bonifaz in an RDP session to open the request in a second Microsoft Office InfoPath
2007 form in the browser. You will review the request then mark it as Complete and
update the Task Item in Office SharePoint Server 2007 to finish the workflow.
First, you will add a number of workflow activities from the SharePoint Workflow
toolbox. These will provide the basic structure for the workflow, after which you will
start to add logic to those activities.
d. In the Solution Explorer, double-click Workflow1.cs.
e. From the SharePoint Workflow toolbox, drag a CreateTask activity into the
sequence after the onWorkflowActivated1 activity.
Page 8 of 16
10. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
f. From the Windows Workflow toolbox, drag a While activity into the sequence
after the new createTask1 activity.
g. From the SharePoint Workflow toolbox, drag an OnTaskChanged activity and
drop it on the while1 activity.
h. Finally, drag a CompleteTask activity from the SharePoint Workflow toolbox
and drop it in the sequence after the while1 activity.
i. Your workflow should now look like
Note: You will bind and implement event handlers for the activities in the workflow
sequence you just designed. Visual Studio 2005 helps you generate much of the code
for the events. You just need to implement the logic.
First you will insert a few variables as data members that will be used to make
workflow decisions.
Note: If an error dialog appears while using the designer before finishing these steps
click OK to continue the Exercise.
j. Enter taskToken in the CorrelationToken property (found in the Properties
section) for each of the following activities: createTask1, onTaskChanged1, and
completeTask1.
Note: To get to the Properties for select the item in the designer and it will be
Page 9 of 16
11. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
displayed in the Properties panel in the lower right hand corner of Visual Studio
k. Expand the CorrelationToken property for the createTask1 activity and set the
OwnerActivityName to Workflow1.
l. For those same activities, set the TaskId property of each to taskID.
In order to do this you must put the mouse in the TaskID field and click on
•
the … button.
For the first item select the Bind to a new member tab and enter taskID in
•
the New member name field then click OK.
For the other items you would stay in the Bind to existing member tab and
•
select taskID and click OK.
m. For the createTask1 activity, set the TaskProperties property to taskProperties,
in order to do this you must put the mouse in the TaskProperties field and click on
the … button and select the Bind to new member tab then enter taskProperties in
the New member name field and then click OK.
n. For the onTaskChanged1 activity, set the AfterProperties property to
taskAfterProperties and the BeforeProperties property to
taskBeforeProperties, in order to do this you must put the mouse in the
AfterProperties or BeforeProperties fields and click on the … button and select the
Bind to new member tab then enter either taskBeforeProperties or
taskAfterProperties in the New member name field and then click OK.
o. Right-click the onWorkflowActivated1 activity and select Generate Handlers.
p. The code window opens with the cursor within the
onWokflowActivated1_Invoked event handler. Place the cursor just above the
onWokflowActivated1_Invoked event handler and insert code snippet
CreatingWorkflows > Exercise2 > Code1-DataMembers or type the following
code.
public Guid workflowId = default(System.Guid);
public
Microsoft.SharePoint.Workflow.SPWorkflowActivationProperti
es workflowProperties = new
Microsoft.SharePoint.Workflow.SPWorkflowActivationProperti
es();
public Guid taskID = default(System.Guid);
public
Page 10 of 16
12. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties
taskProperties = new
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties
taskAfterProperties = new
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties
taskBeforeProperties = new
Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
private string productDescription = default(String);
private string orderStatus = default(String);
private string assignedUser = null;
private string defaultUser = null;
private bool statusComplete = false;
Note: Next you will implement code that will run when the workflow is Activated. This
code will set data members to establish the initial workflow state.
q. Within the onWorkflowActivated1_Invoked event handler, insert code snippet
CreatingWorkflows > Exercise2 > Code2-WorkflowActivated or type the
following code.
private void onWorkflowActivated1_Invoked(object sender,
ExternalDataEventArgs e)
{
this.workflowId = this.workflowProperties.WorkflowId;
this.productDescription = quot;Part #A123-45-6.quot;;
this.orderStatus =
this.workflowProperties.InitiationData;
this.assignedUser =
this.workflowProperties.Originator;
this.defaultUser = this.workflowProperties.Originator;
}
Note: Now you will use the Designer to generate handlers for key events and generate
a few workflow properties as well.
r. In the Workflow1.cs [Design] right-click the createTask1 activity and select
Generate Handlers.
s. When the code windows opens, within the createTask1_MethodInvoking event
handler, insert code snippet CreatingWorkflows > Exercise2 > Code3-CreateTask
or type the following code.
private void createTask1_MethodInvoking(object sender,
EventArgs e)
{
this.taskID = Guid.NewGuid();
if (assignedUser != null)
this.taskProperties.AssignedTo =
this.assignedUser;
else
this.taskProperties.AssignedTo = this.defaultUser;
this.taskProperties.Title = quot;New Order Requestquot;;
this.taskProperties.Description = quot;Created by Windows
Page 11 of 16
13. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
Workflow Foundationquot;;
this.taskProperties.ExtendedProperties[quot;Statusquot;] =
quot;Openquot;;
this.taskProperties.ExtendedProperties[quot;Descriptionquot;]
= this.productDescription;
this.taskProperties.TaskType = 0;
}
Note: Here you will generate a condition for the workflow to make the decision to
proceed to the next step in our sequence.
t. Return to the Workflow1.cs [Design] tab and select the while1 activity.
u. For the Condition property, select Code Condition, expand the property and type
taskNotComplete as the Condition, and press Enter.
v. When the code window opens, replace the default return statement within the
taskNotComplete event handler with code snippet CreatingWorkflows >
Exercise2 > Code4-TaskNotComplete or type the following code.
private void taskNotComplete(object sender,
ConditionalEventArgs e)
{
e.Result = !statusComplete;
}
Note: Finally, you will generate a handler that will complete the workflow.
w. Return to the Workflow1.cs [Design] tab, right-click the onTaskChanged1
activity and select Generate Handlers.
x. When the code window opens, within the onTaskChanged1_Invoked event
handler, insert code snippet CreatingWorkflows > Exercise2 > Code5-
TaskChanged or type the following code.
private void onTaskChanged1_Invoked(object sender,
ExternalDataEventArgs e)
{
statusComplete =
this.taskAfterProperties.ExtendedProperties.ContainsValue(
quot;Completequot;);
}
Note: Before you build the solution it needs to be signed. Microsoft Visual Studio 2005
makes it easy to create a Strong Name Key file for your project. You can choose an
existing key file to use as well, but you will use the project Properties to add a new key
file.
y. Click Project | OrderRequestWorkflow Properties.
z. Click Signing and select the Sign the assembly check box.
Page 12 of 16
14. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
aa. Select <New…> in the list and enter demokey.snk.
bb. Clear the Protect my key with a password check box and click OK.
cc. Save the project and click Build | Build OrderRequestWorkflow, ensuring no
errors.
a. From the Solution Explorer open and examine the feature.xml, workflow.xml,
2. Deploy the
and Install.bat files.
Workflow
b. When reviewing these files, look for placeholders to see what editing will be
required for each file. The following example is from the feature.xml file.
<!-- Customize the text in square brackets.
Remove brackets when filling in, e.g.
Id=quot;[UNIQUE GUID]quot; ==> Id=quot;328B9FAF-0E29-46b1-92B3-
71F7D1D67761quot; -->
<Feature Id=quot;[UNIQUE GUID (different from the guid/id in
your workflow.xml file)]quot;
Title=quot;[TITLE OF WORKFLOW]quot;
Description=quot;[DESCRIPTION FOR WHAT THIS WORKFLOW
DOES]quot;
c. When you have finished reviewing the files, close all three. They will be replaced
with previously edited versions.
d. Rename those files to feature_TEMPLATE.xml, workflow_TEMPLATE.xml,
and Install_TEMPLATE.bat or delete them.
e. In Windows Explorer, navigate to
C:HOLCreatingWorkflowsExercise2Deployment and copy all 4 files.
f. Paste those files into the project folder,
C:HOLCreatingWorkflowsExercise2OrderRequestWorkflowOrderReque
stWorkflow.
3. Add the Note: The steps in this section demonstrate how to obtain the Public Key Token value
OrderRequestWorkfl from our assembly in the GAC. Since you signed the assembly with a new Strong
ow.dll file you just Name Key, this value was unknown until you built the project. For this reason, you
built to the Global will manually add the DLL to the GAC in order to identify the Public Key Token value.
If in the future you use a consistent key file in the signing steps, this value would also
Assembly Cache
be consistent, and you would not need to manually add the DLL – the deployment
(GAC).
process handles this.
Page 13 of 16
15. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
a. Navigate further to
C:HOLCreatingWorkflowsExercise2OrderRequestWorkflow
OrderRequestWorkflowbinDebug.
b. Open a second Windows Explorer window and navigate to
C:WINDOWSassembly. (This is the GAC.)
c. Drag OrderRequestWorkflow.dll from
C:HOLCreatingWorkflowsExercise2OrderRequestWorkflow
OrderRequestWorkflowbinDebug into C:WINDOWSassembly.
Note: From the assembly, you will copy the Public Key Token value so that you can
specify that value in the workflow.xml file.
d. In the C:WINDOWSassembly window, scroll to find the
OrderRequestWorkflow assembly
e. Right-click the assembly and select Properties
f. Select and copy (CTRL-C) the Public Key Token value to the clipboard.
Page 14 of 16
16. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
g. Close the C:WINDOWSassembly window.
h. In the open Windows Explorer window, navigate back to
C:HOLCreatingWorkflowsExercise2OrderRequestWorkflow
OrderRequestWorkflow.
i. Right-click the workflow.xml file and select Open With | Notepad.
j. Find the CodeBesideAssembly attribute and at the end of that line replace the
PublicKeyToken value by pasting (CTRL-V) the value you copied previously.
k. Save and close the workflow.xml file.
l. Navigate to C:HOLCreatingWorkflowsExercise2 and copy the Forms folder
and paste it into the project folder
(C:HOLCreatingWorkflowsExercise2OrderRequestWorkflowOrderRequ
estWorkflow).
m. While still in Windows Explorer, double-click MyInstall.cmd in the Deployment
folder to start deployment of the workflow to SharePoint
Note: The following warning is normal on first run:
Object reference not set to an instance of an object.
Feature 'fb0e52e0-a7da-11da-a746-0800200c9a66' is not installed in this farm.
If no other errors appear, deployment was successful.
a. Launch Internet Explorer.
4. Edit the Workflow
Settings b. Enter http://moss.litwareinc.com/sites/workflow and click Orders from the
Quick Launch pane to open the document library.
c. Click Settings | Document Library Settings and under Permissions and Policies
click Workflow settings.
d. In the Select a workflow template list, click Order Request Workflow and type
Page 15 of 16
17. Creating Workflows for Windows SharePoint Services
Tasks Detailed Steps
Order Request Workflow as the unique name for the workflow.
e. Leave the defaults for the rest of the form.
f. Click Next and click Submit on the page that follows.
g. Click on the breadcrumb at the top of the page to return to Orders.
a. In the Orders library, hover the mouse over the AdventureWorks Q1 2003
5. Test the Workflow
document, click the arrow and select Workflows in the context menu.
b. Under Start a New Workflow, click Order Request Workflow.
c. Once the form has been posted you are returned to the Orders library.
d. Notice the column Order Request Workflow states that a workflow for the
document is In Progress.
e. Select Tasks from the Quick Launch pane.
f. Click the New Order Request list item to review the request.
g. Change the Status to Complete and click Update.
h. You are returned to the Tasks list and the task Status is now marked Completed.
i. Click Orders to return to the document library.
j. Notice the Order Request Workflow column now states that the workflow for the
document is Completed.
Conclusion
In this lab, you used Microsoft Office SharePoint Designer 2007 to design a custom workflow triggered on file
creation or change. Within the workflow designer, you used out-of-the-box actions such as assigning a task or
sending an e-mail message based on promoted values in your form data. In addition, you learned how to build a
custom workflow using the Windows Workflow Foundation plug-in to Microsoft Visual Studio 2005 and deploy
that workflow to Windows SharePoint Services (version 3). Both exercises demonstrated how workflow
functionality can be seamlessly integrated with the 2007 Microsoft® Office System release.
Page 16 of 16