Exporting contacts from an application - outlook

I am maintaining an in-house ASP.NET web app, part of which includes a Customer Relationship Management module for our sales team. One of the things they want is to be able to export all their contacts out of our database into their wide variety of email clients (Outlook on Windows, allsorts on Mac) and phones (IPhones, Blackberries - probably Androids). vCard seems to be the standard way to transfer contact information, but...
Is it possible to specify multiple contacts in a single vCard by concatenating the vCard BEGIN/END blocks?
Is vCard import support uniform, or are there quirks between clients?
Any other tips/tricks/gotchas?

I can help you with the first question, in that outlook does not like multipule vCards in one file, you would have to do one file one contact.
Marcus

You can concatenate vCards, just put an empty line between each vCard (the standard actually requires an empty line after the END line).
Import support is sketchy. Outlook will import pretty much anything, but often loses data in the process (at least when I tried it a few years ago). Thunderbird supports vCards in emails, but doesn't import vCards from file without a plugin. Gmail actually has the best vCard support I've ever seen, importing many fields successfully, including even base64 JPEG images. Many people I've communicated with complain about my attached vCard, because their client / webmail site doesn't know what to do with it. Shame really; it's the only alternative we've got for easy contact info exchange.
Don't expect any tool to generate valid vCard. Also, most vCards out there are not valid according to the standard (even those embedded in the standard itself!). I developed a vCard validator (first result on Google, surprisingly) because of this - It's not complete, but it invalidates almost every vCard I've found online, generated or not. It became clear during development that the standard is quite spotty - Some places it's specified that things are case insensitive, some places it seems like it should be but it's not mentioned, some things are really hard to parse (such as ISO dates), there's no namespace support (X-properties can be used), the recommended line break system is a pain, and so on.

Related

How to share SQL query results in Slack

I have a similar question to this one (for Pandas), in that I'd like to have the results of an SQL query appear nicely in a Slack message, as a table.
If for example I output the query results as Markdown and then paste this in Jira, a table appears exactly as I'd like it, regardless of whether column names are in snake_case. However, if I choose the Markdown (raw) code snippet in Slack, underscores are interpreted as beginning italics, which is completely wrong.
Does anyone have a better suggestion for displaying tabular results? Or forcing Markdown (raw) to ignore underscores? I tried code blocks as well but to no avail.
For info, the database IDE I'm using is DataGrip.
Slack does not have support for tables, like Jira. So your only option to to choose from workarounds. I see 3 available approaches:
1) Display in external browser
Store your data in an external web app and just post a link to Slack. That works very e.g. with Google Sheets if you use the Google Apps integrator in your Slack workspace.
2) Display as image
Another option is to generate an image (e.g. GIF) from your table and then post the image to Slack. That way the data can be displayed within Slack. To safe Slack storage space I would suggest storing the image file in an external image service (e.g. imgur) and then only post the link. Imgur has an API which would allow this process to be fully automated.
3) Display as plain text
Building upon one of the answers from the question you linked you can also convert your table into a plain text using a tool like Tabulate and then upload it as plain text snippet to Slack. That way the table could also be viewed within Slack. Note that the max size for snippet uploads is 1MB. Also, Slack will only show the first fews lines by default.
Doug here, creator of SQLBot.co. Tables are not supported in Slack, but you can get pretty close using ascii tables and code formating (three tick marks to begin and end)
Here's an example:
The only issue is that if your table gets too wide the text wraps.
Depending on how you're generating the output there may be good helpers. In the ruby world you can use the terminal-table gem or the text-table gem.
Since this comes up on a google search, and the site mentioned previously requires signup, thought I'd share what I found:
https://ozh.github.io/ascii-tables/
Just paste the output in Slack within a Code Block

building torrent provider website

