Script to Organize long email chains into "boxes" - email

I do Research and Development tax credits, and I get the majority of "evidence" as emails. They are given to me as a ZIP, some of them are 30 back and forths between dev's, screenshots keywords etc... In order for me to do my work, I usually break them down into the key "obstacles" and the correlate all the emails relating to engaging these obstacles (basically the debugging), into a big mind map.
Recently I was given about 2000 email messages, all in the .msg format, and well I have about 3 weeks to write out my report, and to do it effectively I need to write out the experimentation in chronological format, basically the entire process relating to overcoming said obstacle from start to finish.
I estimate it taking me about 100+ hours to do so manually, (manually snipping and attaching keywords/ date's to each email msg), I was wondering if there is a algorithmic way of doing it, there are about 200 email .msg's, all with 5-20 emails in them.
If there is a way I can do this in less then 100 hours with nearly 10 years of more public relations type work (I have a computer science degree, but I am a technical writer for RnD), and little if any recent programming experience.

It is not clear exactly how you want to filter emails and attachments in the store... But the Outlook object model provides a rich programming model which you can use to get the job done. For example, you can write a VBA macro or develop an Outlook add-in. The latter allows installing your solution on other PCs. So, I'd suggest starting from the Getting Started with VBA in Outlook 2010 article in MSDN.
Also you may find the Selecting an API or technology for developing solutions for Outlook 2013 article helpful.

Related

How to make Thunderbird stop during email download?

I finally moved my old Outlook Express stuff to Thunderbird, and am downloading all emails stored on POP3 server.
But I don't want Thunderbird to download them all at once. I want 20 at a time, so I can see them and delete junk ones and move remaining to their proper folders before downloading more.
I can't find a button to stop downloading. Once I make Thunderbird download emails, it just keeps downloading and the only way I found to stop it is closing it.
Is there a better way?
NOTE: while the specific counts are not possible, you can switch back and forth between offline/not offline, but it's a pain, requires confirm click.
Otherwise:
Download all emails. Use spam emails to train your thunderbird spam filters once all the emails have downloaded. Start at the beginning of the list. It's a one time operation, don't overthink it. As you assign 'junk' status to emails, you can rerun the spam filters on the inbox until it's properly trained, and most of the subsequent emails will get moved to the Junk folder automatically after you've created a decent set of spam samples. If you give the junk filter a few hundred samples it will be pretty accurate. Check junk folder for false positives, mark not junk, repeat until it's good. Much less work than doing it 20 emails at a time.
Thunderbird's builtin spam filters are quite good once properly trained.
When viewing (including preview mode) spam emails, make sure that third party image view is disabled, otherwise you will be validating your email address in the spammer email databases (they use often images or links with unique id's in them that when loaded or clicked simply validate your email address as current). Ideally disable all html viewing and view in text mode only, no html.
As with training your spam filters, the same applies to email rules/filters, which are even easier to create and run.
Create filters that move the emails to the desired folders after you make the folders, and after you create each filter, run the filters on the inbox again.
Because the user is fairly stubborn in this case, here's the basics when interacting with a new piece of software:
Check to see if the desired feature that another similar program has is supported. If it isn't, and you're sure you didn't just miss it, the developers don't care about that feature, or the feature is not technically possible due to how the software is constructed. The users in general also don't care about that feature, otherwise someone would have filed an issue, and others would have piled on over time, until the devs got tired of that issue and made it happen. In this case, we can assume none of that happened.
Check to see if the program supports extensions of some kind. Thunderbird does, so look for an extension that extends the features of the software to do what you want. If nobody wrote this extension, this means that no person capable of programming cares about that feature, in most cases, or, that the software itself doesn't support it internally.
check on a site like here to make sure you didn't miss anything, and that actually that feature does exist somewhere somehow. If your results are negative again, that's about the end of the road in the quest for that personal favorite feature.
Check to see if there is another way that sort of emulates what you want. In this case, for example, you can go offline/online though it takes a few steps each time, and certainly isn't a feature intended to do what the OP asked, but it can be used in this way crudely.
If neither 1 nor 2 show support for the desired feature, decide how important that feature was to you. If it is very important, research the core codebase and see if you can extend it via extension to support the feature, or hire someone to write the extension for you, and maintain it over years, or don't use the software.
Now, if after these checks, you find that not one single person in the world cared enough to add support for the feature, it means there's not a whole lot of demand for it, and certainly no demand from the free software developers who in the case of thunderbird, wrote it, and its extensions, and probably not from the users either, which is a lot of people globally in this case.
Once you determine that there was and is no demand for the feature, move on to something more productive, and stop complaining that the feature that apparently nobody ever was willing to take the time to implement isn't implemented, it means nobody cared enough to do it, that's all. Complaining here about that won't change that fact.
If you have decided to use the new software anyway, then adjust your workflow to the fact that the desired feature is not going to be part of your life anymore. This is also known as being an adult in some societies.
Other similar things that don't support everything that another similar software does:
gimp does not support everything photoshop does
windows does not support everything gnu/linux does
gnu/linux does not support everything that windows does
claws mail does not support everything thunderbird does
thunderbird and outlook express are different pieces of software that are similar in function but internally quite unrelated, they don't even use the same mail storage format, for example.
Mac OSX is different from GNU/Linux, FreeBSD (although internally it's got some similarities), and Windows.
Windows 98 is different from Windows 2000 which is different from Windows XP which is different from Vista which is different from Windows 7 which is different from 8 and 8.1 which is different from Windows 10.
Outlook is different from every email client known to man and woman alike. As is its mail storage format. Be very glad you are not trying to find software that is similar, you'd be out of luck, since nobody else is crazy enough to produce such a mess.
And so on. The software I write does similar things to other software, but is different, quite different, from all of them. This is why people use it and like it. If it were the same, there would be no reason to use it. If someone posts an issue asking for a feature a similar but different piece of software has, I'd think: Ok, is it a good idea? Does it meet a valid need? If so, is it hard? Is it possible at all (the other software may not even be right for example)? Is it possible within my software's framework? Did I receive a patch (always a great way to motive a developer)? If the first condition, it being a good idea, was never met, then you can forget about the rest, they are irrelevant.
I agree this isn't a great stackoverflow question.

crm/project management/helpdesk [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
My company has been evaluating different crm/project management solutions, hoping to find a solution to our ever increasing workload. I've found some good crm solutions, some good PM solutions, and some good helpdesks, but nothing that integrates well. It seems all the "package deals" that includes all options generally do things rather poorly.
I'm involved in some client sales, a lot of project management, and quite a lot of helpdesk queries. To get an overview of my day I need to keep track of tasks in 3 completely different systems + handle email and calendar. That's tasks/meetings scattered over 5 different places, and I don't feel like I have a good overview of my day. I use a lot of time on just pushing tasks around to make sure I dont forget anything.
What kind of solutions do people use to avoid this? Is there a good "all in one" solution out there that I've missed. Or do people use tools that integrate well with eachother? Or maybe it's my workflow that's the issue.
My team and I have been in the similar situation. We have tested Trello, Asana and many more. In my case I am working with multiple projects in parallel, where every project has different groups of people involved. And, after all the searching, Wrike appeared to be the best option.
I like it as it has a simple and clear dashboard view (with my current and overdue tasks, tasks assigned to others, etc.), Activity Stream and Gantt chart that solved my workload management issue. It also came in very handy for managing our CRM workflow, keeping all our leads and projects in one app. Well, and e-mail integration is my personal favorite (basically, it converts my e-mails into tasks, I just need to add Wrike into the e-mail’s CC and it will be transferred into the app). This, Outlook add-in and couple of more integrations helped us minimize iterations and avoid losing data. Wrike has actually become the “all-in-one” tool we’ve been searching for.
Hope, you’ll find it helpful too. Tell me how it went afterwards.
Microsoft Dynamics Crm 2011 should be able to handle all of this.
It comes with a stack of core functionality which you can then customise and extend to meet your specific requirements. It also have inbuilt integration with Outlook to handle your emails, calendars and tasks.
Client Sales: Mscrm comes with a Sales pipeline, get more information from here and make sure to watch the demo to see how it integrates with Outlook.
Helpdesk: Mscrm comes with a generic 'Customer Service' module, which you can use for helpdesk and support. Info here and demo here.
Project Management: Mscrm does'nt really have anything inbuilt for this, you would need to extend Mscrm for this, that said, Mscrm allows easy customisations (that's not to say it will do everything you want, that's not to say you wont need custom code at times and that's not say its all easy). There's some info here.
Right so that all said, as a little disclaimer: I don't work for Microsoft and I don't get anything out of you buying Mscrm (unless you happen to use my company as an IT consultancy). I also don't know how Mscrm compares to other Crm's out in the market place. However I do know that Mscrm is a very able system.
Hope this helps you to come to an informed decision.
Generally speaking:
Clients don't care about project management other than "where is my stuff?"
Clients will generally pester you through email
Something out-of-the-box is not going to 100% fit what you need (tweaking required)
Unless everything is in ONE TOOL you have no chance of reducing the data silos and the constant "jumping around" that kills productivity
IMHO, you need three projects:
Sales/CRM 'lite' = provides a simple sales pipeline/opportunity management.
Help-desk = incoming email automatically turned in tickets from customers, etc.
Tracking = for managing tasks with workflow so stuff gets done internally.
Simply link items between those three projects so people get a "connected" view of the business. Don't get hung up on Gantt charts but instead focus on managing simple lists of tasks, tickets and the like. That is what needs managing.
You also need an Outlook connector so that:
You can one-click turn a client email into a ticket inside the Help-desk project
You can see in Outlook what is assigned to you
You can see in an Outlook Calendar when items start/finish
You will probably need to find something that you can implement and tune in days not weeks.
Disclaimer: we use the EXACT same model have depicted above: Sales, Help-desk, Tracking. We build a product called Gemini in an attempt to solve this problem hence bias/opinion is inevitable.
Everyone has their favorite PM / Tracker software, and their least favorite, but this one (JIRA) worked well for a very complex and fast-paced dev shop I used to work for:
https://www.atlassian.com/software/jira/whats-new
Things to note
It's primarily a bug tracker, so workflows and issue filtering are
paramount
It can be used as a helpdesk service, through email-to-ticket feature, but requires some (non-coding) fenagling
Medium-sized developer community with many helpful plugins
Can get pricey, cheaper than most CRM solutions though
Lots of reporting features and plugins, including Gantt Agile/SCRUM/waterfall OOTB
setups
Atlassian makes it, and while their documentation and customer service aren't the best around, they're sufficient enough to get the job done when debugging, and it's a big enough company that they can be considered stable (for CYA protection when things go bad).
I personally wrangled a JIRA instance into being a PM system for 50+ projects (internal and client-facing), with 300+ users in 5-15 depts at any given time, with integrated version control features (tickets could be affected via git commit messages), and we also used it to handle inter-office requests (from printer setups to domain purchases).
In some ways we stretched it a little too far (workflows became incredible complex when too many departments had a say in the process), but in some ways we barely scratched the surface of what it could do (it's reporting features are extremely robust).
It's not always the best idea to make one tool do every job, but when push came to shove, JIRA wasn't the worst choice we could have made, and it ended up looking great to front-end/client users. It's probably a little much for a small group to use, but can handle anything from small to extra-large (1000+ users) org's.
[EDIT: forgot to mention, calendar integration (with iCal especially) was not that great when I used it, many events were either in-JIRA or out-of-JIRA (in iCal, gCal, etc) but it may have been improved in the last two years]
Consider RT. I'm a fan, and expect no material gain from this recommendation. Indeed, since the question is OT for SO I expect to lose rep.

Best way to distribute form that can be printed or saved?

I need to develop a simple form (intended only for printing) to be filled in by arbitrary end users (i.e. no specialized software). Ideally, I'd like the end-user to be able to save their inputs to the form and update it periodically. It seems that (at least without LiveCycle Enterprise Suite) Adobe Reader won't save data input in a PDF form. Aside from just distributing the form as a Word document, does anyone have any suggestions?
Background:
I do some work for a volunteer ambulance corps. They have a lot of elderly patients who don't know (or can't remember) their medical history. They want to develop a common form with personal information (name, address, DOB, medications list, etc.) for elderly residents to hang on their refrigerators (apparently a common solution to this problem). As some of them (or their children/grandchildren) are computer literate, it would make most sense to provide a download-able blank form that can be filled in, saved, updated, and re-printed as needed. Due to worries about privacy, HIPAA, etc. anything with server-side generation is out, it needs to be 100% client-side, and in a format that the majority of non-technical computer users can access without additional software.
Thanks for any tips... at this point, I'm leaning towards just using a .doc form.
edit
This organization is a 501(c)(3) non-profit, funded 100% by donations. Our workstations all run Linux, and we have no software budget. (For those outside the US, or unfamiliar with 501(c)(3) - we're a non-profit organization, and only funded by donations. Our total budget is about $80,000 USD/year, which includes owning a building, insurance ($25,000/year) and operating two ambulances.)
Adobe's tools are the obvious if pricy option for creating fillable PDF forms. However there are a number of vendors who offer cheaper products which basically do the same thing, such as FoxIT Form Designer.
At this point, I think I've decided to just go with a Word document (created in OO, of course). It's about the only thing I could think of (client-side) that pretty much everyone out there can edit and save.

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.

What are the statistics of HTML vs. Text email usage

What the latest figures are on people viewing their emails in text only mode vs. HTML?
Wikipedia and it's source both seem to reference this research from 2006 which is an eternity ago in internet terms.
An issue with combining both HTML and text based emails is taking a disproportionate amount of time to resolve given the likely number of users it is affecting.
As with web browser usage statistics, it depends entirely on the audience.
I have access to a bit of data on this subject and it seems that text-only email use is very low (for non-technical audiences, at least). <0.1% up to ~6% depending on demographic.
It's not that much effort to do both (especially if you can find something to help you do the heavy lifting when creating multipart MIME containers), and you can always write a script to generate text from your HTML or something.