WelcomeWelcome| 00:04 | Hi, I am Gini Courter. Welcome to SharePoint
Designer 2010: Building Custom Workflows.
| | 00:10 | In this course, I'll be showing you
how to create and document workflows.
| | 00:15 | I'll show you how to use the built-in
workflows, how to build simple workflow
| | 00:20 | steps, and how to set up workflows to
behave the way you want them to behave.
| | 00:25 | I'll show you how to create conditions
within workflows so that the workflows
| | 00:29 | themselves do what's necessary
without your intervention.
| | 00:33 | I'll show you how to create and
include forms, send email notifications, and
| | 00:38 | incorporate core actions such as
performing calculations and creating, updating,
| | 00:44 | and deleting list items.
| | 00:46 | You'll also see how to update data and
create reusable and site workflows, two
| | 00:52 | types of workflows that
are new to SharePoint 2010.
| | 00:57 | Let's get started with SharePoint
Designer 2010: Building Custom Workflows.
| | Collapse this transcript |
| What you need to know| 00:00 | Before we jump into SharePoint workflows,
I'd like to talk to you for just a few
| | 00:05 | minutes about what you'll need for
this course and what you might not need to
| | 00:09 | make sure that you know what
your environment looks like.
| | 00:11 | I'll be using SharePoint Foundation
2010, and this was an intentional choice.
| | 00:15 | SharePoint Foundation is the most
broadly distributed version of SharePoint,
| | 00:19 | because it's packaged with Windows server.
| | 00:21 | So many organizations that bought
Windows server have this already, and may
| | 00:25 | be using it, may not be, but the
chances are that in your organization
| | 00:29 | there's a group of people who are already spending
some time looking at SharePoint Foundation 2010.
| | 00:35 | This platform allows us to collaborate,
it lets users share documents and lists,
| | 00:40 | set alerts, create calendars, share contacts.
| | 00:44 | For you and I, it's a platform
to launch and serve workflows.
| | 00:49 | You'll also need to have
SharePoint Designer 2010.
| | 00:52 | This is going to be our development environment.
| | 00:54 | It's a really safe space for us to
learn how to build workflows, but you can
| | 00:58 | also use it to customize SharePoint.
| | 01:00 | There are other courses in the lynda.com
online training library that use
| | 01:05 | SharePoint Designer to brand sites or
to create forms or for other purposes.
| | 01:09 | So it's a multi-use development environment, but
we'll be using it looking specifically at workflows.
| | 01:15 | If you have SharePoint Designer 2007,
by the way, that won't work.
| | 01:20 | SharePoint Designer 2007 only works
with SharePoint 2007 sites, and 2010 only
| | 01:26 | works with 2010 sites.
| | 01:28 | If you need to have both SharePoint
Designer 2010 and 2007 on one machine, for
| | 01:35 | example, because you have sites in
both like I do, pay attention to the
| | 01:39 | installation instructions for
SharePoint Designer 2010 on the Microsoft site,
| | 01:43 | because there's information on how you
can have both on one machine, and a very
| | 01:47 | specific sequence of installation.
| | 01:50 | Now, these two programs, this is all
you need to have, but you might have some
| | 01:54 | more things, and they're worth pointing out.
| | 01:56 | For example, if you have InfoPath 2007
or 2010, then you can use that to create
| | 02:01 | forms and use them in your workflows.
| | 02:03 | The forms you create can be filled
out by users who are using InfoPath 2007
| | 02:08 | or the InfoPath 2010 Filler. Either of those
client applications will work to complete forms.
| | 02:15 | It may be that your organization uses
SharePoint Server 2010, which is the
| | 02:20 | larger, more impressive, and therefore
more expensive version of SharePoint.
| | 02:25 | Actually, there are two flavors of SharePoint Server,
one called Standard, and one called Enterprise.
| | 02:30 | And if your organization has the
enterprise version, one of the things that it
| | 02:35 | does is it provides what are called
services, the ability to serve, for example,
| | 02:40 | Excel workbooks, or to be able to serve
particular kinds of diagrams or access
| | 02:46 | services for Microsoft Access.
| | 02:48 | From our point of view, what we care
about is that it can serve web-based forms.
| | 02:53 | So there is an InfoPath form service
that runs on SharePoint Enterprise Server
| | 02:58 | 2010, and if this is your environment,
then the forms that you would create in
| | 03:03 | InfoPath 2010 could then be viewed and
completed in a browser by your users.
| | 03:09 | You might also have some version of
Visio and really any version of Visio
| | 03:13 | is great to be able to create diagrams of
the workflows that you and I will be building.
| | 03:18 | That's the kind of documentation then
that more easily allows users to see what
| | 03:24 | it is you're going to be creating, and
to provide you with better feedback.
| | 03:27 | Or you might have Visio 2010 Premium,
which is a new version of Visio.
| | 03:32 | And if you do, you can use
that to document workflows.
| | 03:35 | You can also use it to export back and forth
between Visio and SharePoint Designer.
| | 03:41 | So, I can take a workflow I created
in SharePoint Designer, export it to
| | 03:45 | Visio, and then play with it there to create a
presentation that will be even more meaningful.
| | 03:50 | But more importantly, if I have users
in the business who can use Visio, they
| | 03:54 | can use Visio Premium to begin to design a workflow
that I can then take into SharePoint Designer.
| | 04:00 | Developers in your organization--and
you may be one of them--may have
| | 04:04 | Visual Studio, which is a
complete programming environment.
| | 04:07 | It allows you to create forms, workflows,
web pages, entire applications that you
| | 04:11 | can create in Visual Studio.
| | 04:13 | At some point, if you're creating
very complex workflows, you'll get to the
| | 04:17 | point where you want to do something
in a workflow that you can no longer do
| | 04:22 | using SharePoint Designer, and at that point,
the answer might be to do it in Visual Studio.
| | 04:28 | In earlier versions of SharePoint,
I'd hit that wall pretty early.
| | 04:32 | Now, there's so much that I can do in
SharePoint Designer that I rarely have a
| | 04:36 | need for Visual Studio.
| | 04:38 | But when I do, I can simply do as much
of the workflow as I can in SharePoint
| | 04:42 | Designer, export that workflow, and
then it can be imported into Visual Studio.
| | 04:46 | Remember though, that despite all of
those tools existing, and you may have a
| | 04:50 | number of them, the only thing you
absolutely need in this course is SharePoint
| | 04:54 | Foundation 2010 and SharePoint Designer 2010.
| | 04:57 | You have those two things, and you're
going to create some amazing workflows.
| | 05:01 | And there's one more thing you need, you
need to have been given the appropriate
| | 05:05 | permissions to be able to
develop workflows in SharePoint.
| | 05:09 | So, you'll need administrative
permissions to the lists or libraries where
| | 05:12 | you're going to be developing.
| | 05:14 | This is because SharePoint is
designed to protect our data.
| | 05:17 | We're not going to let just
anybody develop workflows.
| | 05:20 | So, this is a great time to go talk to
the folks in your information technology
| | 05:24 | or info services department, and have
them set you up a site where you have
| | 05:28 | administrative permissions so that you
can try these tools and see how these
| | 05:31 | workflows work out for you. I think that's it!
Time to get to work!
| | Collapse this transcript |
| The workflows used in this course| 00:00 | Many courses in the lynda.com online
training library have exercise files
| | 00:05 | that go along with them.
This is not one of those courses.
| | 00:08 | There isn't a way for us to import
and export workflows out of SharePoint
| | 00:13 | Designer unless you're using Visual Studio.
| | 00:16 | So, we'll be creating full
workflows and parts of workflows together.
| | 00:19 | There are four major workflows that
we're using in this course, and then five
| | 00:23 | minor ones, and I just like to
give you a brief overview of them.
| | 00:27 | First, there's a workflow
called Employee Onboarding.
| | 00:29 | The Employee Onboarding workflow is a
series of tasks that are done by different
| | 00:34 | departments for each new
employee in an organization.
| | 00:38 | The second major workflow is
called Order Business Cards.
| | 00:41 | An Order Business Cards flows
out of the Employee Onboarding.
| | 00:45 | The initial business card order for
an employee is placed by the facilities
| | 00:48 | department, but subsequent business card
orders are a real hassle for them to deal with.
| | 00:53 | People call and say, "I want new
business cards, but..." or "and..."
| | 00:56 | So, the facilities department has
put together a request to make this an
| | 01:00 | employee self-service workflow.
| | 01:03 | Our third major workflow is called
Request New Position, and I want to highlight
| | 01:07 | this because it's an approval workflow,
and many of the workflows that take
| | 01:11 | place in business are
nothing but approval steps.
| | 01:14 | For example, if you're going on
vacation, who needs to approve that?
| | 01:17 | Perhaps your supervisor and your
supervisor's supervisor. Or you need to
| | 01:21 | purchase new software for
your computer, who can approve?
| | 01:24 | You want to take some training.
| | 01:26 | You need to turn in your
expenses for reimbursement.
| | 01:28 | All of these kinds of workflows are
approvals, one step, two steps, three steps,
| | 01:33 | often with some conditions.
| | 01:34 | So, this is a workflow that we'll
return to over and over again so that we can
| | 01:38 | really understand how we can do approvals.
| | 01:40 | The fourth and final major
workflow is a very simple workflow.
| | 01:44 | All it does is emails a submitter to say, hey!
| | 01:47 | We got your document, and we'll be
creating that as a reusable workflow because
| | 01:51 | we can use it in many different
lists and libraries in our site.
| | 01:55 | These are the major workflows.
Now, the minor workflows!
| | 01:58 | First, a workflow that creates an item in
one list based on values in the current list.
| | 02:04 | In this case, when you create a new
calendar appointment, you can have a
| | 02:07 | workflow create an announcement for you.
| | 02:09 | Second, a workflow that emails a
submitter similar to our reusable workflow, but
| | 02:16 | then takes a look at the file type of
the item that was submitted and take some
| | 02:19 | further action based on that file type.
| | 02:22 | Third, a workflow that allows us to
extract data out of a file name, so
| | 02:27 | we're taking a substring--in this case an
ending date--and putting that somewhere else.
| | 02:32 | Fourth, a direct email that says,
based on a value, we're going to trigger a
| | 02:37 | workflow that sends an email to a group of
people who are monitoring a group of libraries.
| | 02:43 | And finally, a workflow that is manually
triggered whenever someone goes and then says, ah!
| | 02:49 | We're done with this document, it's obsolete,
and needs to be moved to the archives.
| | 02:53 | These are the workflows that we'll
be using together in this course.
| | 02:56 | I encourage you to work along
with me as we create these workflows.
| | 03:00 | If we're in the middle of a workflow,
and we put it aside, simply save it.
| | 03:04 | You don't need to publish it, put it away.
We'll come back to it later on.
| | 03:07 | I also want to encourage you to create
some of your own workflows using your own
| | 03:12 | business processes that would be
similar, whether they're approval processes,
| | 03:15 | email processes, announcements,
whatever business process you have.
| | 03:19 | Feel free to try it out as we learn
about No Code SharePoint workflows together.
| | Collapse this transcript |
|
|
1. Understanding WorkflowsWhat's a workflow?| 00:00 | A workflow is an organizational process,
a work process that is either at the
| | 00:05 | core of a business like an order
entry process or that serves more of a
| | 00:09 | supporting role like a process for
Employee Onboarding, or a process to complete
| | 00:14 | and route a purchase order.
| | 00:15 | You can think of a workflow as a
flowchart of actions that has a clear
| | 00:19 | beginning, some sequential steps, and then an end.
| | 00:23 | For example, this workflow is a small
workflow designed to allow an employee to
| | 00:27 | apply to be part of a
management training program.
| | 00:30 | First, the employee has an idea, they
fill out a form, and then they submit that
| | 00:34 | form to their immediate supervisor.
| | 00:36 | It could be they carry it over to
their boss' desk or put it in an email, or
| | 00:40 | that it's something that's
completed totally electronically.
| | 00:43 | After their supervisor decides
whether they should accept or reject this
| | 00:48 | request, they forward the form on to
the HR department, and the HR department
| | 00:52 | then sends a letter back to the
employee, letting them know that they've
| | 00:56 | either been accepted or rejected, and when
the program will start if they've been accepted.
| | 01:00 | It might be that there's another step
as well. For example here, for some
| | 01:04 | employees or for some specific
management training programs,
| | 01:07 | after the immediate supervisor approves
this person, they then send this request
| | 01:12 | on to management--move it
up the chain, so to speak.
| | 01:15 | And after the manager approves, then it
would be sent on to HR, and finally, the
| | 01:19 | employee would receive notification.
| | 01:21 | Workflows can also incorporate parallel branches.
This one is a little more complex.
| | 01:26 | Here we have an employee creating a presentation
that will be used at the company's annual meeting.
| | 01:31 | So, here they are working
away creating the presentation.
| | 01:34 | They send it to the marketing
department where it goes through a buff up.
| | 01:37 | It's all nice and clean now.
| | 01:39 | But three different people need to
sign off on it after the marketing
| | 01:42 | department has worked with it.
| | 01:43 | We have the Chief Financial Officer,
the CEO, and the Chief Operations Officer,
| | 01:48 | all of them need to sign off on it.
| | 01:50 | And they don't need to do it in any
particular order, as a matter of fact,
| | 01:54 | putting them in order might create a slowdown.
| | 01:56 | For example, if the CEO is out of town,
but the CFO could be looking at it, it
| | 02:01 | makes more sense to allow
the CFO to simply work with it.
| | 02:04 | So, we have these steps in parallel, three signatures
necessary, but they can happen in any order.
| | 02:10 | Finally, after all of these folks have
signed off on it, they will send it to
| | 02:15 | the IT department, and the IT department will post
it on the web page where it's available for the meeting.
| | 02:20 | Whether or not there is parallel
branches in a workflow, the workflow still
| | 02:23 | proceeds from the start through the series
of steps to the final action here at the end.
| | 02:28 | Regardless of the number of steps in
your workflow or the type of workflow you
| | 02:32 | have, all workflows have one thing in common.
| | 02:35 | Every time you want to interact with
users, you'll need to present them with a
| | 02:39 | form to allow them to give you information
or for you to provide information to them.
| | 02:44 | So, the final way you can think of
workflows is a workflow is an outline of a
| | 02:48 | business process that contains forms for user
interaction and logic to drive the steps in between.
| | 02:54 | We'll spend this course
learning to develop workflows.
| | Collapse this transcript |
| Using manual vs. automated workflows| 00:00 | Every organization of any size has
some simple workflows and some complex
| | 00:05 | workflows, and when you automate these
workflows in SharePoint, your SharePoint
| | 00:09 | Workflows can be as simple or as
complex as your processes themselves are.
| | 00:13 | You can create workflows that
users launch themselves, you can also
| | 00:16 | create workflows that start
automatically when an item in a list or a
| | 00:21 | library is created or changed.
| | 00:23 | In general, when you create a workflow for
SharePoint you follow the same series of steps.
| | 00:28 | First, you will choose the type
of workflow you want to create.
| | 00:31 | Second, you will you SharePoint
Designer or some other workflow tool to
| | 00:35 | construct the conditions and actions
that define all the steps of the workflow
| | 00:40 | so that it accurately
describes the business process.
| | 00:43 | With the workflow created and
validated, you'll then save and publish this
| | 00:47 | workflow so it's available to SharePoint.
| | 00:49 | And then finally, you'll create some
forms or perhaps customized forms that were
| | 00:53 | automatically created as part of
generating lists in SharePoint.
| | 00:57 | Well-designed automated workflows
provide great opportunities for efficiency
| | 01:03 | and cost savings, and they take away
some of the most boring work that anybody
| | 01:07 | gets to do, because you can build monitoring
and reminders into your automated workflows.
| | 01:11 | For example, we could have a reminder
that said don't forget that you need to
| | 01:16 | review this presentation that would be sent
to all three of the people who need to review.
| | 01:21 | You could also monitor whether or
not the web page was actually created.
| | 01:25 | You don't need to assign a person or team
of people to monitor a SharePoint process.
| | 01:30 | With a SharePoint workflow, the process
is always pro-actively self-monitoring.
| | 01:35 | When you turn your automated workflows
over to SharePoint, the staff in your
| | 01:39 | organization can focus on doing their work,
rather than simply monitoring and managing processes.
| | Collapse this transcript |
| Workflow automation in SharePoint 2010| 00:00 | We're back in our SharePoint site, so I
can talk you for just a couple of minutes
| | 00:04 | about some new features in
SharePoint 2010 and SharePoint Designer 2010.
| | 00:09 | Microsoft SharePoint has supported
workflows ever since SharePoint Portal Server 2003.
| | 00:15 | But the 2003 versions of SharePoint
required that you use other tools to create
| | 00:20 | workflows, tools like Microsoft
BizTalk Server, or you had to talk to a
| | 00:25 | developer, have them create
some custom code for you.
| | 00:27 | Or if you had the patience and the
skills, you could learn Visual Studio
| | 00:31 | yourself to create code.
| | 00:32 | So SharePoint workflows really took off
for the first time in a big way with the
| | 00:36 | addition of SharePoint
Designer for SharePoint 2007.
| | 00:40 | SharePoint Designer replaced a tool
called FrontPage that had been used in
| | 00:44 | earlier versions of Office, but which
wasn't a great tool to use at all for
| | 00:49 | orchestration or for workflows.
| | 00:51 | So SharePoint Designer, the replacement
for FrontPage, really made it easy to
| | 00:55 | start working with workflows.
| | 00:57 | Which SharePoint Designer then, a
wide range of users are able to create
| | 01:01 | workflows to support their business processes.
| | 01:03 | Workflows aren't just for developers
anymore but can be created by Microsoft
| | 01:07 | SharePoint Power Users, Office
Power Users, and business analysts.
| | 01:11 | If you ever use SharePoint Designer 2007,
as soon as you open SharePoint
| | 01:15 | Designer 2010, you know that
you're in a new and an improved tool.
| | 01:20 | SharePoint Designer 2007 was great,
but it had its real limitations.
| | 01:24 | For example, if I created a workflow
on one part of a site, I couldn't easily
| | 01:29 | reuse it somewhere else
with SharePoint Designer.
| | 01:32 | If I wanted to copy and reuse it, I
needed to be able to use more powerful
| | 01:36 | tools like Visual Studio.
| | 01:38 | SharePoint Designer 2010 supports
workflow reuse and some other nifty features
| | 01:43 | like support for parallel actions so
that you can have two steps happening at
| | 01:47 | the same time in your workflows.
| | 01:50 | There are three ways to create
workflows for SharePoint 2010.
| | 01:54 | The first is you can use SharePoint
and customize one of the out-of-the-box
| | 01:59 | workflows that already exists.
| | 02:00 | If you're running SharePoint Server 2010,
you have access to eight workflows that are pre-built.
| | 02:05 | Some of them are compiled, and you
can't change them, but there are a group of
| | 02:10 | them that are called declarative workflows.
| | 02:12 | You can customize them because they're
compiled each and every time you're used.
| | 02:15 | So you don't even need SharePoint
Designer to be able to change those out-of-the-box
| | 02:20 | workflows, the eight that you find in
SharePoint Server and the one that
| | 02:24 | comes with SharePoint foundation.
| | 02:25 | You can use SharePoint Designer free
from Microsoft, and again, easy access.
| | 02:30 | You don't need to be a programmer to use this.
| | 02:32 | But if you are a programmer, you
might want to use Visual Studio.
| | 02:36 | Microsoft Visual Studio is a coding
environment for developers, and there are
| | 02:41 | some times that we need to write some code.
| | 02:43 | If you need to do some things with
your workflow that you can't accomplish by
| | 02:48 | using the tools in SharePoint Designer,
you can still create the entire workflow
| | 02:52 | in SharePoint Designer and then save
it as a template and hand it off to a
| | 02:57 | developer who can add the
coded sections that you need.
| | 03:01 | In this course we're going to focus
on the workflows that you can create
| | 03:04 | without needing to use Visual Studio or
any other programming environment, what
| | 03:09 | are called no-code workflows that we'll create
using SharePoint and SharePoint Designer 2010.
| | Collapse this transcript |
|
|
2. Documenting Workflows for AutomationFlowcharting or outlining workflow steps| 00:00 | Whenever you create a workflow in
SharePoint, the most important work you do is
| | 00:04 | done before you ever start SharePoint Designer.
| | 00:07 | It's the work of understanding and
documenting your user's requirements for the workflow.
| | 00:12 | Usually, you'll be working with a
workflow that already exists in the business.
| | 00:15 | It's rare that the first workflows you do will
be brand-new processes that don't exist at all.
| | 00:20 | And so you will find that the process
already exists and has been customized by
| | 00:24 | the people who are in it.
| | 00:26 | Manual workflows often have hidden processes that
you need to expose before you can automate them.
| | 00:31 | For example, you may be talking about
an application process, and someone will
| | 00:35 | say, "Well, at this point,
the application goes to Mary."
| | 00:38 | And you ask, "Well, what does
Mary do with that application?"
| | 00:41 | Someone says she routes it.
| | 00:42 | How does Mary decide where to
route it? She just decides.
| | 00:46 | So now it's time to go talk to Mary,
a hidden process in the background.
| | 00:50 | You might find that she routes it
because she asks someone else, and they make a
| | 00:54 | decision or you might find that she
actually doesn't route it anymore, they all
| | 00:57 | go to the same place, but everyone
believes that she routes these things.
| | 01:00 | So, she has become an extra step in the process.
| | 01:03 | If she never had to touch the
application, she'd be happier.
| | 01:05 | Now, you can simply make notes of
everything you learn about the process, you
| | 01:10 | could put it on the back of a napkin
or jot it down on a piece of paper,
| | 01:15 | but I want to suggest that you have a more rigorous
process that will serve you a little better.
| | 01:19 | I always try to get whatever I'm working
on in my computer. That's the best way
| | 01:23 | that I can keep it all in one place.
| | 01:26 | Various and sundry little scraps of
paper aren't helpful, but sometimes they are
| | 01:29 | helpful in a way as you're helping
someone understand their own process.
| | 01:33 | So for example, we can use Sticky notes,
whether it's Post-it notes or
| | 01:38 | computer sticky notes, to help people work
through whatever the process is to explain it to you.
| | 01:43 | So you might hear, for example, that you have the user
fill out an application. Who does that? The user.
| | 01:50 | So, there is my first note in the process.
I say, "Okay. Well, what else happens?"
| | 01:55 | Well, after that, the user emails
the application to Mary. Perfect!
| | 02:01 | What happens now?
Well, Mary makes a decision.
| | 02:04 | I might want to use another color for this.
So I'm going to use green for my decisions.
| | 02:08 | So, Mary decides who she
needs to route this to. Great!
| | 02:15 | And then she actually takes another step.
Because it's not a choice, it's just a process,
| | 02:21 | I'm going to make another yellow one.
| | 02:23 | Mary then emails the
application to the appropriate person.
| | 02:28 | This is what could look like a hidden
step here again, because someone might
| | 02:31 | simply say Mary emails it to the right person.
| | 02:33 | But as soon as you know there's more
than one possible person, someone is
| | 02:37 | deciding who it goes to.
| | 02:39 | So, this is going to be a supervisor of
some sort, and then the supervisor is going
| | 02:43 | to receive this email, and the
supervisor actually is making a choice too.
| | 02:48 | It's another decision.
| | 02:49 | So I'm going to change the
color of this note again to green.
| | 02:54 | So, the supervisor either accepts or rejects
the application, and we could go on and on.
| | 02:58 | Now, you might wonder what the
utility here is of doing the notes this way.
| | 03:02 | Well, one utility is when you have many
steps, you can actually rearrange these
| | 03:06 | notes right here on the screen just
as you could if you were sitting in a
| | 03:10 | conference room, and you
were using Post-it notes.
| | 03:12 | That's another great tool that you can use.
| | 03:14 | Just give folks Post-it notes in two
or three colors, say any time somebody is
| | 03:17 | making a decision, use the green ones,
if they're just taking an action, use the
| | 03:21 | yellow ones, put them up
on a wall, move them around.
| | 03:24 | It's a great way to have teams
of people decide how this works.
| | 03:27 | The beauty of having it here in
Microsoft Windows is that I can actually now
| | 03:31 | take a picture of this.
| | 03:32 | I can go in to All Programs > Accessories,
the same place that I found my Post-it notes.
| | 03:38 | And rather than using Sticky notes,
I'm going to use the Snipping tool and
| | 03:42 | simply say I want to grab a picture of that.
| | 03:45 | I can save this on my computer, and I have a
visual of the session that we've done together.
| | 03:49 | I have sometimes had folks
use Post-it notes to outline
| | 03:53 | while I'm using the computer to capture
the contents of their notes and moving
| | 03:56 | them around to make sure that we
have things in the right order.
| | 03:59 | So, this is one way that I
can capture this information.
| | 04:02 | In the next few movies, I'm going to
show you a couple of other Office tools
| | 04:06 | that you can use to be able to outline
your workflow steps to capture all of the
| | 04:11 | requirements that we're going to
need to create a great workflow.
| | Collapse this transcript |
| Using Excel or the Office Drawing Tools to document workflow design| 00:00 | Another place that you can capture
requirements for your SharePoint workflow is
| | 00:04 | in Microsoft Excel, and Excel is
actually a fine tool for capturing lots of
| | 00:08 | information about business
processes and business analytics.
| | 00:11 | I'm going to start by creating a new worksheet,
and I'm going to put in step and a description,
| | 00:18 | the person or team that is in charge of that
step--just widen out my columns a little bit.
| | 00:25 | I want to know if there's a form
that's being used at this point and what the
| | 00:29 | name of it is, and then I'll
just have a place for some notes.
| | 00:32 | So, in our workflow the first step is that
the User fills out the application form.
| | 00:37 | It's the user filling it out, and at
this point normally I would actually ask
| | 00:43 | for two copies of the form, one copy
as a blank form and the other copy as a
| | 00:48 | copy that's been completed so that
I can take a look at the kinds of
| | 00:51 | information that go into the form.
| | 00:53 | I'd like to have both of those in a
hard copy, and I'm also going to request to
| | 00:56 | have the blank form sent to me electronically.
| | 00:59 | So right now this is
actually called MgrAppForm.docx.
| | 01:04 | That's the name of it, and I'm just
going to write it down here so I'm
| | 01:08 | tracking it. I'm going to say that
the John will email form and send hard
| | 01:15 | copies by a particular date.
| | 01:17 | Now if I'm using SharePoint, I can say, "Can you
scan those and put them up on the SharePoint site?"
| | 01:21 | Create a folder for all the documents
that I'm going to be using for this workflow.
| | 01:26 | The second step then is Email form
to Mary who actually works in the HR
| | 01:31 | department, so let's just say that this is
the HRIntake Person, and for now we'll call her Mary.
| | 01:37 | And this is because later on I may
wonder what happens when Mary no longer
| | 01:41 | works here because she won the lottery or
when Mary's on vacation, who does this instead?
| | 01:46 | So it's the HRIntake person, so I'm
going to kind of drill down into that and
| | 01:50 | the user is going to do that again.
| | 01:52 | And the form that they're
going to send is that same form.
| | 01:55 | By the way, the shortcut for copy
the cell above is Ctrl+Apostrophe.
| | 01:59 | So we already have that form, and then
the third step of my workflow is that Mary
| | 02:04 | determines who needs to approve.
| | 02:07 | Mary is going to do that. There's no
form actually being used at this point.
| | 02:11 | So I want to take some notes
about this and say how Mary decides.
| | 02:14 | So if the applicant works in
Manufacturing, there might be one person and then
| | 02:22 | if the applicant works in a Retail Store, there
might be a particular rule for who approves it then.
| | 02:29 | And then All other applicants
are approved by the Director of HR.
| | 02:36 | So let's say if the applicant works in
a Retail Store then approved by Head of
| | 02:41 | Sales, and if the applicant works in
Manufacturing then that's going to be
| | 02:46 | approved by the Plant Director.
| | 02:50 | So we're just keeping track of all of
this information that we want to have
| | 02:53 | together all in one place.
| | 02:54 | Step four then is to Email form to
appropriate person, and that's Mary and so on.
| | 03:02 | So we're going to capture all of this
information, including a good set of
| | 03:06 | notes, including knowing
what forms we're going to use.
| | 03:09 | If you have a lot of different forms
being used in a workflow, this would be
| | 03:13 | a good time to start numbering or
lettering them, form A, form B, form C, and so on.
| | 03:17 | Write those same numbers on the hard
copies you have, use those same numbers at
| | 03:21 | the start of file name when
you save these all in a folder.
| | 03:24 | So we're collecting all of this
information out of the business, we're making
| | 03:27 | sure we have a great deal of
clarity about what it is that we're doing.
| | 03:31 | And best of all, we're saving all of
this information here in Microsoft Excel,
| | 03:35 | which is one of the most used
programs out of the entire Office suite.
| | 03:38 | So if I want to share this information
with other people, it's easy for me to do.
| | 03:42 | And finally, I can take this list here
in Excel, publish it as a SharePoint list,
| | 03:47 | and share it very broadly with the
folks who are helping me document this
| | 03:51 | workflow before we spend our time
putting it together in SharePoint Designer.
| | 03:55 | Excel is an excellent choice of a
location to use to document workflows.
| | Collapse this transcript |
| Using Visio to document workflow design| 00:00 | The very best tool that you can use to
document your workflow is Microsoft Visio 2010.
| | 00:05 | Visio is meant to diagram processes, to
diagram layouts, and many folks are used
| | 00:12 | to looking at different
diagrams that are made with Visio.
| | 00:15 | You may have Visio on your computer already.
| | 00:17 | If you do, you'll find it in the
Microsoft Office group, and I'm going to go
| | 00:23 | ahead and click on Flowcharts
because a workflow needs a flowchart.
| | 00:25 | You'll notice that there is a set of templates
called Microsoft SharePoint Workflow.
| | 00:30 | There are three different editions of Microsoft
Visio for 2010, Standard, Professional, and Premium.
| | 00:36 | This Microsoft SharePoint Workflow is
only available with Premium, and we'll be
| | 00:40 | discussing this later in this course.
| | 00:41 | But whether you have Standard,
Professional, or Premium, all of them have some
| | 00:46 | flowcharting tools that you can use.
| | 00:48 | The way you decide what tool
to use is a two-step process.
| | 00:51 | One part is what tool are
you most familiar with using.
| | 00:54 | But the second is which of the tools is
going to create diagrams that you'll be
| | 00:59 | able to explain easily to your users.
| | 01:01 | Because ultimately, after you're done
diagramming, you will then take and share
| | 01:05 | this with your users to say, "This
is what I understood that you said."
| | 01:09 | So if you're comfortable with Flowcharts
and your users are too, use a basic Flowchart.
| | 01:13 | If your users are comfortable with
Flowcharts or with Cross-Functional
| | 01:17 | Flowcharts, go ahead and bounce up to
the Cross-Functional Flowchart because
| | 01:21 | each of the lanes here is for one role,
one user or one group, and they're really
| | 01:27 | easy for folks to focus on.
| | 01:28 | I create a number of Cross-
Functional Flowcharts, but actually the tool
| | 01:32 | here that I love is the Workflow Diagram, because
it's really easy for folks to understand it.
| | 01:36 | I'm going to go ahead and double-click
to lay out a Workflow Diagram, I'm going
| | 01:40 | to turn my paper sideways to make it
easier for my diagram, because I'm going to
| | 01:45 | run left to right on the page, and
let's begin then by saying that we have a
| | 01:49 | user that has a need.
| | 01:50 | Now there are Workflow Objects and
Departments here, but there's one more set of
| | 01:54 | shapes that I always will turn
on for this workflow diagram.
| | 01:57 | Click on More Shapes > Flowchart, and
down at the bottom you'll find Work Flow
| | 02:01 | Steps, and I'll turn that on as well,
because these are your action items.
| | 02:05 | So let's start with the user
who wants to make a request.
| | 02:08 | I'm going to drag that request right out
here into my flowchart, and I want them
| | 02:12 | to fill out a form to do that.
| | 02:14 | A form is an object, so I'm going to come
over and grab a document and drag it in as well.
| | 02:19 | Notice that as I get close to the
shape that is already there, I get
| | 02:23 | a line that shows me whether I'm lining up with
the top, center, or bottom of the existing shape.
| | 02:27 | So I'm going to drop my form there.
That form then is going to be reviewed by Mary.
| | 02:32 | Mary is going to decide who
to route that form to next.
| | 02:36 | So we'll go ahead and grab a
Person shape, and that would be Mary.
| | 02:40 | If the request comes from a user in
manufacturing, there is a requirement that
| | 02:45 | the chief operating officer be
involved in approving this request.
| | 02:49 | So let's go to Department, and we can
either grab a Manager from here, if we wish,
| | 02:55 | or there is the Manufacturing
section, those are entire departments.
| | 02:59 | Or I can see if there's a Chief
operating officer here under Work Flow Objects.
| | 03:04 | So we'll put the Chief
operating officer in here.
| | 03:07 | Now at the bottom of almost every set of shapes
you'll find something called a Dynamic connector.
| | 03:13 | Drag it into your diagram. It's a arrow
that goes in one direction, left to right.
| | 03:17 | I'll point the back of it here to
my first shape, and notice that I have a
| | 03:21 | red line around the shape, and it says
Glue to Shape. Simply drop it there and
| | 03:25 | the line will be glued, and there's a
little red symbol here that shows that.
| | 03:29 | I'm now going to grab the
other end, glue it to this shape.
| | 03:33 | So I'm connecting one step
to the next, to the next.
| | 03:39 | If I want to add a comment, I can simply
double-click anywhere here. So if I want
| | 03:44 | to add a comment to the form I can
double-click on the form, and it will let me
| | 03:48 | type below it, so I can
note the name of the form.
| | 03:52 | I can also double-click and type on the
lines, so we're going to email this and so on.
| | 03:59 | You might want to move your other shapes
that you have room for the text to show.
| | 04:03 | And the other thing is I don't
have to just type on objects or connecting
| | 04:07 | lines, I can actually go back to the
Home tab, click on Text and draw a large
| | 04:11 | text box and put any notes in it that I want to.
| | 04:14 | When I'm all done I'll have a nice
looking diagram that most of my users will be
| | 04:18 | able to understand pretty easily. So
Visio is a great place for me to capture
| | 04:22 | workflows because it has all these
symbols and shapes that I need in order to
| | 04:26 | identify different roles and different
objects, but also because it's really
| | 04:30 | easy to understand for all of my users.
| | Collapse this transcript |
| Identifying areas for workflow improvement| 00:00 | Whenever you have an opportunity to
automate a workflow in the business, it's a
| | 00:04 | type of workflow improvement, and what
will happen is you'll have lots of other
| | 00:09 | folks who want to add their
own improvements to the process.
| | 00:11 | Or you'll have people say go ahead and
do it, and we'll get back to you later.
| | 00:16 | In either case, you really want to
have some control over how there's a
| | 00:19 | discussion of the process so that
you're implementing a workflow that makes
| | 00:23 | sense for the business.
| | 00:24 | Any time that you begin looking at
the opportunity to improve a form, to
| | 00:29 | improve a workflow, to paint a room a different
color, other folks will want to jump on board.
| | 00:34 | So how do we manage this entire
process in such a way that it makes sense?
| | 00:38 | First, you need to have some kind of an
idea of what the process is to begin with.
| | 00:43 | Sometimes you'll have a conversation and it's,
you know, what are we trying to automate here?
| | 00:47 | And just getting your arms around that
and struggling it to a definition where
| | 00:51 | you can say in one short phrase what
the process is that you care about.
| | 00:56 | In our case we're
looking at employee onboarding.
| | 00:59 | This isn't employee hiring, this
isn't trying to do anything with any other
| | 01:04 | parts of the process other than onboarding.
| | 01:06 | So when we're clear, employee onboarding,
that's it, then we can begin to start
| | 01:11 | to know how we're going to get
feedback from folks in the business.
| | 01:14 | The second thing then, is to break
this process into documentable steps.
| | 01:19 | And because we know it's employee
onboarding, it actually has a start and an end.
| | 01:23 | There will be a tendency for folks who
want to add things before the start and
| | 01:27 | add other things after the end, and to
the extent to which you accommodate that
| | 01:31 | it's going to be really hard
for you to get your workflow done.
| | 01:34 | So be clear about the single
process, the start and the end, and that
| | 01:38 | you're only going to describe the
steps in between for this particular
| | 01:41 | workflow improvement.
| | 01:43 | Once you've documented this, publish it broadly.
| | 01:45 | Put it on your intranet, make a copy of
it and blow it up and put it on the side
| | 01:51 | of your cubicle, distribute these at
meetings, hold a getting to know the new
| | 01:54 | onboarding workflow process meeting.
| | 01:57 | However you can, make sure that folks
have an understanding that you're looking
| | 02:01 | at making some changes to this workflow.
| | 02:03 | And then you need to seek feedback
from anybody who is in the process.
| | 02:08 | Our employee onboarding process, we'll
probably begin discussing it with the
| | 02:12 | folks who are at the
director level in this organization.
| | 02:15 | But they won't necessarily know
exactly what the steps are that are being
| | 02:18 | done by the people and facilities who
are in information technology or how
| | 02:22 | those steps are done.
| | 02:24 | So you want to make sure that you're
talking to the right folks and that you're
| | 02:27 | getting feedback from everybody who
is working any place in this process.
| | 02:31 | As you're doing that then, you're
going to hear possibilities of improvement.
| | 02:35 | For example, the folks and facilities
might point out that if they were after
| | 02:39 | information technology, it would make
it a lot easier because they have to call
| | 02:44 | IT several times during this
process and ask them questions.
| | 02:47 | If they could instead simply be
sequenced a little later, that would be great.
| | 02:50 | So those are the kinds of
things that you're looking for.
| | 02:53 | You're looking for places where people
are doing manual processes, picking up
| | 02:57 | the phone and calling for information,
or a document that moves back and forth
| | 03:00 | several times between the same
two people or the same two groups.
| | 03:04 | When you have those opportunities, go ahead
and start building them into the workflow.
| | 03:08 | Just here are our places for improvement,
let's have a conversation to make sure
| | 03:12 | that it makes sense.
| | 03:13 | You'll want to watch in this process for
folks who have lots of improvements but
| | 03:17 | they're all for other people.
| | 03:18 | Because you know in every organization
you have folks who know that if only the
| | 03:23 | folks in payroll worked as hard as
they did, that we wouldn't have a problem.
| | 03:27 | As you're working on workflow
improvement and trying to make your workflows more
| | 03:30 | efficient, a basic rule is you want to
make your workflow more efficient, not
| | 03:35 | try to fix the people who are in it.
| | 03:37 | So what are the steps that folks
believe would be helpful for them and then get
| | 03:41 | the people on both sides of that conversation.
| | 03:44 | So if you are in a conversation about
how work passes back and forth between HR
| | 03:48 | and payroll, it's great to have the
right people from those two departments
| | 03:51 | sitting in the conversation to say,
"Yeah, that would make sense."
| | 03:54 | They're the people who need to sign
off on it, even if the idea came from
| | 03:58 | somebody in facilities.
| | 04:00 | Now we've got our improvements, we
have some agreement on them, we've
| | 04:03 | documented those agreements with new
workflows published broadly, and finally
| | 04:08 | now that we're changing the workflows,
we'll run them for whatever our agreed
| | 04:12 | upon period of time was.
| | 04:13 | Let's try this for 30 days, 60 days, 90
days, depending on how mission-critical
| | 04:18 | this workflow is, but also
depending on how often it's used.
| | 04:21 | A workflow that's only used once a
month probably can't be evaluated well for 6
| | 04:26 | or 7 months because you'll
need to run it a few times.
| | 04:29 | Once you're done evaluating, though,
you're done with this workflow, document it.
| | 04:33 | Know that you'll probably come back to
it at some point because it's just the
| | 04:36 | fact that you've made this investment
in the workflow means that other people
| | 04:40 | will continue to look for improvements
themselves, and you'll be changing your
| | 04:43 | workflow in order to adjust
to the needs of the business.
| | 04:46 | This is a really short
course in workflow improvement.
| | 04:50 | You can find lots of information about
this online, it's an entire discipline.
| | 04:54 | But as soon as you begin working with
SharePoint Workflows, you become one
| | 04:58 | of its disciples.
| | Collapse this transcript |
| Driving workflow interactions with forms| 00:00 | Workflows are actually composed of
two different kinds of things, first the
| | 00:04 | logic of the workflow, which we'll lay out
in a tool like Visio or with Sticky notes
| | 00:09 | that we can capture the flow, but
then we need the forms that we're going
| | 00:13 | to use every single time we interact
with the users, whether we're presenting
| | 00:16 | data to them or trying to capture information.
| | 00:19 | You'll see three different types of
forms in your SharePoint workflows.
| | 00:22 | The first are InfoPath forms, and
they're created and edited with InfoPath
| | 00:27 | Designer 2010, or they could be
designed with InfoPath Designer 2007.
| | 00:31 | For example, here's an InfoPath form
that we'll be using later on in a workflow.
| | 00:36 | The second type of form is a form that would be
created using Visual Studio and aspx Web form.
| | 00:42 | So here's an example of this form that we
can display, as you can see here in a browser.
| | 00:47 | The third type of form that you will
see is a form that was automatically
| | 00:51 | created by SharePoint, and this is a
little tricky because SharePoint uses both.
| | 00:56 | For example, if you're using SharePoint
Foundation, then SharePoint is creating
| | 01:01 | ASPX forms all the time, but you can
edit these with SharePoint Designer as well
| | 01:06 | as with Visual Studio.
| | 01:07 | And if you're using SharePoint
Server, Standard, or Enterprise, then
| | 01:13 | SharePoint Server creates InfoPath forms, and
you'll edit those with InfoPath Designer 2010.
| | 01:19 | So depending on your environment, if you
want to customize forms, you'll either
| | 01:24 | want to know a little bit more about
SharePoint Designer or a little bit more
| | 01:28 | about InfoPath Designer.
| | 01:30 | But remember that forms are a
foundation for every interaction with a human
| | 01:34 | being any place through your workflow.
| | Collapse this transcript |
|
|
3. Running SharePoint Built-In WorkflowsSetting workflow options| 00:00 | The three-state workflow, or three-phase workflow,
has been with us since SharePoint 2007.
| | 00:06 | It appears in every version
of Microsoft SharePoint 2010.
| | 00:10 | A three-state workflow can only be
use with lists, not with libraries.
| | 00:14 | But despite these limitations, it's used over
and over again because it's very easy to use.
| | 00:18 | First, you have to imagine
what your three states might be.
| | 00:21 | For example, it might be that the first
state is that item has been submitted,
| | 00:25 | the second that it's been reviewed,
and the third that it's been closed.
| | 00:28 | Another possibility is that an item is
active, an item has been handled, and an
| | 00:33 | issue has been closed.
| | 00:34 | So whatever the three states are, as
soon as the item is posted it will have its
| | 00:38 | first state, then some action will be
taken, and it will move to its second
| | 00:41 | state and a final action is taken,
and it moves to its third state.
| | 00:45 | If you need more than three
states, this isn't your workflow.
| | 00:48 | However, the three-state workflow is
really easy to use and will give us a
| | 00:52 | great idea of how easy it is to use all of the
built-in workflows in Microsoft SharePoint 2010.
| | 00:57 | We'll start by opening the list
that we want to put this workflow in.
| | 01:01 | We have an Issues list that was created
using the basic Issues List template, and
| | 01:06 | Issue Status is actually
set up for three-state workflow.
| | 01:10 | I'm going to add a new item just
so I can show you that dropdown.
| | 01:13 | Notice three different states,
Active, Resolved, and Closed.
| | 01:19 | On the Ribbon, I'm going to choose List and
then choose Workflow Settings > Add a Workflow.
| | 01:26 | This will take me to the list of built-in
workflows that are available for this
| | 01:29 | library, and here's our three-state workflow.
| | 01:32 | I need to give it a unique name that
describes not the type of template it is--
| | 01:36 | which is three-state--but what we're
actually doing with it, which is issue
| | 01:40 | resolution or issue tracking.
| | 01:41 | So I'm just going to call this
Issue Tracking, then there are two
| | 01:46 | possibilities of where I might want to put the history
and the task list for this particular workflow.
| | 01:52 | There's already a Tasks List that's
built in here, and I can use it or if I
| | 01:57 | expected this to be really high volume
and the Tasks List was already use for
| | 02:01 | something else, I could create a new list if
I wished that was simply for issue tracking.
| | 02:07 | But most of the tasks on this site
will be related to issue tracking, so I'm
| | 02:10 | just going to use the built-in
task list here on the site.
| | 02:13 | Same with workflow history. This is
the only workflow I have right now.
| | 02:18 | This next section, Start Options, asks
us to decide how we would like this
| | 02:22 | particular workflow to get started,
and there are actually several options.
| | 02:27 | One is that any time user wants to kick
off this workflow, they can. So they'll be
| | 02:32 | doing it for an individual item.
| | 02:33 | If I choose that first option, which is
manual starting, I can also require that
| | 02:38 | only somebody who has permissions to
manage this list can start the workflow.
| | 02:42 | So a user might say, "I'm going to post
an issue," but they actually can't start
| | 02:47 | the workflow, only a list manager can.
| | 02:49 | Remember that if I do this, though, I'm
putting a human back in the place where
| | 02:52 | they have to monitor and
they have to do follow-up.
| | 02:55 | I'm far better off if I can simply
imagine that every time a new item is created,
| | 03:00 | I want this workflow to start.
| | 03:02 | I'll still leave this manual starting
just in case in the middle of a workflow
| | 03:05 | something happens, and I want to
restart it, but normally any time I can, I'm
| | 03:09 | going to start a workflow based on
something automatic, an item is created or in
| | 03:13 | the case, for example, of a
document library, an item has been changed.
| | 03:17 | I'm going to click Next now,
and here are my workflow states.
| | 03:21 | The first thing I have to do
is I have to choose a field.
| | 03:24 | And remember I showed you the Issue
Status field, there are actually three
| | 03:28 | different fields that have dropdown
lists in them already that have exactly 3
| | 03:31 | items in them, Issue Status, Priority, and
Category, but Issue Status is what I want to use.
| | 03:36 | Because that's already selected,
SharePoint has also filled in the three values
| | 03:41 | that were possible in that
particular field, Active, Resolved, and Closed.
| | 03:46 | If, for example, I chose Priority, notice
that we'll read in the fields from Priority.
| | 03:50 | I need to specify what my
steps are in my workflow.
| | 03:54 | So, first it says Custom message.
| | 03:57 | Okay, the value for the field is in the
Custom message, and I can include a list field.
| | 04:02 | What you're seeing here under Task
Details are all of the default settings for
| | 04:07 | the first and the second states here.
| | 04:09 | So the first state says that we're
going to send a custom message that says
| | 04:12 | workflow initiated on this particular item.
| | 04:15 | And then it says a workflow has been
initiated on the following list item, it
| | 04:18 | shows the description, and it
will show a link to the list item.
| | 04:22 | I can include when it was due, and I can
include who it was assigned to, I could
| | 04:26 | also send a different
custom message if I wished.
| | 04:29 | So, this is a little archaic and a
little difficult to read at first,
| | 04:33 | but if you walk down each of the
items and notice that you have a custom
| | 04:37 | message with an ID being sent to a
particular person that this item was
| | 04:42 | assigned to, then down below it says
we're going to send an email message to
| | 04:46 | the person the task was assigned to and
the subject will be the task title that
| | 04:50 | was included above.
| | 04:52 | In the second step, then, we have the
workflow changes to its middle state.
| | 04:57 | The next task is a Review task, and
again, we're using the list field ID, we're
| | 05:03 | sending information that says a
review task has been assigned for this list
| | 05:07 | item, who it goes to, who it was
created by, and it will be sent to who it was
| | 05:13 | assigned to, and the Task Title will appear.
So, in our first step the workflow is initiated.
| | 05:19 | In our second step someone is supposed
to review the task to make sure that it
| | 05:23 | was done properly, and then we're all set.
| | 05:25 | At the end of this second step we move
to our third state which is completed.
| | 05:29 | So we don't have any specific details
to apply to that state, because we moved
| | 05:35 | to completed as soon as this
second state has been done.
| | 05:38 | I'm going to ahead and click OK.
| | 05:40 | It doesn't really look like any thing is
different in our list. It looks about the same.
| | 05:44 | The only difference is if we go back
to List on the List Tools, and I go to
| | 05:47 | Workflow Settings over here and click
on Workflow Settings, I can see that
| | 05:51 | there's actually my Issue Tracking
workflow is actually here, all ready to run as
| | 05:56 | soon as somebody actually creates a new
issue. We'll do that in the next movie.
| | Collapse this transcript |
| Running the Three-state workflow| 00:00 | I have a SharePoint issue list, and
I've added the three-state workflow to be
| | 00:05 | able to automate my issue tracking.
This is what this workflow looks like.
| | 00:09 | A user adds request to the
Issues list in SharePoint.
| | 00:13 | There's an email to
someone to resolve the request.
| | 00:16 | They then update the Issues
list with their resolution.
| | 00:19 | The original requester, then, is prompted to
decide whether or not that's resolved the issue.
| | 00:24 | If it has, they mark it as
complete and the issue is closed.
| | 00:28 | If not they should add some more
comments, mark it as Active, and it will be
| | 00:31 | returned again to the start of the list.
| | 00:34 | So here we have an active phase,
resolved phase, and a closed phase.
| | 00:39 | Let's see how this works when a user
actually goes in and adds a new issue to the list.
| | 00:44 | Here we are in the Two
Trees Olive Oil Issues list.
| | 00:46 | I'm going to add a new item, and I'd
like someone to modify InfoPath form - NPJ,
| | 00:56 | and to add a Department dropdown list,
and I'm going to ask Olivia to do this.
| | 01:04 | She's the only Olivia in our office,
so no exact match was found, but I
| | 01:07 | right-click on her name,
and we can resolve it here.
| | 01:10 | And the issue is going to be
active, I don't want to change this.
| | 01:13 | And I could make it a higher or low priority.
| | 01:16 | Actually, every issue of
mine has a high priority.
| | 01:18 | So we'll just go ahead and modify that.
| | 01:20 | Now I can add some more
comments or description, for example.
| | 01:23 | This request comes from the
September steering committee meeting.
| | 01:29 | Please contact John Ferris for details.
| | 01:33 | Now if there were other issues that
this depended on, I could go ahead and link
| | 01:36 | them up, but this is the
very first issue on my list.
| | 01:39 | There's nothing more to add.
| | 01:40 | This Comment section is used later by
the person who's going to do the work, and
| | 01:44 | let's say that there's a due
date on this of October 10th.
| | 01:49 | I'm going to go ahead and Save this.
| | 01:52 | Now the first thing you may notice is
that there's a new column here in my view
| | 01:57 | that was never there before.
It's called Issue Tracking.
| | 02:00 | That's the name of the workflow,
and it shows that it was in progress.
| | 02:03 | This was added to my default view
simply because I created the workflow.
| | 02:07 | You'll notice that there is an issue assigned
to Olivia, marked as Active, High priority.
| | 02:13 | Now let's go and see what the
email looks like that Olivia received.
| | 02:17 | So here we are in my inbox, Workflow initiated:
| | 02:20 | Modify InfoPath form, and I get a copy of this
because I'm the requester, but Olivia also gets this.
| | 02:26 | Notice here's the link, so Olivia's
getting an email that says there's a workflow
| | 02:30 | initiated to modify InfoPath form
to add the Department dropdown list.
| | 02:34 | Notice that it's important what I
provide is the subject for my email, because
| | 02:38 | the workflow is picking it up.
| | 02:39 | When I added this in my issue log, it's
being used, and it makes sense then to
| | 02:43 | Olivia once she sees it.
| | 02:44 | She can click on the link, it will take
her right back here into SharePoint, and
| | 02:49 | it says here's the item.
| | 02:50 | So now Olivia can turn around and go modify
that info path form and make some changes to it.
| | 02:55 | When she's all done she can edit the
item and say, okay, I think this is done.
| | 02:59 | She would go to the Comment section and
she would add, "I've added the dropdown;
| | 03:06 | this is ready for testing."
| | 03:09 | Then she'll change this from Active to
Resolved, because she believes that she
| | 03:14 | has resolved this, and she will save it.
| | 03:17 | Notice that the issue now shows as
Resolved in the Issue Status field.
| | 03:21 | This would be my clue to be able to go
work on it, and sure enough, here comes
| | 03:25 | my email that says it's time to review the
work on Modify InfoPath form at dropdown list.
| | 03:31 | So I say, okay, Olivia,
you've got the work done.
| | 03:34 | I click on this, I go and take a look at it.
| | 03:37 | Okay, it looks like she says it
was all done, it's ready for testing.
| | 03:40 | I would now go over, open up that
form, make sure it met all my needs, and
| | 03:45 | say yep, it's all done.
Now I have one more thing I need to do.
| | 03:49 | I need to say thank you Olivia. It's all done.
This item is closed.
| | 03:54 | I could even add a note,
and I could say, "Looks great!
| | 03:57 | Thanks, Olivia!" and Save this.
Notice now that the issue shows as Closed.
| | 04:03 | So there are my three states,
active, resolved, and closed.
| | 04:06 | And right now the Issue Tracking
workflow shows that it's still In Progress, but
| | 04:11 | in a few moments--or perhaps even right
now, if I refresh--it's marked as Complete.
| | 04:16 | So that workflow has run all
the way through to conclusion.
| | 04:19 | That's how easy it is to run a workflow once
we've created it on the list in SharePoint 2010.
| | Collapse this transcript |
| Overview of the built-in workflows| 00:00 | Built-in workflows are a key
difference between SharePoint Foundation
| | 00:04 | and SharePoint Server--either SharePoint
Server Standard or SharePoint Server Enterprise.
| | 00:09 | With SharePoint Foundation we get one
and only one built-in workflow, that three-
| | 00:13 | state workflow they we've
used in the previous two movies.
| | 00:16 | It's a great workflow if you have exactly three
states, and it's also available in SharePoint Server.
| | 00:22 | But SharePoint server also includes a
number of other workflow, six of them, and
| | 00:26 | I want to briefly describe these to you.
| | 00:29 | If you're one of the folks who is
running SharePoint server to do your workflows,
| | 00:32 | you will want to know these are there
so you don't create them from scratch if
| | 00:36 | they're a really good match
for what you're trying to do.
| | 00:39 | The collect feedback workflow is
designed to be able to have a document or list
| | 00:43 | item go to a group of people for feedback.
| | 00:45 | All of the feedback that's provided is compiled and
sent back to the person who initiates the workflow.
| | 00:50 | So might be that you want to create
this workflow and have it available on
| | 00:54 | demand and started manually rather than run it
every single time a document is modified or created.
| | 01:00 | The approval process routes a document
or an item to people for approval, and
| | 01:05 | it's a staged approval.
| | 01:06 | So you can send it to one person or group, and
after they approve, another and then another.
| | 01:10 | So think of it as
something that happens in series.
| | 01:13 | There's also a disposition approval,
and disposition approval is created to
| | 01:17 | help you decide whether a document that is
obsolete should be deleted or should be kept.
| | 01:24 | This particular workflow is actually
designed for use in records management.
| | 01:28 | The approval process sort of is, but the
disposition approval really is designed
| | 01:32 | for records center site.
| | 01:34 | Collects signatures requires you to
be able to use digital signatures in
| | 01:38 | your organization, and you kick off the workflow
from some place typically in Microsoft Office.
| | 01:44 | So it sends the document out, and then
it is signed by different folks, and it
| | 01:49 | requires the use of the
Microsoft Office signature line.
| | 01:53 | Translation management is a workflow
that is used particularly for sending items
| | 01:58 | out that are going to be translated.
| | 02:00 | So we see this in translation
management libraries only.
| | 02:03 | It's not even available more generally.
| | 02:06 | And finally, issue tracking is used
to send an item around for resolution.
| | 02:11 | So it presents a page that the user can
fill out and say here's the issue that I
| | 02:16 | want to have resolved, and as the issue
works its way through different stages
| | 02:20 | the resolution of that
page is automatically updated.
| | 02:23 | In addition to these six workflows, you can also
use the three-state workflow in SharePoint server.
| | 02:29 | So here's the entire list.
| | 02:31 | The good news is that many of the
workflows that are only available in
| | 02:34 | SharePoint server are workflows that you can create
using SharePoint Designer and SharePoint Foundation.
| | Collapse this transcript |
|
|
4. Getting Started with SharePoint DesignerLaunching SharePoint Designer 2010| 00:00 | Before you can launch SharePoint Designer
2010, you need to download and install it.
| | 00:05 | SharePoint Designer is free from Microsoft.
This is a change from some prior version.
| | 00:10 | So simply go to Google or to Bing and
choose SharePoint Designer 2010, and the
| | 00:15 | very first things that will
come up will be the download.
| | 00:17 | When you download SharePoint
Designer, there are two different versions.
| | 00:20 | There's actually a 32-bit version,
as you see here, and a 64-bit version.
| | 00:25 | The choice of 32-bit or 64-bit is not
based on the capacity of your machine.
| | 00:29 | You should instead choose the version
that matches the version of Microsoft
| | 00:33 | Office 2010 installed on your machine.
| | 00:36 | For sample, on my desktop I have a 64-bit
computer, but I have Office 2010 32-bit installed.
| | 00:43 | So I would need to install
SharePoint Designer 32-bit.
| | 00:46 | SharePoint Designer itself is also very
specific to the version of SharePoint.
| | 00:50 | So you will want to make sure that if you are using
SharePoint 2010, you use SharePoint Designer 2010.
| | 00:59 | If you need to work on SharePoint
2007 sites, you will need SharePoint
| | 01:04 | Designer 2007, and if you need to
be able to use both if you're doing
| | 01:09 | workflows for two different types of
sites, then you will want to search in
| | 01:13 | Bing or Google for specific
instructions on installing both versions on a
| | 01:18 | single computer, if you need to do that.
| | 01:20 | So simply go download the software that
you need, and you'll be able to install it.
| | 01:25 | Here is the 32-bit version, download it
and follow the installation instructions
| | 01:29 | and then join me in the next movie so
you can see how we're going to open a
| | 01:33 | SharePoint site, list, or
library in SharePoint Designer.
| | Collapse this transcript |
| Opening a SharePoint site, list, or library| 00:00 | I've downloaded and installed
SharePoint Designer 2010, and now I'm ready to
| | 00:05 | launch and then open up the site
that I want to add some workflows to.
| | 00:08 | So I'm starting here on my site, and it
has its URL that includes homepage, and
| | 00:14 | that this is one of the site pages.
But the core, the site itself, is this
| | 00:18 | portion right here, HTTPS all the way
through to the .com or .org or .edu, and
| | 00:24 | unless I've memorized that, I need
either write it down or copy it, because I'm
| | 00:28 | going to need that site in just a moment.
| | 00:31 | Now let's go to the Start menu and to
All Programs, and depending on how it was
| | 00:36 | installed, you're going to find
SharePoint Designer in one of two places.
| | 00:39 | One is in the Microsoft Office group,
but if you don't find it there, don't worry
| | 00:44 | about it. SharePoint workspace is not what you're
looking for. You're looking for SharePoint Designer.
| | 00:48 | Sometimes during installation there's a group
created called SharePoint, and you'll find it here.
| | 00:53 | So there is Microsoft SharePoint Designer 2010.
Let's go ahead and open it up, and here we are.
| | 00:59 | This is the first time this is
launched, so I have no sites, I have nothing
| | 01:03 | to save, and it says, "Would you like
to open a site or customize a site or
| | 01:07 | create a new site?" which you can also do with
SharePoint Designer--creating it with these templates.
| | 01:12 | I want to say I want to open an existing
site, and it wants to know where it is.
| | 01:16 | So I'm going to go ahead and paste
in my information and click Open.
| | 01:20 | Now I'll be asked do I want to log in
as myself or do I want to use another account?
| | 01:24 | And I actually want to log
in as myself, and I'm going to enter my
| | 01:28 | credentials and click OK.
You may be prompted to do this more than once.
| | 01:34 | Don't let that bother you.
It's sort of normal.
| | 01:36 | It depends on your environment and how
you connect to your SharePoint Server.
| | 01:41 | But here I am, I can see that I have
the title for my site, I can see my
| | 01:45 | permissions over here, and I'm actually looking
at my site through the eyes of SharePoint Designer.
| | 01:49 | Now the next time that I would go in to
open up a site I can actually go to the
| | 01:55 | Sites page and my site will be
listed here under Recent Sites.
| | 01:59 | So sites that you've actually open in
SharePoint Designer will be here, and all
| | 02:02 | you have to do then is you'll need to
remember your password and your username.
| | 02:07 | Your network credentials to connect to the site.
| | 02:09 | But the first time you'll
have to enter that information.
| | 02:12 | Again, copy and paste is a great way
to do that to allow you to go ahead and
| | 02:16 | work in SharePoint Designer.
Now there's one other possibility.
| | 02:19 | I actually don't have to start in
SharePoint Designer to begin with.
| | 02:23 | Depending on what action I want to
take, I may be able to begin in SharePoint.
| | 02:27 | For example, if I'm in my site, and I
know that I want to create a workflow, for
| | 02:32 | example, then I could go to the list
or library where I wanted to create the
| | 02:36 | workflow, choose list, and for example,
here, I see Workflow Settings, and I
| | 02:42 | could create a workflow in SharePoint Designer.
| | 02:45 | So depending on the action I wish to take,
it may be equally easy to begin with a
| | 02:51 | list or library and then move over to
SharePoint Designer from there or launch
| | 02:56 | SharePoint Designer as we did in this
example and then connect to the site.
| | 03:01 | Either way, we now have the ability to
work in SharePoint Designer connected to
| | 03:05 | this specific SharePoint site.
| | Collapse this transcript |
|
|
5. Using Workflow Actions and ConditionsUnderstanding SharePoint workflows| 00:00 | In SharePoint 2007 there was really
only one type of workflow that you could
| | 00:05 | create with SharePoint Designer, and
that type of workflow was called list.
| | 00:09 | A list workflow is tied to a
particular list or library, and it acts on
| | 00:14 | documents or items that have been
dropped in those libraries or lists.
| | 00:18 | This type of workflow is the
standard bread and butter workflow.
| | 00:21 | But in SharePoint 2010 we
have two new types of workflows.
| | 00:25 | The first new type is
called a reusable workflow.
| | 00:28 | Imagine that you create a list
workflow or library workflow, and you say,
| | 00:32 | you know, I have a lot of libraries of this type.
I might want to use this in other places.
| | 00:37 | So in older versions of SharePoint, if
I wanted to reuse a list, I really need
| | 00:41 | Visual Studio to make that happen.
| | 00:43 | In 2010, I can create reusable workflows
and tie them to different lists or libraries.
| | 00:49 | The third type of workflow is totally different.
| | 00:52 | A site workflow isn't tied
to anything except a site.
| | 00:56 | So a site workflow could look at three
different libraries and take action on all of them.
| | 01:02 | So a site workflow is very powerful and
these are brand new for SharePoint 2010.
| | 01:07 | We will be looking at all three of
these workflow types in this course.
| | 01:11 | Now they all I have
different permissions as well.
| | 01:14 | So if you have a list or library
workflow, you just need to have design
| | 01:18 | permissions for that list or
library to be able to publish and use it.
| | 01:21 | But if you want to be able to create
workflows for sites, or you want to be
| | 01:26 | able to save workflows to content types,
which is one way you might do a reusable workflow.
| | 01:31 | You need to have a much
higher level of permission.
| | 01:34 | You need to have design
permissions for the entire site.
| | 01:36 | So if you're working in an environment
where someone else set your site up for
| | 01:40 | you, when you get to Reusable or
Content type workflows or to site workflows,
| | 01:45 | you may need to go back and ask them to
amp up your permissions a little bit so
| | 01:48 | that you can create these different types of
workflows that are brand new to SharePoint 2010.
| | 01:54 | All three are great.
| | 01:55 | They have different uses, and I think you'll
enjoy seeing how each of them is created.
| | Collapse this transcript |
| Understanding events that start workflows| 00:00 | In SharePoint 2010 there are three
different start options for workflows.
| | 00:05 | The first start option, manual, is the
default, and you'll use manual whenever
| | 00:10 | it's necessary for a person to
decide when to start a workflow.
| | 00:13 | For example, you may have a library of
documents, and we've given any user the
| | 00:18 | ability to go in and say this
document may no longer be useful.
| | 00:22 | It may in fact be obsolete.
| | 00:24 | So we want the user to be able to right-
click and kick off a workflow so that
| | 00:28 | document would be reviewed.
| | 00:30 | The second start option is to start a
workflow each time an item is created, and
| | 00:36 | this is the most used
start option of all of these.
| | 00:38 | It's used virtually any time you have
a list or library where someone creates
| | 00:43 | a new list item or drops a form in a
library, and that begins the business process.
| | 00:48 | So someone fills out a form,
saves it, the workflow begins.
| | 00:51 | The third possibility is that we want to have
a workflow but only when an item is modified.
| | 00:57 | So we have a library that has
lots of existing documents in there.
| | 01:00 | They've already been approved.
| | 01:02 | Now when someone goes in and changes
the document--because it's time to modify
| | 01:06 | or it's time to update it--
that review starts the workflow.
| | 01:09 | Let me remind you where these settings are.
| | 01:11 | When we create a workflow here in the
new workflow page, or change a workflow,
| | 01:16 | start options are down here at the bottom.
You can have more than one option checked.
| | 01:20 | So here we are automatically starting a
workflow when a new item is created, but
| | 01:24 | we would also allow a
user to start that workflow.
| | 01:27 | Easy enough to get to.
| | 01:28 | And we might have several
workflows operating in one library.
| | 01:32 | For example, that same document library
that has a workflow, every time there's
| | 01:38 | a new document placed in it so that
each time an item is created there is a
| | 01:42 | workflow might also have a different workflow
that runs each time that same document is modified.
| | 01:47 | Finally, we may have a manual process
in that library that would allow users
| | 01:51 | to go in and say I want to start that
archive in our obsolescence checked workflow.
| | 01:56 | So it's not unusual to have multiple
workflows going in one library, particularly
| | 02:00 | when you're looking at documents.
| | 02:02 | But many lists in contrast would
normally have one or at most two different
| | 02:06 | workflows in a custom list.
| | 02:08 | For each workflow you create, though, you
need to decide is human intervention or
| | 02:12 | human decision-making needed to
decide when to start the workflow?
| | 02:15 | If so, you'll only want to use manual.
| | 02:17 | Or is this a workflow that can kick off
automatically on creation or on modification?
| | Collapse this transcript |
| Understanding workflow steps| 00:00 | So when we talk about a workflow
step, a workflow step is a combination of
| | 00:05 | conditions and actions that we've
bundled together, or it's possible that only
| | 00:09 | conditions or only actions, but
it's the logical unit that makes sense.
| | 00:12 | In this workflow that we're going to
be creating in this course, we have some
| | 00:16 | specific steps here in approval process.
| | 00:19 | First, an area vice president
approves, that's a step.
| | 00:22 | Then it moves on to the finance vice
president and all the actions related to
| | 00:26 | the finance vice president and all
the conditions, those are a step.
| | 00:29 | And then we have an HR vice president
who's approving, that's another step and
| | 00:33 | then there are other steps that will
follow. So the area vice president's
| | 00:36 | approval, let's look at that one step.
First, it begins with an action called Email.
| | 00:42 | After that action has been taken,
there's a second action, and that action is
| | 00:47 | almost an inaction, but
it's the action of waiting.
| | 00:50 | Following those two
actions, then, we have a condition.
| | 00:53 | A condition says we will take different
action based on the results of a value,
| | 00:59 | who filled out a form,
what the value was in a field.
| | 01:02 | In this case, we are actually looking into
this current item in the list or in the form
| | 01:06 | and we are saying does it
equal yes or does it equal no.
| | 01:10 | In the form, it's a check box.
| | 01:11 | If it equals no, that's
the core of the condition.
| | 01:15 | We then have two actions that are tied to
that condition and only to that condition.
| | 01:19 | If the vice president turned it down--
that's what VP Yes/No equals No means--
| | 01:25 | then we're going to email the person
who created the item, another action, and
| | 01:30 | we are going to stop the
workflow and log the request.
| | 01:32 | That stopping and logging
is one action all by itself.
| | 01:35 | So this area VP approval step
actually has two actions that will be
| | 01:39 | completed every time and then a
condition, and if that condition is true
| | 01:43 | that the vice president turned down the request,
there are two other actions that will be taken.
| | 01:48 | If the vice president said yes, then
we'll move on through the workflow.
| | 01:52 | So you will notice that this could have
been two or three or even four different
| | 01:56 | steps, but by bundling them together we make
this workflow much easier to understand.
| | 02:01 | So think of your steps as you might
think of sections in a presentation or
| | 02:06 | headings in a Word document.
| | 02:08 | Sections, headings, and steps are all
used to organize your content to make
| | 02:14 | it easier to think about, easier to understand, and
easier to modify later on if you need to do that.
| | Collapse this transcript |
| Understanding workflow actions| 00:00 | You and I create workflows in SharePoint because
we want SharePoint to take action on our behalf.
| | 00:06 | SharePoint has a huge list of actions
that you can incorporate in your workflows.
| | 00:10 | The actions are organized in categories based on
how you'll use them, and the names are pretty logical.
| | 00:15 | For example, actions that affect the behavior
of an item in list are called List Actions.
| | 00:21 | We also have core actions,
task actions that appear only in SharePoint
| | 00:27 | Server 2010, and utility actions sort of
mop-up actions, but one of them allows
| | 00:33 | us to subtract one date from
another, so it's incredibly useful.
| | 00:36 | Then we have some other actions
that we don't see all the time.
| | 00:40 | For example, the document set actions
are only available for workflows that are
| | 00:45 | associated with a special document
content type. Relational actions appear only
| | 00:50 | when your SharePoint site is running
SharePoint Server 2010. Task behavior
| | 00:55 | options only appear when you customize
tasks in pre-built workflows like start
| | 01:00 | approval process or start feedback process.
| | 01:03 | We're going to be using the list
actions and the core actions right away.
| | 01:07 | We'll work our way up to some of the other
actions like task and utility, so let's see
| | 01:11 | where we'll find all of these actions.
| | 01:14 | Here we are in SharePoint, ready to create a
new workflow that's associated with the list.
| | 01:19 | So if we look at Step 1, there are
two ways to get to the actions list.
| | 01:23 | The first way is to click on Action, and
you'll see all the actions grouped together.
| | 01:27 | so Core Actions, add a comment,
do a calculation, log something, set a
| | 01:34 | workflow variable, send an email,
pause for a duration, these are popular
| | 01:39 | actions that we'll be using over and over again.
| | 01:41 | And then because we're in a list, we have
List Actions, checking items in and out,
| | 01:46 | copying them and deleting them, discarding checked-out
items, setting a value in the current item--
| | 01:52 | again, something you'll use over and over
again--or waiting for a change in the current item.
| | 01:57 | Then we have Task Actions, less used,
and Utility Actions that allow us to
| | 02:02 | manipulate text, but this Find Interval
Between Dates is used a lot. So we can
| | 02:07 | click on the dropdown and choose, or if
you know something about the name of the
| | 02:11 | action, you can click where it says
Start typing, and even though you don't
| | 02:16 | actually get an insertion point, it's
waiting for you, so you could set type--
| | 02:19 | for example--Set value. It says No results.
But Set, maybe that's the name of it.
| | 02:24 | Press Enter to view.
| | 02:26 | Set Field in Current Item, that's the
particular action that I'd like to use.
| | 02:31 | So, if you know something about its
name, it doesn't have to be the first
| | 02:34 | word, you can find it that way, or you can
click the Action List and choose from the dropdown.
| | 02:39 | The actions available when you're creating a
workflow always are going to depend on your context.
| | 02:44 | For example, the start approval
process and start feedback process actions
| | 02:48 | aren't available here. We don't see them
at all, and that's because they're only
| | 02:52 | available in certain context and when
we're working with certain workflows.
| | 02:55 | If you don't see an action that you
believe would be there, suspect your context
| | 03:00 | before you start to assume that
maybe that action never existed at all.
| | 03:04 | So very easy to choose actions,
simply click in your workflow and choose
| | 03:07 | from the dropdown list, or begin by
typing some part of the name of the
| | 03:11 | action you wish to choose.
| | Collapse this transcript |
| Creating a simple workflow using the Send an Email action| 00:00 | One of the actions that you're going to
use the most is the email action, because
| | 00:04 | you'll want to notify people all
the time of steps in the workflow that
| | 00:08 | something is ready for them to work with.
| | 00:10 | So we're going to create a very simple
workflow in our Shared Documents Library
| | 00:14 | that only does one thing, when there
is a new item that has been saved to the
| | 00:18 | library, we are going to send an email to the person
whose job it is to monitor the library's contents.
| | 00:24 | Now in a SharePoint they could easily
set an alert for this, but that wouldn't
| | 00:28 | help us learn how to use the email action item.
| | 00:30 | So we are going to dive in and create
this one-stop workflow and learn how to
| | 00:34 | create email messages using
this action in SharePoint.
| | 00:37 | I want to remind you that we are
going to work with the Shared Documents
| | 00:41 | Library, there are no documents in it yet,
it's a very basic library like you're
| | 00:45 | used to in very single
SharePoint site that you work with.
| | 00:47 | And here we are in SharePoint Designer.
| | 00:50 | We've already started it up,
connected to this site by opening it.
| | 00:53 | And we're going to List and Libraries,
and there is our Shared Documents
| | 00:57 | Library, and we can add a Workflow here.
| | 01:00 | So we are going to choose
List Workflow and give it a name.
| | 01:03 | I always start these with a verb, it
makes it easier to think about what they
| | 01:07 | are, and we are going to send
an email to the library monitor.
| | 01:12 | A Description is always a good thing,
including, for example, who created this
| | 01:15 | or what his purpose was.
| | 01:17 | And I'm going to say that this was
created by Gini Courter to notify the library
| | 01:22 | monitor that a new document
has been added to library.
| | 01:28 | All good, click OK.
Now we're ready to add an action.
| | 01:31 | We are in Step 1. I'm going to
go to Action > Send an Email.
| | 01:35 | You will find that right here under Core
Actions if you haven't used it recently.
| | 01:39 | If you have, it's up under Recent Actions.
| | 01:41 | Now this works a lot like the rules
do in Outlook, and in some other
| | 01:45 | applications, where when I choose an
action, and it needs more information
| | 01:49 | there is a hyperlink, right now it's emailing
these users, and we don't even know who they are.
| | 01:54 | So I am going to go ahead and click on the hyperlink,
and it's going to open Define Email Message form.
| | 01:59 | So, I'm going to send this to
olivia@twotreesoliveoil because she is the person
| | 02:04 | who is the monitor for this particular library.
| | 02:07 | And the Subject, she is going to get
lots of these, I'm going to send her out of
| | 02:11 | the Current Item, the title of this
document or the name of this document, they
| | 02:15 | are actually the same.
So I am going to say here's the document name.
| | 02:19 | So she'll actually get an email that
will have the name of the document in here.
| | 02:23 | And now I can actually add some
text that would be more explanatory.
| | 02:27 | Olivia - The Shared Document library
you monitor has a new document added by,
| | 02:33 | and I am going to go to Add or Change
Lookup, and we are going to go to the
| | 02:38 | Current Item, and we are going to find out who
created this item, that would be the Created By field.
| | 02:43 | So it has a new document Added By, Created By.
Here's a link to the document.
| | 02:48 | I am going to press Enter a couple of times so I
don't have a URL running off the end of this line.
| | 02:54 | And we're going to insert here an item
that you will just absolutely want to
| | 02:58 | remember because you are going to use
it over and over and over again, which is
| | 03:02 | the Encoded Absolute URL.
| | 03:03 | So this is a URL that points directly
to this document in the Current Item in
| | 03:08 | the SharePoint list. I am going to say OK.
So here's a link to the document.
| | 03:12 | I need some way to sign this email
message now when I'm all done, so I could say
| | 03:16 | your SharePoint server, normally I will
add something like, If you need more
| | 03:21 | information about this SharePoint
workflow, please contact--and it could be my
| | 03:27 | contact information or someone
else's, but we would put that here.
| | 03:30 | Particularly when we have a new person
join our organization that isn't used
| | 03:34 | to getting these kinds of emails, and they're
like where do these come from, I can't even tell.
| | 03:39 | So it's nice to do that.
| | 03:40 | Because I'm testing I am actually going
to put myself in here too, I will come
| | 03:44 | back and edit this workflow later and
remove my name from the workflow, and I
| | 03:48 | am going to say OK.
So this is my entire workflow.
| | 03:52 | Now I have a couple of steps that I need
to do in order to save and publish this.
| | 03:56 | First I am going to click Save, that's
all the more time it took to go connect
| | 04:00 | to the server and to save it.
| | 04:01 | However, saving this alone does not make
it available for use as a workflow yet.
| | 04:07 | Let's go over and take a look.
| | 04:08 | Here is our Document Library, and if I
go to Library > Workflow Settings, I'll
| | 04:15 | find that there are no workflows
currently associated, my workflow is saved, but
| | 04:19 | only saved for SharePoint Designer, I
still need to publish it to associate it
| | 04:23 | with this particular library.
| | 04:25 | So here we are back in SharePoint, I
want to publish this, but that's not all I
| | 04:30 | want to do actually, I want to check
it for errors, that's good, make sure it
| | 04:33 | has no errors, and I'd like to publish it.
| | 04:37 | But I'm still in the Editor now,
all I'm doing is listing steps.
| | 04:41 | There is actually one more
important thing I need to do.
| | 04:43 | I am going to go back to my Workflow
Settings, here's all the settings that
| | 04:48 | pertain to my new workflow that I've
created, Send email to library monitor.
| | 04:53 | You remember a little thing called
Start Options, one of the things that I need
| | 04:57 | to do is say whenever a new item is
created start this workflow automatically.
| | 05:01 | If I don't do that the only way I can
start the workflow is to do it manually.
| | 05:05 | I will either need to tell my users, hey,
start the workflow when you're done, or
| | 05:09 | I'll need to go in and do that myself.
| | 05:11 | So we're going to start this workflow
automatically when a new item is created.
| | 05:14 | I am going to save and publish it again.
| | 05:17 | If I ever need to come back and edit, or
rename, this workflow you will find all
| | 05:21 | of these tools right here
under Workflow Settings.
| | 05:23 | So that's all done. Let's go take a
look at our library for just a moment.
| | 05:27 | Now this is my Document Library
Settings, I am going to refresh this.
| | 05:31 | And when I do you'll notice that Send email to
library is here, and it's actually here twice.
| | 05:37 | Once when I saved it the first time I
published it, the second time when I saved
| | 05:41 | and published it the second time.
| | 05:42 | Between those two workflows if some
user had jumped in there and had said, I
| | 05:47 | am going to create a new document,
they would actually be running the very
| | 05:50 | first workflow, but it was only a matter of seconds,
so not something that we need to worry about.
| | 05:55 | And we'll talk later about what you
do when you have workflows that are no
| | 05:58 | longer being used and how you remove those.
So let's go to our Library.
| | 06:03 | If you're not really, really used to
going back behind the scenes in SharePoint,
| | 06:07 | I want to point out to you that these
are breadcrumbs, and so I can go back to
| | 06:11 | Share Documents by clicking right here, I
don't have to go Home to get back there.
| | 06:15 | And now let's add a document here, I
am going to browse, and I have a lot of
| | 06:22 | different documents that I could use,
but I'm going to simply use this document
| | 06:28 | and post it to the library.
| | 06:30 | There is some information I could
fill in, I am all good on this so I am
| | 06:34 | going to click Save.
| | 06:35 | So here's my workflow, that
workflow already executed.
| | 06:38 | Here's the email that I was copied on.
| | 06:40 | Notice it says to Olivia
and to Gini, it comes from
| | 06:44 | sharepoint@msoutlookonline.net, that's the domain.
| | 06:47 | But it says The Shared Document library
you monitor has a new document added by,
| | 06:52 | that's my exchange name,
here is a link to the document.
| | 06:55 | We could click on this.
| | 06:57 | We are going to set this aside for just
a second because I also want to show you
| | 07:01 | that as a result of this workflow
being published and running there is a new
| | 07:05 | column with the name of the workflow,
and this workflow is already completed and
| | 07:07 | only had one step to do, we saw that
it did it, and it didn't take that long.
| | 07:10 | But when a user goes in I am going
to go back to Home just so you can
| | 07:14 | actually see the difference.
| | 07:16 | And now when I open this email and
click on the link, it should take me to
| | 07:21 | shared documents and will actually
prompt me to open that document that I had
| | 07:26 | posted on the SharePoint site. So that
encoded absolute URL goes directly to the
| | 07:30 | document right here in the library,
and I could simply say I want to open it
| | 07:34 | now, or I could save it.
| | 07:36 | So our link works, our workflow works,
everything is great. That's how you
| | 07:40 | create a simple workflow using the
email action in SharePoint Designer.
| | Collapse this transcript |
| Setting task and history log settings| 00:00 | There is one more group of Workflow
Settings I need to bother you about before
| | 00:04 | we move on, and those are the settings
for your Task List and your History List.
| | 00:09 | The Task List actually refers to items
being written to the Task List on the site.
| | 00:14 | And that Task List can be
connected by your users back to Outlook.
| | 00:18 | So an example is that if you use an
issues list, and you fill out an issue and
| | 00:23 | assign it to someone that item is
automatically placed on the Task List.
| | 00:27 | And then if that user connects the
Task List to Outlook they will see their
| | 00:32 | tasks in their own Outlook profile.
It's a really easy thing for the users to do.
| | 00:36 | For example, here's our Task List, and
it's really as easy as choosing List >
| | 00:42 | Connect to Outlook to connect
back to your Outlook account.
| | 00:46 | And then any items that I have on this
Task List automatically appear here on
| | 00:51 | my list in Outlook.
Isn't that just a great thing for users?
| | 00:54 | So because this is so easy it makes
sense for us to try to put things in the
| | 00:59 | Task List as a way to encourage users to
go ahead and complete them because when
| | 01:04 | they mark them done in Outlook it
marks them done here in and SharePoint and
| | 01:07 | will reflect that back to your workflow.
| | 01:10 | Because of that I really want to
use one consolidated Task List.
| | 01:13 | I might have three or four different
workflows on the site, but I try to
| | 01:17 | stick with one Task List.
| | 01:18 | If I decided I wanted a different
Task List I could create it here.
| | 01:22 | If I do I'll need to direct my users to
connect that Task List Outlook as well.
| | 01:27 | And that's just one extra thing that they
may not remember, or they may choose not to do.
| | 01:32 | So I'd like to make this really easy for them.
| | 01:35 | But one of the things that's important
here is I also need to do this early on
| | 01:39 | because if I do it after I've
published the workflow, and if I do it way down
| | 01:44 | the road then I may actually
make my workflow stop working.
| | 01:49 | There are directions on the
Microsoft site about how you can double-check
| | 01:52 | list references, or go back and change them,
but you really don't want to have to do that.
| | 01:57 | So the preference would be that you
not change the Task List, or the History
| | 02:01 | List, unless you need to.
| | 02:02 | If you have many workflows in a
particular site, and you know that you are going
| | 02:08 | to have a lot of workflows, you might
want to begin by creating a separate
| | 02:12 | History List for workflows that are
going to generate a lot of history.
| | 02:16 | SharePoint is going to write to these
workflows, it's going to write when a
| | 02:20 | workflow is canceled, it's going to
write when a workflow is completed, and you
| | 02:24 | will choose to write to this History
List too because this is the place that you
| | 02:28 | can collect information, that you can go
back and look at to try to diagnose any
| | 02:32 | issues you might be having with a workflow.
| | 02:34 | So if you want a separate History List,
there is nothing else that links to it,
| | 02:38 | it doesn't hook to Outlook like the
Task List does, but you would want to do
| | 02:42 | this immediately at the
start of creating your workflow.
| | 02:45 | And so if you said that I would
like to create a new History List, then
| | 02:49 | SharePoint will automatically create a list
called Send email to library monitor history.
| | 02:54 | It will use exactly the name of your
workflow and append the word history on the end.
| | 02:59 | The last item here in Settings, Show
workflow visualization on status page, as
| | 03:04 | you can tell when I point to it
requires a whole lot of things, SharePoint
| | 03:07 | Server Enterprise Edition, but it also
requires Visio Premium on the computer
| | 03:12 | that SharePoint server is running on.
| | 03:14 | And then we'll give you a small
visualization if you want to see that.
| | 03:17 | So settings for your Task List and
your History List upfront as well as
| | 03:21 | you're setting for Start options just to make
sure that your workflow is actually running.
| | 03:25 | These settings you can change
at any time with no problem.
| | 03:29 | These settings, if you change them,
will create some difficulty for you.
| | 03:32 | So make sure you have your Task List
and History List settings clear in your
| | 03:35 | head, and set up the way you would like to set
them, before you start running your workflow.
| | Collapse this transcript |
| Creating a workflow using the Wait for Field Change action| 00:00 | One of the things that SharePoint does very
well, that humans don't do so well, is it waits.
| | 00:05 | There is actually an action in
SharePoint that waits until the value of field
| | 00:09 | changes, and you'll be using this
particular action over and over again.
| | 00:14 | Let's walk through the workflow.
| | 00:15 | We are going to start this employee
onboarding process with someone in HR
| | 00:19 | filling out an entry in a list that
we've created called employee onboarding.
| | 00:24 | So this list sits on our SharePoint
site, somebody from HR goes in, fills out
| | 00:28 | the employee's name, clicks
and attaches some documentation.
| | 00:31 | Then they go in and they mark the date
to show that they've created everything
| | 00:35 | they needed to in HR, and this
is ready to move over to payroll.
| | 00:39 | At that point we want SharePoint to
send an email to the payroll department to
| | 00:44 | say, hey, new person, go check him out.
| | 00:46 | So that the folks in the payroll
department can add the employee to the payroll
| | 00:49 | system and the benefit system, and
then enter the date to show that they too
| | 00:53 | have gone in and have done all of
their work for this new employee.
| | 00:56 | At that point we want SharePoint to say,
the date has changed in that payroll
| | 01:00 | field, it must be time
for facilities to kick in.
| | 01:03 | So at this point the email gets sent to
facilities so that they can provide an
| | 01:07 | office, a parking sticker, and so on for
the employee, and mark the date to show
| | 01:11 | that all of their
responsibilities for onboarding are done.
| | 01:14 | And at this point we'd like SharePoint
to say, let's let the IT folks know there
| | 01:18 | is a new employee so that they can
discharge all of their responsibilities.
| | 01:22 | So we've gone out, we've interviewed
everybody in the business, we've made sure
| | 01:25 | that this is the sequence that
they want this done in, and it is.
| | 01:28 | And we've obtained the email addresses for
the folks we want to send these emails to.
| | 01:33 | So we know that we're going to send an
email to Greg in the payroll department,
| | 01:36 | to Janet in facilities, and
to me in the IT department.
| | 01:39 | This is our very simple employee
onboarding system, and we are going to go ahead
| | 01:44 | now and create the workflow.
| | 01:45 | Here we are in SharePoint
Designer in our Lists and Libraries List.
| | 01:50 | Here's the Employee
Onboarding list, here are its Settings.
| | 01:54 | I am going to click Edit list
columns just so we can slide over and see
| | 01:58 | that these custom columns HR, Payroll,
Facilities, and IT all of them are
| | 02:04 | date and time columns.
| | 02:05 | I sometimes see applications where
these would be checkboxes that someone from
| | 02:09 | HR goes and checks that they've done something.
| | 02:12 | But that's such a small amount of
information that it might even be a mistake.
| | 02:16 | And so whenever I need to collect
information that tells me that something was
| | 02:20 | complete a check box is not good enough,
I am going to have somebody enter the
| | 02:25 | date, I am going to have
somebody enter their date and initials.
| | 02:28 | Whatever it takes for me to
actually know when the work was done.
| | 02:31 | Why would I throw away this
information that would allow me later to say how
| | 02:35 | long it took for the folks in
Payroll to be able to complete onboarding.
| | 02:38 | So right from the beginning I usually
will replace checkboxes in forms with dates.
| | 02:42 | You are going to be creating custom
libraries and lists over and over again if
| | 02:46 | you do workflows in SharePoint.
| | 02:48 | So if creating these kinds of
columns or working with a list like this is
| | 02:52 | something that's relatively new I
want to refer you to the SharePoint 2010
| | 02:56 | Essential Training course in the lynda.com
Online Trading Library. Specifically
| | 03:01 | let me point you to Chapter 5, which is
on creating custom lists and libraries.
| | 03:06 | But we have our list, we are all set,
and what we want to do now is we want
| | 03:09 | to create a workflow.
| | 03:11 | So I'm going to click Workflows, we are
going to create a list workflow, and we
| | 03:16 | are going to choose the list,
which is called Employee Onboarding.
| | 03:18 | Here's our new workflow, I'm going to
actually name it Employee Onboarding.
| | 03:23 | And we are going to create
several versions of this in the course.
| | 03:26 | So this one is actually a serial
version where we have first HR, then after
| | 03:31 | that Payroll, and so on.
| | 03:32 | We are going to do a parallel version
of this and a couple of others later.
| | 03:36 | Remember that it's good to enter a
description, who it was created by, how they
| | 03:39 | can find you, what the purpose of
this was, and I am going to click OK.
| | 03:43 | So the first thing we want to do is we
want to wait for the HR department to say
| | 03:48 | all of our work is done on this.
| | 03:50 | So we are going to choose an action,
you'll find it under the List Actions that
| | 03:54 | says Wait for Field Change in Current Item.
| | 03:57 | So I am going to wait for a particular
field and the field is called HR, when I
| | 04:01 | created the list I just named these
fields after the four departments that will
| | 04:04 | need to do this work.
| | 04:05 | And I want to wait for HR to
be greater than another value.
| | 04:09 | Now the HR field is a date field, so I
need to enter a value that's a date here.
| | 04:14 | So I am going to say any date, almost
any date would do, but I'm just going to
| | 04:19 | say 1/1/2001, for example.
| | 04:21 | Anytime somebody enters a date in the
field at all it better be greater than
| | 04:25 | January 1st of 2001.
| | 04:27 | So that's our very first step
is a step wherein we will wait.
| | 04:30 | Our next step then, as soon as HR is
greater than 1/1/2001, I can go ahead and
| | 04:37 | say, okay, once we're done waiting we
are going to go ahead and send an email.
| | 04:41 | And the email is going to go, in
this particular case, to the payroll
| | 04:45 | department, and that's Greg.
So greg@twotreesoliveoil.com, New Employee.
| | 04:53 | Now remember I could also choose to
put the employee's name in here because I
| | 04:57 | have that field, and I could say
dear Greg, or I could say dear Payroll
| | 05:00 | department, or I could just
say nothing if I wanted to.
| | 05:03 | Dear Payroll staff:
| | 05:05 | Please complete the onboarding
activities for--and we know we have this
| | 05:12 | employee's name, so we are going to
add a lookup in the Current Item, we are
| | 05:16 | going to go get this
employee's name, right there.
| | 05:20 | After you have done this, or after you
have completed the activities, remember to
| | 05:25 | visit the Employee Onboarding list and
enter the date under HR. Here's a link.
| | 05:34 | So we could send them right back to
that item in the list, and you'll probably
| | 05:37 | remember that we're going to do that by
adding a lookup that is to that Encoded
| | 05:42 | Absolute URL right here,
more information if we wish.
| | 05:47 | Now I'm going to create an email like
this several times, one is going to go to
| | 05:51 | Payroll, one is going to go to the
IT department, one is going to go to
| | 05:56 | facilities, so it doesn't hurt for me
to copy this at all if I would like to.
| | 06:00 | And while I can change this as I go
through I really want to make sure that I
| | 06:04 | have a pretty good look on this that
the subject, for example, New Employee
| | 06:08 | Onboarding probably isn't going to
change, and that's because later on in this
| | 06:11 | course you will find out how you can
encourage folks to set up rules in Outlook
| | 06:15 | to manage this email as it's coming in.
| | 06:17 | So we are going to say, okay, it's going to
make sure that it can find Greg, and it did.
| | 06:22 | So there is our first step, wait for HR
to be greater than this, then email Greg.
| | 06:26 | And I could actually even name this
step, I can click here, and I can say HR
| | 06:31 | Done, Notify Payroll, it's
a good name for that step.
| | 06:35 | Now let's add another step, and we
will do exactly the same thing again.
| | 06:39 | But this step instead of being called Note HR
Done will be Payroll Done, Notify Facilities.
| | 06:47 | The next step would be--well here is
a learning moment, I actually didn't
| | 06:51 | want to create this in here, I wanted
to create this step outside so I should
| | 06:54 | have clicked outside.
| | 06:55 | We will just go ahead and do that, and
I'll come back and delete this in a second.
| | 06:59 | So this one is going to be
called Facilities Done, Notify IT.
| | 07:04 | And I am going to select this step
three, and notice that it's yellow, and I'm
| | 07:08 | going to go ahead and
delete it and get rid of it.
| | 07:11 | So, HR is done, notify Payroll,
Payroll is done, notify Facilities,
| | 07:14 | Facilities done, Notified IT.
| | 07:15 | I am just going to drop in and set
these two actions in this first one again.
| | 07:20 | Notice that because I'm using these
actions, they are right up here, so I am going
| | 07:24 | to wait for a change in the field,
the field in this case will be Payroll
| | 07:28 | because it's Payroll that would be done.
| | 07:30 | And I want Payroll to be greater than,
and again I am just going to use that
| | 07:34 | same date over and over again,
whatever my magic date is.
| | 07:38 | And I'm going to right here, insert
another action which is to send an email,
| | 07:43 | email these users, and I will have an
email then that I can send to Janet at Two
| | 07:48 | Trees and the subject would
be New Employee Onboarding.
| | 07:51 | And I'd have some text that I would
send to Janet along with the URL and
| | 07:55 | encouraging her to go back to the
site and enter the date when she is done.
| | 07:58 | And I would do exactly the same
thing for the Facilities done, Notify IT.
| | 08:03 | So I'm using a combination of
wait, then email, wait, then email.
| | 08:08 | So in each case when our folks have
gone in to that list or library, Employee
| | 08:12 | Onboarding list, and they've changed
and entered the date that the HR work was
| | 08:17 | done or Payroll or Facilities and so
on, that's actually going to kick my
| | 08:22 | workflow to the next step each time.
| | 08:24 | So wait, email, wait, email,
wait, email, and so on.
| | 08:29 | This workflow isn't quite, done but you
don't need to hang around while I finish
| | 08:33 | it, I am going to go ahead and save this.
| | 08:35 | Before I publish it, I'm going to go
back out and take a look at it out here not
| | 08:40 | in the Editor, but out in the Settings.
| | 08:43 | And remember that what I want to say is
start this workflow automatically when a
| | 08:47 | new item is created.
| | 08:48 | I'll finish the workflow back in the
Editor, and then I'll be ready to go in and
| | 08:52 | to publish it when I'm all done with it.
| | Collapse this transcript |
| Using conditions to make a choice| 00:00 | Every SharePoint Workflow step can have one
or more actions, and one or more conditions.
| | 00:06 | Conditions determine whether an
action should take place or not.
| | 00:10 | For example, if we were calculating a
payroll, we might want to know whether to
| | 00:13 | use a calculation for over time. So
we'd look for the condition, are the total
| | 00:17 | hours greater than 40? Or if we've had
someone check a particular box that says
| | 00:22 | they're going to provide us with some
other information, we might only want to
| | 00:25 | include that other information if
we saw that the box was checked.
| | 00:29 | So conditions come in
different flavors just like actions do.
| | 00:33 | There are some conditions that
are very specific to a context.
| | 00:36 | These are the conditions that are
generally available and are available here in
| | 00:40 | this particular list.
| | 00:41 | So first, If any value equals value,
this is very generic and allows us to
| | 00:47 | compare any two things.
| | 00:48 | We could compare a value from a column
in a SharePoint list to some static text
| | 00:53 | like a number or date, we can compare
two text strings to each other, we can
| | 00:58 | compare information that we've
calculated and stored in a variable.
| | 01:02 | And when I choose if any value equals
value one of things you will find is it
| | 01:06 | includes equals and not equals.
| | 01:09 | And when we look at values we have a
wide range of places to pull things from,
| | 01:13 | so we can use the workflow
look up that we used before.
| | 01:17 | We can also say, If current item field
equals value, so imagine now we are in a
| | 01:21 | library or list, and we are looking
at this particular item. What does the
| | 01:25 | field in that item equal?
| | 01:27 | And once again when I choose this
it's not just equals, it also includes
| | 01:31 | not equals as a choice.
| | 01:33 | So more specific the condition, If
current item field equals value is a more
| | 01:38 | limited version of If any value equals value.
| | 01:41 | Other conditions are that this item
was Created by a specific person, or in a
| | 01:46 | particular date span.
| | 01:47 | This item was Modified by a specific
person, or Modified in a specific date span.
| | 01:53 | Person is a valid SharePoint user. You
might wonder, what's that even about?
| | 01:57 | Well, it's possible for you to have
folks on your team who aren't necessarily
| | 02:02 | SharePoint users. So if you had
external partners participating in a project,
| | 02:07 | someone might go in and say, well
I'm going to assign the review for this
| | 02:11 | project to Joe. And they would type
in Joe's email address, but we want to
| | 02:15 | make sure that we can send something to Joe
so Joe can get back to the SharePoint site.
| | 02:19 | So this is a way to check and say if
this person is a valid SharePoint user,
| | 02:23 | fine, we will go ahead and
send the review request to Joe.
| | 02:26 | But if they are not a valid SharePoint
user we are going to send an email back
| | 02:30 | to the person who made this decision
and say, you can't send it to Joe, Joe is
| | 02:33 | actually not on our SharePoint domain.
| | 02:35 | And finally, the other condition that
you can use is you can say that the Title
| | 02:39 | field contains specific keywords.
| | 02:41 | And if you choose that, you'll take a
look, and you'll actually enter the kinds
| | 02:45 | of keywords that you're looking for.
| | 02:46 | So you'll type in that you would be
looking for project, for example, or any
| | 02:51 | other particular word that you wanted to use.
| | 02:54 | Notice that as I add condition
SharePoint assumes that I want all of them to be
| | 02:58 | true, so it joins them with the phrase and.
| | 03:01 | If I have two different phrases and
either of them would be good enough, either
| | 03:05 | of these conditions, then I would
click on the and to change that to or.
| | 03:09 | This is a toggle field, and, and or.
| | 03:11 | If I want to simply delete one of these
conditions I delete them, and this is a
| | 03:15 | time that I might want to be really
good at moving things up, it might be true
| | 03:19 | that I want the first one condition
to be before another and so I can just
| | 03:23 | rearrange them using move.
| | 03:25 | So I have put conditions in place,
and then I can say, well, given these
| | 03:29 | conditions if these conditions are true,
then let's go ahead and add some actions.
| | 03:33 | So by combining them together in one
step SharePoint will make sure that the
| | 03:37 | conditions are true, and if so, we
will turn around, and we will email these
| | 03:41 | users or we will wait for a
particular period of time or we will change the
| | 03:45 | value in a field and so on.
| | 03:46 | Conditions and Actions combine together to
create powerful steps in your workflow.
| | Collapse this transcript |
| Using advanced conditions: IF, THEN, and ELSE| 00:00 | You can chain multiple conditions
together to create an if/then or if/then/else
| | 00:05 | or even a case statement type of
condition where you can say, well, if the user chose
| | 00:10 | one, we'll do this, if they chose two,
we'll do the second action, if they chose
| | 00:15 | three or four, let's do the third action, and if they
made no choice at all, let's do something else yet.
| | 00:20 | I want to take a look at a very small
portion of a workflow that we'll be creating.
| | 00:25 | This is a new position request, and in
this case, we got this diagram from the
| | 00:30 | Information Technology Department so
they use a swim lane to show it to us, it's
| | 00:34 | not quite as cuddly as some of the
other diagrams we've looked at, but it's a
| | 00:38 | great diagram that you
want to get used to using.
| | 00:40 | So we have a start, somebody's
completed a form, and they've dropped it off.
| | 00:44 | And this form is to request a new
hire in a department, a position that
| | 00:48 | doesn't exist already.
| | 00:50 | And so the vice president for that
area needs to review the request, and they
| | 00:54 | have two possibilities, one is they're
going to say yes, and if they do it'll be
| | 00:58 | passed along to the VP of finance, and
if they say, yes, it'll be passed along
| | 01:02 | to the VP of HR, and if they say,
yes, the position will be created.
| | 01:05 | But at any point along the line any one
of these vice presidents could say no.
| | 01:09 | No I don't think we need another
person against the budget, no we don't need
| | 01:13 | more people at all right now, or no
this isn't the time to hire because
| | 01:17 | we're looking at some
other types of alternatives.
| | 01:20 | So if we just took a look at this
section here, what we have is we have an
| | 01:24 | if/then/else condition.
| | 01:26 | If the request is approved by the area
vice president, then we pass the request
| | 01:31 | along to the next vice president, but
if it is turned down we're going to send
| | 01:35 | an email back to the hiring manager,
and we're going to end our workflow.
| | 01:39 | So this is how we want to read this,
we have an if/then, but we also have an
| | 01:43 | else, because if the if isn't true
there will still be an action taken.
| | 01:48 | Let's take a look broadly at how we'll
combine these conditions and actions into
| | 01:52 | steps in SharePoint Designer.
| | 01:55 | So here we are in SharePoint Designer,
and we're looking at a skeleton of what
| | 01:59 | we'll be doing with this particular
workflow, because you don't have to publish
| | 02:04 | every single thing you save in
SharePoint Designer, this is actually another
| | 02:08 | valid way to think about outlining
workflow, so I'm looking back and forth at
| | 02:12 | the diagram that I was
given, and I was saying okay.
| | 02:15 | Well, we're going to process the
area vice president approval first,
| | 02:17 | somebody's dropped the form off and
the very first person that sees it is the
| | 02:21 | area vice president. So we're going to
email that area vice president and wait
| | 02:25 | for some change to happen.
| | 02:27 | Now we actually have a form where they
are going to check a box for approval or
| | 02:31 | not, but more importantly
they are going to set a date.
| | 02:34 | So when we take a look at that date field,
if the date field has changed then we
| | 02:39 | can take a look at the check box.
| | 02:41 | If the check box is true, or if the check box is
false, we're going to do two different things.
| | 02:46 | In this case first, if the check box is
false, that area vice president said, "Nope,
| | 02:50 | you don't get that new hire."
| | 02:51 | We're going to email the hiring manager
back, stop the workflow, and we're going
| | 02:55 | to log a message to stop the workflow.
| | 02:57 | So this is that first branch where
we're saying the answer is no, tell the
| | 03:01 | hiring manager nope, you're not going
to get that person and stop the workflow
| | 03:05 | we're not passing along anywhere else.
The other possibility is the possibility of yes.
| | 03:10 | So the area vice president says yes.
We're going to go ahead, and we're going
| | 03:14 | to say we're going to email it on to the
vice president of finance for their approval.
| | 03:19 | In this particular workflow we're
going to have a box just like this that
| | 03:23 | actually occurs three different times.
Once for the area vice president, once for
| | 03:26 | the finance vice president,
once for the vice president of HR.
| | 03:29 | In each case, each has a possibility of
saying yes, but each has the possibility
| | 03:34 | of saying no, and if they say, yes,
we pass it forward, if we say, no, then
| | 03:39 | we're going to email folks back
upstream to say, hey sorry, you can't have this
| | 03:44 | hire, and then we're going
to stop the workflow and log.
| | 03:47 | So this is how we do if/then/else condition
building here in Microsoft SharePoint Designer.
| | Collapse this transcript |
| Creating a workflow with conditions| 00:00 | Here is our sample workflow with the
actions built-in, but no conditions. So the
| | 00:04 | actions--just to give you a broad brush
here--are when the form's submitted, we're
| | 00:09 | going to email the submitter. If you
want to know how to do that this second, go
| | 00:13 | check out the movie called
Emailing a Form Submitter.
| | 00:15 | Then what we're going to do is we're
going to email the area vice president and
| | 00:18 | wait for them to make a decision.
| | 00:20 | We're going to email the Finance VP and
wait, and the HR VP and wait, but we're
| | 00:25 | waiting for something so
that we can make a decision.
| | 00:28 | So what we're going to do is we're
going to add a condition here to the Area VP
| | 00:31 | approval, and that condition is
actually going to go take a look at the answer
| | 00:36 | that that VP provided.
| | 00:37 | So we're going to say, if current item
equals value, and we're going to say, if
| | 00:43 | the VP says, yes, well we just keep going.
| | 00:47 | So, what we want to know is,
what happens when they say no?
| | 00:50 | Because normally if we didn't add a
single condition to this workflow it would
| | 00:53 | happily go on emailing, waiting,
emailing, waiting, emailing, waiting.
| | 00:57 | We need to actually jump in and say,
well depending on what happens after the
| | 01:02 | wait we're going to do something different.
| | 01:05 | So, if the VP says, no, I can't
approve this hire, we then want to take two
| | 01:09 | actions, one action is we want to send
an email to the current submitter and the
| | 01:13 | other action is that we want to
stop the workflow because we're done.
| | 01:16 | So I'm going to go ahead in this
condition and add an action, and we're going
| | 01:21 | to send an email to the current submitter,
and then we are going to stop the workflow.
| | 01:27 | Notice that both of these are indented
under the if. If by chance I put this in
| | 01:33 | the wrong place, I'll get a different
outcome. What this says right now is, if
| | 01:36 | equals No, email the users stop the
workflow. Then if it equals not No, Yes, go
| | 01:42 | ahead and skip these two actions.
| | 01:45 | If this action were outside of the if,
outside of the conditional, notice when
| | 01:49 | I point to the conditional there is a box
around it this workflow would always stop.
| | 01:52 | The VP of Finance would never get a
single email, because the workflow would
| | 01:56 | halt at this point, it's not part
of the condition it's just an action.
| | 02:00 | So you want to be careful, it's really
easy to put actions or conditions in not
| | 02:04 | quite the right place, so just point
to the condition everything that's boxed
| | 02:08 | will be done if that condition is true.
| | 02:11 | In this case if the VP says, no,
we're not going to hire that person.
| | 02:16 | So we're going to stop the
workflow and log a message.
| | 02:18 | We'd have the same thing
here for the Finance VP.
| | 02:23 | After the date was changed, so the VP's
gone in and they've said as of this date
| | 02:28 | I've checked, or not checked, that box.
Then we can add a condition and say, if the
| | 02:34 | Finance VP says no, then we want to
email some users, and we want to stop the
| | 02:43 | workflow. And if the HR VP says no, which
would only happen if everybody has said
| | 02:49 | yes up until now, because any no is
stopping the workflow at that particular level.
| | 02:53 | Then what we're going to do is
we're going to add a condition that says,
| | 02:59 | if the VP of HR said yes, no field
equals No, click here in the condition, then
| | 03:08 | we're going to send an email, and
we're going to stop the workflow.
| | 03:14 | Now we're actually missing a step down
here. What happens if everybody approves?
| | 03:18 | So there would be another step that
says email HR to create the position.
| | 03:25 | I just choose to do Email:
| | 03:28 | Create the position, and what we do here
is we just go in we'd send an email, I
| | 03:34 | don't need to put a stop on the
workflow at the very end, because when I fall
| | 03:37 | out of the very last step in the
workflow it's stops automatically, and it's
| | 03:41 | marks itself as complete, so I'm only
adding these Stop the workflows for all of
| | 03:45 | the places before this it was
possible that someone said no.
| | 03:48 | So that's how you create conditions
just go into the step where you want to add
| | 03:52 | the condition, make sure
that you are in the right place.
| | 03:55 | In this case, after we've sent the
email, and we've waited then the
| | 03:58 | condition kicks in.
| | 03:59 | Some steps will begin with a condition,
but in any event it's really great to
| | 04:03 | just be able to put all this together
and say, okay, this is what's going to
| | 04:06 | happen and then talk your way through it.
| | 04:08 | I'm emailing the vice president. I'm
waiting for the date and the form to be filled in.
| | 04:13 | If it's filled in then if they say, No,
this is who I need to let know that they
| | 04:18 | are not going to get the new hire,
stop the workflow log message, but if it
| | 04:22 | equals Yes, I'll fall through
to the next step of the workflow.
| | 04:25 | This is how conditions work, you can
put as many of these together as you need to.
| | 04:29 | So you can create conditions that
cover more than simply yes, no, they cover
| | 04:33 | possibility one, two, three, and four. Or
a workflow that says, well, if this is
| | 04:38 | true then check to see if that's true
as well, that would be an, if inside of an if.
| | 04:42 | You just throw another condition in
right here in the same way, notice an if
| | 04:46 | inside of an if one condition nested in another.
| | 04:49 | If you can manage the if statements,
for example in Excel, they work
| | 04:52 | exactly the same way here.
| | 04:54 | If you've used this kind of logic when
you're working with Access, or anything
| | 04:57 | else, I find that if you're new to this
reading these through very intentionally
| | 05:02 | and perhaps with your office door shut
to read them aloud is a really great way
| | 05:06 | to actually think about what
you're doing and what it means.
| | 05:08 | I am going to go ahead and delete that
extra condition, this is looking real good.
| | 05:12 | So we're going to go ahead and save this
workflow, we're done with it for right now.
| | Collapse this transcript |
| Using parallel blocks| 00:00 | The new position request library is
a place that users drop information
| | 00:05 | about new positions that they'd like to have
created and then there is an approval process.
| | 00:10 | We've already created the request
new position workflow as a straight
| | 00:14 | through approval process.
| | 00:16 | First we notify a submitter that we
got their email request, then we have
| | 00:21 | the Area VP approve it, the Finance VP, the
HR VP, and finally we create the position.
| | 00:27 | But what if those steps don't
necessarily have to happen in a sequence?
| | 00:31 | Specifically, what if after the area
vice president has approved, we don't care
| | 00:37 | whether the finance vice president or
HR vice opresident approves first, we just
| | 00:42 | need them both to approve, let's take
a look at what that workflow would look
| | 00:46 | like and how it's a little bit different.
| | 00:48 | If you want to contrast this with the
sequential workflow then return to the
| | 00:53 | previous movie and take a look at
building a workflow with conditions, but
| | 00:57 | I'm going to create a new list
workflow, I'm going to call this Position
| | 01:02 | approval, and we'll write this up,
remember, I've put in some notes about who
| | 01:07 | created this, and when, but this is an approval
process with parallel steps, and let's say OK.
| | 01:15 | Now the first couple of activities would
still be the same, we would have a step
| | 01:18 | that said Notify submitter, and we're
going to send an email to them, and then
| | 01:24 | we'll have a second step, that is Get
Area Vice President approval, and we would
| | 01:31 | email them and ask them for their
approval and wait until we had it.
| | 01:35 | The next two actions that can happen
in parallel, I'm going to insert a step,
| | 01:39 | we're going to call that step Get
Other VP approvals, and then we're going to
| | 01:45 | insert a Parallel Block.
| | 01:47 | Now the following actions will run in
parallel, and I'm going to insert first
| | 01:51 | one step, and then I'm going to insert
the next, and I want to be really careful
| | 01:55 | where I'm inserting.
There are three different places here.
| | 01:58 | One is the actions it would have to do
with this Step 8, which let's say this is
| | 02:02 | Finance VP approval.
| | 02:04 | So if I have actions related to that
like send this person an email, I'm going
| | 02:08 | to put him right here.
| | 02:11 | But I want to make sure that my other
parallel actions aren't out here, notice
| | 02:16 | that this is out of the Parallel Block,
but right there, so I'm going to click
| | 02:20 | and insert a step, and there in the
parallel actions with the gray line to the
| | 02:25 | left are my two items that will
happen at the same time HR VP approval.
| | 02:32 | Then I could add other items after
this step this still had to do with VP
| | 02:36 | approvals, but were in parallel, or I
can simply insert another step for our
| | 02:41 | final activity, and that final activity
is going to be to create the position.
| | 02:46 | So, how this works is Notify submitter
has to proceed to get Area VP approval
| | 02:51 | and get Area VP approval has
to proceed the other approvals.
| | 02:55 | As soon as the area VP has approved, we
drop into these parallel actions, and we
| | 03:00 | will be emailing the finance vice
president, and we will be sending an email to
| | 03:04 | the HR vice president, and when both of
these activities have concluded then the
| | 03:10 | position will be created,
because we'll go on to the next step.
| | 03:13 | So this is how the Parallel Block works
this Parallel Block is new in SharePoint
| | 03:18 | Designer 2010, and it should make your
workflows go more quickly in places where
| | 03:24 | parallelism works, we're not going to
be waiting, for example, for the Finance
| | 03:28 | VP to come back from vacation and then
get all of her work caught up before the
| | 03:33 | HR VP can go ahead and do this approval.
| | 03:35 | So watch for places that you can use
Parallel Blocks in your workflows to make
| | 03:39 | them run more quickly.
| | Collapse this transcript |
|
|
6. Creating a Simple Form for Your WorkflowUsing a built-in SharePoint list form| 00:00 | There are two major ways your users are going
to enter information into a SharePoint list.
| | 00:05 | The first way, is they'll simply
open the list and start to type.
| | 00:09 | They'll see it in Datasheet View and enter
information so that's one decent way to do this.
| | 00:15 | However, not all lists allow Datasheet
View and normally we'd like people to
| | 00:20 | have a better user experience, we'd
like them to use a form, and you might
| | 00:23 | wonder, well where would I get this form from?
| | 00:26 | The good news is that every time
you're creating a list or a library,
| | 00:30 | Microsoft SharePoint is creating a
form for you, it actually creates three
| | 00:34 | versions of a form.
| | 00:36 | If we take a look at our Employee
Onboarding list that we've been using,
| | 00:40 | there were four fields that were
added, and there was one existing field
| | 00:44 | whose name was changed.
| | 00:45 | The default title field was changed to
Employee Name and then four different
| | 00:49 | date fields were added, and here's the
form that was created for entering new
| | 00:53 | items here in SharePoint, let's take a
look at something that's a little bit
| | 00:57 | more complex, let's take a look at our
Issues list, let's take a look and see
| | 01:02 | what happens when we add a new item.
| | 01:04 | We get a very complex form full of
bells and whistles, date pickers, add
| | 01:09 | buttons and so on, because this exists as a
built-in form for a built-in SharePoint list.
| | 01:15 | Another great reason to say I'd like
to use an existing list as the core of a
| | 01:20 | custom list I want to create, but
here's the form as it appears when it's new.
| | 01:24 | A version of that form is the version
that we see when we choose to edit the
| | 01:28 | item, it's not exactly the same
form, but it's very, very close.
| | 01:33 | So here it is it has the space to
provide information about versioning, and when
| | 01:37 | things were changed and created that's
the biggest difference between this form
| | 01:41 | and the existing form.
| | 01:42 | And there is yet a third form in
addition to the new and edit forms called the
| | 01:46 | Display Form, and it is the form that
we're going to see when we simply click
| | 01:50 | on the item's hyperlink, and we display the
form without the ability to do any editing.
| | 01:54 | So again, all three of these have been
created simply by us creating a new list.
| | 02:00 | Three new forms, whenever we add
fields to a list its forms are automatically
| | 02:05 | changed and modified by SharePoint.
| | 02:08 | Now you can make these forms more
beautiful if you wish that's not the content
| | 02:12 | of this course, but if you're
interested I want to recommend Simon Allardice's
| | 02:16 | SharePoint Designer 2010:
Creating Data-Driven Web Pages course.
| | 02:21 | Chapter 6 is all about customizing these forms
that have been created for you in SharePoint.
| | 02:27 | So if this is all you need for the
particular workflow that you're creating feel
| | 02:31 | free to rely on these forms that are
already created for you, you have no
| | 02:35 | investment in them, they are very quick
to use, easy to create, conform to the
| | 02:40 | Windows standards, and most users
will have a fine time using them.
| | Collapse this transcript |
| Using InfoPath to create a form for a library| 00:00 | If you'd like a form with more bells
and whistles than the SharePoint forms
| | 00:03 | provide, I'd encourage you to
take a look at Microsoft InfoPath.
| | 00:07 | InfoPath 2010 lets you create two
different types of forms, one type of form
| | 00:13 | is a full-featured form that runs in
Microsoft InfoPath filler, so it can be used offline.
| | 00:19 | For example, a form that salespeople might
fill out when they can't get to a web connection.
| | 00:23 | The other type of form that you can
create using InfoPath is a Browser-ready
| | 00:27 | form, so it's a real competitor for
the SharePoint forms, but you can create
| | 00:31 | forms that are more beautiful and forms
that use some controls that SharePoint
| | 00:35 | doesn't have access to.
| | 00:36 | This is an example of an InfoPath form
for the workflow that we're creating to
| | 00:41 | request a new position, so this is
a workflow with lots of conditions.
| | 00:45 | I'll just walk-through it briefly here,
we have the ability for a person to
| | 00:49 | enter the title of the position that
they'd like to have hired, a proposed
| | 00:53 | start date, their own name, and email, we
can have those filled in automatically later.
| | 00:58 | The name and email for their vice
president and then there are some dropdown lists.
| | 01:02 | If you'd like to see what this looks
like to the user, let's go ahead and click
| | 01:05 | the Preview button, and you'll see that
the dropdowns have Department names, we
| | 01:10 | have some Salary ranges here, and
we have nice date picker fields.
| | 01:17 | So we create this form in InfoPath, and
as we're creating the form it's creating
| | 01:21 | a data source here in XML.
| | 01:23 | We can now use this form to actually
create the list that we'd like to see in
| | 01:28 | SharePoint, and this is the best
practice, we don't want to start in SharePoint
| | 01:32 | with an existing list.
| | 01:33 | If we wanted to do it that way we
should use the SharePoint forms that are
| | 01:36 | created and modify them
using SharePoint Designer.
| | 01:39 | When we start with InfoPath we're
actually saying that we're really invested
| | 01:43 | in the kind of presentation that a user gets
when they're going to be filling out of form.
| | 01:48 | So, here's what the form looks like,
we're going to go ahead and save this form
| | 01:52 | so that it's ready for us to publish,
to create our list in SharePoint, so we
| | 01:57 | can then add workflows.
| | Collapse this transcript |
| Creating a form library from InfoPath| 00:00 | We've created an InfoPath form that
we'll be using to collect information on
| | 00:04 | new position request.
| | 00:06 | Now we need to create the list that
this form will live in, the list that these
| | 00:10 | forms will be posted to as people fill them out.
| | 00:13 | And we're going to do that by
publishing this form from InfoPath.
| | 00:16 | Before we begin this process I want
us to look at the form one more time,
| | 00:20 | because one of the things we will be
asked to do is determine which fields out
| | 00:24 | of this form need to be sent over to SharePoint.
| | 00:27 | We're collecting a whole lot of data, but
we don't need to display it all over there.
| | 00:31 | So what are the columns that we will need?
| | 00:34 | And there's two possibilities, one is a
column that we will want to display to
| | 00:38 | users in a list, and the second is a
column that our workflow requires.
| | 00:41 | So because we have a workflow we need to
care about that second category of item.
| | 00:46 | For example, the conditional workflow
that we laid out looks at VpDate to see if
| | 00:51 | it's changed, it's actually waiting
for a change, and when that changes it
| | 00:55 | checks to see if the
Approved check box is checked.
| | 00:58 | So we'll need to send both of these
fields to SharePoint, VpDate for the
| | 01:03 | workflow and approved to know
which condition has been met.
| | 01:07 | The same thing is true for the VP of
finances, date, and approval, and for the
| | 01:12 | human resources VP's date and approval.
| | 01:15 | What else might we want?
| | 01:16 | Well, we will need the vice president
email to know who to send
| | 01:20 | the authorization to.
| | 01:21 | And we will need the Requester email
to be able to respond to the person
| | 01:25 | who made this request.
| | 01:26 | We will probably want the position
title, and one other piece like the StartDate
| | 01:30 | because you can imagine that in some
departments they might have several people
| | 01:34 | that they are hiring, we are hiring a
manufacture specialist, but we have one
| | 01:38 | starting in March, we have another one
starting in July, so those seem like good
| | 01:41 | pieces of information to have.
| | 01:43 | So finally we're ready to publish,
having taken a look at all of these different
| | 01:46 | fields that we need.
Let's go to File and choose Publish your form.
| | 01:51 | The first choice is to Quick Publish,
but Quick Publish isn't available
| | 01:54 | because we've never published this form.
Let's choose instead to Publish this
| | 01:58 | to a SharePoint server.
| | 02:00 | The Publishing Wizard opens and
asks us where is our SharePoint server?
| | 02:04 | Well, if you haven't memorized the
location of your server yet you can go grab
| | 02:08 | it by simply going to your site and
choosing everything, including the domain
| | 02:14 | .COM, .EDU, and so on. You don't
need anything that follows site page's
| | 02:19 | particular page names, and let's
go ahead and copy that, Ctrl+C.
| | 02:23 | Now let's go back to InfoPath
and paste it in and choose Next.
| | 02:28 | You might be asked to login to the
site even if you're already logged in
| | 02:32 | that's because I'm not logged in in InfoPath,
I am logged in in SharePoint, that's fine.
| | 02:36 | And it might ask me do this a couple
of times, and that's not a problem
| | 02:40 | either I am used to that.
| | 02:41 | So as this form template is Browser
compatible, but it cannot be Browser-enabled
| | 02:47 | on the selected site.
| | 02:48 | So this particular site that we have is
only going to allow folks to fill this
| | 02:53 | out in InfoPath form filler, I am
going to go ahead and put this in a Form
| | 02:57 | Library, that looks fine
for me, let's click Next.
| | 03:00 | What do I want to do? I want to create a
new form library that does not already exist.
| | 03:04 | Let's click Next, and I need to give
it a name and a description, so this is
| | 03:10 | going to be position requests, or new
position request, or something similar now.
| | 03:14 | When it creates this because it's not
asking me for URL, SharePoint will make up
| | 03:20 | a URL out of the text that I give it,
every single place I type a space, it will
| | 03:25 | actually put a percent 20 sign.
| | 03:27 | So if I don't want to have that happen
I can type this in camel case, uppercase
| | 03:33 | each word but don't put any spaces in.
| | 03:35 | And then after the library has been
created by the Publishing Wizard in
| | 03:39 | InfoPath, return to SharePoint and
change the name of the library to put spaces
| | 03:44 | in it, so I'll have a great URL and a good name.
| | 03:47 | I can provide a description, if I
know I'm going to go back and change the
| | 03:51 | library's name I can provide
the description at that time.
| | 03:54 | I'll just click Next here.
| | 03:56 | And finally, this is where we need to
do an inventory of all the columns from
| | 04:00 | our form that we want to
have end up in SharePoint.
| | 04:02 | So I am going to go ahead and
click Add, and we are going to add the
| | 04:06 | PositionTitle, there it is on the list.
| | 04:09 | We are going to add the Department--
and yes you have to do these one at a
| | 04:15 | time--and the StartDate and the name of
the requester and their email. And by
| | 04:25 | the way, each one of these is going to
show up as a column in our SharePoint
| | 04:28 | library, or list, and so we then might
want to go back and tweak that view to get
| | 04:33 | rid of some of the extra columns.
| | 04:35 | There's my vice president,
my vice president's email.
| | 04:40 | Now notice that I've had the ability
to change any of these column names that
| | 04:44 | I want, so if intend to show a column I
could change this, get a better look for it.
| | 04:49 | You can always go back and modify it
too, if you want to change this, for
| | 04:53 | example, just click Modify and change it here.
| | 04:55 | I want to go ahead now and add in the
Authorizations group whether the vice
| | 05:00 | president said yes or no, I want to add
the date, whether the vice president of
| | 05:07 | Finance said yes or no.
| | 05:11 | We have this growing list down here,
and the date, and the same thing for HR.
| | 05:21 | The fields that are left here are
comment fields, and I don't need them, I
| | 05:25 | am fine with having them in the form, there is
no reason they need to show up in SharePoint.
| | 05:30 | So I am going to say OK, click Next, I
verify the information that this is the
| | 05:34 | library I want to create, this is the
location I want to create it in and click Publish.
| | 05:40 | It says my form template was published
successfully, I can send this to email
| | 05:44 | recipients if I want but I'm far more
interested in looking at the library that
| | 05:48 | was created so I am going to say
Open this form library and click Close.
| | 05:52 | And here's my new form library.
| | 05:54 | As I noted all the names of all of those
different columns are displayed in this
| | 06:00 | view, I can scroll this, we have a
really wide view, and this wouldn't be the
| | 06:03 | view I'd normally want to show to
users, some of these fields are only here
| | 06:07 | because we need them for our workflow,
it doesn't make a lot of sense to leave
| | 06:11 | them here in the view.
| | 06:12 | So SharePoint also created a form, but
we won't see that form because there is
| | 06:16 | an InfoPath form that we created.
| | 06:17 | So when I click Add document there is a
message from the web page that's because
| | 06:22 | this file isn't necessarily trusted in
this environment, I am going to say OK.
| | 06:27 | And here's my InfoPath form that I can fill out.
| | 06:30 | So if I add information here,
it's going to end up back in my site.
| | 06:35 | So InfoPath is a great tool to use to
create our form and to create our site.
| | 06:41 | There's one more thing that we would
need to do to actually make this whole
| | 06:44 | solution work so that we
could put a workflow on it.
| | 06:47 | And that is that we've created a
library, we've created a form to go with it,
| | 06:52 | but the last thing that we will need to
do is we will actually need to configure
| | 06:55 | this form so that when a user uses it,
it posts back to that same library.
| | 07:00 | Right now, when a user uses the form,
when they're done with it, it doesn't know
| | 07:04 | where it's supposed to go.
| | 07:06 | So we're going to say we want to submit
this form to the SharePoint library back
| | 07:10 | here in InfoPath, it will ask us about
the name of the library, and we can go
| | 07:14 | ahead and paste in that information
that we have, that we have a document
| | 07:19 | library NewPositionRequests.
| | 07:23 | I can leave this section here on the
end, but I don't necessarily need it.
| | 07:27 | And then it asks me for a form name,
there is that familiar fx button that lets
| | 07:31 | us know that we will be able to use
some different field names in this.
| | 07:35 | So I don't want to name it form every
single time something submitted we don't
| | 07:39 | want it to have the same name, as a
matter of fact it won't allow us to, you
| | 07:44 | can only have one file with the
same name so our choices are either to
| | 07:46 | continuously overwrite the one that's
there, or to have people that are frustrated
| | 07:50 | because they can't save things.
| | 07:52 | So let's go ahead and create a new form
name that will be used on every submission.
| | 07:56 | So I'm going to insert a function and
the function that I'm going to use is
| | 08:00 | called concat for concatenate,
which allows us to put things together.
| | 08:04 | And I'm going to say
let's put the PositionTitle.
| | 08:08 | And then let's go ahead and put
the StartDate and the Department.
| | 08:14 | So three things and they are
concatenated which will leave no space.
| | 08:17 | So I might want to put some spaces in,
surrounded by commas, and parentheses.
| | 08:25 | So there is a blank space PositionTitle a
blank, StartDate a blank, and Dept, and a blank.
| | 08:30 | I am going to click Verify Formula
to make sure that works and click OK.
| | 08:34 | And again, if you're not used to
creating InfoPath forms, and you want to do
| | 08:38 | that I want to refer you to the
appropriate InfoPath course where all of this
| | 08:42 | is covered in detail.
| | 08:43 | I am going to say OK, I am going to
click Next, and this is a Submit to the
| | 08:47 | SharePoint Library, I am going to say
whenever somebody submits this is where it
| | 08:51 | should go, it's the
default, and I'll click Finish.
| | 08:54 | And now I once again need to publish the form.
| | 08:57 | The first time I publish
the form it created a library.
| | 09:00 | Now it won't create a library, it will
simply post back to that same library
| | 09:04 | I created, I can go ahead and Quick Publish,
and my template has been published successfully.
| | 09:10 | So now when I go to this library and
add a new document--this is an interesting
| | 09:15 | learning moment--the form that I have
on my computer is not quite the same as
| | 09:19 | the one I just published maybe because
I didn't save, so I am going to go ahead
| | 09:24 | and save and update my form.
| | 09:25 | Your users will see that too so,
there's always a local cache that has the form
| | 09:29 | in it, but if there is a newer one on
the site they are prompted to use it.
| | 09:34 | So now when I fill out this form I'm
filling out a form that I can then submit,
| | 09:38 | and when I submit it will be sent back
to my SharePoint form library so that I
| | 09:42 | can kick-off a workflow with it,
and that's what we'll be doing next.
| | Collapse this transcript |
|
|
7. Using Email NotificationsEmailing the form's submitter| 00:00 | Let's spend just a little bit more
time talking about how we can best email
| | 00:04 | notify folks in our workflow.
| | 00:06 | I've created a small workflow based on
the list with three different steps in it.
| | 00:10 | We're going to talk about Emailing
Submitters and Emailing Users and
| | 00:13 | ultimately Emailing Aliases to users,
but let's just start by saying that we
| | 00:17 | want to email the submitter.
| | 00:19 | Somebody has launched the workflow,
dropped a form in a library, and we would
| | 00:24 | like to let them know that that form got there.
There are a couple of reasons for this.
| | 00:28 | We could let them know on the screen if
it was a web form, but often what folks
| | 00:33 | want is proof that they participated in
the workflows that later on they can say
| | 00:37 | hey, I turned this interview on
this date and here's my proof.
| | 00:40 | So it's a good idea to
send an email message back.
| | 00:43 | We're going to add an
Action that says Send an Email.
| | 00:46 | Email these users, click the
hyperlink and where it says To, we're going to
| | 00:51 | click out here on the Address
book to open the Select Users dialog.
| | 00:56 | So user who created the
item is really easy to find.
| | 01:00 | Let's go ahead and grab
them right here, and say OK.
| | 01:04 | The next thing I want to talk
to you about is the Subject.
| | 01:07 | I want the subject to be understandable.
| | 01:09 | I want it to have a portion that is
unique, and that is long enough to be able
| | 01:14 | to easily find, and the reason is I'm
going to show my users how to create
| | 01:19 | rules to route messages.
| | 01:20 | So if every subject is different, if I
simply grab the name of the form, that's
| | 01:25 | not going to work, I need
something solid I can build a rule on.
| | 01:29 | So I'm going to click this three-dot
| | 01:30 | button, that's the Builder button here,
and it's going to open up the String
| | 01:34 | Builder, and this particular email
is coming out of a hiring process.
| | 01:38 | So I can use some unique information here.
| | 01:42 | New Hire Request for, for example,
and then I can add a lookup here.
| | 01:49 | In the Current Item we can go grab
anything that's unique like the Title.
| | 01:55 | Now what this will allow me to do, in
Outlook, in a bit is create a rule that
| | 01:59 | looks for the words New Higher Request,
but it also doesn't have every single
| | 02:03 | one of these looking the same,
somebody can actually get some value out of
| | 02:07 | seeing what the title is.
| | 02:08 | And you know I don't really need the
word for, if you think about it, I could
| | 02:12 | just say, New Higher Request:
here's the name of it, and I'm going to say OK.
| | 02:17 | So I want to create really good
strong subjects with some unique piece that
| | 02:22 | refers back to the workflow each and every time.
| | 02:25 | It is not unusual when you first
create workflows that you're going to
| | 02:28 | copy somebody, and that somebody
might be you, to make sure that the
| | 02:31 | workflow is actually working.
| | 02:33 | So when I'm first going to do this,
I'm probably going to put myself in, but
| | 02:39 | later on I can remove myself
simply by editing this form.
| | 02:43 | And then remember that you have access
to every single thing you want here to be
| | 02:47 | able to show somebody what they need to do next.
| | 02:49 | If you have something specific that
says I need you to actually go open
| | 02:53 | this form and look at this particular field,
this is the place for those instructions.
| | 02:57 | And remember that the way we're going
to take somebody back to that library so,
| | 03:01 | so easily is we're actually going to
include if it's a list, an absolute URL
| | 03:06 | that will take them right on
back to that list every single time.
| | 03:10 | So here's how we're going to send
a message to the Submitter, great
| | 03:13 | subject, Current Item: Created By, say OK, and
there is our very first email.
| | Collapse this transcript |
| Emailing a person in a group| 00:00 | When you're ready to email someone in
your workflow, other than the submitter,
| | 00:04 | it's very easy to do.
So let's review the steps.
| | 00:07 | I'll choose Action > Send an Email, and
click on these users hyperlink to open
| | 00:13 | the Define Email Message dialog box,
and then on either To, or CC, I'll go ahead
| | 00:20 | and click to open the Select Users dialog box.
| | 00:23 | Now I can Type a Name or
Email Address in right here.
| | 00:26 | So if I know, for example, that I'm
creating an application for helpdesk tickets
| | 00:30 | I might say, helpdesk@
twotreesoliveoil.com, and just add it. That works.
| | 00:41 | This is how you want to address email
to folks who are not on your SharePoint
| | 00:46 | site and who aren't in your domain, so
you might need to send something outside
| | 00:50 | of your organization.
| | 00:52 | And I can also say, choose People
or Groups from my SharePoint site.
| | 00:55 | I click Add, and it lets me go Search,
and I can enter, for example, someone's
| | 00:59 | name, like Janet, or Olivia, there's Olivia.
| | 01:05 | So I can just double-click on
Olivia and add her, there she is.
| | 01:09 | That's her exchange
address that I'm seeing there.
| | 01:11 | It's not pretty, but it works, or I
can add groups in exactly the same way
| | 01:16 | from my SharePoint site.
| | 01:17 | The third possibility is that I'm
actually going to go look up somebody's
| | 01:22 | information out of the workflow.
| | 01:24 | This would mean, for example, that I
had asked someone to type an email address
| | 01:28 | in, or I had gone and
gotten it from somewhere else.
| | 01:31 | So I can either grab those kinds of
addresses that I've had someone fill in,
| | 01:35 | type into a form, or I can go get
some of the things that SharePoint itself
| | 01:40 | knows like, there is my original
submitter but I can also get the last person
| | 01:45 | who modified the document.
| | 01:47 | So if I grab the Modified By person
it will actually go resolve their email
| | 01:51 | address and send to them.
| | 01:52 | So several ways that I can add
specific folks, or distribution lists here, to be
| | 01:58 | able to email to anybody I
want to out of my workflow.
| | Collapse this transcript |
| Using a contacts list for email workflow lookups| 00:00 | It's great when you know ahead of time
who gets emailed in a workflow, but more
| | 00:04 | often than not, that's not the case.
| | 00:06 | We have an employee onboarding workflow
that we worked with earlier, where we're
| | 00:09 | emailing human resources, we're
emailing payroll, and that's Greg.
| | 00:14 | We want to email facilities, and we know
to email Janet, and we want information
| | 00:19 | tech to receive an email, and that would be me.
So those are real easy, we can build them in.
| | 00:23 | The problem is we want to insert
another email right here, because we've
| | 00:28 | forgotten to tell the department that
this employee is actually going to work for.
| | 00:32 | So the boss is sitting around, and
there are all kinds of folks coming in and
| | 00:36 | looking for office space and asking
questions and they haven't been notified.
| | 00:39 | And you know what, we don't know
who we need to email necessarily.
| | 00:42 | It will be different for
every single department.
| | 00:45 | We have a list of about a dozen
departments ranging from, accounting and
| | 00:48 | administration, to sales and shipping.
| | 00:50 | We could set up a set of
conditions like we've done in other cases.
| | 00:54 | We could say well, if it's
accounting send it to this person, if it's
| | 00:57 | administration send it to this person.
| | 00:59 | However, when we do that we make it
more difficult to work with our workflow
| | 01:04 | because every single time one of those
folks changes, we have to come back and
| | 01:08 | modify the workflow.
| | 01:09 | And we have an unnecessarily complex
workflow with all of these if statements in it.
| | 01:14 | The best answer is to do a lookup to
actually say, if I know what department
| | 01:18 | somebody is in, I should be able to
create a table and go look up what email
| | 01:22 | address I need to send this information to.
Let's see how to do that.
| | 01:27 | Here we are in our Employee Onboarding
list, and we have the new EmplDept Choice
| | 01:33 | field, the new field that's been added
to this list to be able to track what
| | 01:37 | department that employee is in.
| | 01:39 | Clearly that would be filled out by
somebody in HR, because they know where
| | 01:43 | they're placing this person.
| | 01:45 | So what we need now is a corresponding
list, a contacts list created as a custom
| | 01:50 | list that we can just list all of the
different departments so that we can see
| | 01:54 | who's in the Employee department.
| | 01:55 | So I am going to just click that, and
if you take a look here are each of our
| | 01:59 | choices on a separate line,
Accounting, Administration, Facilities,
| | 02:03 | Greenhouse, Info Tech, Manufacturing,
Operations, Retail, Sales, and Shipping,
| | 02:07 | we have a lot of them.
| | 02:09 | I could actually copy these and drop
them into Notepad or some other application
| | 02:13 | that would be a really good idea so
that I don't have to remember what they are
| | 02:16 | or keep going back here to look them
over and over again. There they are.
| | 02:21 | We'll just put this over to the
side for now we don't need it.
| | 02:24 | Now we're going to go to
create some new site content.
| | 02:28 | One easy way to do that we can do it
with Site Actions > Site Settings, we
| | 02:33 | could say View All Site Content and do it from
there, and I'm going to Create a new Custom List.
| | 02:38 | We are going to call this list wf for
workflow, DeptContacts and these are
| | 02:47 | Name and email address for each department
for notification during Employee Onboarding.
| | 02:58 | Now once you've created one list like
this, you'll find that as you add more and
| | 03:02 | more workflows it's often the same
person this kind of email is going to go to.
| | 03:06 | It might be the administrative
assistant in the department or whoever is in
| | 03:09 | charge of getting incoming information
at a department level, and you may then
| | 03:13 | want to create this list farther up in
your site collection so that you can use
| | 03:18 | it over and over again.
| | 03:20 | For more information on that check out
the SharePoint Essentials 2010 course.
| | 03:25 | I don't want this list to appear on the
Quick Launch bar, because nobody needs
| | 03:29 | to use it except those of us who
are creating workflows and doing
| | 03:32 | administration for the site.
| | 03:33 | So I am going to say No, and we
are going to go ahead and Create it.
| | 03:38 | Now I need to change the
List Settings a little bit.
| | 03:40 | Every single new list you create
starts with 3 columns Title, Created By, and
| | 03:44 | Modified By, and there's no point
really in getting rid of them but we might
| | 03:48 | want to change title.
So the question is what fields do we want?
| | 03:51 | I would suggest that we probably want
four, the name of the department, the
| | 03:54 | first and last name of the person that
we are sending the email to, if they have
| | 03:59 | one, and finally the email
address we are sending it to.
| | 04:02 | So I'm going to go ahead and change the
Title column to Department, and I want
| | 04:07 | to Require that this contains information.
| | 04:10 | I'm going to now quickly Create a new
column for First Name a Single line of
| | 04:15 | text, and I'm not going to require
that this contains information because it
| | 04:19 | is altogether possible that they have
like a departmental mailbox that I am
| | 04:24 | going to mail this to.
| | 04:25 | So let's go ahead and add Last Name, and
the same sort of logic, just Single line
| | 04:30 | of text in my default view, and finally,
I am going to Create my fourth column,
| | 04:35 | and it's going to be Email Address.
| | 04:38 | And that all looks really good, and I am
going to say OK, and now I have my table.
| | 04:45 | So if I go back out to my workflow
Department Contacts, and I add a new item,
| | 04:50 | I'll be prompted to add, for example,
in the Accounting Department that Joe
| | 04:54 | Jeffers is getting the email, and it's
jjeffers@twotreesoliveoil.com, and there
| | 05:04 | is my very first item in my list.
| | 05:06 | And I'm just going to go ahead and add
Info Tech, because that's me, and we are
| | 05:20 | going to add one more person.
| | 05:34 | So you just continue to fill these in
and the beauty of this is that if the
| | 05:39 | accounting department decides that
somebody else should receive this email, you
| | 05:42 | only have to change it here, you never
are going to need to go back and modify
| | 05:46 | that workflow because it's going
to come out and grab these folks.
| | 05:49 | So let's see how that last piece works now.
| | 05:52 | Let's go ahead and go back to our
workflow and see how we have a workflow, look
| | 05:56 | in a list to return a value.
| | 05:58 | So here we are in our Employee
Onboarding Workflow, and we want to add this step
| | 06:03 | right up here at the top, so I'm going
to click Step, and we are going to name
| | 06:08 | this Notify Department.
| | 06:13 | And the Action is going to be to Send an
Email, and we are going to Email these users.
| | 06:18 | This one's a little bit more complex,
we have lots of people we could choose
| | 06:21 | from, but we're going to do a
Workflow Lookup to find a particular user.
| | 06:26 | And where I'm going to look is I'm going to
look in the Data source that's called wfDeptContacts.
| | 06:33 | So if it's not on the list, if you
don't see wfDeptContacts here, go ahead and
| | 06:38 | close out of these dialog boxes and
click the Refresh button up here and have it
| | 06:43 | go back to the server and get a list of
all of the different lists and libraries
| | 06:47 | that you have, because if you just
created it a few minutes ago, it may not yet
| | 06:52 | have shown up here in SharePoint Designer.
| | 06:54 | But I am going to choose wfDeptContacts,
and the field that I want out of that
| | 06:58 | list is the Email, and
it's coming back as a string.
| | 07:02 | Now what I need to do is
identify how it's going to be found.
| | 07:06 | So this is the data to retrieve, and if you
read this dialog it's really pretty straightforward.
| | 07:11 | Choose the Data source, so go do a lookup on
wfDeptContacts and bring back an Email Address.
| | 07:18 | How do we know which one the right one is?
| | 07:20 | Well, what we are going to do is we
are actually going to look here in the
| | 07:25 | Department field in wfDeptContacts, and
we're going to pull back the match for
| | 07:32 | the employee department in the Current Item.
| | 07:35 | So here in our list we filled in an
employee department, it should match
| | 07:40 | the department field in wfDeptContacts, and
when it does, it will pull back the Email Address.
| | 07:46 | Now, there is no necessary unique ID in our
list of the employee departmental contacts.
| | 07:53 | And so SharePoint is going to tell me
hey, without having an unique ID it's
| | 07:57 | possible that somebody would add 3 or
4 different contacts for the accounting
| | 08:00 | department, 5 or 6 for the shipping
department, and if that happens, I'll
| | 08:04 | only use the first one.
| | 08:06 | We can say yeah, we want to
continue, that's okay, that's just fine.
| | 08:10 | So all of that work was to create this
wfDeptContacts Email Address and pull it
| | 08:15 | back based on the value.
Let's go ahead and say OK.
| | 08:19 | We need to enter a Subject now or we
can't save this email message so this
| | 08:23 | subject might be, You have a new employee!!
| | 08:27 | And then some more information,
we'll talk more about how we might want
| | 08:30 | to address that later.
But now we can Notify the Department.
| | 08:34 | So the way this works is as soon as
there's a new item that's dropped into that
| | 08:40 | list we'll begin emailing, and the very
first person emailed will be whoever the
| | 08:44 | contact is for the department.
| | 08:46 | Let's go ahead and test
this and see how it works.
| | 08:49 | We are going to Save and Publish.
| | 08:53 | I didn't Check for Errors, but if there
were any we would have heard about it by
| | 08:58 | now because it wouldn't
actually Save and Publish.
| | 09:00 | And now if we go back to our list,
and we Add a new item, and we are going
| | 09:05 | to add Greg Bennett.
| | 09:09 | And we are going to say that Greg
actually works in the Info Tech department.
| | 09:13 | That makes it easy because those
emails are coming to me out of the list.
| | 09:17 | And I would probably rearrange the
default view to put Employee Department next
| | 09:21 | so it was way up here at the top.
| | 09:23 | That would be a nice thing because
then the form would reflect that.
| | 09:27 | Let's go ahead and click Save.
| | 09:28 | And you will notice that we have
this Employee Onboarding In Progress.
| | 09:31 | Greg's working for the Info Tech
department and here is the email that was sent
| | 09:35 | only to me as the contact
listed in the wfDeptContacts list.
| | 09:41 | So if later on I get promoted and
someone else's this person, all we have to do
| | 09:45 | is change it in one place in that list.
| | 09:47 | And this is how you use a
contacts list to generate emails in
| | 09:51 | SharePoint Designer Workflows.
| | Collapse this transcript |
| Using Outlook rules to manage workflow messages| 00:00 | We are over here in Outlook for a
moment, and don't let this startle you, but I
| | 00:04 | want to show you something that you
can do in Outlook and more importantly,
| | 00:07 | something that you might already know to
do but you'll want to show some of your
| | 00:11 | users, particularly when you're in the
initial stages of a workflow, and you're
| | 00:14 | doing a lot of testing.
| | 00:16 | You don't want to have your Inbox fill
up with a whole bunch of extra e-mails
| | 00:21 | they you've sent just to make sure the
workflow is working, and you're actually
| | 00:25 | seeing what your users future looks
like too is that they are going to get lots
| | 00:29 | emails every time there's a new
employee in a position that particular workflow
| | 00:33 | going to email people.
| | 00:35 | Whenever we have each workflow kicking
off and sending emails, folks are going
| | 00:38 | to get them and what will happen is that
over time they actually won't pay a ton
| | 00:43 | of attention to them, and then they
will start complaining about them.
| | 00:46 | So it's really good early on if you can
show folks how to manage their email and
| | 00:50 | these will work for you as well.
| | 00:52 | So we have a workflow that every time
it kicks off it actually sends a workflow
| | 00:56 | initiated message to me as the
Developer, or as a person who is monitoring
| | 01:00 | workflows, the Workflow
Administrator in the organization.
| | 01:03 | I'm just going to right-click on this,
and I'm going to create a new rule, and
| | 01:07 | the rule that I'm going to create is
going to say that if I get a message that
| | 01:12 | starts with workflow initiated, From
Two Trees, which is actually the name of
| | 01:17 | the SharePoint here.
| | 01:19 | If it's From Two Trees and the
Subject contains Workflow initiated then I'm
| | 01:23 | going to move it to a folder.
And I'm going to create a New Folder.
| | 01:27 | I'm going to name a folder SharePoint
workflows, and I'm going to say every time
| | 01:33 | I'm going to throw it in there.
| | 01:35 | Now, if I have a number of workflows
that I'm managing I might want to even be
| | 01:39 | more granular and create a new folder
inside of that one that says something
| | 01:44 | even more specific, for example,
Employee Onboarding or whatever it is.
| | 01:48 | And the reason that I want these to come
to me is the fact that they stop coming
| | 01:53 | would tell me that something was wrong.
| | 01:55 | But also, originally, it lets me take
a look at what the user experience is
| | 01:59 | it gives me a way to debug without
having to go and crawl into my workflows
| | 02:04 | in order to do that.
So I'm going to say go ahead and send it here.
| | 02:08 | Every time there's a new item go ahead
and slide it in there, and I'm going to
| | 02:12 | say OK, and it's going to ask me what
would you like me to do with the messages
| | 02:14 | you have already in the Inbox.
| | 02:15 | So I'm going to say, go ahead and move
them over there, and indeed it has done that.
| | 02:21 | I can create a new rule again for
any of these particular workflows.
| | 02:26 | While I'm working on a workflow,
perhaps for the first month or sometimes less
| | 02:32 | after I launch it, I'm going to take
that Employee Onboarding workflow folder,
| | 02:36 | and I'm actually going to
show it up here in my Favorites.
| | 02:39 | So as I have things coming in no
matter where I am, no matter how this is
| | 02:43 | collapsed, I'm actually going to see
that I have new information coming in, and
| | 02:47 | if it seems unusual I can pop that
folder open and take a look at it.
| | 02:51 | This allows me to have my non-workflow
information, or my critical emails, in my
| | 02:56 | Inbox and will route the
other ones somewhere else.
| | 02:58 | Remember that this is something that
you can easily show also to other folks in
| | 03:02 | the organization just point them to
this movie and say go take a look at that,
| | 03:05 | because that would be a good way for
you to use rules to manage the information
| | 03:10 | that's coming to you from SharePoint as
a result of participating in workflows,
| | 03:14 | particularly a Workflow
Administrator or a Workflow Owner.
| | 03:18 | So use the rules in Outlook to match up
with the subjects that you've created in
| | 03:22 | your workflows, and you get a really
good fit that makes folks feel like they're
| | 03:26 | not inundated by messaging
coming out of your workflow system.
| | Collapse this transcript |
|
|
8. Using Core Actions in WorkflowsPausing a workflow| 00:00 | Two of the core workflow actions involve
waiting, pausing for something to happen.
| | 00:05 | One is to pause for a specific period
of time, and the other is to Pause until a
| | 00:10 | specific time, or time and date.
| | 00:12 | I'll be honest, that I don't use the
Pause until very often, I use Pause for
| | 00:18 | a few all the time.
| | 00:19 | So if we're going to choose to Pause
for a few, here, I can right-click and
| | 00:25 | choose Pause for Duration, and the
default duration is 5 minutes, and let me
| | 00:30 | tell you why I use this.
| | 00:31 | There are lots of actions that if you
take a step and then try to take the next
| | 00:37 | step, SharePoint needs to catch up with
you, it needs to update list, it needs
| | 00:40 | to send an email, and if you jump right
from one thing to the next, SharePoint
| | 00:45 | actually isn't ready for you.
| | 00:46 | A prime example of that is when you
want to copy an item to another list and
| | 00:52 | then delete the current item.
| | 00:54 | If you don't leave room for a pause
that item will never actually be deleted
| | 00:58 | because the Copy operation is still
going on, and the next microsecond
| | 01:02 | SharePoint gets ready to do the Delete,
and it can't, because the item is in
| | 01:06 | use, it's being copied.
| | 01:07 | So Pause for Duration is something that
I use a fair amount, anytime that I want
| | 01:13 | to make sure that I'm not getting
ahead of myself with the workflow.
| | 01:15 | Pause until a specific time on the other
hand, I use sometimes, but not quite so much.
| | 01:22 | It's a core action, it says, Pause
until Date, but you'll notice that it
| | 01:26 | actually says this time, you're
choosing a time and a date combination here.
| | 01:30 | So the types of things you might use
this for are you might have a workflow
| | 01:34 | cranking along, and you send
something to someone, and then you're going to
| | 01:38 | send them a reminder.
| | 01:40 | There should be no action in between
your initial send and the reminder.
| | 01:43 | If there is you wouldn't want to pause,
and I believe that's why I don't use
| | 01:47 | this quite as much as I might.
| | 01:49 | Because if I'm pausing, by definition
this workflow isn't really doing anything
| | 01:54 | during that time, it's waiting until
the specific time or date comes up, that I
| | 01:59 | would say, okay that's what I want to do.
| | 02:01 | So I'm going to say Pause until a
specific time, and we're going to Pause until
| | 02:06 | the 11th at 4 O'clock PM, and then the
next step in the workflow would continue.
| | 02:16 | So two easy pauses to set, Pause for a
Duration, Pause until a specific time or date.
| | 02:21 | Use them as you need to in order to
set reminders, slow your workflow down, or
| | 02:27 | just make sure that you keep
things synchronized with SharePoint.
| | Collapse this transcript |
| Understanding workflow variables| 00:00 | When you look at the list of Core
Actions available for SharePoint workflows,
| | 00:04 | you'll find one action
called Set Workflow Variable.
| | 00:07 | Set Workflow Variable is used to create
a memory space that you can use to hang
| | 00:12 | onto an item that you want
to use later in the workflow.
| | 00:15 | For example, you might get some
information from a user that you want to
| | 00:19 | use three steps along.
So we'll store that in a Workflow Variable.
| | 00:24 | You might calculate something and
after it's calculated, but before it's used
| | 00:28 | somewhere it's going to be
stored in a Workflow Variable.
| | 00:32 | There are a couple of different ways to
create Workflow Variables, one is using
| | 00:36 | Set Workflow Variable, and when you
do that you'll actually go up in this
| | 00:39 | workflow and click on Local
Variables and Add a named container for it.
| | 00:44 | So if you were going to calculate a
total cost, go ahead and just call it
| | 00:48 | TotalCost, and we'd want to store
that sort of thing is an Integer or a
| | 00:52 | Number not as a String, and you'd say
OK, and we have a new Workflow Local
| | 00:56 | Variable that we could use.
| | 00:59 | You can come back and modify the
variable if you need to, if you forgot to type
| | 01:02 | it correctly, for example, and you used
String when you meant to have Number or
| | 01:06 | you used Number when you
intended to have Boolean.
| | 01:09 | So these are modifiable and they're also
removable when you don't need them in a
| | 01:12 | workflow any longer.
| | 01:15 | However, Set Workflow Variable is
only one of a number of actions that
| | 01:20 | use Workflow Variables.
| | 01:22 | And when you use the other actions, you
have a choice either to assign something
| | 01:27 | to a variable that you created as a
Local Variable or to simply allow SharePoint
| | 01:32 | to make up its own names for
the variables as it goes long.
| | 01:35 | Let's take a look at the list of
actions that use Workflow Variables.
| | 01:39 | The first of course is Set Workflow
Variable where you very intentionally have
| | 01:43 | said, I have a purpose, I want to do a
calculation and store it somewhere, I
| | 01:48 | want to grab some information
from a user and store it somewhere.
| | 01:51 | But if you create a new list item,
SharePoint will actually create fields to
| | 01:56 | store the items in until
it can create the new item.
| | 02:00 | If you do a calculation the results have to
be stored somewhere, if only for a microsecond.
| | 02:05 | And the same thing with Time/Date
calculations, which add time to date and set
| | 02:10 | time portion are both types of.
| | 02:12 | When you collect data from a
user, it needs to go somewhere.
| | 02:16 | And then finally, all of the
utility actions create workflow variables.
| | 02:21 | From extracting a substring to
finding an interval between two dates,
| | 02:26 | notice that they all are functions and every
one of them needs a place to store its results.
| | 02:31 | So Workflow Variables allow you to store
the contents of information temporarily
| | 02:36 | without needing to provide a SharePoint
column or a form field to store it in.
| | Collapse this transcript |
| Creating workflow variables| 00:00 | Sometimes when you create a workflow,
you actually start at the end, and it's
| | 00:04 | not a bad way to start.
| | 00:06 | For example, the business has told us
that they want to automate the process of
| | 00:10 | ordering business cards, this is a
perfect easy workflow, low hanging fruit.
| | 00:14 | And this is what they'd like the email
to look like when it's all done, Your
| | 00:18 | order for the ordered quantity of
business cards has been received, this is who
| | 00:22 | will notify, this is when you'll
receive them, and this is what you'll be
| | 00:25 | charged, Thank you, the folks in Facilities.
| | 00:28 | So we're going to create a
workflow for business card order.
| | 00:31 | I've already created the list to support the
workflow, let's take a look at it real quickly.
| | 00:36 | Doesn't look like much this way, I
always like opening up that initiation form
| | 00:40 | so I can go take a look.
| | 00:41 | So, who we're going to Notify, there
is the Quantity, names for the cards, I
| | 00:45 | could actually make all of these
fields required--and probably would want to--
| | 00:49 | and the date that it was created on.
And it wouldn't hurt for me to go in and
| | 00:54 | to set the default on this to be equal to
today, but that's what the order form looks like.
| | 00:58 | So we're going to need to create those
variables that we saw in the email, we
| | 01:02 | want to know, for example, how
much we're going to charge back to the
| | 01:06 | department, and we need to be able to
calculate that date that's seven days from
| | 01:10 | the day the order was placed.
| | 01:11 | Let's slide over to SharePoint
Designer and create those two variables that
| | 01:16 | we'll be using in our workflow.
So here we are in SharePoint Designer.
| | 01:20 | Workflow Variables are assigned to a
workflow, so I actually have to start with
| | 01:24 | a workflow to begin with.
| | 01:25 | Here are my business card orders, and
we're going to do a new List Workflow, and
| | 01:30 | the name of this is going
to be Order Business Cards.
| | 01:36 | Business Card order and confirmation email.
| | 01:40 | Now we're going to start with
just a small piece of this workflow.
| | 01:45 | And this is the piece that would
actually go from the point when somebody
| | 01:49 | ordered it, to us sending that email.
So that only requires two local variables.
| | 01:55 | The first is going to be a place
to store the chargeback amount.
| | 01:59 | And we're going to store that as a Number.
| | 02:02 | Notice that we have Number and Integer
just those two, we don't have things like
| | 02:08 | currency, we'll get
those types of choices later.
| | 02:10 | But right now you just need to decide,
is it an Integer? Or is it the equivalent
| | 02:15 | of a non-integer, double, or any
other choice, other than Integer?
| | 02:21 | And then I need to add a DeliveryDate, or
a promise date, and I want to make sure
| | 02:27 | that I store that as Date/Time, and that's it.
| | 02:30 | So we've set up our two local variables
that we'll use in this workflow, and we
| | 02:34 | will be using them in the next two
movies with two different workflow actions.
| | Collapse this transcript |
| Using Do Calculation| 00:00 | We've created two local variables to
use to store information in our workflow,
| | 00:05 | and we're going to
calculate a chargeback amount.
| | 00:08 | We charge five cents for each
business card that gets ordered, and so we're
| | 00:12 | going to click and choose Do
Calculation out of our list of Core Actions, and
| | 00:19 | we're going to calculate.
| | 00:20 | Now here notice that I can choose out
of the Current Item, but I could also
| | 00:25 | choose an existing variable.
| | 00:27 | If I wanted to look something up in
another list, I could do that as well.
| | 00:31 | But in this case, I want to take the
Current Item, and I would like to find
| | 00:37 | Quantity, typing the
letter Q was a big help there.
| | 00:41 | The field type is picked up out of the
SharePoint list, so I don't get to set
| | 00:45 | that, it's already set in the library, or list.
I am going to click OK.
| | 00:50 | Now I have the choice of five
different operators, plus, minus, multiply by,
| | 00:56 | divided by, and mod.
| | 00:58 | Of all of these, mod is the one that's
probably a little bit more interesting
| | 01:02 | than the others because the place
that you'll use mod typically is in things
| | 01:06 | like fulfillment and
warehousing, other kinds of shipping.
| | 01:10 | Mod is the remainder that is left
over after we do a division operation.
| | 01:16 | So, for example, if we have 49 items
that we're putting into palettes, and
| | 01:21 | a palette holds 12. Then mod is the
1. The remainder that is left over
| | 01:27 | when you're all done.
| | 01:28 | But we're going to choose multiply by,
and then I can set any value here.
| | 01:33 | Now notice I can go back, and I can look
something up if I wish, or I can simply
| | 01:37 | say that I want to enter a value manually.
Then I get to choose where I store it.
| | 01:44 | Now as soon as I chose Do Calculation,
Microsoft SharePoint stubbed it in for
| | 01:49 | me, and it included
creating a variable called Calc.
| | 01:52 | But I want to use the variable I
created called Chargeback, so I'm going to
| | 01:55 | just choose chargeback.
| | 01:57 | So what we've done here with Do
Calculation is we've grabbed a value out of the
| | 02:01 | Current Item, done an operation,
multiply by in this case, by another value, one
| | 02:07 | we typed in five cents, and we're
storing this in a variable called Chargeback
| | 02:12 | so that we can use it later in this workflow.
| | 02:14 | If we forget to use it, when the
workflow ends, this value will be discarded.
| | Collapse this transcript |
| Calculating and setting times| 00:00 | We're continuing with our business card
order workflow and just so you can take
| | 00:05 | a quick look at this, we created a
workflow variable called DeliveryDate, and we
| | 00:10 | want to calculate seven days from
the date in which the order was placed.
| | 00:14 | So let's go ahead and create a new
step, and in this step we're going to
| | 00:19 | Calculate the Delivery Date.
| | 00:23 | The function that we'll use for this is not Do
Calculation, but is instead Add Time to Date.
| | 00:31 | This name is a little interesting, it
makes it feel like there's a date, and
| | 00:35 | we're going to add like 3 p.m.
to a date that already exists.
| | 00:38 | Actually you could think of this as
add time to time, add date to date, or
| | 00:42 | increment date or time, which is the
way I tend to think about it because
| | 00:47 | everything here is a variable.
| | 00:48 | I'm going to add 7, then click
somewhere else, days to the date.
| | 00:56 | And the date that I want is actually to
go into the Current Item and to grab the
| | 01:01 | date that it was created on.
| | 01:04 | Now there is also just a Created field
that I could use, it's also Date/Time,
| | 01:09 | either one of those will do, but
I'm going to use Date Created, say OK.
| | 01:13 | And as soon as I added this particular
action, Microsoft SharePoint stubbed it
| | 01:20 | in and included a new variable.
| | 01:21 | But I want to use my own variable
called DeliveryDate, because it's going
| | 01:25 | to make it a lot clearer when I put this
into my email message later in this workflow.
| | 01:29 | So again, the action here is Add Time
to Date, but it's used to increment time
| | 01:35 | on any kind of a date, whether you're
adding minutes, days, hours, whatever it
| | 01:41 | is you wish, and storing it in a local
variable that will have the same life as
| | 01:46 | the duration of the workflow.
| | Collapse this transcript |
| Setting workflow status| 00:00 | While your workflow is running, SharePoint
updates and then shows that it's in progress.
| | 00:05 | And then when it's all done it shows it as
canceled, or completed, depending on how it ended.
| | 00:11 | There are some built-in statuses, but you
can set your own status that would be a
| | 00:15 | little more user friendly or
would just provide more information.
| | 00:19 | So to set the workflow status, this is
different than the status of an item that
| | 00:24 | we might do as a custom field, this is
of the workflow itself, let's go ahead
| | 00:27 | and choose Action > Set Workflow Status.
| | 00:30 | Now there are three items
on the dropdown already.
| | 00:33 | You can choose when you're setting the
status from Canceled, Approved, and Rejected.
| | 00:37 | You can also add other items to this list.
| | 00:40 | If you do you can't delete them from
this list later on, so this is a place to
| | 00:44 | be a little careful with your typing.
| | 00:46 | And if you have a list that you're
going to use, you might imagine before you
| | 00:50 | customize it, what that list would look
like in all kinds of different settings.
| | 00:54 | For example, if I wanted to have
something that instead of said Canceled, said
| | 00:59 | that the workflow status was terminated.
Am I comfortable using that every place?
| | 01:04 | Or is that jargon that's only
good for this particular list?
| | 01:08 | On the other hand, I might want
to type something really long.
| | 01:11 | For example, we've ordered the
business cards when it gets to this point.
| | 01:15 | So the workflow status could be Order Completed.
| | 01:19 | That would be just fine as
something that I might want to set.
| | 01:22 | And I wouldn't use that then if
wasn't an order system of some kind.
| | 01:25 | So I'm actually going to say
Order Completed, and I'm going to Tab.
| | 01:30 | So now when I go back to this list, as
I told you, I have four items on here.
| | 01:35 | And I can use this anyplace else in this
workflow, and with this list, but not anywhere else.
| | 01:41 | If I want to have Order Completed
elsewhere, I'm going to need to type it in
| | 01:45 | again unless I want to approach this
programmatically using Visual Studio.
| | 01:49 | So, if this is the very last step in
workflow like it is here, I'll actually see
| | 01:53 | this when I go look at my
workflow log or my history log.
| | 01:58 | But right now it just gives me a way
to move the status along and use the
| | 02:02 | language that I would prefer to use,
in order to update the workflow status.
| | Collapse this transcript |
| Stopping a workflow| 00:00 | We want to talk about how we stop a
workflow, and why we would stop a workflow.
| | 00:04 | So we're returning to our request new
position workflow that we've been working
| | 00:08 | with throughout this course.
| | 00:10 | Every single workflow needs to be
designed in such a way that it can end.
| | 00:16 | So if, for example, in this workflow as
long as vice presidents are giving their
| | 00:21 | approval we go all the way through to the end.
| | 00:24 | The workflow will actually end itself
right down here, after it emails, create
| | 00:28 | the position this final step, that
email is sent, and then it will mark itself
| | 00:33 | as complete, and it will end.
| | 00:35 | But at all of these other points in the
workflow where approval isn't given, we
| | 00:40 | need to terminate the workflow ourselves,
because if the Current Item equals No,
| | 00:45 | we send an email, and then we just stay
here in the workflow, and the workflow
| | 00:49 | remains in progress, it remains unconcluded.
| | 00:52 | So one of the things we want to be able
to do is when we come to a branch where
| | 00:57 | one choice is to continue and the
other choice is not to continue, then the
| | 01:01 | thing that we need to do to finish off
that not continuing branch is actually to
| | 01:05 | choose the action Stop Workflow.
| | 01:08 | When we do this then we'll
be asked to log a message.
| | 01:10 | If we just want to grab a value out of the
current item and send it to the log we could.
| | 01:16 | But I usually will choose to display
the Builder and to actually put some text
| | 01:20 | in here that says Workflow
Stopped, and to reflect why.
| | 01:25 | In this case it's the Area VP
did not approve the position.
| | 01:31 | If I want to add Lookups here, I can.
| | 01:34 | Just as I can in an email message or
anywhere else I see this String Builder.
| | 01:38 | So I'm going to say OK, this will be
sent to the log, we'll be seeing logs
| | 01:42 | later on in this course.
But that's how Stop Workflow operates.
| | 01:46 | Again, you never need to add a stop the
workflow at the end, it will do it automatically.
| | 01:51 | However, any place above the bottom of
the workflow where you're saying here's a
| | 01:56 | dead end, what you need to do then
is stop the workflow, and write the
| | 02:00 | appropriate entry to a log so
that every workflow can complete.
| | Collapse this transcript |
|
|
9. Using List and Utility Actions in WorkflowsCreating a new list item| 00:00 | The SharePoint list actions are
used in both lists and libraries.
| | 00:04 | We are going to create a real small workflow
here to show how we can create a new list item.
| | 00:10 | This is a really handy thing to be able
to do, and it provides the same kind of
| | 00:14 | interoperation that you have in Outlook,
for example, where you say, I want to
| | 00:18 | take a calendar item and create
a new task based on that item.
| | 00:22 | What we are going to do is we are going
to use the Calendar here, the corporate
| | 00:27 | calendar for Two Trees Olive Oil.
| | 00:28 | And give users the ability, when they
create a Calendar Item, to actually go in
| | 00:32 | and then create an announcement from it.
| | 00:35 | We could also make this automatic and
have it happen whenever a new item is
| | 00:38 | created, we can talk about that, but I
think we'll create a manual process right
| | 00:42 | now, until we get used to
it and see show it works.
| | 00:46 | Let's jump over to SharePoint Designer.
| | 00:48 | Here's our Calendar List in SharePoint
Designer and what we are going to do now
| | 00:52 | is we are going to create a new workflow
for this list, so we'll go to Workflows
| | 00:57 | > List Workflow > Calendar, one of many
ways to get here, and I'm going to say
| | 01:02 | Create Announcement from Calendar Item.
| | 01:09 | And again it's a good idea to have
some documentation here about the
| | 01:14 | Description because it will show up.
And particularly if you have multiple
| | 01:17 | people creating workflows, you want to say who
it was who created it, and what the intention was.
| | 01:22 | This is pretty straightforward, we are
going to Create and post an Announcement
| | 01:27 | item from the current Calendar Item, okay.
| | 01:37 | So here we are Step 1, and we are
going to just insert our first Action.
| | 01:43 | Our first action is List
Action > Create List Item.
| | 01:48 | Create list item in this list, so the
list that we want to choose here we are
| | 01:51 | going to create the item not here in
the Calendar, but over in Announcements.
| | 01:58 | And it says okay, well, what will we
use for the Title of that item that we
| | 02:02 | are going to create?
| | 02:03 | So we need to modify this and then go
choose the field in the calendar that we
| | 02:08 | would actually want to use.
| | 02:10 | So from the Current Item in the
calendar, we have lots and lots of choices.
| | 02:14 | But remember that what we'd like to do
is we'd actually like to have something
| | 02:19 | that makes some sense as a title, and
you'll probably find over and over again
| | 02:23 | that if you go back and
choose Title, that works.
| | 02:25 | So we are going to create an item where title
is the same as the title in the Current Item.
| | 02:32 | And we can add other items as well
if we wish, so we have, for example,
| | 02:37 | information about what's going to
go in the Body of the announcement.
| | 02:41 | And we can use a Builder for this if
we wish, and we can say The event, and
| | 02:48 | let's go grab the Title, will be held on,
go get some more information about it,
| | 03:06 | Start Time at, Location.
| | 03:14 | Now you might wonder how I
know what these things are called.
| | 03:17 | Well, they are the same as they are in Outlook.
| | 03:19 | If you know them from
Outlook it's going to work for you.
| | 03:22 | If you don't know they are from Outlook
then you can actually go take a look at
| | 03:26 | an Outlook form and see what all the items are.
You can also take a look at a SharePoint form.
| | 03:31 | You need to know the names of these
fields so that you can call them up.
| | 03:35 | So Title is pretty standard
across all items and documents.
| | 03:38 | Things like Start Time and Current
Location, you might also want to know.
| | 03:41 | Here's a link to this event.
| | 03:49 | There is our Encoded Absolute URL, which
we are going to use every single time we
| | 03:54 | want to create a link.
| | 03:56 | So, we've got a title, we've got some
other information that's going to go into
| | 03:59 | the Body that we've built, and we
could add other fields if we wish.
| | 04:04 | But this is good enough for us
to get an announcement going here.
| | 04:07 | Let's say OK and the output is
going go to a variable called create.
| | 04:12 | I am going to call this Create Announcement.
| | 04:17 | I just think it's good not to leave
step 1, step 2, and step 3, and so on in there.
| | 04:21 | Even if there's only one step, there
should be something that's going to work for us.
| | 04:26 | I want to Check this for
Errors at this point and say OK.
| | 04:29 | Let's go ahead and Save, and let's Publish.
| | 04:34 | Let's go back out of the
Editor to the item itself.
| | 04:40 | I really want to force myself to do
this, and encourage you too as well, because
| | 04:45 | this is where we make sure, for
example, that if we wanted to have it
| | 04:48 | automatically started, it would start here.
But this is all we want to have.
| | 04:52 | This is good, it's published so it's
running on the calendar, and now we can go
| | 04:56 | back over and test it.
| | 04:58 | So I'm going to create a new calendar
item for the 4th of July, maybe at 6:00
| | 05:05 | o'clock, for example.
| | 05:07 | Here's my New Item form that opens, and
this is going to be a Barbeque and the
| | 05:14 | Location will be Balboa Park.
And it's going to go from 6:00 to 9:00.
| | 05:22 | And we could have some other
information, the Description of course, we could
| | 05:26 | create some Categories, we could
specify our own values, and I am just going to
| | 05:32 | go ahead and Save this item.
| | 05:33 | So here is our calendar item, we can
select it, and choose Workflows, or we can
| | 05:39 | double-click to open it, and click Workflows.
| | 05:42 | And we're going to Create an
Announcement from the Calendar Item.
| | 05:46 | Click Start, and we are back in our
Calendar, and it looks like nothing's changed.
| | 05:52 | But we didn't expect it to change here.
| | 05:54 | Let's go to our Announcements List and here
is our new announcement about the Barbeque.
| | 05:59 | The title that we provided is the
same title as it had in the calendar.
| | 06:03 | And here's our body text This event
will be held on 7/4, at 6:00. There's our
| | 06:08 | location and here's the link to
the event, very easy to create.
| | 06:13 | So this ability to take a current item and
create a new item in another list is very powerful.
| | 06:20 | You might want to create Tasks from
calendar items. You might want to take a
| | 06:24 | Discussion item and turn it into a
Task, or an Issue, so that it can be worked
| | 06:28 | on further by folks who are just
discussing it in a sort of ad hoc fashion right now.
| | 06:33 | So take a look at opportunities to
create items of different types in different
| | 06:38 | lists, or the same type of item in a
second list, if you prefer, a document that
| | 06:43 | we are now going to create in a second library.
| | 06:46 | This is how the Create New List Item
works in your SharePoint Workflows.
| | Collapse this transcript |
| Checking items in and out| 00:00 | There are lots of list actions, some of
them are not made for all lists, but are
| | 00:05 | made specifically for libraries.
| | 00:07 | Document libraries are a more
specialized type of list, and some places here in
| | 00:12 | SharePoint Designer lists and
libraries are lumped together.
| | 00:16 | But in this particular list, in the Site
Objects list, there is some real clarity
| | 00:20 | about what's a list and what's a library.
| | 00:22 | We've been working with the new
position request workflow a fair amount, and
| | 00:27 | it's easy to think of that as
having being created as a list.
| | 00:31 | But any time we publish an InfoPath form
to create a list, we're really creating
| | 00:37 | a form library or a type of document library.
| | 00:40 | So we're going to work with our
request for new position workflow.
| | 00:44 | see here they're listed as Lists,
but it's really for a Library.
| | 00:48 | And let's go ahead and
open and edit that workflow.
| | 00:52 | Because we might want to be in a
position where we could actually check
| | 00:55 | something out, make some
changes to it and check it back in.
| | 00:58 | So this is the type of list where we
would use those particular actions.
| | 01:04 | So let's say, for example, that we
wanted to check the item out to do
| | 01:07 | something with it here.
| | 01:08 | I'm going to add another step that says Check
out, modify, and check in item, for example.
| | 01:20 | And then we'd say that the action that
we want to use down in our list items,
| | 01:24 | and if you know you're doing a lot of
this, you can click this arrow and just
| | 01:28 | say show me the List Actions, so I
don't have to scroll while I do this set.
| | 01:32 | Let's go ahead and check out the
item, and in this list check out the
| | 01:36 | Current Item, works for me.
| | 01:38 | Then we might want to do some kind of
a modification using any of the other
| | 01:43 | actions that we have, and then it's
time for us to say we're done with this
| | 01:47 | item, and we want to check it back in.
| | 01:49 | So let's say we checked out the item,
and we had a user working with it, and
| | 01:54 | then they checked it back in, so they're
checking it back in to the Current Item
| | 01:59 | and the comment could be
whatever the output of that is.
| | 02:02 | So this item has been sitting with
the hiring manager, so the comment might
| | 02:06 | simply be that the hiring manager has reviewed.
| | 02:11 | And this, again, is going to be available--
this comment--not in a workflow history.
| | 02:16 | This comment is actually being written
into the versioning on this particular document.
| | 02:22 | So when somebody goes and looks at the
history of the document being checked in
| | 02:25 | and checked back out, they'll
actually see this comment that this item was
| | 02:29 | checked out, that something was done.
| | 02:31 | We might if we were doing something
programmatically here, we were actually
| | 02:35 | going and saying, well, I'm going to
change a value in this item, I'm going to
| | 02:39 | edit one if its values, and it doesn't
take that long, this is another great
| | 02:44 | place for us actually to insert that
pause for duration for that 5 minutes,
| | 02:49 | because a checkout followed by a really
quick check in can create some problems for us.
| | 02:54 | The other possibility is that we
didn't want to check it in at all, that
| | 02:58 | the action that we actually wanted to do
here was the action of discarding the checkout.
| | 03:03 | So if we discard the checkout, that
would look like this, and we would say
| | 03:07 | discard the checkout of the current item.
| | 03:09 | Now in this particular case that
discard would never happen because the item
| | 03:12 | would be checked back in.
| | 03:13 | One of the things that check in and
check out does is that actually makes sure
| | 03:18 | that the appropriate state is
there before it tries to run.
| | 03:21 | So if the item is already checked out,
you won't be allowed to check it out.
| | 03:26 | If it's not checked out you can
check it back in or discard it.
| | 03:29 | So that's how these three list
conditions, Check Item In, Check Out Item, and
| | 03:35 | Discard Check Out all work so that
you can make changes to an item and make
| | 03:41 | sure that no one else is making changes to the
same item while you're trying to modify it.
| | Collapse this transcript |
| Setting field values| 00:00 | Here's one of the things I love about
SharePoint, if we design our Workflows and
| | 00:04 | our Lists and Libraries carefully, we
can actually empower users to be able to
| | 00:08 | go into the site and get
information for themselves, particularly about
| | 00:12 | processes where they have some
investment and they might want to pick up the
| | 00:16 | phone every few minutes and call and
say, hey, did that position get approved
| | 00:20 | yet or what is the vice president of
finance think about these positions?
| | 00:24 | If I am careful in my construction and
provide information back to users, I can
| | 00:29 | give them a place they can get
that information without harassing an
| | 00:32 | administrative assistant somewhere
or walking around wondering what's
| | 00:36 | happening with their work.
| | 00:38 | So I've added one column here to our
NewPositionRequest list, that column called Status.
| | 00:44 | And now we're going to add Actions to
our workflow to be able to update the
| | 00:48 | value of the Status field so that
user could come in here and look and say
| | 00:53 | what's happening with that particular position?
| | 00:55 | Let's see how this works.
Here's our Workflow.
| | 00:58 | It begins with us Notifying the
Submitter, hey, we got your request.
| | 01:01 | The next thing we do then is we Email
the Area VP, and we say hey, what do you
| | 01:07 | think about this request?
| | 01:08 | And then we Wait for them to
actually go in and approve it.
| | 01:12 | So, if I'd like to be able to display
the status, Area VP Review, I would put
| | 01:18 | it right in here after we've emailed and
before they have actually made the change.
| | 01:24 | So in other words during the time
we are waiting for them to review.
| | 01:27 | I am going to click right there.
| | 01:29 | We are going to go to Action, and we're going to
choose the List Action > Set Field in Current Item.
| | 01:36 | The field I want to set is the Status
Field, and the value as neatly as I can put
| | 01:42 | it is Area VP Review.
| | 01:45 | Now if I'd called this field reviewed by,
then I could just put Area VP, but I
| | 01:50 | might want to do other things
than note who's reviewing it.
| | 01:52 | So, there is my first item right
there, Set Status to Area VP Review.
| | 01:58 | Same thing here, between the time we
email the vice president of finance and the
| | 02:02 | time that they actually do
something with that Date field.
| | 02:06 | Let's go ahead, Set Field in Current
Item, the field we are going to set is
| | 02:10 | Status again and the value is
going to be Finance VP Review.
| | 02:17 | And we have a third one of these,
between the time we email, the HR VP and the
| | 02:23 | time that they respond, Set Field in
Current Item, Status, HR VP Review.
| | 02:33 | Now I could also set another status
down here after the HR VP has approved, we
| | 02:40 | would absolutely know that there
wouldn't be any reason not to say that the
| | 02:44 | position was approved in total.
| | 02:46 | So, I could go here, and we can change the
Status to Position Approved. That looks good.
| | 03:01 | Let's Save it, Check for Errors,
looks good, and now let's Publish it.
| | 03:08 | And let's return to SharePoint.
| | 03:10 | Remember of course, that there's
already a workflow that doesn't include these
| | 03:14 | updates that's being used
by this initial position.
| | 03:17 | But let's go ahead and Add another document.
| | 03:21 | So, now let's get a Pipefitter, and we're going
to have them work in the Facilities Department.
| | 03:27 | We would love it if they were
available to start on August 1, and the Salary
| | 03:32 | range for a Pipefitter is
let's say, $50,000 to $65,000.
| | 03:38 | And I'm filling this out for somebody else.
Joe Johnson has actually asked for this.
| | 03:47 | Now notice that there's no Status
field that's been kept here in this form.
| | 03:52 | It's only available in the Workflow.
| | 03:54 | And we are going to need to
provide Joe's vice president's name.
| | 04:15 | So this is all set, we are going to Submit it.
| | 04:18 | The form was submitted successfully,
I am going to say OK and close it.
| | 04:22 | So we have submitted our document, here it is.
| | 04:24 | We know that we already have our
workflow In Progress because it tells us that,
| | 04:29 | and you might wonder why
this Status isn't marked here.
| | 04:32 | Sometimes, remember,
there's a little bit of a delay.
| | 04:35 | We have our workflow, and it's
sending a couple of emails, and then it's
| | 04:38 | actually updating the status.
| | 04:39 | So, one of the things that we'd want to do
is we'll actually just want to refresh this.
| | 04:43 | And as you will see, here's the Status,
and as our Workflow continues, the Status
| | 04:48 | will be updated with the Finance VP
Review and the HR VP Review and then our
| | 04:53 | final Status that shows that the
position was actually approved and filled.
| | 04:58 | This first workflow though, that's
running on this item will never reflect any
| | 05:03 | of these statuses, because it's on its
path already, running it's way down the
| | 05:07 | hill, and there's nothing that
we can do easily to redirect this.
| | 05:12 | Often, if people really want to make
sure that this document participates in a
| | 05:16 | workflow, the easiest way for them to
do it if it's relatively new is actually
| | 05:19 | just to repost the document again so
that it will pick up on the workflow, as
| | 05:24 | will every future document
that gets posted to this library.
| | 05:27 | That's how we can use the Action of
setting a field's value to a specific
| | 05:32 | value that we supply.
| | 05:34 | We can also use calculated values
and other values that we pull from
| | 05:38 | different list, but this is a really common use
of this particular action in SharePoint Workflows.
| | Collapse this transcript |
| Copying and deleting list items| 00:00 | We have got a basic Announcements List here.
| | 00:02 | And we have 20, 30, 40 announcements in
it, we want to get rid of them, but we
| | 00:08 | don't want to delete them.
| | 00:09 | We don't want them gone,
we just want them elsewhere.
| | 00:11 | So we really want an announcements
archive, and to have the ability for someone
| | 00:16 | to go in and to say I'd like to move
this item from one location to another.
| | 00:20 | So we created another announcements list
that's simply called Old Announcements.
| | 00:25 | And now we're going to add a workflow
to the Announcements List to allow a user
| | 00:31 | to move an item to the Old Announcements List.
| | 00:34 | Let's go to SharePoint Designer,
click Workflows, and add a List Workflow to
| | 00:39 | the Announcements List.
And this is going to be Move to Archive.
| | 00:47 | Move the current item to
the Old Announcements Archive.
| | 00:51 | You might think, why can't we just drag
and drop? And the reason is drag and drop
| | 00:54 | is turned off for many folks.
| | 00:56 | And it's difficult to just move things
between libraries, so let's see how we
| | 01:01 | are going to do this here.
| | 01:02 | This is actually a two-step process. We can
call the whole thing Move to Old Announcements.
| | 01:09 | And when we go take a look at our List
Actions, you'll notice that there is no
| | 01:15 | move item here at all.
| | 01:16 | That's because move is
actually first a Copy then a Delete.
| | 01:20 | So we are going to Copy this
List Item to Old Announcements.
| | 01:24 | Then we are going to take advantage
of one of our Core Actions, which is a
| | 01:29 | Pause for a Duration, we are going to
wait a few minutes to make sure that it
| | 01:33 | gets there, and then we are
going to Delete the current item.
| | 01:36 | So a Move is a Copy followed by a Delete.
| | 01:39 | Let's start with the Copy.
| | 01:41 | Copy the Current Item to. Notice the
Old Announcements isn't here, so we are
| | 01:47 | going to go up, and we are going to Refresh.
| | 01:50 | When you're moving pretty quickly with
SharePoint, this isn't all that unusual.
| | 01:54 | To this list, there is Old Announcements.
| | 01:56 | So we are going to Copy the Current
Item to Old Announcements, that's Step 1.
| | 02:01 | The second Action in this
step is actually to Pause.
| | 02:04 | So we are going to Pause for a Duration,
0 days, 0 hours, 5 minutes is actually sufficient.
| | 02:12 | If you were concerned, if you were in
a situation where you had SharePoint
| | 02:15 | hosted somewhere else, and you thought,
it seems to me that it sometimes takes
| | 02:19 | longer than it were, crank it up
to 10 minutes, doesn't really matter.
| | 02:22 | But 5 is usually good enough.
| | 02:24 | And then what we are going to do is we
are going to take our third Action, which
| | 02:29 | is on our List Actions List, which is
Delete Item, Delete the Current Item.
| | 02:35 | So, copy the item to Old Announcements,
wait for 10 minutes, Delete the item.
| | 02:39 | That's our entire workflow.
Works for me. Let's go ahead and Save it.
| | 02:45 | And now let's go back out to its settings.
| | 02:47 | This is a workflow that is manually
started, this is a great example of a
| | 02:51 | workflow that we don't want to have
start automatically. We don't want it to as
| | 02:56 | soon as you drop a new item in,
let's move it and delete it.
| | 02:59 | Although there are times you will
want to do that, this isn't one of them.
| | 03:03 | So let's go ahead and Publish it.
| | 03:07 | And now let's go back to our library,
and we want to go ahead and take this
| | 03:11 | announcement, and we'd like to archive it.
| | 03:14 | So I am going to choose
Workflows, Move to Archive, Start.
| | 03:19 | Notice that this is In Progress right now.
| | 03:22 | If we slide over here to Old
Announcements, we will actually find that the copy
| | 03:26 | part of this was done pretty quickly.
| | 03:28 | And so for this 10-minute interval,
this item exists in both places.
| | 03:32 | When the 10 minutes are up, if we come
back here to the Announcements List, we
| | 03:36 | will find that Move to Archive has
completed, and that this item is gone.
| | 03:42 | This raises the issue of whether we
actually want Move to Archive to show here.
| | 03:46 | If we were doing a lot of archiving,
we might, because that way someone can
| | 03:49 | actually tell, yup, I did it
right, it's already started.
| | 03:52 | But it also takes up space.
| | 03:54 | It might be that if you wanted to
show this, you would actually create a
| | 03:57 | library view that was archiving or a
library view that what utilities that
| | 04:01 | showed these columns for this kind of
clean up or utility-based workflow that
| | 04:07 | you might want to create.
| | 04:08 | But two new List Actions, Copy, Delete,
and a reuse of our Pause, give us a nice
| | 04:14 | Move from one library to another.
| | Collapse this transcript |
| Waiting for a change to a list item| 00:00 | Another useful action that we've used
in our Workflow is the wait for a field
| | 00:04 | value to change action.
| | 00:06 | We've used that here in our
Employee Onboarding workflow.
| | 00:10 | The way it works is we are waiting for
a user to go in and to change a value,
| | 00:15 | and when they do, then we
know we can resume the workflow.
| | 00:18 | But until they do, we are going to pause.
| | 00:20 | So, our form that we use in this
workflow is used in this fashion, the
| | 00:25 | Vice-President says, I
Approved this and they enter the date.
| | 00:30 | Later on then we've routed it to the
Vice-President for Finance and they don't
| | 00:34 | Approve it, and they enter a different
date to show of no, and they might make
| | 00:38 | the comment, No funds available at this time.
| | 00:43 | Clearly we can't wait to see if
the check box changes, because the
| | 00:46 | vice-President for Finance isn't
going to turn on and back off again.
| | 00:50 | So we have to watch another field, and
we intentionally added a field to this
| | 00:53 | form, a Date field that would
require someone actually changing it.
| | 00:58 | Another possibility, by the way--and
this has to do with form design more than
| | 01:02 | workflow--is we could've used rather
than a check box, a dropdown list that had
| | 01:07 | select as it's default and then
approved and rejected as its choices so that
| | 01:12 | someone would actually have to make a choice.
| | 01:14 | But these folks wanted to use a check box,
their old form had one, and their old
| | 01:18 | form actually had a place for
the date, so we copied their form.
| | 01:22 | But again, we are not going to wait for the check
box to change, we are watching this particular field.
| | 01:27 | So the way this works in our workflow
here is that we're Waiting for HR to be
| | 01:32 | greater than a particular date.
Any date that's in the past will do.
| | 01:37 | And when we added this Action, we actually
chose Wait for Field Change in Current Item.
| | 01:47 | It asks us for the field, and we said,
well, we want to wait on whatever field
| | 01:51 | that is that we are looking at.
| | 01:53 | And then to equal, we have to equal or
not to equal as defaults, but we would
| | 01:57 | also have greater than, less than,
and so on, based on the field we chose.
| | 02:02 | And then we would set a
value that we are looking for.
| | 02:05 | Now you really need to
understand what types of data you have.
| | 02:08 | Because if, for example, you have
text, like we are going to Wait for
| | 02:12 | Employee Name to change, or to not equal--notice
my list got longer as soon as I made a choice--
| | 02:19 | my Employee Name to not
equal a blank, we can do that.
| | 02:22 | But I couldn't wait, for example, for a
date like Created to not equal a blank,
| | 02:28 | because a date will never be blank.
| | 02:30 | So I could say I'm waiting for the date
created to be greater than, and I have
| | 02:35 | to enter a date here, so dates for date,
numbers for numbers, text for text.
| | 02:40 | But simply say to wait we
are going to watch this field.
| | 02:43 | And as soon as it changes, I want
you to note something else about this.
| | 02:47 | It's not saying as soon as it's not
empty or soon as it's filled, so you can use
| | 02:51 | wait on a field value to show that
something has been modified, as opposed to
| | 02:56 | it was blank, now it's filled in.
| | 02:58 | This Action is an incredibly powerful
action that you'll use over and over
| | 03:02 | again, especially if you consider how
to design forms to take advantage of it.
| | Collapse this transcript |
| Finding an interval| 00:00 | The Business Card Order entry system
has been a big hit in the Facilities area
| | 00:04 | and really throughout the business,
because it does exactly what it should do.
| | 00:08 | It allows users to easily provide
information so that they can get what they
| | 00:13 | need out of a system without a
lot of additional human intervention.
| | 00:17 | So, instead of getting a lot of
scraps of paper and phone calls and even
| | 00:21 | emails that then required the folks
in Facilities to use copy and paste to
| | 00:25 | order the business cards, now everything is coming into
a system. It's readily available in a SharePoint site.
| | 00:31 | Now, the folks in Facilities would
like to extend this just a little bit more.
| | 00:35 | What they would like to do is to be
able to provide additional feedback to
| | 00:39 | people, because what they're finding is
4 or 5 days in, people are picking up the
| | 00:42 | phone or emailing and saying, are those
cards really going to be done on time?
| | 00:46 | So a progress report, always a
good thing to put in a workflow.
| | 00:49 | And the second thing is they would like
to actually be able to know when stuff was done.
| | 00:54 | That's not something that we were
told to collect to begin with.
| | 00:57 | So I have added two more fields to the form.
| | 01:00 | The first, the time and date stamp
for when printing was actually done.
| | 01:05 | And the second a time and date
stamp for when someone was notified.
| | 01:08 | In terms of the printing, we will need
to have a human being to provide that
| | 01:12 | information, and you'll see
how to do that in a later movie.
| | 01:15 | The notification we'll provide
automatically, because when we send out the
| | 01:20 | email, it's easy for us to set a
value for a field in the current item.
| | 01:25 | There's another really good reason
that the business wants to collect this
| | 01:28 | information, because once we have times
and dates that show when a process was
| | 01:33 | started--a midpoint, for example,
when printing was done--and when it was
| | 01:38 | complete when someone was notified, we
are collecting key performance indicators
| | 01:43 | about the efficacy of our printing operation.
| | 01:46 | So, we can accumulate lots of data
easily about printing and find out,
| | 01:51 | does it really take 7 days?
Why does it take 7 days?
| | 01:55 | Is there additional time that's needed?
| | 01:57 | Whether we're sending things out to a
vendor or we have an internal printing group,
| | 02:02 | it nice for us to just have easy
information that we can use to say, are they
| | 02:06 | getting better or worse at what they're
doing? Is it taking more or less time for
| | 02:10 | them to provide business cards?
So why not collect this data?
| | 02:14 | Again, you'll see that I could have a
check box here that says Printed check,
| | 02:18 | Notified check, but I don't.
| | 02:20 | I'm using the time and date stamp,
because that's the only way that we can have
| | 02:24 | this kind of performance information.
| | 02:26 | I want to go ahead and close this
form, and we are going to head over to
| | 02:31 | SharePoint Designer to see how we can
calculate these intervals to be able to
| | 02:34 | grab indicator data about our business.
| | 02:38 | Here we are in a SharePoint
Workflow for order business cards.
| | 02:41 | And you'll notice that I have already
added a couple of additional steps for
| | 02:45 | when we're going to complete printing
and when we have sent the notification.
| | 02:50 | I have a couple of questions.
| | 02:51 | How are we going to get
completion information from the printer?
| | 02:54 | Is there any lag time needed for shipping?
| | 02:56 | Is it possible, for example, that
we're sending some things out to be shipped?
| | 03:01 | Is shipping a different separate process?
So if something's printed today, it won't
| | 03:05 | go out today, it won't go out until
tomorrow, so I need to know those things.
| | 03:09 | But that's not what we are
really worried about right now.
| | 03:12 | Right now, what we're concerned with is
how are we going to calculate the time
| | 03:15 | between when an order was submitted
and when the order was actually completed?
| | 03:20 | Now both of those fields are date fields.
| | 03:22 | But if we subtract one date from
another, the answer in SharePoint is always
| | 03:27 | going to be a number rather than another date.
| | 03:29 | If you think about it, that's how it works
in Excel and Access and other programs too.
| | 03:34 | If I subtract today from tomorrow,
the number will be 1 day or 24 hours,
| | 03:40 | it won't be another date.
| | 03:42 | So we're going to create a couple of
Local Variables. The first Local Variable
| | 03:47 | we are going to create will be from
the time the item was submitted to the
| | 03:51 | time it was printed.
| | 03:52 | So, SubmitToPrint, and again, not
a date time, but actually a Number.
| | 04:00 | And then I want to add another local
variable that is for SubmitToFinish.
| | 04:07 | And again, subtracting one date from
another, the answer is not a date, but a Number.
| | 04:12 | So two new Workflow Local
Variables, let's go ahead and say OK.
| | 04:17 | Now let's see how we're going to
calculate the interval between the time this
| | 04:21 | was submitted and the time
that it was actually completed.
| | 04:24 | I am going to put it right down here
before Order Completed, because that's
| | 04:29 | where it belongs, and let's go ahead and
add an Action, and the action that we're
| | 04:33 | going to add is way down at the
bottom of the list, you see Utility Action
| | 04:37 | called Find the Interval Between Dates.
| | 04:40 | When it's first stubbed in, it says
Find minutes between date and date and
| | 04:46 | Output to a Variable called time.
| | 04:48 | Well, I already know that my
Variable here is called SubmitToFinish.
| | 04:52 | And I don't think I want to use minutes.
| | 04:55 | I am going to come up with
a really big number there.
| | 04:58 | Minutes feels too granular.
Days fields not granular enough.
| | 05:01 | I am going to choose hours.
| | 05:02 | So, I am going to calculate the number
of hours between and the Current Item.
| | 05:08 | First, when this item was
dropped off or created right there.
| | 05:12 | It's a Date/Time field, then I want to
check that if I'm doing interval here.
| | 05:16 | And then find the hours between that
and the date that we don't necessarily
| | 05:24 | have yet, but we will.
| | 05:26 | That is the date that we actually
notify the user that this was done, so there
| | 05:30 | is our completion date, Date/Time field, yes.
| | 05:35 | So Find the hours between the time
this item was initially submitted and the
| | 05:40 | time that the user was notified,
which we are going to do in the prior step
| | 05:44 | right here, and Output that to SubmitToFinish.
So we are going to have a great number here.
| | 05:49 | The last thing we are going to need to
do is find a place to put this, because
| | 05:54 | we're at the end of our workflow.
| | 05:56 | So remember, that a local variable
that we don't do anything with before the
| | 05:59 | workflow ends gets disposed of.
| | 06:01 | So I am going to Add another Comment
here so that I don't forget that what I
| | 06:05 | need to do is I need to report
SubmitToFinish, so I don't forget to do
| | 06:12 | something with that variable.
| | 06:14 | I'm not quite sure yet what we want to
do with it, but I know that we want to
| | 06:18 | calculate it, and we don't want to lose it.
| | 06:20 | We could write it back to a column on
this list that we haven't added yet, or we
| | 06:26 | could use this to set a value
in a column in another list.
| | 06:30 | We will decide that as we continue
with our workflow and have a few more
| | 06:34 | conversations with our users and with
the business about how they would like to
| | 06:38 | have this information reported.
| | Collapse this transcript |
| Updating list items| 00:00 | We have a list called Asset Inventory
with a list of items. Each of them has a
| | 00:04 | unique Asset Number, a Title, and a Quantity.
| | 00:08 | And so we want to create an easy
workflow that would allow a user to walk around
| | 00:13 | the business and count things and
actually update this list pretty easily.
| | 00:17 | So let's go ahead and create this update list
workflow, and we can create this from anywhere.
| | 00:22 | Remember that the List Actions allow us
to take action on the current list but
| | 00:27 | also on other lists as well.
| | 00:29 | So we could put this just about
anywhere we would like to, but I'm going to go
| | 00:33 | ahead and connected to this particular list.
| | 00:35 | Let's switch over into SharePoint
Designer, and here's our Asset Inventory.
| | 00:41 | Let's just go ahead and
create an Update Workflow.
| | 00:46 | And all we really want to be able to
update is the Quantity, and this is an
| | 00:51 | Inventory reconciliation for physical inventory.
| | 01:00 | And so what we are going to do is we
are going to Update the Quantity on Hand.
| | 01:05 | To do that, we're going
to go to Update List Item.
| | 01:10 | We are going to update an item in this list,
and we are actually updating the current list.
| | 01:15 | And so what we're going to do is
we're going to Add setting In Stock, at
| | 01:21 | the start, to the value 0, so they will all be
zeroed out, so we can go do our current inventory.
| | 01:29 | So that's just going to do the
Current Item. Let's just go ahead and Save
| | 01:32 | this and Publish it.
| | 01:37 | And so if we were going out to do
inventory and wanted to 0 set these or
| | 01:41 | any other specific inventoriable value, we can
go here and say we are going to zero this one out.
| | 01:47 | Remember that we can go to
our List, we can choose an item.
| | 01:51 | We can say that we want to run a
Workflow on it, Start it, and notice that it
| | 01:57 | updated that value to 0.
| | 01:59 | Now, I can update a value to a specific
value, to a value that I get from another list.
| | 02:04 | I have access in that dialog to any of the places
that we've gotten information from before.
| | 02:10 | If I'm storing a variable, I
can stuff the variable in here.
| | 02:13 | So remember that when we were
working on this workflow and we get to the
| | 02:17 | point where we want to decide what
value we put in here, that I actually have
| | 02:21 | the ability to go get a value from
anywhere else, from a list, from a workflow,
| | 02:26 | anywhere that I've kept it, and then go
ahead and stuff it into this particular field.
| | 02:31 | Also, I can change as many of the fields in
this item as I wish all at the same time.
| | 02:36 | So, I'm choosing In Stock, but I
could say I also want to set, for example,
| | 02:41 | the Title, and allow the user to
change the title, because we got a new title
| | 02:45 | from somewhere else.
So this makes it really easy.
| | 02:49 | Now we have the ability to go and with
any particular List Item, we know now how
| | 02:55 | to Create it, how to Delete it, how to
Copy it, or how to Update it, all four of
| | 03:01 | the key actions that we
would use with List Items.
| | Collapse this transcript |
| Extracting substrings| 00:00 | You could create a lot of SharePoint
workflows and never need to extract
| | 00:04 | substrings from strings.
| | 00:06 | But if you do need this functionality,
you will want to know that it exists and
| | 00:10 | how to use it, because it will
save you lots and lots of time.
| | 00:14 | This is a Library that you haven't
seen before. It's a library where we're
| | 00:17 | asking employees to fill out and drop
in expense reports, and the template for
| | 00:21 | this Library is actually an Excel template.
| | 00:23 | So we didn't create this using Info
Path, it's a dock library with an Excel
| | 00:27 | workbook sitting behind it so that when
a user goes in and says I want to create
| | 00:32 | a new instance of this, I want to
submit my expenses, they will go to New
| | 00:35 | Document, Create a new document in the
library, and there's actually an Excel
| | 00:39 | template that opens up.
| | 00:41 | So here's the Excel template, and when
we're all done, we've actually provided
| | 00:44 | information for users on
how we want them to save this.
| | 00:49 | So what they'll do is they'll save this
using the date first, a four-digit year
| | 00:54 | followed by a dash, a two-digit month
followed by another dash, the two-digit
| | 00:59 | day followed by another
dash, and the word Expense.
| | 01:02 | Finally, a dash and then the name, and
this would be the portion of the person's
| | 01:07 | name that is the username
in their email address.
| | 01:09 | So it doesn't have to be your full name.
I am gini@twotreesoliveoil.com, so
| | 01:13 | this comes from Gini.
| | 01:15 | The Library right now has two items
in it, one that was my Expenses and the
| | 01:19 | other I put Olivia's in for
her, so they're all there.
| | 01:22 | I want to take just a moment to show
you how you can find more information on
| | 01:26 | swapping out the template for a
library so that you can use existing Word and
| | 01:30 | Excel templates in this way.
| | 01:32 | Let's go over to the Microsoft site and
office.microsoft.com, simply say you want
| | 01:38 | in SharePoint to set a file template,
and if you search for that, your results
| | 01:42 | right at the very top, set a file
template for a document or form library.
| | 01:47 | Again, not part of the workflow class,
but if you're doing workflows, this is
| | 01:51 | something that you might want to know how to do.
| | 01:53 | So search for SharePoint, set a
file template on the Microsoft site.
| | 01:57 | But let's now go back to our
Library, and here is the challenge.
| | 02:01 | We have lots and lots of expenses in here,
but we have decided that we shouldn't
| | 02:05 | be saving the end date for this expense
report or the reimbursee name as part of
| | 02:11 | the file name. We want to be able to
extract those so that we could show, here
| | 02:15 | are all the expenses that were filed
for this month, ending date, for example.
| | 02:19 | So how do we get information out of the
file name to be able to put into another field?
| | 02:26 | And that's where extracting a substring is
just exactly what you want to be able to do.
| | 02:30 | Let's swing over now to SharePoint Designer,
and I'm going to create a manual workflow.
| | 02:35 | Now it's very easy going forward for us
to actually prompt the user to give us
| | 02:41 | the ending date for the expense
submission and the name of the reimbursee as
| | 02:45 | metadata, as separate data, but for all
the items that we have in there, too, but
| | 02:50 | that's a representative sample out of
the hundreds that are actually there.
| | 02:53 | We'll want to be able to have the
user just click and run a workflow.
| | 02:57 | So what we're going to do is we're
going to start a new workflow on our
| | 03:02 | list, and we're going to call this
Get ending date and reimbursee from file
| | 03:10 | name, a good Description.
| | 03:13 | Once we set up our workflow, I am
going to go ahead and click OK and the very
| | 03:18 | first thing I'm asked to do, of course, is to
go ahead and insert an Action or a Condition.
| | 03:23 | We are going to run this manually.
| | 03:25 | So I don't need a condition. The condition
will be that the user chose to run this workflow.
| | 03:29 | And the Workflow Actions that we're going
to use are all part of our Utility Actions.
| | 03:34 | There are all of our
Extracts and Find Intervals.
| | 03:37 | So the first thing we want is the Date.
| | 03:39 | So we are going to Extract a
substring from the start of the string.
| | 03:43 | The date in the format that you just saw,
four-digit year, two-digit month,
| | 03:49 | two-digit day, with dashes is 10 characters long.
| | 03:53 | So I'm going to copy 10 characters
from the start of the string, and the
| | 03:58 | question is, what string?
| | 03:59 | Well, in the Current Item, we're
actually going to go grab the name, and it's
| | 04:07 | going to put it somewhere.
| | 04:08 | Now, as with all of the other actions
that use workflow variables, SharePoint
| | 04:12 | has already set up a variable called
substring, but I'm actually going to change
| | 04:16 | that and create a new variable, and
the variable that I'm going to create is
| | 04:20 | going to be called PeriodEndDate.
I'm pulling it out of the string.
| | 04:26 | The fact that it's a date doesn't
mean that I get to pull it out as a date.
| | 04:30 | All I can do is grab letters.
| | 04:32 | So I am actually counting, 1-2-3-4-5-6-
7-8-9-10, grab those out of the String.
| | 04:37 | We'll have to convert it to a date separately.
| | 04:41 | The next thing I want to do now is get
the name, and so I have 10 characters for
| | 04:46 | the date followed by a dash, the word
Expense, and another dash. That second dash
| | 04:51 | falls as the 19th character in that String.
| | 04:55 | So I'm going to Extract a
Substring from Index of String.
| | 05:00 | Now, I can't really subtract it at
the end, because end works like start.
| | 05:04 | So if I subtract it from the end, I
have to know that everybody's name is the
| | 05:08 | same length, for example.
| | 05:10 | So if I want to be able to say that I
want from this point going forward to
| | 05:14 | capture the entire name, I am going to
choose Index. And how that works is I say
| | 05:19 | then copy from the String, Name,
starting at, and I told you that the last dash
| | 05:30 | is at the 19th position, the 20th character,
and I'm going to Name this new variable Reimbursee.
| | 05:39 | So I'm grabbing both of these Substrings out of
the same String and tucking them into two variables.
| | 05:44 | Now you know that with workflow variables, these
are going to be discarded at the end of our workflow.
| | 05:49 | So I need to now set up a column to put
them in and stuff these items into columns.
| | 05:54 | But before I do that, I just want to
make sure that this piece is working.
| | 05:59 | So what I am going to do is I am
actually going to log this to the workflow log
| | 06:04 | to make sure it works.
| | 06:05 | So let's Log to History List this
message, and I'm going to say that the Period
| | 06:12 | Ending Date is and go grab my
Workflow Variable that I just created called
| | 06:20 | PeriodEndDate, and Reimbursee is, and
I'll go grab that Workflow Variable for my
| | 06:29 | Reimbursee and say OK. All right!
So I'm writing this to my History Log.
| | 06:35 | So now I'm going to just take a second
and say Extract substrings from file name.
| | 06:44 | And let's Save this, Publish it, and
it will now be available in our Library.
| | 06:52 | So let's go back to the Library.
| | 06:54 | Here we are, and I'm going to
go to this first Expense item.
| | 06:58 | Now, this has been sitting here all the
while I have been working in SharePoint
| | 07:02 | Designer, so I'm just going to
Refresh this. It's a good idea to do this,
| | 07:06 | because I want the workflow to show up.
| | 07:07 | So I am going to click, Workflows,
and I'm going to say Get ending date and
| | 07:14 | reimbursee from file name,
go ahead and run this.
| | 07:19 | It comes back, and it says it's Completed.
| | 07:21 | What I'd like to know is
what did it actually do?
| | 07:23 | So I click the Completed hyperlink, and
it says Period Ending Date is 2012-06-30,
| | 07:30 | and the Reimburse is Gini.
| | 07:32 | So I can tell that both of those
Extracts worked exactly as I wanted them to.
| | 07:36 | For right now, I'm just putting
this into the log to test that
| | 07:40 | functionality, but now I would go
back to that workflow and create a couple
| | 07:43 | columns in the list, and I would
place this metadata in there using the set
| | 07:48 | value in Current Item Action.
| | Collapse this transcript |
|
|
10. Getting Data from UsersCollecting data from a user| 00:00 | We've had some requests for an
addition to our Employee Onboarding Workflow.
| | 00:05 | As you'll recall, this is a workflow
that kicks off when there's been a new hire
| | 00:09 | and various departments do different
things to make sure that the employees all
| | 00:13 | fully on board. And there's been a
request then to be able to send the employee a
| | 00:18 | welcome email at the very end, after
they should've received all this--sort of
| | 00:22 | like a checklist that says you should've
gotten his form from payroll and turned
| | 00:25 | it back in, you should already have
your office, your cell phone and so on.
| | 00:29 | The problem is when we start this
workflow, we have no idea what the
| | 00:33 | employee's email address will be,
because that's actually assigned down here
| | 00:38 | in the IT department.
That's one of their tasks.
| | 00:41 | So we're going to need to find out
what the employee's email address is
| | 00:44 | towards the end of the workflow, and
then we can use that email address to
| | 00:48 | send the welcome letter.
| | 00:49 | There are two easy ways to collect
information from users in a workflow.
| | 00:54 | The first is to Assign a To-do Item,
and what we would do is we would actually
| | 00:58 | add a column to our list, and that
column would be employee email, for example.
| | 01:05 | We'd send a task to the IT department
and say please go update this, and then
| | 01:09 | they would mark it as Done.
| | 01:11 | The other possibility is we
just want to Collect some Data.
| | 01:14 | We actually don't need to
have a task that's that formal.
| | 01:17 | We just want to say, hey!
| | 01:18 | Give us some information, and then
we'll immediately store that in a local
| | 01:22 | workflow variable and then use it to
send the email message, and that's the
| | 01:26 | method that I'm going to use here.
| | 01:28 | So I am going to choose Collect data
from this user and Output it to a Variable.
| | 01:32 | The date that I want to collect is the
NewEmployeeEmail, and this is going to
| | 01:40 | be a task name, so I am going to
say Provide NewEmployeeEmail, and the
| | 01:46 | Description is Please enter the email address
for this employee, and I am going to click Next.
| | 01:56 | Now we're going to actually add a field
to a form that we haven't seen before.
| | 02:01 | So I need to provide that new field,
and it is Employee Email Address.
| | 02:08 | And this is the Email address you
assigned to this new employee, and instead of
| | 02:17 | you perhaps, the IT department
assigned or whatever, single line of text.
| | 02:21 | We are going to choose an Information
type, we have a pretty robust list, but we
| | 02:25 | just want text here, and I am going
to click Next. And the Default value, I
| | 02:29 | shouldn't provide one, I have no idea
what the default email address would be,
| | 02:33 | and at this point I'm not
going to allow a blank value.
| | 02:36 | This email address should have been
assigned already, and if not, I don't want
| | 02:40 | the workflow to continue.
So I am going to clear that out.
| | 02:43 | If we have a standard in our
organization on the maximum length for an email
| | 02:47 | address, it would be good for me to make
sure that that's here as well, and I am
| | 02:51 | going to click Finish.
There's my custom form field to be filled out.
| | 02:55 | Notice that I could capture
information in more than one form field.
| | 02:59 | So I could say I'd like the email address.
| | 03:01 | I could say, if you know it, then I
also want to know what the URL is for their
| | 03:06 | personal page on our SharePoint site.
| | 03:08 | I could be asking the Facilities
folks about specific custom fields.
| | 03:12 | What cell phone number did you give them?
What office are they in and in what building?
| | 03:16 | So feel free to use multiple items.
They should all go together in this step, though.
| | 03:21 | There are our custom form fields for
this particular step, and I am going
| | 03:25 | to click Finish here.
| | 03:27 | So, I'm collecting this from this
User, and for right now I'm going to go
| | 03:31 | ahead and use myself. I am the IT
person in this workflow, and now we're going
| | 03:37 | to use a Variable EmployeeEmail that I
actually had created earlier as a local variable.
| | 03:43 | So that looks good.
Let's go ahead and Save this.
| | 03:46 | Check for Errors, there aren't any, go
ahead and Publish, and now I can test this.
| | 03:54 | So I'm going to go back over to my
Employee Onboarding list, and let's go ahead
| | 04:01 | and add a new employee, Esperanza Johnson,
and she's going to be working in
| | 04:12 | Administration, because she's in HR.
Let's go ahead and Save that, and that
| | 04:18 | workflow now is starting.
| | 04:20 | Remember that when we look at our
workflow, there are a number of things that
| | 04:23 | have to happen first, but all of them
are basically the department going and
| | 04:27 | saying our work is done and so on.
| | 04:29 | So we can simulate this fairly easily
by simply opening this up and entering
| | 04:37 | today's date for the HR work being
done, the Payroll work being done, the
| | 04:45 | Facilities work being done, and
let's go ahead now and Save this.
| | 04:50 | The workflow is still In Progress. We can
go check it and see where it is right now.
| | 04:55 | Notice here's the New Employee Onboarding,
that's actually the email that's being
| | 04:59 | sent to me by this step in the workflow
right here, so all the waiting has been
| | 05:04 | done, I've received my email.
| | 05:06 | Let's go back and look at
Esperanza Johnson again.
| | 05:09 | Notice all we are waiting for is IT.
| | 05:12 | So where is that request for
me to fill in this information?
| | 05:16 | Well, it wasn't emailed to me
because we are asking me for information.
| | 05:21 | It's actually a task.
| | 05:22 | So if I go take a look at the Tasks
list, I'll find that I am being asked to
| | 05:27 | provide NewEmployeeEmail here,
but notice what just came in.
| | 05:32 | I'm receiving an email from SharePoint to say
you have a new Task that's been assigned to you.
| | 05:38 | If I click that, there is the email,
it tells me go Review Esperanza Johnson,
| | 05:44 | perform these Actions, so I am going to go look.
I am going to Edit this item.
| | 05:50 | If I wish, another place that I'll see
this is if I go look in Outlook, on my
| | 05:55 | Task list, as I refresh it,
there is that Provide NewEmployeeEmail.
| | 06:02 | So lots of places telling me, hey!
You need to go ahead and do this.
| | 06:07 | So I can review Esperanza Johnson, and
then I can open this Task to mark it as
| | 06:11 | Complete, but here is the place
for her Employee Email Address.
| | 06:16 | I am going to just Edit this item,
email address assigned to this employee is
| | 06:20 | esperanza@twotreesoliveoil.com,
and I'm going to Complete this Task.
| | 06:29 | So that's how this works.
| | 06:31 | I'm asking for information, and there are
lots of ways that my user is getting prompted.
| | 06:36 | If they have their tasks connected to
the Task list in SharePoint, which we
| | 06:40 | want them to do, they'll automatically receive
a task that goes to their To-do List in Outlook.
| | 06:46 | Even if they don't, they'll receive
an email from SharePoint saying, hey!
| | 06:49 | You have got a new task
and here's a hyperlink to it.
| | 06:52 | So a couple of different ways to get
there and then the ability to quickly fill
| | 06:56 | out that information so that the
workflow can actually continue.
| | 06:59 | So if we go back now to Employee
Onboarding, what we'll find is
| | 07:05 | Esperanza Johnson's workflow has
completed all the way through.
| | Collapse this transcript |
| Assigning a task to a user| 00:00 | Many of the workflows that you'll
create are a mix of steps that can be
| | 00:03 | automated, but then steps that have to
be done manually by someone, they can't
| | 00:07 | be done by a computer.
| | 00:08 | A perfect example of that is in our
workflow here, to Order Business Cards,
| | 00:13 | eventually somebody actually
has to print these business cards.
| | 00:16 | They need to set them up to verify them
to make sure that everything looks good,
| | 00:20 | and when they're all done, they need
to let us know that they finished that.
| | 00:24 | So this is a task for a human being, and
therefore, the Action that we're going to
| | 00:29 | use here is we're going to
Assign a To-do Item to the printer.
| | 00:33 | Now when we look at this workflow, it
might make sense that the very first thing
| | 00:39 | that we would do is we'd say wow!
| | 00:40 | Just got an order, we
should let the printer know.
| | 00:43 | But remember that these electronic
tasks take no time at all and more
| | 00:47 | importantly, when we assign a task
to someone, the workflow pauses until
| | 00:52 | that task is complete.
| | 00:54 | So if we send the task to the printer
right away, none of these steps would be
| | 00:58 | done until the printer would actually
have done the job, and one of these steps
| | 01:03 | is letting the person we are supposed
to notify know that we have actually
| | 01:06 | received this order and they will be getting it.
| | 01:09 | So we want to put this
request down in Complete Printing.
| | 01:12 | We could change the name of this task
to Notify Printer and Complete Printing,
| | 01:19 | and that's a good idea.
| | 01:21 | Notice I have a comment here from before
that we want to get this completion info.
| | 01:25 | So let's go ahead and Assign a To-do
Item to these specific users.
| | 01:31 | This is going to feel very
similar to Collect Data from a User.
| | 01:36 | It uses a similar wizard.
| | 01:38 | So we're going to Assign a To-do Item,
we are going to click Next, and it says
| | 01:43 | what's the To-do Item, and we're
going to say Print Business Cards and the
| | 01:49 | Description is There is a new
print order to be completed.
| | 01:57 | And I am just going to say Finish.
| | 01:59 | So we've assigned Print
Business Cards to these users.
| | 02:02 | Now, we'll probably be assigning this
either to a group or to an individual
| | 02:07 | person who can decide who out of the
printers this gets tasked to, and that
| | 02:13 | depends really in our business on
whether all of those printers are responsible
| | 02:17 | for managing their own work and are
going online and hooked up to a task list.
| | 02:22 | It's not unusual for some manual
processes that there's really only one person
| | 02:26 | who's in charge and they then hand out the work.
| | 02:29 | So you want to determine how the workflow
happens in the print department, or if
| | 02:34 | it's an outside vendor, we
probably have one contact.
| | 02:37 | We are going to email them, hey!
Here's this new print job.
| | 02:40 | Right now, I'm actually going to assign
this to myself so that I can make sure
| | 02:45 | that the workflow works,
and I am going to choose OK.
| | 02:48 | So here's the Comment, we Need to get
completion info from the printer, but
| | 02:52 | actually, I don't necessarily need
that comment anymore, but before I delete
| | 02:56 | it, I'll just leave it there for a second,
and Check for Errors, Save, and Publish our workflow.
| | 03:06 | So this will be pretty easy for us to
check on because we should get this task
| | 03:10 | right away after all these automatic steps.
| | 03:13 | So let's switch back to our Order
Business Cards list in SharePoint.
| | 03:17 | We're going to Add a new item, and
we're going to print some business cards for
| | 03:24 | Bart Bartlett who is going to work in
the IT department, ordering 250 cards.
| | 03:34 | Bart's a Business Analyst and the
email address on Bart's cards and mobile
| | 03:39 | number and so on, we'll just go ahead
and leave blank, but the email address of
| | 03:43 | the person we are going to notify, and
once again, I'll put my own address in
| | 03:48 | right now, because we're just testing.
And I'm going to go ahead and Save.
| | 03:55 | You know, I actually should get rid of
this Email of person to notify, because
| | 03:59 | it makes me think that I want to type
here in the Notified space, and if it
| | 04:04 | makes me think that, it's probably going
to bother my users in the same way too.
| | 04:08 | So I should be typing an email
address here and changing this field name
| | 04:11 | perhaps or not, but not having a tip here
that looks really close to this Notified field.
| | 04:17 | This isn't the first time I've made
this mistake filling out the form.
| | 04:20 | So if I'm having errors, my
users are going to have them too.
| | 04:24 | We'll go back and fix that.
| | 04:25 | Now I am going to click Save, and here's my
new item Order Business Cards is In Progress.
| | 04:31 | We can take a second and look at the
workflow, but check it out, here is the
| | 04:35 | Card order for Bart Bartlett on its way in.
We have received a Card order.
| | 04:40 | We will send an email to when the
order has been completed, so this I am
| | 04:44 | receiving, this is the notify on
completion field that's triggering this, that
| | 04:50 | says here is the estimated ship date,
remember we calculated that, that looks
| | 04:54 | good, then I will say OK.
| | 04:56 | Let's go see what else is
happening in this workflow.
| | 04:59 | So the order has been received, and
there's been a Task Assigned, well
| | 05:03 | where would this task be?
| | 05:05 | Let's go take a look, three different
places this task should be.
| | 05:09 | The first place it should be is it should be in
SharePoint, so if we go to the Tasks List,
| | 05:14 | there is Print Business Cards right here,
but because I have connected this Task
| | 05:20 | List back to Outlook, it should be in
my Outlook list too. If it's not right
| | 05:23 | now, it should be fairly soon.
| | 05:25 | If we go take a look in my To-do List
here in Outlook, it hasn't actually made
| | 05:30 | it here yet, but there it is.
| | 05:33 | So there's my Print Business Cards,
and if I double-click, notice it says
| | 05:38 | Review, and it's the first name of
the person, I can go look at that and
| | 05:42 | say I've reviewed it, I have got that, and now
it says Open the task to mark the task as completed.
| | 05:48 | So imagine, I am working on the print
shop, I have got a list of my jobs, I have
| | 05:53 | got the Bart job and the Esperanza job
and 12 or 13 different print orders to
| | 05:57 | do, but as I mark them off, I can go
ahead, and I can say, okay, I can Follow Up,
| | 06:02 | and I can mark this as Complete, that's
one way I could do this, or I could go
| | 06:07 | into my Task List here, and I could
Update it, or I could go into Bart, and I
| | 06:14 | could Update it there in Bart.
| | 06:16 | So all of these are different choices
of how I can do this, but obviously the
| | 06:20 | easiest way for me to do it is simply to
mark that task as Complete in Microsoft Outlook.
| | 06:24 | Very easy to do, very slick, and now
that the task has been completed, the
| | 06:30 | rest of the workflow can now go on,
and notice we are a little bit out of
| | 06:34 | sync, but that's not unusual. Here finally is
the notification that I've been given this new task.
| | 06:39 | We're seeing this in real-time,
normally the printer is someplace else, and they
| | 06:43 | don't know that they should
have gotten this 35 seconds ago.
| | 06:47 | But that notification will happen,
that will allow them to go and review it.
| | 06:51 | So three different ways, it's on the
Task List, in SharePoint, it's on the Task
| | 06:55 | List for this individual user, and
they are going to receive an email from
| | 06:59 | SharePoint reminding them that there's
some work that they have to do and that
| | 07:02 | when the work is done they should update so that
the workflow will know about it and can continue.
| | Collapse this transcript |
|
|
11. Creating Easy-to-Maintain WorkflowsUsing email aliases for easy workflow maintenance| 00:00 | If you're new to SharePoint workflows,
it might be hard to imagine the sort of
| | 00:05 | volume that you'll have to maintain as you have more
and more workflows running in your organization.
| | 00:11 | We have one workflow, and you need to
update it frequently, it's usually not
| | 00:14 | that big of a deal, but when you have
12 workflows or dozens of workflows or
| | 00:19 | a hundred workflows, and you need to maintain
them, you have just created a full-time job.
| | 00:24 | So from the very beginning I want to
encourage you to do the kind of thinking
| | 00:29 | about workflow creation that would make
your workflows very easy to maintain, and
| | 00:33 | one of those is to make sure that in
areas where the business is volatile,
| | 00:38 | you're not hard-coding
things that you will later regret.
| | 00:41 | An example of that is anyone's email
address, for example, here Greg Hurion is
| | 00:47 | the person who is the
contact for the Payroll department.
| | 00:49 | So we have just put in here email Greg
to notify him we have a new employee.
| | 00:54 | Same thing with Janet, hey!
| | 00:55 | Send Janet an email, and then send Gini
an email, but what happens when any of
| | 01:01 | these folks get promoted or leave the
company or simply decide that it would be
| | 01:06 | better to have one of their
underlings or minions manage all these emails,
| | 01:10 | rather than doing it themselves?
| | 01:11 | So what I would like to encourage you
to do is to develop email aliases that
| | 01:16 | you use and never hardcode someone's name in
here unless there is absolutely no way around it.
| | 01:23 | So you are going to be having a really
good relationship with your Microsoft
| | 01:26 | Exchange Administrator, because they
are the folks who set up aliases and then
| | 01:29 | direct them to specific accounts.
Let me show you what I mean.
| | 01:32 | For example, there's normally someone
who is in charge of the workflow, it's theirs.
| | 01:38 | If you're creating a workflow
for a business area, it's probably the
| | 01:42 | person who is in charge of that
particular piece of functionality.
| | 01:47 | So if it's Employee Onboarding, it
might be somebody in the Human Resources
| | 01:50 | Department, if it's something to do
with expenses, it's probably somebody in
| | 01:55 | accounting, but whoever that person is
rather than include their email address,
| | 01:59 | I actually want to set up an email
address that would work for them and for
| | 02:03 | workflow owners so that I can
immediately spot those emails to them, what I like
| | 02:08 | is to set up an alias that starts with a
lowercase wfo and then has the name of
| | 02:12 | the workflow, because they don't
own all workflows, they own one.
| | 02:16 | So, for example, the person in HR who
owns Employee Onboarding, I would make
| | 02:21 | changes only if they asked, might be
wfoEmployeeOnboarding@my organization name
| | 02:30 | So, wfoEmployeeOnboarding@twotreesoliveoil.com.
| | 02:36 | Then there's somebody whose job
is to administer the workflow.
| | 02:38 | This is typically somebody in your
Information Technology department.
| | 02:42 | If there's a problem with the workflow,
they're the folks who are going to
| | 02:45 | follow up on it and make sure that if
it's stopped that it gets restarted.
| | 02:49 | If it needs some work that they
contact the developer and usually those folks
| | 02:54 | are wfa for Workflow Admin.
| | 02:57 | If you have one person who is in charge
of administering all of your workflows,
| | 03:01 | and you know it's going to stay that
way for a while, you might do simply
| | 03:04 | wfa@twotreesoliveoil.com, or if you
have a few workflows already or have a list
| | 03:12 | of workflows waiting for you to
actually draft them and different people would
| | 03:17 | administer them, then you would
want to do wfa the workflow name, so
| | 03:21 | wfaEmployeeOnboarding@twotreesoliveoil.com.
| | 03:26 | This is a conversation in your IT
department, because you could always use
| | 03:29 | wfa@twotreesoliveoil and have
that then alias to an entire group.
| | 03:35 | Workflow developers, wfds. I use this
only for testing, wfd is not an ongoing
| | 03:41 | role, but that means that if you
generate an email, and it comes across as wfd,
| | 03:46 | and you're now actually working on
that workflow, that you probably have an
| | 03:50 | issue somewhere that needs to be resolved.
| | 03:53 | So I'll usually say wfd,
and that's a testing ID.
| | 03:57 | You could also have wfqa if you have
somebody who does a QA role in your
| | 04:01 | organization for testing, because once
you've created your workflows, if they're
| | 04:05 | reusable, you can move them from
your development environment to your QA
| | 04:09 | environment to your production environment.
| | 04:11 | So developer and QA roles should
have their own email addresses.
| | 04:16 | And then let's look at what this
means then in the business, because these
| | 04:19 | are the folks who were trying to prevent having
lots and lots of emails coded directly to them.
| | 04:23 | So let's say, for example, we are
talking about the Payroll department.
| | 04:27 | It might be that there's one person who's in charge
of getting all of the emails from workflows.
| | 04:32 | So that would be wfPayroll@twotreesoliveoil.com,
our workflow contact, but it
| | 04:39 | could also be that we're going to
have different people for different
| | 04:42 | workflows, and in that case, you are
going to have wf, the name of the workflow,
| | 04:47 | and the name of the department.
| | 04:48 | So imagine that we have for a
department contact in the Payroll department for
| | 04:53 | Employee Onboarding,
wfEmployeeOnboardingPayroll@twotreesoliveoil.com.
| | 05:01 | It's a huge email address, but when
you have your conversation with your IT
| | 05:06 | folks who are in charge of your
Microsoft Exchange Server or whatever email
| | 05:10 | server you're using, if you explain to
your Exchange Administrator that you're
| | 05:14 | trying to make workflows that are easy
to maintain, despite the fact that you
| | 05:18 | have people moving from one job to
another, and that it will mean that you will
| | 05:22 | not have to be involving them with
setting up new emails all the time, as people
| | 05:28 | come in and changing the emails that
particular people receive, they are usually
| | 05:32 | fairly receptive to this.
| | 05:33 | So again, by using these aliases, and
I'm now going to use wfoWorkflowName.
| | 05:39 | Let's go back now and say, okay, instead
of emailing Greg Hurion in Payroll then,
| | 05:44 | what we'd be doing is we'd be saying,
well, this is a workflow for Employee
| | 05:49 | Onboarding, and this is the
Payroll person at twotreesoliveoil.com.
| | 06:00 | Greg for now, but someone else later on,
changed so easily simply by letting the
| | 06:05 | Exchange Administrator know, hey!
| | 06:07 | That wfEmployeeOnboardingPayroll address
now goes to Janet, not to Greg any longer.
| | 06:13 | This is how you use email aliasing and a
system of really smart aliasing to make
| | 06:19 | sure that you don't have to come back in and
modify this workflow every single time personnel change.
| | Collapse this transcript |
| Adding a comment| 00:00 | As you're creating your workflow,
it's a good idea to add comments about
| | 00:03 | anything that seems a little bit obtuse.
| | 00:06 | If you're co-developing with somebody
else, this becomes really important, but if
| | 00:09 | you're called back two years from now
to look at a workflow that you created
| | 00:12 | today, you probably won't remember it,
and you'll wish that you had done
| | 00:16 | something to put notes into it at that time.
| | 00:19 | So the easy way to do this is to use
the action that's called Add a Comment.
| | 00:22 | If I have a comment that I want to make
about the workflow in general, I'll put
| | 00:26 | a Step in at the very start, and I
could call this Notes to Developers.
| | 00:31 | So that's the place to put general
information that I would like every single
| | 00:35 | person to know who is
working on this workflow with me.
| | 00:37 | What I'll do then is I'll go to Action,
and I'll say Add a Comment, and I'm
| | 00:42 | allowed just to type anything
that I would like to type here.
| | 00:45 | So I can talk about when this
workflow was developed, although I've good
| | 00:48 | information on that someplace else,
but I'll put in, for example, that
| | 00:52 | Originally the business unit requested
that we email the new employee, however,
| | 01:04 | it's possible that they would
not yet have an email address.
| | 01:13 | So there's my comment, when somebody
wants to see it, they just click and they
| | 01:17 | can see the comment, and say oh
okay, that's what that's about.
| | 01:20 | If they want to see it in a whole box,
they can click the Builder here and
| | 01:25 | show the entire string.
| | 01:27 | Notice also, that because you can use
the String Builder for this comment, but
| | 01:30 | there's no reason you can't add lookups
if that would make sense, but the notion
| | 01:35 | is that any place you put
a comment it will show up.
| | 01:38 | The only folks who can see this comment
are folks who have access to SharePoint
| | 01:42 | Designer and can show the workflow there,
or folks who are seeing the workflow
| | 01:47 | because it's been exported to Visio.
| | 01:49 | So, this is not normally the place that
you would want to put information that
| | 01:53 | you never wanted anybody else to see,
because somebody else could be looking at
| | 01:57 | this workflow down the line.
| | 01:58 | But this Action step, which really
doesn't take any action of adding a comment, is
| | 02:02 | your best way to embed information
here in the workflow that you want to make
| | 02:07 | sure doesn't get lost, not a
separate Excel document, not a separate Word
| | 02:11 | document, not even a separate Visio
document, but documentation kept here in the
| | 02:16 | workflow where it's going to be
seen by anyone who needs to modify it.
| | Collapse this transcript |
| Writing to the workflow log| 00:00 | We're looking at our
Order Business Cards workflow.
| | 00:02 | We're having some issues with it, and we'd
like to double check and see how it's working.
| | 00:07 | This is a real difference between the
SharePoint Designer environment and the
| | 00:12 | Visual Studio environment.
| | 00:14 | Visual Studio and many other
development environments have the ability for you
| | 00:18 | to step through a process to actually
say let me look at step one and see what
| | 00:23 | happens, step two, and so on.
| | 00:25 | We don't have that ability here in
SharePoint Designer. We don't have a step
| | 00:29 | through debugger, but we do have the
ability to write to a history log so that
| | 00:34 | we can go back and see
what's happening in our workflow.
| | 00:37 | Please remember that we had the
settings for that history out here on our
| | 00:42 | Settings page--we created them
early on--and so now when we go back to
| | 00:46 | the Editor we can write to that history log,
and it's as simple as adding an additional action.
| | 00:53 | So, if I know, for example, that my
workflow is working fine, my Chargebacks
| | 00:56 | working, my Delivery Dates working, and
this Email is actually being received,
| | 01:02 | but I'm having a problem someplace in here,
| | 01:04 | what I'll want to do is add some
logging that I can use to be able to determine
| | 01:09 | where I am in the workflow and
where it's actually stopping.
| | 01:12 | So, I'm going to go to the Core Action >
Log to History List, and at this point
| | 01:22 | I'm going to add some message.
| | 01:23 | So, I might want to add something that
ties it back first so I can identify with
| | 01:28 | which item in the Order
Business Cards list it's dealing with.
| | 01:33 | So I'm going to create a message using
the String Builder, and I'm going to say
| | 01:38 | that my step is Notify Order Received.
Okay, but I also want to know what the item is.
| | 01:49 | So before I have the step even, I'm
going to add a lookup from the Current Item
| | 01:54 | that's going to let me get right back
to it, and that is my name, and this is
| | 02:03 | the end of this particular
step, so it would be complete.
| | 02:05 | So I'm going to log whatever the name of this order
for business cards is, Step: Notify Order Received, say OK.
| | 02:13 | Now if I'm thinking that my problem is
someplace right in here, I'm going to go
| | 02:17 | ahead and send another log
entry in exactly the same way.
| | 02:20 | So Log to History List, log this
message, use my Builder, it will grab my
| | 02:27 | current item's name, say OK, put a dash,
because these are going to appear on the
| | 02:34 | list, so I'd like them to
be very, very similar, right?
| | 02:37 | That way when I sort the list in order, it will
work well, and the Step here is Complete Printing.
| | 02:45 | By logging these items to my workflow
history list, I can simulate the kind of
| | 02:49 | step-by-step debugging that I would have
in some other development environments.
| | 02:54 | So now when I go through, and if I
really I'm not certain where I want to look
| | 02:59 | for problems in a particular workflow,
I can go ahead and log after every step,
| | 03:03 | and it will be really easy then to
read the logs and say, yup, the Chargeback
| | 03:07 | worked, the Delivery Date worked,
the Notify Order worked. Oops!
| | 03:11 | It's stopped here, so my
problem is here in this step.
| | 03:15 | That's the kind of thing you're looking for.
| | 03:16 | If I know that my issue is in the two
calculation steps, then I can just stub a
| | 03:21 | couple of these different logs in.
| | 03:23 | In the next movie, I'll show you where
to find your logs and how to read them.
| | Collapse this transcript |
| Checking workflow logs| 00:00 | There are two different ways that you
can see the workflow log in SharePoint.
| | 00:05 | First is to look at the log from
the point of view of a specific item.
| | 00:09 | I'd like to look at one of these
particular expense reports and see what the
| | 00:12 | history log looks like in a
very individual item by item basis.
| | 00:16 | The other possibility is I want to
look at the entire log regardless of
| | 00:20 | what item it was for.
| | 00:21 | So let's see both of those ways that we can
look at specific items here in our History Log.
| | 00:27 | First, if I'm looking at item, and I
have access to the workflow--that's what
| | 00:32 | this says, Get ending
date and reimbursee workflow--
| | 00:35 | if I click on the hyperlink for the
status, in this case Completed, it will
| | 00:40 | actually take me to the Workflow Information,
and I can see that this has been logged.
| | 00:45 | This is actually a very
readable log entry in the History.
| | 00:48 | Here is the date and time, here's the
type of an item, it was a Comment that
| | 00:52 | was made by the workflow, so it comes from
the System Account, and here's the description.
| | 00:57 | So that's an easy way to be able to
take a look and say ah, that's what was log
| | 01:02 | for this particular item, and the
same thing would be true if I chose, for
| | 01:06 | example, this other item, and I
would see similar information.
| | 01:10 | What if I want to see the entire log, though?
Well, there are couple of possibilities.
| | 01:15 | The easy way to remember this is first
we probably kept the same history log for
| | 01:20 | all of the workflows on our site, and if we did
then I know that its name is Workflow, space, History.
| | 01:26 | If I provided a different name for it,
I'll need to know that name in order to
| | 01:30 | get to it easily, because the easiest
thing to do is for me simply to enter the URL.
| | 01:35 | For example, our site is https://lynda.hostpilot.com,
and all I need to do is
| | 01:44 | append another /Lists/ and the name of
the list to be able to go take a look at it,
| | 01:50 | so that's very easy.
This is my list name, /Lists/Workflow History.
| | 01:55 | Let's return to SharePoint and simply
type lists/workflow history and everything
| | 02:04 | else will be appended.
So here's my workflow history for my site.
| | 02:07 | And if I take a look, it's a little
grizzly, but it's not completely horrible.
| | 02:13 | Here's who the user was, the Date that
it Occurred, the Type of an event, and
| | 02:17 | you can find information and all these
event types on the Microsoft site, and
| | 02:22 | here's the Description, the
workflow was started in this area.
| | 02:26 | There was a change state.
| | 02:28 | I can sort all of these, so if I want to sort,
for example, by Event Type, I can do that.
| | 02:31 | I can sort it by one when an item
was logged, and if I have specific
| | 02:37 | things that I logged.
| | 02:38 | For example, earlier we created
messages like waiting on HR, waiting on VP
| | 02:46 | date, so those items I can actually go
in, and I can either search for, because
| | 02:51 | I can search in these columns, or I can filter
based on the column, or I can simply just sort.
| | 02:56 | So here's my entire log.
| | 02:58 | As you'll notice, there is a
lot of stuff here already.
| | 03:01 | I have over 30 entries, most of them
made by the System Account, but not all of
| | 03:06 | them, and here are my entries related
to that particular extraction that we
| | 03:11 | were doing out of the file name to show the
date and to show who the actual reimbursee was.
| | 03:16 | So you can find these, and it works pretty well.
| | 03:19 | If you want to find a particular item
in the log, you might want to start with
| | 03:24 | the item itself first.
| | 03:25 | So, two approaches, both of them work,
one for the entire log, one based on the
| | 03:30 | individual instance of a workflow tied to that
particular item in the list or in a library.
| | Collapse this transcript |
| Creating error traps in workflows| 00:00 | Error trapping is a programming
discipline that you use to build workflows
| | 00:04 | that are really strong, and that account for
every possibility, even if it should never exist.
| | 00:11 | This is an example, and it's easy to
understand because I'm talking about credit cards.
| | 00:16 | However, you would never build this
application. The laws around credit card
| | 00:21 | processing are so fierce these days
that you are not going to create a credit
| | 00:27 | card processing
application inside of SharePoint.
| | 00:28 | However, we might want to go take a
look and say, you know, is this American
| | 00:33 | Express MasterCard or Visa for
a purpose other than processing?
| | 00:37 | So here are our three possible credit
cards, but the business has just made a
| | 00:42 | decision to also take Discover cards,
and because our workflow was written
| | 00:45 | when we didn't take Discover cards, we could go
a long time allowing people to make free purchases.
| | 00:51 | There they are using their Discover card,
and we don't have a way to process it
| | 00:54 | because we're processing American Express,
MasterCard, Visa, and if it's none
| | 00:59 | of the above, we just drop
out and go on to the next step.
| | 01:02 | An error trap will allow us to capture
the fact that something's happened that
| | 01:07 | we didn't normally expect.
| | 01:10 | So in this particular situation when we
build this workflow to begin with, and
| | 01:15 | when you build other workflows that
have different conditional possibilities,
| | 01:19 | one possibility after we read the
card type is that it's American Express.
| | 01:23 | The second possibility is that it's
MasterCard, and the third is that it's
| | 01:27 | a Visa, and we're actually using the
conditional If, but inserting this Else If Branch.
| | 01:33 | So if it's American Express, fine, Else,
maybe it's MasterCard, Else, maybe it's
| | 01:40 | Visa, and that's what we would
normally indicate, but the error trap is this
| | 01:45 | final Else that says none of the above.
| | 01:48 | And then what I can do here is send an
email, for example, to the workflow owner
| | 01:53 | or the workflow business owner, or if
this is during development, to myself.
| | 01:58 | This is wait a second, we have a problem,
because all of a sudden we have cards
| | 02:03 | coming through, credit card transactions
that are none of the above, what do I do now?
| | 02:07 | And that's just really easy. And then in
the last Else, I'll just send an email,
| | 02:12 | and I'll send email with the
Subject like Credit Card Workflow ERROR!!!
| | 02:18 | Sometimes I'll put in the Text of the
message, you should never see this email
| | 02:25 | because it means there's an error.
| | 02:31 | We have received a credit card
transaction that is not Amex, MasterCard or Visa.
| | 02:42 | And then I can provide some
information with an absolute URL, a title,
| | 02:46 | any information I want.
| | 02:48 | So what I'm doing is I'm building it
ahead of time--and again, you'll do this
| | 02:52 | after you've had the error, you
want to do this preemptively before.
| | 02:55 | This should be the entire universe of
all the credit cards we accept, and if
| | 02:59 | something else got through
to here, we have an issue.
| | 03:03 | Now how would we stop stuff
from getting through to here?
| | 03:05 | Well, we would have a form with a
dropdown on it with three possibilities,
| | 03:09 | American Express, MasterCard, and Visa,
but you might imagine then that while we
| | 03:12 | are in the process of updating our
application, updating our workflow and forms,
| | 03:18 | that we could get into a position where
the forms updated to include Discover,
| | 03:21 | and we have not
remembered to update the workflow.
| | 03:25 | So error trapping allows us to grab
possible errors, things that fall outside of
| | 03:31 | the universe of what's
anticipated and allowed in a workflow.
| | 03:35 | You will use this If condition, along
with Else If Branching to build most of
| | 03:40 | your error traps, and they
will look just like this.
| | Collapse this transcript |
| Modifying existing workflows| 00:00 | SharePoint makes it really easy to
modify workflows, because it's not unusual
| | 00:05 | to need to modify one.
| | 00:06 | For example, the needs of the business
might change, and that would generate a
| | 00:10 | request for a change, but it's also
true that the imagination of what's
| | 00:14 | possible in workflows grows the longer folks
are using SharePoint Workflows that you create.
| | 00:21 | So throughout this course we've
been opening up workflows, making some
| | 00:25 | modifications, and re-saving and
republishing them, and remember that each time
| | 00:30 | we do that, every time we publish a new
workflow, which is when we re-associate it
| | 00:35 | with the List or Library that it was
created for, each time we do that a new
| | 00:39 | version of that workflow is created.
| | 00:41 | Any instances of the workflow that
were previously created with items in the
| | 00:45 | List or Library continue with the
version that they were already using.
| | 00:50 | And any new items that are created,
any new instances of the workflow are
| | 00:54 | created using the newly-published,
newly-modified workflow.
| | 00:58 | So all of that works fine, I do
however, need to show you that there's a
| | 01:02 | possibility that you can make a
modification that's a little problematic and
| | 01:06 | what you might want to know about that.
| | 01:09 | If you use some specific actions, for
example, Log History List or the Task
| | 01:16 | Actions, Assign it To-do item, Collect Data
from User, these actions have something in common.
| | 01:22 | They write to other lists that are kept
on the site, and so when we go back and
| | 01:28 | take a look at the settings for this
workflow, you'll find a Task List and a
| | 01:33 | History List that we created very early on.
| | 01:37 | Once we are actually creating Tasks
or writing to the History List, it is
| | 01:41 | problematic for us simply to go in and
to change this to a different Task List
| | 01:45 | or a different History List.
| | 01:47 | If we need to do that, and there may
be compelling reasons to do so, then we
| | 01:52 | need to be able to go back in and modify the
association of these lists to the workflow.
| | 01:58 | So if you need to do it, fine, but don't change
the Task List or Workflow History List casually.
| | 02:04 | And if you need to change either of
these lists, let me show you where you'll
| | 02:08 | find some additional information on how you'll
need to re-associate these with your workflow.
| | 02:14 | So I've gone to the Microsoft site
just because I know that the document I'm
| | 02:18 | looking for is here, and I'm going to use the
search and search for modify a workflow association.
| | 02:25 | You'll notice that the very first
article here is on Modify workflow
| | 02:29 | associations, as is the
second, it's the same article.
| | 02:32 | And just click, and you will actually
find all the information you need to be
| | 02:36 | able to re-associate Task List and
History List back to the Workflow.
| | 02:40 | Just scroll down, and you'll find
lots of information about how to do that.
| | 02:45 | So don't change these casually. These
are really the only two things that you
| | 02:49 | can modify in a workflow that are going
to create significant problems for you.
| | 02:53 | Other than that, modify away.
| | 02:55 | If you have a question about your
modification, don't be afraid to save it.
| | 02:59 | Do some additional research and make
sure you've got all of your modifications
| | 03:03 | made before you Publish and generate that new
version associated with a List or Library.
| | Collapse this transcript |
| Removing workflow instances| 00:00 | With SharePoint Designer I can go in
and edit a workflow anytime I need to.
| | 00:04 | It's really easy, just open up
Designer, click on Workflows.
| | 00:07 | Let's say, for example, I want to
change this workflow, I can go ahead and make
| | 00:11 | sure I am in the right place. Here's my
overall settings, click Edit Workflow,
| | 00:16 | makes and changes, Save and
Publish again, easy enough to do.
| | 00:20 | Every single time I do this SharePoint
creates a new version of this workflow.
| | 00:25 | Because it's possible that during the
time I have this workflow open working on
| | 00:29 | it, somebody actually goes in and
says here's another new hire, and the
| | 00:33 | workflow that they use will be the old
one, the one that was open already for me
| | 00:38 | to work with until I Save and Publish
this again. All the time I am sitting,
| | 00:43 | having this opened, adding some Actions,
changing some steps, it's possible that
| | 00:47 | somebody could be creating a new workflow.
| | 00:49 | So as soon as I open it up,
here's a new version that gets created.
| | 00:53 | What do I do with all of these?
| | 00:55 | Well, I can ignore them,
but I probably shouldn't.
| | 00:57 | Let's go over and take a look and
see how we're going to get to those
| | 01:01 | workflows and manage them.
| | 01:02 | So I'm going to go back over to the
list in SharePoint. There are a variety of
| | 01:07 | ways that I could do this.
| | 01:08 | I can go to SharePoint, or if I am in
Designer, I can actually go to my Lists and
| | 01:13 | Libraries, and I could open
up my Employee Onboarding.
| | 01:15 | And I could go to the List, but I
prefer keeping SharePoint Designer and
| | 01:19 | SharePoint both open.
| | 01:21 | Once I'm in the Library on the Ribbon I
can click List, Workflow settings, and
| | 01:28 | I'll see that I actually have 4
different versions of Employee Onboarding.
| | 01:32 | Now one of them won't have any
other information associated with it.
| | 01:36 | It doesn't say current version, but
it doesn't say previous version either.
| | 01:40 | So this is the one that's current. If
I just Saved and Published, this is it.
| | 01:45 | These are all prior instances. You'll
notice that the very first version, there
| | 01:50 | are actually no workflows associated with that.
| | 01:52 | I created it and saved it, but
that wouldn't have gotten it here.
| | 01:56 | I published it, and it was added, but
nobody hired a new person during the time
| | 02:01 | that that was the current version.
| | 02:03 | However, as soon as we fired up the
next version, we had somebody who was added
| | 02:09 | and these workflows are
actually in progress, they're not done.
| | 02:12 | If they were completed, it would show zero here.
| | 02:15 | So we have a workflow that was
underway and a set of rules that were
| | 02:19 | created for that workflow.
| | 02:21 | You might remember that early in
this workflow we didn't notify the local
| | 02:25 | manager when we had hired somebody, so
these older ones still won't do that.
| | 02:30 | Even though there's a new workflow,
there's nothing that takes and routes this
| | 02:34 | old document through the new workflow.
| | 02:36 | Imagine that you're standing on the top
of a hill and every time there's a new
| | 02:41 | workflow you've got a kid on a sled or a
wagon, and you shove him down the hill.
| | 02:45 | The fact that you're going to shove the
next kid in a different direction does
| | 02:49 | nothing to change the wagon or sled
that's already flying down the hell.
| | 02:52 | It's got a course, it's good to get there,
it'll run into a tree or have a happy
| | 02:57 | ending, it doesn't matter, it's gone,
but even though you can't change the old
| | 03:01 | ones, you can say we're not
going to use these anymore.
| | 03:03 | I'm not going to a use that path
that ends up with a small child wrapped
| | 03:07 | around a tree any longer.
| | 03:09 | So we can go back, and we
can get rid of these workflows.
| | 03:12 | Just choose remove workflow, and
you're going to see this new window that's
| | 03:15 | going to show all of those different items
and how many instances of workflow we have.
| | 03:19 | So this one, for example, these are old,
and as soon as a workflow is old--there
| | 03:23 | is only one current workflow--every
other workflow is marked No New Instances.
| | 03:27 | In other words, when I add a new
employee to be Onboarding list, these
| | 03:32 | Instances, these old workflows won't be
used, this is the only one that will be used.
| | 03:37 | But as soon as the Instances go to 0,
I'm smart just to go in and to choose that
| | 03:42 | particular workflow and say, hey, it
doesn't own any New Instances, and it has
| | 03:46 | no old instances, no current
sleds or wagons running down the hill.
| | 03:51 | I'm going to get rid of it and say OK.
| | 03:53 | Notice now that the only workflows I
have left are workflows that actually have
| | 03:58 | specific instances, folks that are
already on their way down the hill, and that
| | 04:02 | every new workflow will be assigned to
this one that is not a previous version.
| | 04:07 | No matter how many workflows you have,
it's a good idea when you've made changes
| | 04:11 | to workflows to go back and to get rid of
any old workflows that have no Instances.
| | 04:15 | It's simply part of keeping
your server cleaned up.
| | 04:19 | But it also makes it really clear, if
you have a very old workflow that has an
| | 04:23 | instance that you probably have
something that didn't track all the way through
| | 04:26 | to completion, which might
be an issue for the business.
| | Collapse this transcript |
| Terminating a workflow instance| 00:00 | From time to time you may
have to terminate a workflow.
| | 00:03 | Typically what happens is you're doing
some testing, and these are test employees
| | 00:08 | that we've put in, and we didn't
complete the workflow yet, we just use them as
| | 00:12 | a learning experience, and now we'd
like to end these workflow so they don't
| | 00:16 | sit here In Progress forever.
| | 00:18 | The best way to end a workflow is to
go to the Instance, the List Item or the
| | 00:23 | Document, click the down arrow and
choose Workflows, and you'll actually see the
| | 00:28 | Running Workflows and the Completed Workflows.
| | 00:30 | So in this case, there are two
workflows running on this particular employee,
| | 00:35 | and I'm going to just click one of them, and
I'm going to click Terminate this workflow now.
| | 00:41 | Notice that if they were tasks previously created,
they're gone, and there's no way to undo this.
| | 00:47 | So I really want to know that I'm
terminating the workflow for sure, and now I
| | 00:52 | can go back, and I'm going to Refresh
this and notice that that second workflow
| | 00:58 | actually completed, but the
way it completed was it canceled.
| | 01:02 | I can now remove the other workflow if
I wish, really the same workflow, two
| | 01:06 | different instances of it that were
created while testing, and now this Workflow
| | 01:12 | History is the workflow was
canceled by me. Excellent!
| | 01:16 | So let's go back, and when I go take a
look now at these workflows, I'll find
| | 01:24 | that there aren't any that are incomplete.
| | 01:27 | If I wanted to, I could now start the
workflow again, bearing in mind that this
| | 01:31 | workflow may actually not be designed
in such a way that starting it once the
| | 01:36 | item exists is a good idea, but you can
always start that workflow manually, if
| | 01:40 | I've allowed for that in my settings.
| | 01:43 | So it's very easy to terminate
workflows, impossible to undo that
| | 01:48 | termination, and they're always logged by
SharePoint, so you know what happened to each workflow.
| | Collapse this transcript |
|
|
12. Creating Reusable WorkflowsCreating a reusable workflow| 00:00 | I touched on Reusable Workflows
earlier in the course, but I want to spend a
| | 00:04 | little time digging into them a little
bit more deeply because there are new
| | 00:07 | feature of SharePoint
2010 and incredibly useful.
| | 00:11 | In earlier versions of SharePoint, if I
had a workflow that I wanted to use on
| | 00:15 | more than one list, I really either
needed to use Visual Studio to do it, or I
| | 00:21 | needed to do some research and download
a pretty long article from the Microsoft
| | 00:26 | site about how to take a workflow and
attach it to a different list and change
| | 00:30 | its GUIDs and things like that.
| | 00:33 | If I have a workflow that I know I want
to use in multiple places in SharePoint
| | 00:37 | 2010, I just create it as a Reusable
Workflow. One of two types of workflows that
| | 00:43 | aren't, to begin with,
attached to a specific list.
| | 00:46 | So I'm going to create a new Reusable
Workflow. And the Name that I'm going to give
| | 00:52 | to this workflow is really pretty easy,
because what we're going to do here is
| | 00:56 | we're going to Email a Submitter.
| | 00:58 | So Send a confirmation email to
the submitter of the current item.
| | 01:09 | I could use this in a million places.
| | 01:11 | I would write it over and over and
over again, it is the first step in a
| | 01:15 | workflow, so why not simply create it
once and for all, and literally for all,
| | 01:20 | all Lists, all Libraries.
| | 01:21 | Now I can tie this to a
particular content type if I wish.
| | 01:26 | This doesn't make sense in this instance
because I'm not going to just use it
| | 01:29 | on documents, and I'm not going to
just use it on items, I'm going to use it
| | 01:33 | very globally, but it's possible that
I would want to create a workflow that
| | 01:37 | tied to a particular content type.
| | 01:39 | And we're going to talk about that in
a later movie, but right now I'm just
| | 01:43 | going to leave it set for All and click OK.
| | 01:46 | And then you know Step 1 is simply going
to be to Email submitter, it's a single
| | 01:52 | step workflow, not a problem.
| | 01:55 | So Action > Send an Email,
Email these users and go get them.
| | 02:02 | So workflow Lookup for User.
| | 02:05 | The Current Item is always going to
have someone who it was Created by, so
| | 02:09 | this will work, but I want you to
look at how paltry this list is of items
| | 02:14 | that are available always.
| | 02:16 | These are the only fields that we know are
available in every single item and document.
| | 02:21 | What its content type is, who Created it, and
When, its ID that's assigned by SharePoint.
| | 02:27 | If it has been Modified, who
Modified, and when, and a Title, that's it.
| | 02:31 | Other than that we can't make any
assumptions about the kinds of fields that are
| | 02:36 | available, that's an important thing
to remember when we're working with
| | 02:40 | Reusable Workflows, because if we
need to be able to have fields at our
| | 02:45 | disposal, we're going to have
to find a way to connect to them.
| | 02:48 | But right now Created by is going to
work well for us, we would do everything
| | 02:52 | else to address this email, New Item or
document, for example, and then all of
| | 02:57 | our text, and you know how to do
all of this to Email a Submitter.
| | 03:01 | So, here's our workflow, I'm going
to go ahead and save it, and we have a
| | 03:06 | Reusable Workflow available for any
List, or Library, as soon as I publish it.
| | 03:14 | Now in any list, or library, that I wish,
I can go ahead and connect back to
| | 03:19 | this Email Submitter workflow, that's how
easy it is to create a basic Reusable Workflow.
| | 03:24 | In the next movies we have a little more
flavor that we will add to this process.
| | Collapse this transcript |
| Assigning association columns to a reusable workflow| 00:00 | The Reusable Workflow we just created
only uses a couple of columns that are
| | 00:04 | available everywhere. They're available
anytime you have a new document, or a new item.
| | 00:10 | But often you'll want to create a
workflow that actually needs to store some
| | 00:14 | information in a column, and you want
to make sure that that column appears in
| | 00:19 | the list, or in the library, that
you're attaching this workflow to.
| | 00:23 | So, two ways you can think about doing this.
| | 00:26 | One way is to create a Content Type.
That's a group of columns together that
| | 00:32 | underlie a particular list or many lists.
| | 00:36 | For example, there's a group of columns
under the Content Type for Contact, and
| | 00:41 | if we go take a look at that you'll see
many familiar columns that you're used
| | 00:46 | to seeing in contact lists.
| | 00:48 | So every contact list that's built
using the Contact List Content Type has all
| | 00:53 | of these columns in it.
So that's one possibility.
| | 00:56 | Another possibility though is that you
don't necessarily need to have a whole
| | 01:00 | lot of columns and the columns that
you need don't constitute an entire type,
| | 01:05 | like an entire contact, they're just a
couple columns that you need to have every
| | 01:09 | time this workflow runs
because it requires them.
| | 01:12 | So in that case, our other choice is
called, Association columns. If you associate
| | 01:18 | a column with the Reusable Workflow,
then when we add that workflow to a List,
| | 01:22 | or Library, the Associated columns are
automatically also added to the List, or
| | 01:27 | Library. So let's see how we would
Associate columns with this workflow.
| | 01:32 | Specifically the column I'm looking for
is a column that will include category,
| | 01:37 | because we want to categorize all of
the items that are submitted, and when we
| | 01:41 | provide the feedback that says, hey, we
get your document or we got your item,
| | 01:46 | we're also going to say, and we put
it in this category. So let's just go
| | 01:49 | associate that with the reusable
workflow and then obviously we would add some
| | 01:53 | other steps to assign a category based
on a number of different criteria, or
| | 01:58 | perhaps, we would have a human do that,
and we would ask them to make that
| | 02:02 | decision, but let's go ahead
and choose Association columns.
| | 02:05 | Every time you click that button,
you're going to get this warning that looks
| | 02:09 | really dire, it says if you change
these Association columns for the workflow,
| | 02:13 | then new instances of the
existing associations might not work.
| | 02:17 | That's actually true, but it's not a
problem, and we're going to see this
| | 02:21 | every single time we click the button. And
now what we're going to do is select the column.
| | 02:26 | Now there's two ways we can choose a column.
| | 02:28 | There is that entire bank of columns
that sits underneath the existing Content
| | 02:33 | Types that I just showed you. And my
first choice for you will always be to go
| | 02:37 | look at the site columns and see if the
column we want already exists. And the
| | 02:42 | reason for that is you don't need to
have two different fields, one called first
| | 02:47 | space name, and the other called first
name with no space because you didn't
| | 02:51 | bother to check, or more likely,
someone else didn't bother to check.
| | 02:55 | They just went, oh, I need a
new column. Let's make one.
| | 02:58 | So, we'd like to use the site columns
as much as we can because if we have a
| | 03:02 | site column, then we can build
business requirements into that site column.
| | 03:05 | For example, if we have an employee
ID that has a particular pattern, we'll
| | 03:09 | create that as a site column once, use
it over and over again, and if we change
| | 03:13 | our formatting for employee ID, we
change it in just one place, so there's real
| | 03:17 | power to these site columns.
| | 03:18 | Think of them as global site columns,
and I'm looking for category, and I
| | 03:23 | actually find the category field appears
a couple of times, one is a Base column
| | 03:28 | and one as a Core Document column.
| | 03:31 | I'm just going to go ahead and choose
Category because it singular and say OK.
| | 03:36 | And I have now added the Category
Association here to this workflow.
| | 03:41 | If I want to remove a category,
I can remove it from here.
| | 03:44 | Removing it will still leave it in the
list and so I might need to go do some
| | 03:49 | cleanup, and I'll be prompted to do
that, but this is all good, I have this
| | 03:53 | extra column that I need and later
on when I associate my Email Submitter
| | 03:58 | Reusable Workflow with a particular
List, or Library, it will automatically get
| | 04:03 | an instance of the Category column
added to that List, or Library.
| | 04:08 | That's how Association columns work.
OK, Save, Publish, and we're all done.
| | Collapse this transcript |
| Creating a custom content type for a workflow| 00:00 | The other way that I can guarantee that
all of the columns of data necessary to
| | 00:04 | support a reusable workflow are present
is to create a Content Type, and then tie
| | 00:10 | my Reusable Workflow to that Content Type.
| | 00:13 | I'd like to create a workflow that we
can tie as part of our new hire process.
| | 00:18 | That after we've onboarded somebody
back in the HR department, they can set
| | 00:22 | up the 30 day, 90 day, and 180 day evaluations
for this employee as soon as we've hired them.
| | 00:29 | We know it needs to be done, we can
start our clock ticking, and this workflow
| | 00:33 | can do all of the things that we need to do.
| | 00:35 | So I want to create a reusable workflow
that can be used by anybody who's hiring
| | 00:41 | folks, even for vendors or for
contractors, we don't necessarily need to do this
| | 00:46 | only with employees.
| | 00:47 | But in order to do this I
need to have some information.
| | 00:50 | Now I would always first go to Content
Types and go take a look, but the Content
| | 00:54 | Type that's here that's the person Contact type.
| | 00:59 | There is Contact, and there is East
Asia Contact, and they both have really
| | 01:02 | similar information in their Content Types.
| | 01:05 | They have Last Names and First Names,
all of the things that you expect in an
| | 01:09 | Outlook contact, but they don't have
something that we need, and that is we need
| | 01:12 | to be able to capture the hire date.
| | 01:14 | So I am going to show you how to create
your own custom Content Type that we can
| | 01:18 | then use with a workflow for employees.
| | 01:21 | So we are going to create our
Basic Employee Content Type.
| | 01:25 | So we've clicked Content Type here under
Site Objects, clicked New Content Type,
| | 01:30 | and we're going to call this Employee.
| | 01:31 | And if we look at the Descriptions
for these, it's like, Create a new basic
| | 01:37 | page, Fill out this form,
Create a link, and so on.
| | 01:42 | So that is the type of Description,
so this is Enter information about an
| | 01:48 | employee, that kind of fits.
| | 01:51 | Now what we want to do is
select parent content types.
| | 01:56 | So there are groups, notice Custom
Content Types, Document Content Types,
| | 02:00 | Folder Content Types, I'm actually going to use
the Contact Content Type as my starter for this.
| | 02:07 | So that is part of the list Content Types.
| | 02:12 | Now if I didn't know that I could have
scrolled the list that you see here and
| | 02:16 | found it, but it's not a document, it's
not a folder, and it's not a group, and
| | 02:21 | list is just about everything
that's not a document actually.
| | 02:24 | Because, look at all the lists, these
are the things that you're used to working
| | 02:28 | with here in SharePoint Designer.
| | 02:30 | So there's my Contact, and then it
says. Where should it keep this? Where
| | 02:34 | should it sort it into?
| | 02:35 | Well I could make a case, actually,
for putting this down where we found it
| | 02:39 | just now, which is under the list
Content Types, it makes it sort of
| | 02:43 | traditional and hierarchy.
| | 02:45 | I could make a case for that, I am
going to keep it under Custom for right now.
| | 02:48 | And I could also set up a New group,
and this is an unusual that would be named
| | 02:53 | for my organization.
| | 02:54 | Here are the Two Trees Olive Oil
Content Types, they are different than
| | 02:57 | everybody else's, and we could put
our own Custom Types there instead of
| | 03:00 | putting them with these.
| | 03:02 | You might wonder how these Custom
Content Types got here because we haven't
| | 03:06 | created them before. And the answer is
they've been created for us by SharePoint
| | 03:11 | whenever we've gone in and said, well
let's create a workflow, but it needs a
| | 03:14 | particular column there.
| | 03:16 | So I don't necessarily want the things
I create intentionally to be here, I've
| | 03:20 | just talked to myself into creating a new group.
| | 03:22 | So here are the Two Trees Olive Oil
Content Types that we created intentionally
| | 03:29 | exactly like I am going to
show you right now, that'll work.
| | 03:33 | Where will I find these? The answer
would be, in alphabetical order, and T comes last.
| | 03:37 | So let's go open up the Employee
type and edit the Content Type columns.
| | 03:42 | And here are all the columns that I got
because I based this on Contact, they're all here.
| | 03:48 | But I need to be able to add a hire date.
| | 03:51 | This is the part that feels a little
difficult because I'm not allowed just to
| | 03:54 | add a free form anything.
| | 03:56 | If I want to add a column, it needs to
exist in the collection of site columns.
| | 04:01 | If I click and say, well, let me look
for something like a hire date, you'll
| | 04:06 | find that it's not there, there's no
hire date, there is no onboarding date.
| | 04:10 | So the answer here isn't to give up,
the answer is to go add a new Site column.
| | 04:15 | So let's go to Site columns and
create a New column, and you click the
| | 04:19 | dropdown, and it asks you what type of
data we will have, and this is going to
| | 04:23 | be a Date & Time column.
| | 04:24 | And this Date & Time column is going to
be called Hire Date, and this is going
| | 04:29 | to be an employee, contractor, or supplier.
| | 04:34 | And so with an employee, we call
that a hire date, or a contractor or
| | 04:40 | supplier, start up date.
Now it's asking where we want to find it?
| | 04:48 | Well, here's the Core Contact and Calendar
items, and that's exactly where I'd like it to be.
| | 04:53 | I could also choose to create a New
group that was Two Trees Olive Oil columns,
| | 04:59 | but I don't feel a need to do that.
| | 05:01 | This system of sorting works really well
for me, combined with the ability to search.
| | 05:05 | So let's just go ahead and say OK, and
notice here's our new Hire Date column.
| | 05:10 | Now that it exists in the site
collection I can use it, but first notice here's
| | 05:14 | the asterisk that shows me I
haven't saved my work yet, let's go ahead and
| | 05:18 | save, and that's what we'll get it
saved to the Site columns collection.
| | 05:22 | Now I am going to click on my
Employee tab so I can edit that.
| | 05:26 | I'm going to Add an Existing Site
column, and this time when I search for the
| | 05:30 | word hire, there it is, and
I can go ahead and add this.
| | 05:34 | In a similar way I could add any other
column that I need to have present in
| | 05:38 | this particular Content Type, and I can
also remove things if I don't want them.
| | 05:43 | I don't have a need, for example,
to have an employee web page.
| | 05:47 | I don't necessarily have a need
to have some of these other fields.
| | 05:50 | But when I have my Employee all set up
the way I would like to have it set up,
| | 05:56 | that looks pretty good here, I am going
to go ahead then and save this. And now I've
| | 06:01 | created a new Employee Content Type
that is going to be available any time that
| | 06:05 | I want to have all of those fields
together, to create a List, or a Library. or to
| | 06:11 | support a Reusable Workflow.
| | Collapse this transcript |
| Associating a reusable workflow or content type with a list| 00:00 | So now we have a workflow based on a
Content Type, and we want to connect those
| | 00:05 | to a Library, or a List. And I already
created a list called Employee Review.
| | 00:11 | So there are a couple of things that we
need to do, first we need to make sure
| | 00:16 | that this list Allows management of
content types because we're going to use
| | 00:19 | a new content type.
| | 00:20 | So scroll down to the bottom of
Employee Review, here in SharePoint Designer on
| | 00:25 | its Settings page, And let's go ahead
and Allow management of content types, and
| | 00:29 | let's go ahead and save that, so
it knows that it allows management.
| | 00:33 | Now I am going go to go ahead and
close this, and I'm going to go to my
| | 00:38 | Content Types, and go down to Employee content
type, and I'm going to apply this to a list.
| | 00:46 | And the list I'm going to apply it to is
that Employee Review list, and click OK.
| | 00:51 | Now it looks like nothing happened,
but if we go back to our list now, and
| | 00:56 | we take a look at our Employee Review,
and we scroll down, we'll find that
| | 01:03 | the Employee content type has
actually been added here. So it's now
| | 01:07 | available to this list.
| | 01:09 | But so is Item, and if we skip over
to SharePoint for a moment, you'll see
| | 01:13 | what this looks like.
| | 01:15 | So here's Employee Review, and if I say
I want to add a new item, it will take a
| | 01:20 | second and try to figure out what it
should use, and it says, "Oh well, let's
| | 01:24 | just use that Title thing." I don't want that.
| | 01:26 | If I went to Items on the list, and I
chose New Item, I'd have two choices, a
| | 01:31 | new list item, which has one field in it, or
new Employee, which is what I'd like to have.
| | 01:36 | So effectively what I need to do here
is I need to say, you know what, I don't
| | 01:38 | want to create just the
plain old list items anymore.
| | 01:40 | You might wonder, why
does it allow both of these?
| | 01:43 | Well, there's some really good reason for that.
| | 01:45 | A list, or library, isn't
constrained to only one type of information.
| | 01:50 | So let's imagine, for example, that
we have a library. And we want to keep
| | 01:55 | different metadata, based on whether
we are putting documents or images or
| | 01:59 | media files in there.
| | 02:00 | So we could actually have three
content types, document content type, image
| | 02:03 | content type, picture content type, and
a media content type. And we could use
| | 02:08 | them all, and then when somebody is
putting a new image in they would choose one
| | 02:11 | kind of new item, if they were
choosing a document, another.
| | 02:14 | So that's what's being allowed here.
| | 02:16 | But in this case, we have no desire to
have people dropping these simple items
| | 02:20 | with one field in them, into this list.
| | 02:22 | So there are a couple of different
places that we can take care of this, but
| | 02:26 | I'm going to prefer to return to
SharePoint Designer. And here we have this Item
| | 02:30 | as a Content Type that's allowed in
our Employer Review list, and I'm simply
| | 02:34 | going to delete it.
| | 02:37 | And I'm going to go ahead then and say
this looks pretty good to me, I'm happy,
| | 02:41 | because the only type that
would now be allowed in is Employee.
| | 02:46 | I can also create folders there, and I
can only do that when I have an explorer
| | 02:49 | type view open. Notice that it doesn't
show up on the menu, and Employee is now
| | 02:53 | the default setting, and the only
thing that we can create in this library.
| | 02:58 | So now what I'd like to do is I'd like
to hook up my workflow to the library.
| | 03:02 | I've put the control type in there,
that's good, and we're going to choose our
| | 03:06 | Schedule New Employees Review Reusable workflow.
| | 03:09 | Remember that I can't assign any
of my list flows to other lists.
| | 03:13 | If I choose one of these, my
associate choices are gone.
| | 03:16 | But I'm down here on Schedule New
Employees Review, and this is already
| | 03:20 | Associated to the Content Type Employee.
| | 03:24 | What I want to do is associate
it to the Employee Review list.
| | 03:27 | Here I am over in SharePoint adding a workflow.
So Content Type, Run it on All types of items.
| | 03:34 | Well, there is only one item type left
here anymore, but that might not always
| | 03:38 | be true, I am going go to tie this to Employee.
| | 03:40 | Notice that I have different
workflow templates, these are my reusable
| | 03:43 | workflows that are allowed to be used
here, and I'm going to choose Schedule
| | 03:47 | New Employee Reviews.
| | 03:48 | That is the global name, but I need
to enter a specific name, it could be
| | 03:53 | the same if I wish.
| | 03:54 | If this were, for example, one
department I might be saying Schedule New
| | 03:59 | Production Employee Review,
Schedule New Warehouse Employee Reviews.
| | 04:03 | But I'm just going to say
Schedule New Empl Reviews.
| | 04:07 | And then it says, if this workflow uses
Tasks, what list will we use? And you'll
| | 04:12 | remember that these are
settings we talked about earlier.
| | 04:14 | It's good to share a common Task
List, and it's not bad to share a
| | 04:17 | common Workflow History.
| | 04:18 | And then finally, we'll need to set
the Start Options for this workflow in
| | 04:23 | this particular library.
| | 04:25 | And I actually want this workflow to start
every time a new Employee Review item is created.
| | 04:30 | So as soon as I add an employee over
here, whether somebody types them in, or I
| | 04:35 | create this employee by using
information that I have in my on boarding
| | 04:39 | workflow, and I throw it over the wall
here, however it's created, that's when
| | 04:43 | I want this to actually start running.
| | 04:45 | I am going to go ahead and say OK, and
I now have Schedule New Employee--E-M-P-L--
| | 04:51 | Reviews, that's the local name of this
workflow that I've created, connected to this library.
| | 04:56 | So there are all the parts and pieces.
| | 04:58 | Whether I'm using a Reusable Workflow
with Association columns, or I am using a
| | 05:03 | Reusable Workflow tied to a Content
Type, I have to tie the workflow at least
| | 05:08 | with a Content Type, the Content Type
as well, and I'm going to do that in
| | 05:12 | SharePoint Designer by
saying that I want to Associate.
| | 05:15 | I'm associating workflows to Content
Types, workflows to Lists and Libraries,
| | 05:20 | Content Types to Lists and Libraries.
| | 05:22 | This entire process has lots of parts
and pieces, but when you've done it a few
| | 05:27 | times you're going to get
really used to doing it.
| | 05:29 | The best advice I have for you is
as you're doing anything down here in
| | 05:33 | SharePoint Designer, each
time go back up and save it.
| | 05:36 | Most of the issues that I've faced are
because I forget to save, for example,
| | 05:40 | an Association to a Content Type, and then I
have problems trying to use that in a Library.
| | 05:45 | But Associations with Reusability
allow us to create powerful, powerful
| | 05:50 | workflows and use them over and over and over
again in different settings in our site.
| | Collapse this transcript |
| Creating a site workflow| 00:00 | The last new workflow we are going to
create is a Site Workflow, and this is a
| | 00:04 | new workflow type for SharePoint 2010.
| | 00:07 | The List Workflow and Reusable Workflows have
to be connected to a specific list, or library.
| | 00:14 | Even the Reusable ones sits there
waiting for you to hook it up to associate it.
| | 00:18 | But a site workflow is
independent of lists and libraries.
| | 00:23 | And therefore we can use a site
workflow for a workflow that really only has an
| | 00:28 | initiation form with the user and then
goes and does some work, and it's done,
| | 00:32 | or a site workflow can
cross libraries and lists.
| | 00:36 | You could have a site workflow that
you could point and have it look at
| | 00:40 | various lists in your site.
So let's see how to Create a New Site Workflow.
| | 00:46 | First, we'll need to give it a name.
And what we're going to do, in this
| | 00:49 | particular workflow, is we are going to
make it really easy for a user to drop a
| | 00:55 | suggestion off to a department.
Probably too easy, they'll be suggesting all
| | 00:59 | kinds of things, but this is the new
employee suggestion box, and we want to be
| | 01:04 | able to launch this from anywhere. We
don't want people to have to go to a
| | 01:08 | particular library, so we're just
going to create this as an example.
| | 01:14 | Gather suggestion info and email to
the Suggestion Diva in our organization.
| | 01:23 | Let's go ahead and say OK.
| | 01:25 | Now, we don't have a regular library,
or list, for this to hang off of, and so
| | 01:30 | what we're going to do is we're
actually going to grab some information and put
| | 01:35 | that in Initiation Form Parameters.
| | 01:37 | I want to slide over here, for just a
second, out of the editor and take a look.
| | 01:41 | And as soon as I save this
workflow, even with nothing in it, if we
| | 01:45 | just save this, we'll have the ability
then to go and to add some initiation
| | 01:50 | form parameters that are going to be shown on
a form that's going to create right down here.
| | 01:55 | So what I'm going to do is I am going to
say that we want their suggestion text.
| | 01:59 | And I could do a Single line of text,
here is that short list of object types,
| | 02:03 | but I am going to give them Multiple
lines of text, and I'm not going to
| | 02:07 | provide a default value.
| | 02:08 | This is an interesting choice here,
Append Changes to Existing Text, which would
| | 02:12 | actually allow me, for
example, to keep a running list.
| | 02:16 | You'll see this in discussion items
where one person adds more to the list item
| | 02:20 | that's already there.
| | 02:21 | And how many lines I want them to have
to begin with, not a big deal, 6 sounds
| | 02:26 | good, I am going to go ahead and click Finish.
| | 02:28 | And I might want to ask something else
like here's the suggestion, I might ask
| | 02:32 | who they believe the
suggestion should be sent to?
| | 02:35 | So let's just go ahead and add another
initiation field, and we'll say Recipient.
| | 02:41 | And notice that I could drive a
choice menu out of here if I want to, but I
| | 02:46 | am just going to ask somebody who they think
would best benefit from having this information.
| | 02:50 | And there's no Default value,
and I'm just going to click Finish.
| | 02:53 | So there are my two and initiation
form parameters, and I am going to say OK.
| | 02:57 | These are like local variables, but
it's also, make sure that these variables
| | 03:02 | are placed on the form.
Let's go ahead and say OK and edit our workflow.
| | 03:06 | So the first thing that I'm going
to do is I'm going to Send an Email.
| | 03:12 | And the Action here will be Send an
Email, Email these users, and I am going to
| | 03:18 | Email this to suggestions@twotreesoliveoil.com.
| | 03:23 | While I'm working on this, I might
want to copy myself, because I'm testing.
| | 03:31 | I love it when I can have my IT folks
set up a couple of test accounts, test
| | 03:35 | user one, test user two that they
put in mailboxes I can then open those
| | 03:39 | mailboxes in Outlook and make sure
all these things are working right.
| | 03:42 | And so we have an item coming in here
with a New Suggestion, and we might as
| | 03:51 | well go ahead and put the username here,
that would be the Current User, New
| | 04:00 | Suggestion from Current User.
| | 04:02 | And then in my body of my document I
can say, You've received a new suggestion,
| | 04:09 | and I can insert some information about
that new suggestion and my Data source
| | 04:14 | here would be in my Workflow
Variables, so there's my SuggestionText.
| | 04:21 | Then I can say that the Current User, we
grab their information up here as well.
| | 04:25 | So remember all I have are variables in
a context here, there's no form there's
| | 04:29 | no library, so you are pretty limited
about the places you need to look in order
| | 04:34 | to find what it is you're looking for.
| | 04:37 | So the Current User listed, we'll go
grab our Recipient, that again comes out of
| | 04:43 | the variables as the best
recipient for this suggestion.
| | 04:52 | So the same kind of thing that we
would do if we were grabbing information
| | 04:56 | out of a task, if we were using
collect info from user action, if we were
| | 05:02 | taking data that had been submitted
in a list and using it, but when we're
| | 05:06 | creating this site workflow, we don't
have a permanent resting place for any
| | 05:11 | of this information, it's actually
only existing during the time that the
| | 05:15 | workflow was running.
So let's go ahead and say OK.
| | 05:18 | That works well, I want to check my
workflow for errors, there aren't any, let's
| | 05:24 | Save, and let's Publish.
| | 05:28 | And if I look at my Workflows now,
there's my new site workflow.
| | 05:33 | Where will I find it in my site?
Well, let's slide over to SharePoint.
| | 05:37 | So let's go take a look and find our workflow.
| | 05:40 | We'll actually find it under All Site
Content, so we can either scroll to the
| | 05:44 | bottom and go to All Site Content--it's
probably the easiest way--and at the top
| | 05:49 | of that list here's our
listing of Site Workflows.
| | 05:52 | It's the only place you're
going to find it right now.
| | 05:54 | And there is my Employee
Suggestion along with my description of it.
| | 05:57 | I am going to go ahead and click
Employee Suggestion, there is my
| | 06:01 | SuggestionText, and I am going to say
Frozen yogurt on Thursdays, and I actually
| | 06:09 | think that the person in
charge of Facilities would be best.
| | 06:12 | Not really I know his name, maybe it's Joe.
I don't remember, is Joe in Facilities?
| | 06:17 | Mary Anne, can't remember, somebody is in
Facilities, and let's go ahead and Start this.
| | 06:22 | Now it takes a second for that
workflow to process and sometimes there's even
| | 06:26 | more of a delay and the user
will click a couple of times.
| | 06:28 | But notice that our workflow has run,
and it's completed, it's all done.
| | 06:33 | So if I were to go check my email,
which I am going to do, and I am going to
| | 06:40 | force it to go get my email for me,
and there we go. New suggestion, Frozen
| | 06:45 | yogurt on Thursdays.
| | 06:46 | The user listed Facilities is the
best recipient for this suggestion.
| | 06:51 | So the date has no place within this
email, but it's great to have captured it.
| | 06:55 | If I wish, I could actually copy this
shortcut, and I can put it somewhere else
| | 07:01 | on my site to run this, it's a valid
shortcut for me to use someplace else.
| | 07:08 | Notice it goes immediately here to the form.
| | 07:10 | So I don't have to direct my users to
All Site Content to get to it, this is a
| | 07:15 | really great way to create a simple
form, to grab something and then post a
| | 07:20 | link on the homepage in SharePoint or
someplace specific that's going to be easy to get to.
| | 07:26 | Real minimal effort to create a
small workflow along with a form and
| | 07:31 | application, so, welcome to Site
Workflows, find a lot of great uses for these.
| | Collapse this transcript |
|
|
13. Using Visio Premium 2010 for Visual Workflow DesignExporting SharePoint Designer workflows into Visio| 00:00 | One of the real shortcomings of
SharePoint Designer 2007, in my opinion, was the
| | 00:05 | inability to really do good
documentation for workflows.
| | 00:08 | Lots of the users in the business are
happy with reading this type of a thing,
| | 00:13 | but if you take a look, you
don't have the ability to print.
| | 00:16 | And so, how do I provide information here?
| | 00:20 | What I've done, in many cases, is I've
actually taken a screen scraper tool, a
| | 00:25 | snipping tool, and taken pictures of
each step and pasted them into Word
| | 00:28 | documents and annotated them.
| | 00:30 | With SharePoint Designer 2010, I have
the ability to export my workflow to
| | 00:35 | Visio, and that has made all the difference.
| | 00:38 | All I need to do in SharePoint
Designer is open my workflow and then
| | 00:42 | choose Export to Visio.
| | 00:43 | The name of the workflow is used as
the file name and the type of file it
| | 00:47 | creates is called the Visio
Workflow Interchange File.
| | 00:50 | I don't really have any other choice here,
so there's no reason to worry about it.
| | 00:54 | I am going to go ahead and click Save, and
that interchange file has now been created.
| | 00:58 | That's the easy part.
| | 00:59 | Now I need to go open it up in
Visio, and that's not a lot harder.
| | 01:03 | So here I am in Visio Premium 2010,
and I say premium not because I want to
| | 01:08 | upsell you, but because if you don't have
Microsoft SharePoint Workflow as one of
| | 01:13 | your choices when you choose
Flowchart, like this, you're not in Premium, or
| | 01:18 | you're not in 2010, and
you won't be able to do this.
| | 01:21 | But check this out.
| | 01:23 | I am going to open a new Microsoft
SharePoint Workflow. Here it is.
| | 01:27 | Here are my workflow actions, and I can
now go to Process and Import my workflow
| | 01:34 | that I created in SharePoint Designer.
| | 01:36 | And this to me is worth the price of
admission because now I don't have to copy
| | 01:41 | and paste out of any window, I get a
really nice representation of my workflow.
| | 01:48 | So let's zoom in a little bit, and take
a look because this did a beautiful job.
| | 01:54 | So here we have Processes,
we're waiting for items to change.
| | 01:57 | Look at that little clock, all of my
users are going to understand that.
| | 02:00 | They're going to understand, Send an email
with a little email attachment, and Stop.
| | 02:05 | But Visio is using the proper
symbology for my IT people to be happy too.
| | 02:10 | This is a process, this is decision,
or in workflow terms, this is an action,
| | 02:16 | this is a condition.
| | 02:17 | So every place that I have multiple
choice, notice that we have a condition
| | 02:22 | going into actions if
it's yes, and not, if it's no.
| | 02:25 | So, what a beautiful thing this is that
I have a great flowchart that I created
| | 02:31 | with just a small number of clicks.
| | 02:33 | I can take this apart and use it in a
PowerPoint Presentation, I can print this
| | 02:37 | and talk with users about it, I can
post it on the wall of my cubicle, and it
| | 02:41 | represents such a major
step forward in documentation.
| | 02:44 | I'm thrilled with this new feature of SharePoint
Designer 2010, and I use it all the time.
| | Collapse this transcript |
| Using the SharePoint workflow template to design a workflow| 00:00 | If you have Visio 2010 Premium, you
can create your Microsoft SharePoint
| | 00:04 | Workflows here in Visio, and then
import them into SharePoint Designer.
| | 00:10 | Now, there are number of different
workflow templates in Visio, but the only one
| | 00:14 | that you can use for this is
the Microsoft SharePoint Workflow.
| | 00:18 | Also, there's no way to update
something to SharePoint Workflow.
| | 00:22 | So, if someone has created a basic
workflow, you can't automatically turn
| | 00:26 | it into a Microsoft SharePoint workflow,
you have to start intentionally right here.
| | 00:30 | I am going to double-click, and I
have several different sets of shapes
| | 00:35 | that have been put together, one of Actions,
one of Conditions, and one of Terminators.
| | 00:41 | If you're used to using Visio, you
might want to add some more shapes, say I'd
| | 00:46 | like to look for some Engineering
Shapes and add them or draw with other items.
| | 00:50 | But you can't do that and
import them into SharePoint.
| | 00:54 | These are the three groups
of shapes that you can use.
| | 00:57 | A couple of other caveats, every
single possible action and condition is
| | 01:01 | here, even if it's not supported in
the library you would put it in, even if
| | 01:06 | it can only be used in SharePoint Enterprise
Server, and you have SharePoint Foundation.
| | 01:11 | So, when you're taking a look at the
Actions, you need to be responsible to know
| | 01:16 | which ones of these will work in your context.
| | 01:19 | It is possible in Visio, actually pretty
easy, to create a new set of shapes, for
| | 01:23 | example, my SharePoint Workflow Shapes,
or my SharePoint Workflow Actions, and
| | 01:28 | drag some of these into that stencil
so that you have a subset that you would
| | 01:32 | use rather than using the entire set of shapes.
| | 01:35 | If you'd like to learn more about
customizing the Visio 2010 environment to
| | 01:40 | create SharePoint Workflows, take a
look at the Visio 2010 Essentials course in
| | 01:46 | the lynda.com online training library.
Let's go ahead and create our own workflow.
| | 01:51 | Every Workflow in SharePoint has to
start with a Start, and end with a Terminate.
| | 01:55 | So I am going to go ahead and drag a
Start out here, and then we're going
| | 02:00 | to add some Actions.
| | 02:01 | The first thing that we're going to do,
this is a Workflow that's going to run
| | 02:05 | when something is saved into
our expense report library.
| | 02:08 | There are two types of things that get
saved there, one is that folks will save
| | 02:12 | the expense reports themselves.
| | 02:14 | The other is that folks will save
supporting documentation, for example, they
| | 02:18 | might save a PDF of an
airline ticket, or something similar.
| | 02:21 | There's a different naming
convention for those items.
| | 02:24 | So, the first thing we want to do is
every single thing that's submitted, we
| | 02:28 | actually want to send an email.
| | 02:29 | You'll notice that the
print here is really small.
| | 02:32 | Let me drop the other shapes on, and
then I am going to pump up the volume so
| | 02:36 | that these are easier for us to see.
| | 02:38 | After we've sent that first email,
it says this item has been submitted,
| | 02:41 | thank you very much.
| | 02:43 | What we want to do is we want to decide
what kind of item it is, and we want to
| | 02:47 | decide that based on its file type.
| | 02:49 | So, I'm going to take a look and see
what file types we have here, and then,
| | 02:55 | based on the file type, we're going to
take another action and the action is
| | 03:00 | going to be that we're going to send an email.
| | 03:02 | So, we're either going to
send an email that says hey,
| | 03:06 | a new expense report has been
received, that's our first email.
| | 03:10 | If it's just an image, however, or a
document that's supporting a workflow, we're
| | 03:15 | actually not going to send an email about that,
so we would then simply stop the workflow.
| | 03:21 | This, however, isn't a real stop, stop.
| | 03:24 | We still have to terminate the
workflow out here on the end.
| | 03:28 | So, let me now select all the shapes,
do a Ctrl+A, and I'm going to change our
| | 03:33 | font size here to a 14 point so that we
can see this a little bit more easily.
| | 03:39 | Now what I am going to do is I'm
actually going to go in and edit the contents.
| | 03:43 | So we're going to send an email,
that's the name of the action, so let's keep
| | 03:47 | that to the submitter, file received.
Then file is a specific type.
| | 03:53 | Well, the specific type of form used in
this library, where we are dropping these
| | 03:57 | expense reports, is an Excel file.
| | 04:00 | So, we are going to say
File is an XLSX file (Excel).
| | 04:07 | If the answer here is no, we are going
to stop the workflow, but if not, we're
| | 04:10 | going to send an email to Accounts
Payable - New Expense report Submitted.
| | 04:24 | So, there we go!
| | 04:25 | And again, if you're having any
trouble seeing this, feel free to pump the
| | 04:28 | volume up enough that you
can actually see the text.
| | 04:32 | But we also want to be able to see the icons.
So, I am going to zoom in a little bit.
| | 04:36 | I'm pretty comfortable with where we
are right now, and I'm just going to zoom
| | 04:40 | in so this fills the screen.
| | 04:42 | Notice that we have different
icons for the different actions.
| | 04:44 | Here we're sending an email, here we
are stopping a workflow, and here we're
| | 04:48 | checking a file type.
| | 04:49 | So, every single one of these
actions and conditions have their very own
| | 04:53 | iconography that goes with them.
| | 04:55 | The last thing that I am going to
need to do is to connect my steps.
| | 05:00 | So remember that you have this
red box that shows you're gluing.
| | 05:03 | I am going to glue from here to here.
| | 05:06 | I have a connection point here, the red
box signals that I'm connected, here to
| | 05:11 | here, two possibilities, one
here, one there and then here.
| | 05:20 | There's actually, technically, a step
that is here if you stop the workflow that
| | 05:24 | it goes down to terminate.
It doesn't hurt for me to draw that in.
| | 05:28 | I want to add a couple of
other pieces of information.
| | 05:31 | So, if the file is an XLS file,
this is yes, this is a no.
| | 05:39 | I'm going to go to process now,
and I'm going to check my diagram.
| | 05:42 | It says that there were no issues found
that it's valid the way I've drawn it.
| | 05:48 | That's a good thing to know.
| | 05:50 | If I want to use this diagram, I need to
save it because my next step is to export it.
| | 05:56 | So, I am going to go ahead and save
this, and I'm going to save this drawing
| | 06:02 | as opposed to the workflow file, the
drawing of the workflow in Visio, and
| | 06:08 | we're going to give this a good name,
so this is Email check filetype and
| | 06:15 | notify AP, for example, or I could say
that I'm going to Email the
| | 06:22 | submitter - check filetype notify AP.
| | 06:25 | This is going to end up being a name
that I'm going to see later, so I want to
| | 06:30 | choose carefully, and not just call it
Drawing5 as I did up here where I had
| | 06:34 | these brilliant file names.
| | 06:35 | So I am all set, I am going to click Save,
and now my workflow has been saved as
| | 06:39 | a Microsoft Visio SharePoint diagram right here.
| | Collapse this transcript |
| Publishing the workflow as a web page for feedback| 00:00 | We've created a workflow in Visio that
we're going to ultimately export from
| | 00:04 | Visio and import into SharePoint Designer,
but in the meantime we'd like to make
| | 00:10 | sure that there are some opportunities
for folks to give us feedback about this.
| | 00:13 | We're creating this workflow for a business
segment and they need to take a look at it.
| | 00:18 | So there are a variety of ways that you can
share a document for feedback with Visio 2010.
| | 00:24 | Let's go over and click File so
that we can go to Office backstage.
| | 00:29 | One possibility is to save this as an Adobe PDF.
| | 00:33 | If we do that what we'll end up with
is a PDF ready for annotation, so let me
| | 00:38 | show you how that works.
| | 00:39 | I'm just going to go ahead and click
Continue, it's asking how it should
| | 00:43 | render the document.
| | 00:44 | And I'm going to say go ahead and
Convert, and it will pick up the name of the
| | 00:49 | workflow as the PDF name, and I'm
going to click Save, and here's what the
| | 00:55 | document looks like.
| | 00:56 | So if I click Share, for example, it's
all set up to use a sharing pane, but
| | 01:01 | it's also set up for commenting so
that someone can go in and highlight
| | 01:06 | something if they wish and
leave a comment right here.
| | 01:14 | So this is how this works, if you're
used to sharing Acrobat Pro documents then
| | 01:20 | you'll be really skilled at this, if
you're not, then this might be something that
| | 01:24 | your introducing a team of folks
about, how they could do this together.
| | 01:28 | You can attach it to email, or you can
place this in a location where people
| | 01:32 | can get in and edit it.
| | 01:33 | So that's our first method is to go
ahead and have people mark up their changes,
| | 01:37 | and whether they're sending these back
to you all marking them up in one place--
| | 01:41 | because this is a shared document that
would be best--or they're making their
| | 01:45 | own comments and bringing them to a
meeting, or participating online in a
| | 01:49 | conversation, doesn't really matter.
| | 01:50 | This is a really good tool for a user
to be able to go in and annotate this.
| | 01:55 | I'm going to go ahead and close this, and
let's go ahead and throw out the changes.
| | 02:01 | The next tool you can use is you can
actually publish your drawing, not as a PDF,
| | 02:06 | but in one of a series of
different types of formats.
| | 02:10 | For example, if you choose Save to
SharePoint, you have the possibility of just
| | 02:15 | saving this diagram on a SharePoint site.
| | 02:18 | You can save it as a Visio drawing so
that other people can go open it and then
| | 02:22 | make comments, or if you are using
Microsoft SharePoint Enterprise Server
| | 02:29 | running Visio services you can actually
publish your workflow so that it can be
| | 02:34 | served and people can comment on it,
and as you change it, it will actually
| | 02:38 | refresh what they are seeing on the web site.
| | 02:41 | So two possibilities of how you
might save this in SharePoint.
| | 02:45 | I also want to show you another possibility.
| | 02:48 | Using Save As, you have a choice to
save, not as a Web Drawing--that's that Visio
| | 02:54 | and SharePoint Enterprise Server option I
showed you a minute ago--but as Web Page.
| | 03:00 | This is not a new format, this is
actually old, but I actually use this a fair
| | 03:06 | amount today, because what I can do
is I can create a custom web page.
| | 03:11 | I can then save that web page on a
SharePoint site and create a link to it and
| | 03:16 | send people to look at it.
| | 03:18 | So if I click Publish, I'll see my
options so I can say I want to publish
| | 03:23 | Details, I want to publish Go to Page,
I want to be able to allow people to
| | 03:28 | search, so if someone were to type in,
for example, Accounts Payable, it would
| | 03:32 | show them that it was listed
here and take them to there.
| | 03:35 | And again in a very large
document I want to use Pan and Zoom.
| | 03:39 | Now if I do that, I probably want to
change my Page title to something like
| | 03:44 | Proposed Expense Workflow - for Review.
| | 03:51 | And what it will do is it will create a
main page, all of the supporting pages
| | 03:55 | will go in a folder with this exact
same name, and then I can move all of those
| | 04:00 | to SharePoint, or to any
other web hosting environment.
| | 04:04 | So if I click OK, this is the
web page that just got created.
| | 04:10 | Notice that the way Pan and Zoom works
is it actually lets me select an area
| | 04:14 | and zoom in or out.
| | 04:16 | On the Search Pages I have the ability
to search for something particular like
| | 04:20 | the word stop, and it says you'll find
that right here or the word submitter,
| | 04:28 | and it says, well, this is
where I found it right there.
| | 04:31 | So this entire web page, and all of
the parts were created pretty easily
| | 04:35 | by Visio, and this has been
functionality that's been present in the last
| | 04:39 | two versions of Visio.
| | 04:40 | Regardless of how you decide to share
information with the users whether you're
| | 04:45 | doing it in a PDF or using the Visio
services in SharePoint Server Enterprise or
| | 04:51 | whether you're simply saving the
document on your SharePoint site and other
| | 04:55 | people using Visio can open it.
| | 04:57 | No matter how you choose to do it,
Visio has the tools to make it easy for you
| | 05:01 | to publish one or more versions
that will allow easy user feedback.
| | Collapse this transcript |
| Importing a Visio workflow into SharePoint Designer| 00:00 | We created our workflow in Visio,
we've posted it for feedback, made whatever
| | 00:04 | changes we need to make, and now
we're ready to take this out of this
| | 00:08 | environment, out of Visio,
and put it into SharePoint.
| | 00:11 | I really want you to wait until you're
convinced that you know everything you
| | 00:15 | need to know about this because
you don't want to be republishing it.
| | 00:18 | If I publish this once, and then republish
it, I'm really overwriting my first publish.
| | 00:23 | But I'm ready to go, so
we're going to export this.
| | 00:26 | We're going to create a Visio Workflow
Interchange file, or VWI file, and we're
| | 00:31 | simply going to give this a name.
| | 00:33 | This is going to be originally
Email submitter - check filetype.
| | 00:37 | There's my HTML, and my PDF, that I've created.
| | 00:40 | So it's good for these to have the same name,
Email submitter - check filetype - notify AP.
| | 00:46 | So let's go ahead and Save this.
| | 00:48 | It doesn't look like much happened, and
truly not much did except we created a
| | 00:53 | file that we can move
over to SharePoint Designer.
| | 00:56 | Here in SharePoint Designer, we can go
to the library that we want to put this
| | 01:01 | on, the list or library, and import it,
or I can go to Workflows, and I can
| | 01:06 | say Import from Visio.
| | 01:09 | So let's browse and go
find that particular file.
| | 01:12 | There we are, Email submitter - check filetype,
and let's go ahead and click Open > Next.
| | 01:18 | And we have two decisions to make.
| | 01:20 | The first is, is this a good name for
the workflow here in SharePoint?
| | 01:24 | And it seems fine to me.
| | 01:25 | The next thing is, is this going to be
a reusable workflow that we can use in
| | 01:29 | lots of locations, or is it
specific to a particular library?
| | 01:33 | In this case, we actually created
this to go with Expense Reports.
| | 01:38 | It's going to look for a very
specific file type when we're done.
| | 01:41 | So it doesn't make sense that
we would use it in other places.
| | 01:44 | I'm going to tie this then to the
Expense Reports library and click finish, and
| | 01:50 | here is our imported workflow.
| | 01:52 | Notice that the description that we
put in the shapes in Visio 2010 is here.
| | 01:57 | Send an email to the submitter - file
received, and then here is the actual
| | 02:02 | action that we chose, Email these users.
| | 02:06 | Then in the decision block
we put File is an XLSX(Excel) file.
| | 02:10 | Notice, if the file type is of a specific
type do one action and then send this email.
| | 02:15 | Else, do the other.
| | 02:17 | So this is exactly what the workflow
looked like in Visio, but now we have it
| | 02:22 | here in SharePoint Designer.
| | 02:23 | All we need to do is go
in and fill in the blanks.
| | 02:26 | The more specific information that
tells us exactly what each of the actions is
| | 02:30 | going to be doing, but the actions
themselves and the conditions here they are,
| | 02:34 | as well as the start and
the end of the workflow.
| | 02:37 | So you can see now how easy it is
for you, or for other people, to create
| | 02:41 | the workflow in Visio.
| | 02:43 | Keep it there as long as you're getting
feedback and then when you're ready to
| | 02:46 | go simply throw it over the wall here
to SharePoint designer and finish it off
| | 02:51 | by entering the specifics for
all of the actions and conditions.
| | Collapse this transcript |
|
|
ConclusionWhat's next?| 00:00 | We've reached the end of the course,
but that doesn't mean that you need to be
| | 00:03 | at the end of what you can learn
about creating workflows in SharePoint or
| | 00:07 | working with SharePoint Designer.
| | 00:09 | I want to make a few recommendations
about directions that you might want to take.
| | 00:13 | First, if you're interested in learning
more about SharePoint, if you found that
| | 00:18 | some of the time that we went back to
lists and libraries you weren't as certain
| | 00:21 | about what you saw there, or you'd just
like to know more about how to quickly
| | 00:25 | customize lists and libraries so that
you can use them in workflows, then I want
| | 00:29 | to encourage you to take a look at the
SharePoint 2010 Essential Training course
| | 00:34 | in the lynda.com online training library.
| | 00:37 | This is a great course, and if you want
to just start at the beginning of this
| | 00:41 | course I want to recommend it, and the
reason is that Simon is going to give you
| | 00:46 | some great language to explain to your
users how SharePoint works, and I don't
| | 00:50 | want you to miss that.
| | 00:51 | So if you haven't taken
advantage of this course, give it a shot.
| | 00:54 | If you'd like to learn more about
SharePoint Designer, you like the tool, and
| | 00:58 | you're thinking, wow, if I can do
that with workflows what else can I do?
| | 01:02 | Well, a couple of possibilities.
One is take a look at SharePoint Designer 2010:
| | 01:06 | Branding SharePoint Sites for how you can
customize your site so that they will just sing.
| | 01:11 | The second possibility is that
creating data-driven web pages course, which is
| | 01:16 | just absolutely incredible.
| | 01:17 | So remember that in a couple of our workflows we
were keeping track of performance indicators?
| | 01:24 | These data-driven web pages use
indicator data and other transactional data to
| | 01:29 | create really smart
business intelligence information.
| | 01:33 | So I want to recommend those
two courses for you as well.
| | 01:36 | If you'd like to learn more about form
development in InfoPath, I'd encourage you
| | 01:41 | to take a look at my course in the lynda.com
online training library, InfoPath 2010 Essential Training.
| | 01:48 | This course covers InfoPath from the
ground up, whether you're creating forms
| | 01:51 | that are going to be completed in an
InfoPath client or in the web, and you'll also
| | 01:56 | learn about things like digital
certificates and how you can protect data.
| | 02:01 | Finally, if you want to learn more
about Visio, if you want to learn about the
| | 02:04 | core functionality of how Visio works,
not specific to SharePoint workflows,
| | 02:09 | but how to work with shapes and how to
work with the different layers, how you
| | 02:13 | might want to take your documents and
dress them up for presentation, then take
| | 02:18 | a look at the Visio 2010 Essential Training
course also in the lynda.com online training library.
| | 02:24 | I hope this has been a really great
course for you, and you're going to go out
| | 02:29 | and create lots of workflows to
automate things in your business and take full
| | 02:33 | advantage of what SharePoint can do for you.
It's been an honor to be your instructor.
| | Collapse this transcript |
|
|