Recently i have been given a project that is torrent provider just like torrentz.eu, thepiratebay etc, where anyone can search what they want to download and then get the download like with the help of torrent.
I don't know the concept behind this, what is the basic requirement and what is the process to make it done. i have searched over Google but didn't find any relevant answer related to my problem.
I just want to know the process and what i really need to do to make it done. technology i will use that is spring framework.
Thanks
This is not really an Spring specific question but I'll try to help you.
You just need to save the torrent file (a text file with information needed by torrent clients) in a database along with information about the torrent like a representative name, a date and not much more. You could do this using Spring Data JPA for example. This way you won't need SQL knoledges.
If you want a site like torrentz.eu, you will also need to fetch data about the torrent like peers. You can store this also in the database but you will have to update it periodically. To do this, there are APIs like Bitsnoop that return this kind of information.
Having this, you'll need only some controller mappings to show your home and to let users search torrents given a name (the one that your saved before).
Well, first you need to know that Torrentz and ThePirateBay are 2 different things.
Torrentz is a search engine (like google) that searches for torrent files.
ThePirateBay - in past .torrent files hoster, now a simple Magnet linker.
All you need is a website with a huge .torrent files database.
Also a good hosting in a not online controlled country, so you don't get in trouble just like the most popular torrent website (thepiratebay.se / torrentz.com / kickasstorrents.com ...)
Of course they are still online, but that's just because they have a big fan base that keeps creating mirrors and proxies (https://viralifyblog.wordpress.com/2017/06/19/thepiratebay-proxy-list/)
Finally. I don't recommend creating a torrents website.

Getting numbers from a web page, performing calculations, pasting them into excel sheet

