Dated reminders in sharepoint calendars - sharepoint

I have a departmental maintenance that needs to be done roughly every 3 months. The maintenance itself can't be automated (it involves physically swapping a primary and spare piece of networking hardware to verify the spare is still working correctly).
I could put this as a recurring event in Outlook and give it a two week reminder window, but I don't want it to be tied to an individual's account (if I or one of my coworkers leaves the company, I still want the reminder to go to the department).
We're working on implementing Sharepoint and my group has a maintenance calendar, which seems like a lovely place to put this. However, there don't seem to be dated notifications for the events. You can set up notifications if the event changes, and you can subscribe to the calendar and set up a notification via Outlook, but that notification is still a per-user notification.
At this point I'm probably just going to write a cronjob on a linux server that emails a reminder, but I thought I'd ask if there's a way to do it using all these expensive collab tools we're putting in place.
So, any idea how to get notifications of a dated event that is not tied to individual users? I also welcome being told that my entire take on the problem is false as long as it involves some good alternatives. Thanks!

Expanding on Andy's answer (http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx) if you just put code to send an email in the Execute method of the timer job this doesn't give you anything more than cron.
What you could do is to write code to iterate through the Calendar (actually an Event List) finding any events due soon and sending email to whomever is in the Assigned To field. This could then be called from the Timer Jobs Execute method or using a normal scheduled task. This will be easier to administer changes than cron and could be used for other types of tasks.
A link to get you started - Iterate through Items in a List
Another option would be to use Workflow to send out emails from the calendar
EDIT - Since SharePoint SP2 this no longer works as is as workflows can no longer start themselves (loop) - explanation and workaround
This CodeProject article shows how to develop a feature to send scheduled reminders
Yet another option would be to use one of the 3rd party tools that do this (disclaimer - I work for the first company)
Pentalogic - SharePoint Reminder
Bamboo - Alert Plus
BoostSolutions - Alert Reminder Boost
Finally - whichever method you choose (custom code/workflow/3rd party) you will likely run into trouble with recurring events as SharePoint doesn't provide a way to get an 'expanded' list of all occurrences.

The best way to do this would be using a Timer Job - see Andrew Connell's blog here: http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx

Related

Alternative to SharePoint Remote Event Receiver

I have been investigating a problem for some time in which a Remote Event Receiver I had written for an Azure hosted app was sporadically not taking effect (less than 1% of the time). I put in some serious logging but couldn't identify the issue, as far as I could tell the remote receiver wasn't being called by some actions that should have triggered it. I eventually escalated the problem to Microsoft and after some time their response was effectively that they can't guarantee the event receiver will trigger with 100% reliability.
So what I'm looking for is any suggestions on ways to improve reliability of a RER or alternatives that can be used to trigger an event each time an item is added or updated to a list in SharePoint.
Whoever first guided you toward using Remote Event Receivers should have indicated that they're not guaranteed to fire, so they're only suited for non-critical notifications and user interface improvements (like refreshing a view when an item is added to a list).
To truly guarantee the execution of some action when items are added or updated in a list, your two best options are workflows and server-side event receivers.
Since it sounds like your environment is cloud-hosted, you are likely restricted to using workflows (event receivers require deployment of custom farm solutions).
For reference on how to create a workflow, see Microsoft's documentation entitled "Creating a workflow by using SharePoint Designer 2013 and the SharePoint 2013 Workflow platform".

Maximo Control Desk (7.5.1.2) - Measuring business hours spent in a specific status

We're transitioning to a managed service provider for our IT service desk and deskside and we're working out the details of their SLAs. Many of the SLAs are based on ticket status. An example of this is the following:
"Measures the amount of time it takes to assess, schedule, test, and package application packages before they are available for User Acceptance Testing."
My first thought was to try using SLAs to measure this, as they neatly tie together calendars and priorities, but I'm having a really hard time finding any information about how I could do this.
Now I'm looking into using the TKSTATUS.STATUSTRACKING attribute on tickets, but I believe this just tracks straight 24/7 time instead of taking into consideration any calendars.
Has anyone tried this before? Any suggestions?
We are in a similar process, but we are measuring time on site of vendors for our work orders. Opposed to using any SLAs we have diffrent statuses which mark different events. Then when we want to know how long it took for an event to finish, we look to see the time required to change status in the wostatus table.

What's the best way to create a Gmail feature?

I want to create a "feature" for Gmail which keeps track of emails which did not get a reply. It shall check all sent emails for replies on a daily basis and list the ones which did not get a reply in a special folder/ add a tag so I can easily check them.
I have found a script out there already but it's not easy enough to add in a self serving way to unexperienced users' accounts (you have to download it and "install" it). Additionally it crashes frequently-it seems the amount of emails it may check is limited by Gmail.
I am not planning to develop it myself but am curious on you opinion of what's the best way to develop it (e.g. programming language) so I can look for the right type of developer.
Best,
Mar
It is possible to do what you describe using Google Apps Script.
Essentially, you can write a script that activates on a time-based trigger, checks your inbox using GmailApp, and locates messages and adds new labels.
Note that you would have to ensure that you don't exceed the quota limitations; there are quotas for the number of possible Gmail actions taken and maximum script execution time. If you run into problems with these quotas, try breaking the problem into smaller pieces by processing smaller batches of mails with each execution.
Alternatively, you can write an application that manipulates your inbox using the Gmail API and one of the client libraries.

Monitoring the Full Disclosure mailinglist

I develop web applications, which use a number of third party applications/code/services.
As part of the job, we regularly check with the Full Disclosure mailing list http://seclists.org/fulldisclosure/ for any of the products we use.
This is a slow process to do manually and subscribing to the list would cost even more time, as most reports do not concern us.
Since I can't be the only one trying to keep up with any possible problems in the code I use, others have surely encountered (and hopefully solved) this problem before.
What is the best way to monitor the Full Disclosure mailing list for specific products only?
Two generic ways to do the same thing... I'm not aware of any specific open solutions to do this, but it'd be rather trivial to do.
You could write a daily or weekly cron/jenkins job to scrape the previous time period's email from the archive looking for your keyworkds/combinations. Sending a batch digest with what it finds, if anything.
But personally, I'd Setup a specific email account to subscribe to the various security lists you're interested in. Add a simple automated script to parse the new emails for various keywords or combinations of keywords, when it finds a match forward that email on to you/your team. Just be sure to keep the keywords list updated with new products you're using.
You could even do this with a gmail account and custom rules, which is what I currently do, but I have setup an internal inbox in the past with a simple python script to forward emails that were of interest.

Developing a replacement for Sharepoint “Alert Me”-function

I'm pretty new to sharepoint-development, so I thought I'd check real quick with the gurus in here.
I've been given the task of building a replacement for the built-in Alert Me feature. The main reason for this is to allow for alerting members of a role with a forms authenticated sharepoint.
This is where you guys come in. I know you can build an immediate Alert Me function by creating list item event receivers.
However, if I wanted to create the summary-feature (daily/weekly notifications) - what would be the best way to go about this?
With very limited knowledge, all I could think of was to create a Windows Service, which checks daily for changes to the lists, and sends notifications accordingly, in one summarized email.
Would I be wrong to assume that this is, if not the best/only way to do it, at least one way of doing it?
And could I use the SPChangeCollection to accumulate the changes?
thanks in advance :)
Don't create windows service: you have SharePoint job for scheduled tasks.
However, I would reconsider the need. SharePoint alerts already offer immediate/daily/weekly alerts. thos member of the role (group?) can perfectly choose the "Alert me" individually. i personnaly would consider otherwise as spam (how do you unsubscribe, then?)

Resources