Programmatically add an alert for a user in Sharepoint Online (Office 365) - powershell

We have an Office 365/Sharepoint Online instance, and a complicated Ticket system that we've migrated there. However, we don't seem to have the ability to set up "Everyone" to receive alerts when they're listed in a ticket (via custom fields). We could manually add each and every person in the company to a list view to accomplish what we want, but that is both tedious and silly. I've done some research, and talked with a consultant, and it appears that we may not have access to create Alerts any other way than manually.
Does anyone have any insight into this issue? I don't care if the solution is .NET, Powershell, or even fancy javascript. Any help would be appreciated.

Related

Accessing Onedrive For Business Files via REST api in something other than a .NET application?

I apologize for my fundamental lack of knowledge in regards to these technologies in advance. I'm having a bit of trouble understanding the whole Azure AD/Authentication process in general, and I don't feel that Microsoft's support documents adequately describe much of the process.
I appears to me that the REST requests themselves are quite simple, and the following page seems to detail them quite well. https://msdn.microsoft.com/en-us/office/office365/api/files-rest-operations
However, what I fail to understand is the authentication process.
My goal here is to determine if what I'd like to do is even possible, so I will begin with that. What I need to be able to do is to be able to make REST API calls from a JSP or potentially a PHP script to access a link to a file located on a user's Onedrive for Business account. To put it simply, I would just like to be able to quickly get a publicly accessible link to a user's file. From the perspective of having access to the REST API, that seems to be a simple task, my challenge is understanding and implementing the capability to do so.
Correct me if I am wrong, but my current understanding of the process goes something like so.
Create an application in Azure AD, you need to define a location for signing on. I'm not certain how this works at all, does the defined location need to be making a request to sign on somehow? Does it need to exist on the same domain? I honestly have no idea the nature of how you actually go about signing in, but it requires some authentication of the application as well.
Once you have signed in, you have access to a 'security token' that has information about the application and what it can access. how is this token stored? A server session, browser cookies?
Somehow you pass this token along with your REST request and it is determined that you have access to the information you are requesting.
I have used pre-made JavaScript file pickers in the past to facilitate the selection of user files for things such as Google Drive and Dropbox, but it doesn't appear as though any such tools exist for Onedrive for Business, so I will need to become familiar with the authentication process myself. Looking into the Microsoft documentation has only served to confuse myself more, and unfortunately all of the examples are for .NET projects as far as I can tell. I am afraid that this means that is it only possible to access this information from a .NET project, but please correct me if this is not the case.
I realize that this question appears extremely ignorant, and that's likely because it is. Moving from JavaScript file pickers to something like this appears to be a significant leap in required technical prowess, and I'm still rather new, so please forgive my inexperience. Most importantly I'd like to know if what I'm looking to do is possible at all, and secondly if there are any readily available resources that are a little more focused than the Microsoft documentation.
Thanks in advance for any assistance.
There are some great resources available for coding for Office 365 and not just those on MSDN.
The best place to start is http://dev.office.com. This is the destination for information on O365 development. You can get to the documentation, training materials and code samples. The code samples have a filter so you can search on a number of properties including language and product. There are samples of course for .net, but also for iOS, Android and PHP, which is what you mention you want to use for your project.
http://dev.office.com/code-samples-detail/2138
This sample connects to the calendar, but the important part is understanding the authentication process for your application to Azure AD. Once you get the authentication working, you can call the other O365 services by getting the resource url to the appropriate resource from the Discovery Service.
If you need more samples, http://github.com/officedev is the place to look. These samples are from Microsoft, the community as well as the code used in Microsoft and community training events and presentations.
If you prefer, some great training courses exist on Microsoft Virtual Academy for Office 365 development. These are online videos that are broken into chapters and sections so you can easily find what you need. They often have labs associated with them as well. I recommend the Intro to Office 365 Development - Section 5 to get a quick overview of the Office 365 APIs and then look at the Deep Dive: Integrate Office 365 APIs in Your Web Apps.
If you still have questions, this is the place to post them. Hope this helps. Reply if you have any questions.

How to save Lync conversation history when Corp has blocked this feature?