I am working on a business application that will do financial computations based upon publicly traded companies' financial statements. Specifically, I would like to use data from pages such as this. Such as the number for the operating income in the first column.
My current plan is to parse the page as an htm file(if I can get it). however this is my first time attempting to write an application that interacts with the web, so I am uncertain if this is the best way to proceed. I am currently expecting to implement this library. to do the parsing.
Once I have all the relevant numbers, and have done the calculations, I would like to place the results into an Excel spreadsheet. This is also something I do not know how to do.
Any advice or responses detailing how to implement this plan or how to form a better one are greatly appreciated.
For financial data regarding publicly traded companies, you probably want to use a web service, rather than parsing HTML. This is one example of such a webservice (though I'm not vouching for its price or reliability - I've never used it). You could create a simple console app in Visual Studio (a VSTO solution is probably better, I just don't have much experience with it) that retrieves data via the web service, and then pastes and formats it in Excel via Excel Interop. There's many posts about Excel Interop here on SO, as well as all over the web.
What you're trying to do sounds so common that I wonder if there's an existing report suite available somewhere.

Ideas to extend this little project? - A pidgin web ui

I have built a little Web UI for Pidgin(respectively all libpurple based messengers) together with DBus and Sinatra.
It was for fun and learning purposes and now I'm looking for ideas to extend it.
Can you think of any useful applications or extensions for it?
Since I work on this project to learn something new, ideas for other technologies to be used/combined are welcome.
Finally here is the link: pidgin-web-ui
I few things that that might use to many many people would be:
good and simple to configure https support, so that users in "monitored" countries to be able to still chat freely (if the server is somewhere else).
Unified Message Archive . Many IM clients have various archive functions, but are different, limited, hard to search, and many are "client only", so not accessible when one needs them the most. Since Pidgin can connect to so many IM networks, it would be cool to have such a "global message hub archive". This would ensure that everything the user is talking is archived (very useful for businesses too), easy to search, available on a server (so always at hand).
File Archive on the server. The same as the Unified Message Archive, but for the files/images users exchange. Having them on the server (with a hash for easy sync) as a backup and archive would greatly reduce the traffic if they need to be shared more than once.
The would be many more nice features, that would help many users, but the above 3 seem to miss from usual IM software.
My idea after a brainstorming minute:
Dropbot
Create a messaging account anywhere and add this account as a contact to your messenger. This contact is your Dropbot.
Change your interpreter UI so it does not display a conversation but a log. In this way you can just drop things to the contact like interesting links. There could be a Dropbot for a read later queue, your favorite citations or for a list of funny findings.
You could then extend your UI to a little mashup. It could follow the links and grap the title of the page and a content preview just as Facebook does it when posting a link to your wall.
You could further extend your app by adding post-drop behavior to the Dropbot.
Dropbot could post your link (probably with a message) on Twitter or Facebook.
Dropbot could automatically distribute the link to the other contacts of it (like your friends)
Ok, that sounds fine... but you could do that without a message bot inbetween. What's the deal?
For me the advantage would be that my IM is always open and it would be fairly easy to drop a link. You could do the link dropping with Delicious or post stuff to a Google Wave, yeah. But I don't like to go to a web page, log in and organize stuff in the UI. Actually I stumble upon those links when I should do more important stuff instead. So just dropping it to my IM Dropbot contact would be cool.
Why not extend it to cover all the basic features of instant messaging (sending/receiving messages, adding contacts, etc...)? Seeing how many features you can reproduce may be a fun exercise. Create your own little Meebo...
Want to have fun?
Make a Markov-chained-based chatbot integrated into the web app. Make it use scraped web search results for the content, after searching for terms parsed out of the human's responses. That should be fun, and will give you funny, and sometimes eerily smart-looking results. Have fun!
I have seen your code. Why not split dbus_thread into a event_machine daemon for further scalability?
Integrate it with Twitter. Trace conversations (#Replies), including multi-party involvement. Log them. And so on.
Many interesting features and a popular, original API to learn.

Access and display web sourced data as 'messages' in Outlook

I have data I provide on an http connection that's essentially message information.
I'd like to create an AddOn for Outlook that will consume/interface with that http service as if it were a mail source and display sender, recipient, subject, date etc and then be able to download the actual message and display it.
I envision this service being accessed either via a folder in the left-hand panel. (Uber feature would be if I could drag a message out of this service into the inbox!)
Unfortunately, I don't normally write code on the MS Stack -- I'm a linux guy. So I'm looking for either a follow-the-dots tutorial or an example of something similar. Failing that, I'll hire someone to write this so would love to know the specific skillsets I should be looking for when I contract someone to write it.
EDIT / Additional Thoughts
I have considered changing the web service (or at least creating a middle-man) that spoke IMAP, but only implemented a sub-set of commands (eg, there's no delete or create-folder or move)
One problem with that is that retrieving the actual message needs to be a different opperation (one that has a quota cost to the end user) so I can't just show the message. An option would be to show a "retrieve" button rather than the actual message (I found a great resource here: http://msdn.microsoft.com/en-us/library/dd542625.aspx for doing something like that) and then having that button do the retrieve and then reload itself. Maybe.
As Pekka says this could turn into a big project .. your description is pretty general and as you know the devil is in the detail ! but there are a number of options ..
you may be able to use Folder.WebViewURL Property of a folder that you have created in outlook and show your app via a web app (you can build that on any tech stack you like)
ok drag and drop may become a little tricky to do.
Outlook forms could also be used. A form can call out to your web service and display what you want. There is some info about form on SO but http://www.outlookcode.com/article.aspx?ID=35 is the best place.
Subclassing .. you can then create your own tree under the outlook tree and display whatever you want in the right hand pane such as grids forms etc. these can interact with the normal outlook folders and you can do your drag and drop though you woudl have to create Outlook Items to display them in the inbox. There is a tutorial on the technique http://www.codeproject.com/KB/office/additional_panel_Outlook.aspx though not doing exactly what you want but the technique is sound.
Next up build your own MAPI Message Store Provider which is probally the hardest thing to do on the list.http://msdn.microsoft.com/en-us/library/cc842153.aspx
As I said your question is no functional spec and there are always many ways to skin the cat but 2 or 3 are probaly where you shoudl look at unless it simple enough just a display a web app.
Marcus
Maybe our product could help you in order to avoid writing your own MAPI Message Store Provider.
Kayxo Insight : .Net Custom Framework for MAPI Message Store Provider

Resources