There’s a lot to demonstrate when it comes to workflows. Consider this demonstration scenario:
You’ve been asked to design and build an online
ordering system for an electronic component manufacturer. To comply
with international regulations relating to environmental protection,
each product available for order must have achieved compliance with the
appropriate standards for the country into which it will be sold.
Determining compliance involves performing a series of calculations to
determine the level of specific substances within the finished product.
Since the calculation is relatively complex, it will be performed by a
separate system. Once the calculation has been performed, the results
should be sent to an environmental control officer for verification.
In addition to the environmental control procedure,
products being offered for sale must also follow a specific publishing
process before being included in the site. New products will be added
by the sales department. So that relevant technical information is
available, details of the product will be passed to the engineering
department, which will update the product record with appropriate
details. With these details in place, the marketing department will
then be responsible for collating and attaching the appropriate artwork
before the product is sent for final approval by the online sales
manager.
From this scenario, an appropriate design might involve three sequential workflows:
The first workflow will implement the environmental control procedure. The second will implement the publishing procedure. The
third will do the work of physically making the product available for
sale once the environmental procedure and the publishing procedure have
completed successfully.
Tip
All three processes could be
implemented using a single workflow. However, in my experience, there’s
only one constant when it comes to business processes and that’s
change. In the interests of reuse and maintainability, three separate
workflows are being created, since each addresses a discrete business
process. This means that if the environmental control process changes,
for example, only that workflow needs to be changed regardless of where
it’s used across the organization. Had the process been incorporated
into many separate workflows, making changes would be time-consuming
and could lead to inconsistent results. It’s always a good idea to
limit the scope of a workflow to a particular business process when
possible.
Prerequisites
Before we can demonstrate workflows in SharePoint 2010, let’s create a sample site collection to hold the appropriate data.
In SharePoint Designer, choose File | Sites | New Blank Web Site. Type this location for the new web site: http://localhost/c11. With
our new blank web site in place, we can start defining the data
structures that are required by our application. From the Site Objects
pane, select Site Columns:
From the Columns ribbon, choose New Column | Currency. In the Create a Site Column dialog that appears, type the name Unit Price. Choose the New Group radio button and type the name Online Sales Columns in the text box. The completed dialog should look like this:
Now
we’ll create a few new columns. Choose New Column | Hyperlink Or
Picture from the Columns ribbon. In the Create a Site Column dialog
that appears, type the name Product Image. Then choose New Column | Yes/No (checkbox) and type the name Environmental Compliance. Then choose New Column | Multiple Lines Of Text and type the name Technical Details. Then choose New Column | Single Line Of Text and type the name Product Name. Now
we’ll make use of these site columns to define a new Product content
type to hold details of our product catalog. From the Site Objects
pane, select Content Types. From the Content Types ribbon, in the New
section, click the Content Type button to define a new content type. In
the Create a Content Type dialog that appears, type Product
in the Name field. In the Select A Parent Content Type section, from
the Select Parent Content Type drop-down, choose List Content Types. In
the Select Parent Content Type drop-down, choose Item. Select the New
Group radio button, and in the text box, enter the name Online Shopping Content Types. The completed dialog should look as illustrated: The
next step in creating our custom content type is to add the site
columns that we defined earlier. From the Site Objects pane, select
Content Types and then select the Product content type from the content
types list. Then, on the Content Types ribbon, in the Edit section,
click Edit Columns. To
attach the site columns that we created earlier, click the Add Existing
Site Column button on the Columns ribbon. Repeat this process to
include all the columns in the Online Sales Columns group that you
added in steps 4 and 5. Once all columns have been added, the completed
list should look as follows:
Click
the Save icon in the upper-left corner of the SharePoint Designer
window to commit the changes to the Product content type. Our
next step is to create a list using our custom content type. The list
will be used to store our product data. From the Site Objects pane,
select Lists and Libraries. From the Lists and Libraries ribbon, select
SharePoint List | Custom List, as shown:
In the Create List Or Document Library dialog, enter Products as the name and then click OK to create the list. The
final step in preparing our demonstration site is to attach our Product
content type to our Products list. Double-click the Products list to
manage the list settings. In the Settings section, check the Allow
Management Of Content Types checkbox. In
the Content Types section, click the Add button, and then select the
Product content type from the list. Highlight the Item content type and
then click Show on New Menu from the ribbon. Removing the content type
from the new menu will prevent content of type Item from being created
using the user interface. Click the Save icon to commit our changes to the Products list.
|