I am using Lync 2010 (4.0.7577.4356), which we use on my small development team for IM'ing. Lots of technical Q&A are handled through this program and lots of other items that need to be documented. Unfortunately, our parent company has a policy that turns off "Converation History", so once the window is closed, it's gone.
I've done a fair bit of research and I haven't found a way to save this data since the settings have been made at our parent Corporation's level (through Active Directory, or whatever). This is information that we need and even my boss has tried finding a way to save this information (everything short of copy-pasting everything before closing the window or computer).
How can I accomplish this task? Are there any programs out there (freeware or otherwise) that can save these conversations? Does anyone know of a way that I can hook up Lync (the instant messaging module) to another instant messenger (GTalk, Jabber, ICQ, Yahoo, or whatever) -- then record each message from there? I'm a software developer, so if anyone knows of a means of communicating with Lync, and is able to access the messages, that would help too!
Anything at this point would help... thanks in advance!!!
-Panuvin
Try this https://github.com/bujocek/LyncIMLocalHistory. I've used the Tom Morgans answer and created own local lync (Skype for Business) conversation history tracker.
You can build it from source or just unpack and run latest release here: https://github.com/bujocek/LyncIMLocalHistory/releases
There's a client-side Lync SDK, which is pretty easy to use if you're already a .NET developer.
It's easier to do something like this and have it running on every member of your small dev team's machine alongside Lync - easier than trying to re-invent a central conversation store.
I recently blogged about recording the length and status of Conversations, and also about identifying different sorts of Call within the Conversation (you'd be looking for Instant Message Call type).
After that, you'd need to subscribe to the Flow and catch every message to and fro, and log them to a database or whatever. There's a really good book which could help you with this: Unified Communications with Microsoft Lync. If you're serious about doing Lync development, this is definitely the book for you!
With Lync 2013, CTRL+S will save the current tab to your Outlook/Exchange Conversation History folder. I'm not certain if this works with 2010.
You may try this: https://github.com/PhilippeRaemy/LyncLog.
This tool saves the conversations in text files, using a file naming convention that makes it easy to identify the time and participants.

Outlook Emails to assigning database

I'm def not looking for someone to do this project for me, just bouncing off some ideas with a guru or two.
I have emails going into a global box that is shared by a few employees. I need to find a better way to assign the work out. In the past, it was grab and go. Today, an employee assigns the work out.
I'm trying to find a simple way using maybe Excel or Access, that I could copy/drag the email and it would provide who should work it and how much work they have done by week/month/year.
It's not possible to use an inhouse ticketing system, because it is non employees that send mail to this inbox, so they would not have access to using the in house ticketing system.
Would it be easily possible to design something like this or is this a more daunting task? What software would you recommend or method would you use?
Thanks for your time.
I recommend converting emails to Tickets, using a CRM/ticketing system with such feature. It would save you the hassle of developing and mantaining custom code, for a commom feature needed not only by you, but many other firms:
A quick search for "convert emails to tickets" yielded:
https://wiki.vtiger.com/index.php/Mail_Converter
http://community.geminiplatform.com/blogs/15/how-to-convert-emails-to-tickets-with-gemini
Both vTiger and Gemini are free to use.

First web server questions

Just looking for some help/suggestions with this. I require my own server for an upcoming project that will be hosting users websites. I want to build a control panel the user can log into and modify their website which will be stored elsewhere on the server. This all seems easy enough, It's just managing domains and emails that confuse me.
What should I look for to manage domain names and point them to the correct website and also what would be the best way to manage email accounts/set up new ones etc. I want to avoid cPanel/WHM if possible, I'm looking to control most things through the control panel I will be building. So any suggestions on this would be useful as well, as I will be wanting to add email accounts through php (Can be done using a shell I assume?).
I will also be wanting to measure bandwidth used on the websites contained in each users directory, any suggestions on making this possible?
I'm really looking for some suggestions on what software to use to set this up, any advice would be really helpful!
Thanks,
Graeme
It sounds like you've got a lot of creative room. May I suggest a web framework? Django. With it you can build out a nice control panel, it's template system is clean and concise. It's also based on Python and thats why I suggest it. If there is a python module for it, you can use it in Django... so things like altering, creating, etc. local data/files is a breeze. you simply us Python (you can even forget it's "django"), crunch your data and then spit it out (into django... out to templates.. to display to the user).
You'll likely want AJAXY biznazz, their is a nice Django App for that, Dajax. Django has a rich and helpful community and tons of resources. Just hop on GitHub.com and search for Django, You'll find tons of stuff.
Im building a DNS Control Panel with it. Which sounds like a minimal version of what you're doing.

