Simple approve/reject form for SharePoint workflow? - sharepoint

I'm currently creating (in Visual Studio) a simple approval workflow within SharePoint so that I can execute some custom code once the user has approved an item. However, it seems that when I don't specify an approval form to use, SharePoint just selects a default one with a "Complete Task" button, but no "Reject" button.
Is there some sort of default approve/reject form I can reference in my code to give users both choices, instead of writing my own page or copy/pasting from the web?
P.S. I'd like to stay away from InfoPath. This is a really simple workflow that shouldn't take much time, and I feel like going the InfoPath route would take much more time than it's worth.

As far as I know, there is no such built-in form. The choices for your own approval form are InfoPath or a custom ASPX. From personal experience using either approach requires considerably more effort to develop than it really should but if InfoPath is available, use it because in my opinion it is quite a lot quicker and I believe has the added advantage that the task can be edited in Outlook (2007).

Related

Filling out an Infopath form with the aid of a complex sharepoint workflow

I have a big Infopath form which is part of a complex workflow that involves collecting input and signatures from various users, as well as approvals.
Currently, that same workflow is being done manually — the Infopath form is actually a PDF form and the workflow steps are performed by the actual users who fill out the form, emailing it afterwards to whoever they think it may concern.
I'm on the process of automatizing this using our Sharepoint Server infrastructure, so the first thing was translating the PDF form to an Infopath one. The second would be to produce a Sharepoint workflow that would implement the business process of getting that form properly filled.
So my question is: is it possible to implement a Sharepoint Workflow that sends the full form to the correct users based on the information gathered by the form itself? Ideally, the form would be passed around using the rules defined in the workflow process, users would fill whatever necessary, submit the form and the workflow would continue based on whatever is filled. This form would not only be the initiator form, but the form to be handled in all the workflow tasks.
Breaking the form apart is not desirable as this would confuse our users, and some of them need the overview provided by the full form view. Also, I'd like to use Sharepoint as the form distributor, instead of the email service, if possible.
Any pointers in how to do this would be greatly appreciated.
This is possible.
Here are the pointers in brief:
Create a content type with your infopath form as item form
Create a visual studio workflow that is associated to your content
type
In the code of the workflow you can implement any rules of
processing the form. you're able to get the form data from the list
item you workflow runs in context of.

Manually start a Sharepoint workflow

We are trying to achieve the following using Sharepoint:
The user is presented with a form, which they fill out. Upon clicking 'submit', Sharepoint runs a workflow using the inputted information that copies documents to lists, generates reports etc.
We were thinking of achieving this by getting the user to run a site workflow, and presenting the form as a workflow initiation form. The problem we have, however, is that there doesn't seem to be an easy way for getting the user to run the workflow, and be presented with the form.
Is there an easy way to run a specific workflow? I'm aware that the user can view all the site workflows and run them using Site Actions -> view all site content -> site workflows, but this isn't ideal for our user, who only wants to fill out the form and click submit.
Any suggestions would be appreciated, I've spent hours googling and searching this site for info, and this does seem like something that should be easy to do.
So you could catch the event when the user submits the form and then start your workflow from code. To start a workflow, follow this blog article: Starting SharePoint 2010 Site Workflows from code.

Getting Started With SharePoint and InfoPath 2010

I am a .Net developer and I need to get started with SharePoint 2010 and InfoPath 2010 for a new project.
I believe I don't want too much SharePoint just the basic configuration and how to host an InfoPath form there. For InfoPath I need to know how to design forms and program it using VS2010.
I appreciate if you can provide me with some links/books to get started with SharePoint and InfoPath (with more emphasis on InfoPath development).
Edit
I really need some personalized advice instead of an entire website to surf. I will be totally lost like this.
As John alluded to - the path to learning really depends on your project needs.
My recommendation would be to learn InfoPath first. You don't need SharePoint and you don't even need Visual Studio to utilize the majority of InfoPath. You might be able to accomplish your goals right there without even delving into anything else.
If that is not enough start looking at the other things. You will need advanced programming (Visual Studio) if you are trying to customize the form experience for the user, adding functionality that is not available directly in InfoPath. Start looking down this path if you run into roadblocks with how you want your InfoPath form to work.
You will need SharePoint if you need a delivery mechanism, forms storage, tracking for the users. Start looking down this path if the forms start being complicated to manage on a file share (or if you need extra functionality like change tracking etc).
In general - start with Infopath and progress to the other things based on your needs. Programming is for the form (singular) experience, SharePoint is for the forms (plural) experience. Note also that they are not mutually exclusive - usually you end up needing both.

can i Programatically Change Sharepoint OOB document approval workflow

I have document library where I am using the Out-Of-the box document approval workflow.
I need to allow users to delegate their tasks to another person during a certain period. This delegation is on workflow level not on item level. something that can be used for example where someone will be out of the office for a long period and needs to assign a delegate to approve documents.
I was thinking of changing the list of approvers programatically to allow someone to use a custom form to enable that delegation.
Can this be done? is there a better way?
My suggestion would be to actually create your own workflow. Much better than trying to hack the OOB workflow. In my experience messing with a running workflow is never good and prone to complications / failures.
If you are wary of/restricted building workflows with VS then using a tool such as Nintex (Nintex.com) is a great option, I haved used it a few projects now.
Sorry I could'nt be more use.

Workflow with user selecting Destination doc library

I am trying to implement a Workflow, where the user needs to select a destination document library.
I could figure out two possible ways:
Once the user manually starts the workflow, we would display a webpage where he would select the destination document library.
we would initially display a webpage. where User would select the destination.
After clicking a button the workflow would kick start.
Now for possibility "1":
How to redirect from a worlflow to a webpage. [tried Server.Transfer, but failed].
for Possibility "2":
How to start a workflow on button click.
Please also suggest which among the above 2 possibilities is a better solution.
What you need is a workflow initiation form. Exactly how you implement it and how much functionality can get will depend on the type of workflow you are working on, but you should be able to set up something to choose the destination.
I am assuming that you are talking about writing a workflow using Visual Studio. Personally, I would try creating a SharePoint designer workflow first to see if that meets your requirements.
In SharePoint Designer you can create an initiation form that accepts data from a user when they manually start the workflow. If the out of the box actions don't quite do what you need them to, you can create your own reusable custom workflow actions.

Resources