Get Context from Workflow sharepoint 2010 - sharepoint

Im designing a workflow in Sharepoint 2010 to run whenever users create itens or update itens... my question is how can i know if the item the fired the workflow was created or updated?

Test if (Created == Modified)
If it is true then it should be created, otherwise it is modified.
That is, as long as you are not doing anything fancy with SystemUpdates or timestamps etc.

Related

Sharepoint: refresh list item after update

I'm working on a Sharepoint 2010 project that uses a basic approval workflow. The issue I am facing now is that when I update an item in a list and set it to approved, the changes are not reflected on the website.
The only way I found is to recycle the app pool.... but since content update activities will be managed by a non-dev team, I would rather have another solution.
Any suggestion?

Create a 2010 workflow in Visual Studio 2012 for SharePoint Online

I have a solution in VS2012 with a SharePoint 2013 sandboxed project. I have created some custom workflows in 2013.
What I really need to do is to have an approval workflow to publish content, and send out an email when a new document is approved.
My first thought was to use the OOB approval 2010 workflow and use an event receiver on the list. When an item becomes approved, I would send out an email, but I'm unable to send emails programmatically in SharePoint online.
My second thought was to recreate the workflow in 2013, since I know I can send emails out that way, but it looks like the activities related to content approval were removed for 2013 workflows. I can try and do the approvals via rest calls, but my concern was that my workflow will fire every time the item in the list changes (even if it's not a publish), so I will have to check (in the workflow) if the item is being published or not. This will cause the workflow history for the items to become pretty useless as it will be filled with mostly white noise. Also, as far as I can tell, the checkbox when you create an association for "Start this workflow to approve publishing a major version of an item." does not apply to 2013 workflows.
I believe my best answer at this time would be to create a custom 2010 workflow, but I don't see how I can do that from inside VS2012. Can anyone help me (or maybe suggestion another alternative to achieving my goal?)
You can just turn on the old (2007) approval workflows. It sounds like those might work for you.
This article references how to do that, but in short it is under
Site Settings -> Site Collection Administration -> Site Collection Features -> enable the feature 'SharePoint 2007 Workflows'
Configuring SharePoint 2013 to use legacy workflows
I ended up using an OOB 2010 Workflow and modifying it with SharePoint Designer. Not really the solution I wanted (which was to package ALL of my customizations into a single WSP), but I've spent more time than I should have trying to get it to work.

Sharepoint 2007 - Sharepoint Designer Workflow sending multiple emails

OK, this is a first. I created a workflow for a list in sharepoint designer, its a basic if\else 1 step workflow, if an items been created or modified, it sends an email. After a few revisions (make a change, publish, test, repeat...) a weird issue started, Im now getting several copies of the same email sent to me. Not 2 or 3, but hundreds. After about 20 minutes, they seemed to have slowed down, but Im concerned because I have no clue why they started in the first place.
Were running WSS 3.0, and Im using Sharepoint Designer 2007 SP1. Any help would be greatly appreciated.
Did you create an endless loop by any chance?
That is: Is your Workflow set to execute when an item is modified, and does the workflow modify the item?
Prior to SharePoint 2007 SP2, this will generate an infinite loop:
Workflow starts because the item is modified
Workflow modifies the item
Because the item was modified, another workflow will start
The other workflow modifies the item again
Because the item was modified, yet another workflow will start
Repeat until server crashes
In SharePoint 2007 SP2 this was changed and recursive workflows are forbidden now, but it looks like exactly that is happening with your workflow.
The reason it slows down after a while is possibly because the SharePoint or Mail server is starting to get overloaded.
Which version of WSS 3.0 are you running? Check in Central Administration -> Operations -> Servers in Farm and verify against this table. SP2 is version 12.0.0.6421, any lower version is vulnerable against the infinite workflow loop.

Sharepoint Calendar: Block a Day Off

Does anyone know of a way to prevent access to, or highlight, a specific day in a Sharepoint calendar? The intent is to show which day(s) are not available for a given task.
I have already fashioned a Workflow that would email a user, but it needs to be visual as well - people need to see at a glance what days are avaiable.
Any have any ideas? I'm running on SBS 2008 with WSS 3.0 .. I also have Sharepoint Designer 2007 installed, if it can be leveraged.
Personally, I would do this by creating a new event receiver to run on the calendar. This event receiver should run on new / updates, and should configure item level permissions for any event on that specific day. If you break the item's permission inheritance, and remove read access to all items on that day, no one would be able to see the task.
Obviously, always be very careful when working with item level permissions.

Workflow initiated by difference in Modified and Current dates - SharePoint

Good Morning,
I'm using SharePoint Designer 2007 to create a workflow for a MOSS site I have created.
What I'm looking to do is have the workflow send out an email if a document in the library hasn't been modified for the past 30 days (and it's Status field is not set as "Closed"), but I'm stumped as to how I can do this.
Any help would be greatly appreciated!
Thanks!
You could try using the "Pause for duration" action (under "Core Actions" when you are adding an action to your SPD workflow).
However, I've worked on something that had a similar requirement and we decided that workflow was not the best option. We have a console application that is scheduled to run everyday and queries the list for "old" items. If it finds any old items, then it sends out an email to the user.

Resources