Outlook Plug-In for custom CRM

I would like to write a plug-in that will allow a custom written CRM to read and write to their local Outlook client. I know that this poses a security concern. But, my clients are asking that their CRM "be connected" to Outlook. They would like to be able to do the following:
A) When a contact sends them an email (reply or free standing email), they'd like the details of this email to go INTO the CRM. Yep. They would like me to save the body, time and date it was sent, etc.
B) They want to be able to send new emails (or replies to existing emails) from within the CRM itself. Basically, "a form that looks like Outlook's send/reply email form".
C) Want the ability to search for contacts and the related emails with a search for tags/keywords facility. (i.e. if a product name or code appears in an email then they want the email returned in the search).
D) Having performed a search of many contacts, they will want to prepare a mailer and shoot out some sort of email announcement to their qualified leads. This could be 50, 100, or more persons. So its got to be able to allow bulk mailing.
E) Given a list of new prospects, that arent currently contacts in the CRM, they will want to do the same and if they get replies from this mailer to the prospects, the will want the replies to be saved in the DB and contacts be inserted into the DB.
F) They would like to be able to utilize the calendar and task list facilities of Outlook from the CRM, as well.
More or less, they want this pretty basic (as it is today) CRM that I created to integrate with Outlook and have it do so seamlessly as if it was an add-on to the CRM. A plug-in is what I am thinking...
But, I dont know where to begin. My environment is Windows XP/Vista and is going to be ASP.NET and I am going to use the VB.NET language to accomplish this. What do I need? Are there resources out there that can describe how to build a plug-in to Outlook as I have been asked to? This is not Exchange, none of the clients use exchange (not so far). They all run Outlook. Mostly 2003. Most clients are XP right now but some are upgrading to Vista.
For some reason I cant seem to wrap my head around this. I think the whole security issue is thwarting my ability to see past what is probably a simple thing. The client doesnt want to be prompted by any security messages asking them if they are sure they want to send 382 emails to their contacts. Not once and certainly not 382 times.
Where do I begin? I've searched the internet for similar but mainly what I found are already-written products and I've got to write this from scratch.
I was part of the team that created the original Outlook Plug-In for Frankley Covey time management tools. It was quite an adventure!
The first thing I would do is make your client pick a version of Outlook, and stick with it. DO NOT let the client add support for additional Outlook versions, unless they are willing to pay for it, and willing to have the delivery time pushed back to a reasonable date.
The team I was with swore by the Slipstick website. There are several solutions to the Outlook security prompts in there.
If you can, talk to Microsoft and see if they can get you the object model for the specific version of Outlook you will be working with. We had this model printed on a large scale color printer and put it on a large wall. IIRC, it was something like 7'x5' object map. This helped tons.
You might end up creating specific classifications/namespaces for your Outlook code. It's been a while, but I remember something about a dot notation like .Email, .Task, and several others. I had to create a couple new dot namespaces for the Outlook Task object.
As razorfish noted, look up the new Visual Studio For Office Tools. This has made some stuff a lot easier.
Talk to your client and find out if they will need to connect to Exchange servers. There were two distinct ways of building Plug-ins. One mode only worked with Outlook itself, while the other talked with Exchange. This is very important to your development efforts. The models are VERY different and will cost you extra time if you pick the wrong one.
EDIT: There are a couple books that were helpful with this. The books are for Outlook 2000, so you might want to see if there are updated versions.
Building Applications with Microsoft Outlook 2000 Technical Reference
Building Applications using Outlook 2000, CDO, Exchange, and Visual Basic
Both have a lot of information on how to do deep integrations with Outlook.
You should take a look at the Visual Studio for Office Tools. You can easily create add-ins for Outlook, Word, Excel ... pretty much the entire Microsoft Office family of products.
You can also take a look at Add-In Express, but I didn't have much luck with their controls, and the VSTO for 2008 is extremely easy to use.
Check out Kayxo Insight. It's a framework for creating the kind of solution you are describing.
Check out www.softomate.com they offer plugins and integration solutions for various projects.