Developing Matt

My Technical Journal

Infopath and Workflow

leave a comment »

I took a class taught by Leonard Mwangi.  The class was a great introduction for me.  Overall I found infopath and workflow to be a great asset to large corporations with a strong internal structure supported by sharepoint.  Other than that environment I find it to be useless.  Here is my overall review and notes, keeping in mind that I had never touched this technology prior to this class.

As an internet application I’m not sure how valid this tool is.  The web development community is moving away from xml and from what I can tell every control and event is server driven: meaning it is a fat application for internet use.  Furthermore, there were some limitations on it being used strictly as a web app.  Sharepoint would have to be exposed externally for one.  Also, if you want them to fill out forms on a browser you have to have enterprise.  (standard doesn’t give you forms services).  In other words, you have to have enterprise version to use the browser enabled capability.  SQL server can be used to submit data directly, but only if you are using a non-browser enabled form.  If it is browser enabled you have to use a web service.

As an intranet application it becomes more valid.  Microsoft states it can be a development tool for non-developers tool which I think is a well-formed marketing lie.  The interface, validation, and complicated conceptual design require some type of development perspective, although someone with just enough interest in development would gravitate to it quickly.  A base template could theoretically be made which the non-developer could use to create their own, but it still is going to require a lot of hands-on involvement from a developer in my opinion. 

The validation inside the application is not very good (creating a dba’s nightmare).  The three solutions to this lacking problem is :

  1. vsta: visual studio tools for applications (free and very lightweight).  Writing custom code. 
    1. The catch: if you write code against infopath forms you have to give it full permissions, which creates a security problem.
  2. vsto: visual studio tools for office (download template to use with infopath)
    1. Same catch
  3. Use a web service.  This was suggested by Ameet Phadnis and seems the most plausible.  The only catch to this is getting the web service to provide meaningful error messages.

Other misc:
an add-in is required to be able to export documents to pdf  (I think it is free)
wss (windows sharepoint) is the free version of sharpoint with limitations (webforms is not available)
when you create a form you are creating an xml-based schema
infopath doesn’t require sharepoint but infopath and workflow requires sharepoint
under roles, set as initiator: this is the first form
if you want segregated views of the form (manager view, director view, etc) then you use views with roles (this is a non-browser capable feature).  Using views enables you to use different security, but it looked to me like you just had to create a brand new form.
Math is based on bodmas (brackets…o….division…multiplication…addition…subtraction)
digital signature becomes important and necessary.  This requires an ssl server or something akin.

tips tricks suggestions:
        upon submission use username to save form with
        don’t allow html when getting data from a user.  it will crash the form.
        use repeating sections…enables you to add new sections easily.
Other notes:
WSS platform provides
document management
cor collaboration capability (….)
workflow capability
        ~out of the box workflow: very prmitive fashion..doesn’t allow any customization. 
                you can still do some of the things
        ~Sharepoint workflow:  
        ~visual studion workflows:
MOSS Provides
~Enterprise content management (indexing, etc…on notion that is worng: sharepoint doesn’t replace the fileservice).  sharepoint is only about what they are using today…but archiving docuemnts and non-daily-used docs..this is not what sharepoint is for.  it’s not  a fileserver.  Sharepoint stores everything on dbs (stores it in a blob)..utilizes web services.
~Business intelligence capabliity
~Expanded search capability
~integration wit lin-of-business apps (workflow).  Workflows on WSS is very limited, but can be done.
~Internet publishing
2 ways to store your session state: database server or client.
you can enable session state to be on the client in the administration of sharpoint: configure infopath forms services
content type : just a way to organize your documents.  important for being able to use the templates for various forms.
data connections:  you can set up data connection libraries and use the same data connections for multiple libraries.  A form can have more than one connection.  But there is only one primary data connection
Types of workflows
1.  sequential workflow: uses flowchart witha  defined path (branches, loops, etc) and an end  (sharepoint designer only supports this type)
2.  stat machine workflow: based on a concept of condition and transformation  (keyboard example: k produces process that shows k on screen).  this is ver complicated, but it is pased upon conditions
Windows Workflow Foundation is the core of workflow in office 2007.  (.net 3.0 includes wwf, wpf, wcf)
WF consists of :
1.  collection of classes and objects
2.  Add-on in vs 2005 and part of vs2008
3.  Programming enabled application
Content types (means of packaging functionality and metada into a single deployable unit).  tracking report, evaluation report, expense report, etc
1.  metada: any number of columns
2. policy: can have it’s own imp defined
3. workflow: can carry workflows
4. document information panel: custom form can be displayed in the businss bar within office client app.
Workflow is a package that has to be implemented on sharepoint.
Out of the box sharepoint workflow templates…you can have only one type:
1.  three-state (wss, moss): tracks and moves list items through a series of states
2.  approval(moss) routes docuemnts for approval
3.  collective feedback (moss): routes documents for review
4.  collect signatures (moss) gathers signatures needed to complete a document
5.  disposition approval(moss) manages document experiation and retention, allowing participants to decide whether to retain or delete an expired document.
Is there a way to move workflow?
workflow uses guid that has a hierarchial order. 
from sharpoint database (he used etg_training_contentdb) (so look for sharepoint’s content_db)
select top 10 * from sites.  id is what you want
select top 3 * from docs.  siteid is the foreign key.
Moving a site to a new server is a huge pain: the best way to do it is to create a site template and then insert the existing data to the new server with a modification of the siteid to match the id in the destination site table.
If you want to submit data only to the database only after approval then you have to use a web service….inside the form…and it has to be inside the form.(I’m guessing it has to be an event driven to point to the web service)

David Burke discovered some of the same things I did in his review of infopath.


Written by matt

December 22, 2008 at 9:19 am

Posted in New to me

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: