Assume you have an encrypted file containing contact and calendar data (in some proprietary format) which can be loaded by some .net application. On a local (Windows) machine, I'd like to make these contacts and calendar entries accessible by clients like Thunderbird or Outlook.
I would prefer not to convert the encrypted data to unencrypted files but rather provide an open port for these applications to connect to, especially as write support (for editing the data) would be nice to have as well.
I was looking around if I could adopt anything from the free groupware implementations but except for OpenMAPI I haven't found anything which was designed for custom backends - and OpenMAPI doesn't seem to exists outside its German Wikipedia article.
Do you know about any code or approaches which would allow to make such data available to client apps?
one solution I found is to use IronPython and run Radicale which allows to use a custom backend.
Related
I am making a C# program that recreates websites in offline mode for use at computers within the company, that are not connected to the internet. These offline websites are identical to their online versions, with all content displayed.
I already have a solution for websites with simple MySQL access, but I need to rewrite the program, so that it can handle Drupal based websites aswell. However, I couldn't figure out how to access Drupal's SQL database, or even what to look for.
The original program uses the website's templates (that are already rewritten in HTML), and places the data mined out of it's database in the templates. Problem is, I don't know where to look for Drupal's templates, or if there aren't any, what data should I gather from it's database.
I use MySQL Connector to reach the database with C#. Should I look for the nodes? If yes, where?
If you want to go down that path you will have to sort of act like Drupal, in order to know which things to read from where. Each module installed has their own tables and functions in a particular way, so not always all the data are nodes with fields.
I you need to work with websites in offline mode, I would suggest using a portable webserver, that way you just copy the website to the root folder and run a script to copy the MySQL database as well, the point being that it's portable, you can carry it around in a flash drive and to run it, you don't need to install anything.
Again, what you want to do is possible, but it will require a tremendous amount of work and you cannot guarantee that things will behave well when you install new modules.
Another approach would be to look into the Boost module, which creates offline, static files based on the request you make to the site, and stores them in a configurable folder.
Another way: build a screenscrapper which reads the HTML from the homepage, and recursively follows the links and modify them before saving the HTML yo your local copy.
Summing it up.. avoid accessing the database yourself and try to read the HTML already rendered.
I need to find a way to read all contacts and chat messages from Skype without API.
By Microsoft they will not support the Skype API any more. This is why I need it.
In the C:\Documents and Settings**username**\Application Data\Skype there are some files but need to parse them and not sure how if it is the right approach.
Of course the chat messages are always synchronized from the cloud. I need at least the messages saved on the disk.
According to Ilya Ivaonv Skype saves all the data in the SQLLite main.db file situated in %AppData%\Skype folder.
I recommend two ways to do this:
A. Easiest way is to use Skyperious. Available for Windows, Linux and Mac. You can do all this
This is the search function:
And here is sample output from an export:
B. The harder, but naturally more flexible way, is to install a SQLite Browser, such as this one, and export the messages yourself. You can see some information on how to do that by looking at this article, or you could also search for other similar articles (AlexS' answer also provides clues). You will need some experience with SQL to use this option.
I'am programming a Windows 8 Store App (Metro Design) with C# and XAML using Visual Studio 2012.
There is no need for a database server with multi user support etc.
I want to store my data in a local database and don't know which database is suitable for my needs.
Maybe SQLite? Or are there solutions that fits better for Windows Store Apps and integrates better in Visual Studio?
The app is kind of a calender and the database should store the user data that consists of the dates, tasks and so on.
SQLite is supported for WinRT.
http://visualstudiogallery.msdn.microsoft.com/23f6c55a-4909-4b1f-80b1-25792b11639e
SQLite is the recommended database to be used for Win 8 Apps.
Links for implementing the same
http://timheuer.com/blog/archive/2012/08/07/updated-how-to-using-sqlite-from-windows-store-apps.aspx
http://code.msdn.microsoft.com/windowsapps/Using-SQLite-Asynchronously-b8372137
https://visualstudiogallery.msdn.microsoft.com/23f6c55a-4909-4b1f-80b1-25792b11639e
Ok, this is a great question that I had to learn the hard way. By default WinRT applications do NOT have access to, directly at least, to any type of database structure. This means no Express, Compact, CE, SQLite etc.
There are three ways around this. Do not use a database and instead use a local file structure where you store and retrieve your data. XML works very nicely with this because you can maintain many of the same features a database would give you.
The second option is to use IndexedDB. It is similar to a cookie style local storage model where files are saved in your apps local apps folder.
The third and final option is to use web services. WinRT does have access to the internet which means you can write API and WebServices that can be called. This does mean that you need to have a server running which is connected to a master database. When your app needs data it calls your web service and obtains what it needs.
Overall, for the application you are describing the first option may best suite your needs. Keep a local XML file in your apps folder and read/write from it.
My question was marked as a duplicate of this question (although it was about C++ not C#). I thought I should still post my findings here. C++ apps have another alternative:
Extensible Storage Engine (ESE)
The list of all such API available for Store apps can be found on this link under the section Jet.
As one of variant:
Devart LinqConnect for Metro – a fully-functional high-performance ORM solution for developing Windows Store applications using either of LINQ or ADO.NET to access data.
http://code.msdn.microsoft.com/windowsapps/A-Simple-Windows-Store-85f29843#content
or next link can be usefull to
http://social.technet.microsoft.com/wiki/contents/articles/18417.windows-store-app-with-a-sqlite-database.aspx
I've been developing a web application with asp.net webforms and in this app I have some documents (.doc, .docx, .rtf files), and my client want to edit these files on browser, they want to open a document in an editor, edit, save it on server (without downloading) and close it. I know it's difficult but I would like to know if it's possible or if is there any easy way to do it. We find something like SkyDrive of Microsoft.
PS: We can pay for components if you can suggest something that really works.
Thank you!
IF the clients have Office installed:
I would recommend http://www.webdavsystem.com/server - this allows you to build a "virtual filesystem" (WebDAV which is based on HTTP) which Office can access thus allowing the client to open/edit/save a document (DOCX etc.) via HTTP(S)... it is pure .NET, integrates nicely with ASP.NET and has even a JavaScript accessible API... esp. the upcoming V 3 comes with a wizard which allows you easily to add that funcionality to your ASP.NET application... (just a happy customer, not affilliated).
IF the clients don't have Office installed then it gets tricky:
To really fully support you would need some sort of Silverlight/Flash/ActiveX/JavaApplet which runs in the clients browser and supports the needed editing features...
I am not aware of such production-quality components except the ones from Microsoft - see http://www.microsoft.com/en-us/office365/online-software.aspx
You could integrate them into your web application although they won't offer the full Office feature set in the browser...
How to read file form local file system(client side) in asp.net , is there any activeX require to do this or it can be done with out it
It cannot be done without extra help like an ActiveX, but I'm not aware of any ready-made solutions. Why do you want to read a local file? Most users will not like this approach...
What are you really trying to do ?? Isn't there another way (e.g. user uploading the file to your ASP.NET site) to achieve the result you want??
Marc
you can use Javascript and this can be done by using FileSystemObject object
check the following link:
File Handling at Client Side using Javascript
Note:
This object is part of Microsoft' Scripting Engine, and thus this column is applicable only to Microsoft Windows operating systems.
As Marc Said, ASP.net can't do it.
There are a few options
Provide a file upload mechanism (most common, easiest)
Use ActiveX
Use Silverlight, at least with silverlight you can write in managed code and access the client(instructions for file open and file save)