can i Programatically Change Sharepoint OOB document approval workflow - sharepoint

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.

Related

Does microsoft sharepoint provide APIs to enable custom UI to built on top of sharepoint?

A client's employee base is struggling with using sharepoint UI as an interface. As a result the client is evaluating the option of building a custom UI on top of sharepoint to provide a better user experience; [The other option being to move away completely from sharepoint (non trivial, high cost option)]
My research indicates that you can customize the UI look and feel (but the client is looking for much more).
Another option appears to be to change/improve the experience by building PowerApps
The option I have been trying to assess,is to see if sharepoint provides adequate set of APIs/integration interfaces that allows the user to build a completely independent UI and user experience. Its effort intensive ofcourse, and feels like reinventing the wheel, and am wondering about whether others have faced similar UX callenges, and what possible solutions they might have evaluated, and path they have gone ahead with.
Under the covers, SharePoint is a SQL database and a collection of .NET classes that define each SharePoint object: SPWeb, SPSite, SPWeb, SPList, SPUser list item, document etc. Most of these objects are exposed via web services. Microsoft then built an IIS/ASP.NET based UI for the out of box user experience. There are mobile apps that are not browser based that call the SharePoint REST services to read and update lists and libraries. If you wanted to, you could built your own complete UI based on just about any technology. Is it worth it? Probably not. There are many customization options available, depending on your version of SharePoint.
(If I could post comments... :-) I would then ask: Tell us more about what the users need in the UI that is not supplied by out of the box SharePoint.)

Automating Approval Processes in Dynamics CRM

A bit of background before I begin.
Background:
I am working on migrating an existing .NET based system to Dynamics CRM and one of its key feature is its 'Request Approval Process'. I have implemented some simpler versions of such approval processes in past but this one is a bit complex since it involves multi-level approvals, multiple approvers at one level, amendment logic, delegation functionality, etc.
Analysis Till Now:
Before pushing this question at SO, I did a fair analysis of the requirements from my end and have come up with few possible approaches:
Workflow based approach (something on lines of this)
Complete custom logic using Plugins/Web Resources (something on lines of this)
I am not explaining the details of these approaches as of now but the core issue is that none of these two approaches are fitting correctly to my requirements.
Queries:
While analyzing these approaches I came across some newer functionalities added to CRM (listed below) but did not get any additional resources to explore them further. I just want to confirm that I am not trying to achieve something which is already present out-of-the-box or going in the incorrect direction.
1. Internal Process Automation:
Reference: Here
Any leads/thoughts on this approach? I am not able to find any good documentation/articles around this.
2. Graphical Approval Workflow:
Reference: Here
This feature seems to be useful but it is mentioned to be a part of Dynamics Marketing. With the new structuring of Dynamics 365, will this feature be a part of Dynamics CRM by default?
Also, the Prerequisites section of this link mentions certain Item Types for which you can configure this functionality. So can't we use this functionality for any entity records?
Any kind of help/inputs would be appreciated.
I'd suggest the best of both worlds: using out-of-box Workflows along with custom Workflow activities that you can write with C#. Use as much out-of-box functionality as you can, but when you need to query records or run custom logic, create a custom workflow activity that can be used in your out-of-box Workflow. Custom workflow activities are similar to plugins in that they are written using C#. You can have custom inputs and custom outputs for your activity.
For example, maybe your approval process needs to look up the appropriate approving user for this record. You could write a custom workflow activity that takes an input (the record being approved) and an output (the user that has the ability to approve). Then in your Workflow, you'd add your custom activity as a step. After that step, you could send an email to the approver by using the output of that custom step.
More information about custom workflow activities: https://msdn.microsoft.com/en-us/library/gg309745.aspx

workflow sharepoint plugin to use

i need to know few things please
1- is sharepoint with windows workflow foundation (a good and dependable engine)
2- i am using .NET and sharepoint, what would be the best workflow plugin for sharepoint
we need it provide easy interface to create the work flow, connect and affect oracle, SQLSERVER, work with moss2007, give us full control on the look and design of the form page as well as the approval or any pages and forms used within the workflow ( am i asking for too much !!:) )
the workflows will be used for approvals, change requests, requests of equipments, leave application, .... etc
Windows Workflow Foundation is very strong and can be relied upon for SharePoint workflows.
In the market there are lot of plugins available for workflow creation.
SharePoint Desginer
ShareVis Designer
Nintex Workflow
Captaris Workflow
I have provided a few references above. Kindly evaluate your needs and use one of them.
SharePoint makes use of Windows Workflow Foundation and it's a pretty stable and powerful solution. If you need an easy to use interface to create workflows, you may want to take a look at Nintex Workflow. We use it at the company and are very pleased with it. There are versions for both SharePoint 2007 and 2010.
http://www.nintex.com/en-US/Pages/default.aspx

Is it possible to add workflow modification programmatically?

I`m interested in adding SharePoint Workflow Modification programmatically from my workflow, without using forms.
What i'm trying to achieve - I want to add Workflow modification when user uploads new document version to document library. I have OnWorkflowItemChanged and from there i'm willing to add WF Modification.
Is this possible?
To clarify some things:
I`m writing a custom Workflow in Visual Studio.
What I want is to add items to (SPWorkflowModificationCollection) SPWorkflow.Modifications object. However there is no Add method, but the designed way to add items there is by using Workflow Modification forms.
In this case, i don't want user to use modification form, but i want to add workflow modifications (which will populate the collection AND triger OnWorkflowModified event).
I am not 100% sure what you mean by workflow modification. Do you want to modify the workflow itself from a workflow or just modify a document or item from a SharePoint Workflow?
Regardless, I'll give you the same answer to what was accepted as the answer to a similar question.
Workflow is one of the strong parts of SharePoint. Out-of-the box you or your users can build workflows using the free SharePoint Designer. Depending on your exact requirements this may be good enough.
If you need a more advanced workflow editor then you may want to consider Nintex Workflow or K2. Alternatively you can write your own workflows in Visual Studio or buy 3rd part Workflow Actions for SharePoint Designer.
I have included some useful links below:
Building workflows using SharePoint Designer
Creating workflows using Visual Studio
3rd Part Workflow actions to embed VB or C# directly into SharePoint Designer Workflows. Note that I have worked on this product so consider my recommendation biased ;-)

Simple approve/reject form for SharePoint workflow?

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).

Resources