read-only access to a pdf file in LAN - language-agnostic

Is it possible to serve a read-only pdf file to multiple computers in a local area network. say for example a library has one copy of an e-book. the library has multiple computers and the ebook is stored in a server. students are then to read the ebook simultaneously at the client units.
Ff it is, what solutions are available programming-wise (or is there a software available for this?). I would want to write a program that does exactly this, and maybe not just for pdf files.

IIUC, you are going down the Digital Rights Management path. A non-trivial task in itself. Adobe's PDF format supports various means of securing a file and they have LiveCycle Rights Management specifically for this. Adobe Digital Editions is something you will want to check out:
What DRM formats are supported?
Most libraries and bookstores that sell or loan PDF eBooks use Adobe’s
Content Server to protect their books.
This is the DRM format that was
supported by Acrobat and Reader 6 and
7. Digital Editions also supports books from such bookstores and
libraries, as well as migrating legacy
books that were downloaded with
Acrobat/Reader 6 & 7
Note that most online libraries already employ some sort of DRM and it is up to you to choose one. There are various types of DRM and you will have to read up on those and choose one.
Microsoft Reader also supports DRM -- something you may want to check out (if you are going to work with more than PDF files).
However, DRM is a contentious issue and enough controversy has already been created around DRMs -- so be sure if you want to go down this path.
I would strongly recommend you go through the Wikipedia article on DRM to get a fair idea of what you are up against.

Related

Webeditor for developing a modern website

I created a webpage several years ago. Back then I was using Adobe GoLive! to achieve that. But now, there is no adobe GoLive any more and I don't have a useful application for creating a web project. So what I want to achieve is: a good looking online presence for my project. I want to use the new stuff as well, like HTML5 and CSS3. I don't think that I will need beans or J2EE, because it is more about the design and not the functionality. Later on I will include the web project into my Apache server. So the question is: which tool can help me to develop a modern website, what would you advice?
Thank You
Actually I use NetBeans 8 for the following reasons:
it's very strong and containt so many features
i supports ftp
ii supports CSS3 , HTML5
iii powerful , autoComplete
it's open-Source application so it's free
it keeps the history of your files and saves all the updates so you can restore any file
situation you made before
it's easy to use.
It's a good programming tool
SECOND: I suggest using xampp instead of abache server
it actually includes abache and some other features like mysql
so it's easy to deal with it instead of dealing with many programs :)
I strongly recommend 'IUEditor'
Free license. Ownership is 2,000$, monthly license is more than 50$. But if you request startup license they offer free license.
CSS3 and HTML5 : you can use any kind of website.
Back-end support : That's only one web editor which supports backend, such as django and angularJS
Supports GIT.
I tried more than 10 web editors, but IUEditor works best.

converting office documents to html5

I am working on a project, and I need something like office web app , I don't know if I can make it myself , how to read office file formats and convert it to html5.
It's a very significant project to convert arbitrary Office documents to HTML 5.
Office itself can generally save in HTML format. You can most likely use the Interop libraries provided by the various Office products to save as HTML. Look at:
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel._workbook.saveas(v=office.11).aspx
If you want to do this from scratch (without using an existing implementation or the Interop libraries), you can look at the Open XML format
http://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx
Remember MS has developed solutions like Office 365 for Cloud. Also, you have Google Docs to "see" and (of course) edit documents online, but it has its limitations. For example, there may be problems with Excel macros and other advanced features.
What do you exactly want to? and What is the complexity level of your documents?

Versioning for Websites

I am trying to find the best solution for versioning files on a large scale of websites, network drives, etc... shared among 40+ developers. We have roughly about 22 servers that each contain about 75 DNN websites hosted by PowerDNN. Common software shared among all developers are Adobe CS5 suite so I am not sure if there is something that even integrates into this software that would allow us to version. I am aware of a couple of the ones out there now (visual safe source, CVS, GIT) but not sure if these are the best solution for such a large amount of data. Network drives would contain PSD's, Text documents of site content, etc...
any help is appreciated, thanks
also something i forgot to mention, something that also allows to check in/out files for example a style.css for website 1 on server 1 is checked out then back in and a week later checked out and you are able to compare changes from last checkout and who made those changes
thanks again
Consider git at least if your files are mostly text and not binary (like psds and stuffs). Then you can create separate repositories for separate projects and by doing this you should have no problem with the amount of data that you have.
Visual Sourcesafe and CVS are old (read: bad) and not as flexible and powerful as git.
Check out Team Foundation Server. There are plugins actively being made to integrate TFS with other programs. Some plugins are free and some are paid.
http://www.codeplex.com/
Warning: TFS is massive and the learning curve could get steep.

How do you turn a dynamic site into a static site that can be demo'd from a CD?

I need to find a way to crawl one of our company's web applications and create a static site from it that can be burned to a cd and used by traveling sales people to demo the web site. The back end data store is spread across many, many systems so simply running the site on a VM on the sale person's laptop won't work. And they won't have access to the internet while at some clients (no internet, cell phone....primitive, I know).
Does anyone have any good recommendations for crawlers that can handle things like link cleanup, flash, a little ajax, css, etc? I know odds are slim, but I figured I'd throw the question out here before I jump into writing my own tool.
By using a WebCrawler, e.g. one of these:
DataparkSearch is a crawler and search engine released under the GNU General Public License.
GNU Wget is a command-line operated crawler written in C and released under the GPL. It is typically used to mirror web and FTP sites.
HTTrack uses a Web crawler to create a mirror of a web site for off-line viewing. It is written in C and released under the GPL.
ICDL Crawler is a cross-platform web crawler written in C++ and intended to crawl websites based on Website Parse Templates using computer's free CPU resources only.
JSpider is a highly configurable and customizable web spider engine released under the GPL.
Larbin by Sebastien Ailleret
Webtools4larbin by Andreas Beder
Methabot is a speed-optimized web crawler and command line utility written in C and released under a 2-clause BSD License. It features a wide configuration system, a module system and has support for targeted crawling through local filesystem, HTTP or FTP.
Jaeksoft WebSearch is a web crawler and indexer build over Apache Lucene. It is released under the GPL v3 license.
Nutch is a crawler written in Java and released under an Apache License. It can be used in conjunction with the Lucene text indexing package.
Pavuk is a command line web mirror tool with optional X11 GUI crawler and released under the GPL. It has bunch of advanced features compared to wget and httrack, eg. regular expression based filtering and file creation rules.
WebVac is a crawler used by the Stanford WebBase Project.
WebSPHINX (Miller and Bharat, 1998) is composed of a Java class library that implements multi-threaded web page retrieval and HTML parsing, and a graphical user interface to set the starting URLs, to extract the downloaded data and to implement a basic text-based search engine.
WIRE - Web Information Retrieval Environment [15] is a web crawler written in C++ and released under the GPL, including several policies for scheduling the page downloads and a module for generating reports and statistics on the downloaded pages so it has been used for web characterization.
LWP::RobotUA (Langheinrich , 2004) is a Perl class for implementing well-behaved parallel web robots distributed under Perl 5's license.
Web Crawler Open source web crawler class for .NET (written in C#).
Sherlock Holmes Sherlock Holmes gathers and indexes textual data (text files, web pages, ...), both locally and over the network. Holmes is sponsored and commercially used by the Czech web portal Centrum. It is also used by Onet.pl.
YaCy, a free distributed search engine, built on principles of peer-to-peer networks (licensed under GPL).
Ruya Ruya is an Open Source, high performance breadth-first, level-based web crawler. It is used to crawl English and Japanese websites in a well-behaved manner. It is released under the GPL and is written entirely in the Python language. A SingleDomainDelayCrawler implementation obeys robots.txt with a crawl delay.
Universal Information Crawler Fast developing web crawler. Crawls Saves and analyzes the data.
Agent Kernel A Java framework for schedule, thread, and storage management when crawling.
Spider News, Information regarding building a spider in perl.
Arachnode.NET, is an open source promiscuous Web crawler for downloading, indexing and storing Internet content including e-mail addresses, files, hyperlinks, images, and Web pages. Arachnode.net is written in C# using SQL Server 2005 and is released under the GPL.
dine is a multithreaded Java HTTP client/crawler that can be programmed in JavaScript released under the LGPL.
Crawljax is an Ajax crawler based on a method which dynamically builds a `state-flow graph' modeling the various navigation paths and states within an Ajax application. Crawljax is written in Java and released under the BSD License.
Just because nobody copy pasted a working command ... I am trying ... ten years later. :D
wget --mirror --convert-links --adjust-extension --page-requisites \
--no-parent http://example.org
It worked like a charm for me.
wget or curl can both recursively follow links and mirror an entire site, so that might be a good bet. You won't be able to use truly interactive parts of the site, like search engines, or anything that modifies the data, thoguh.
Is it possible at all to create dummy backend services that can run from the sales folks' laptops, that the app can interface with?
You're not going to be able to handle things like AJAX requests without burning a webserver to the CD, which I understand you have already said is impossible.
wget will download the site for you (use the -r parameter for "recursive"), but any dynamic content like reports and so on of course will not work properly, you'll just get a single snapshot.
If you do end up having to run it off of a webserver, you might want to take a look at:
ServerToGo
It lets you run a WAMPP stack off of a CD, complete with mysql/php/apache support. The db's are copied to the current users temp directory on launch, and can be run entirely without the user installing anything!

Browser application & local file system access

I want to enhance my browser-based web application with functionality that enables management of local files and folders. E.g. folder tree structures should be synchronized between local workstation and server via HTTP(S).
I am aware of security-related limitations in browser-based applications. However, there are some techniques that "work around" these issues:
Signed Java applets (full trust)
.NET Windows Forms browser controls (no joke, that works. Just the configuration is horrible)
ActiveX
My question is: What do you use/suggest, both technology and implementation practice? Key requirement is that the installation process is as simple as possible.
Thanks for your opinions!
Google Gears.
it lets you write Javascript applications with a much bigger platform support than the usual browser, and go 'unconnected' with local file access, cache and DB. and if/when connected it syncs to the central server.
available for several browsers on all platforms; but still under heavy evolution.
Both Gears and Adobe Air require the user to manually select a local file before you get any programmatic access. Very limited because of security considerations when it comes to local filesystem access, so no chance for any web based file sync type functionality there as far as I can see. Maybe I'm wrong about Adobe Air but this is definitely the case with gears. But If I'm wrong let me know!
Silverlight 4 (still in beta) allows file system access:
"Read and write files to the user’s MyDocuments, MyMusic, MyPictures and MyVideos folder (or equivalent for non-windows platforms) for example storage of media files and taking local copies of reports"
http://www.silverlight.net/getstarted/silverlight-4/
Definitely not ActiveX. No sense spending time on something that out-of-date.
Adobe AIR (essentially, Flash for the Desktop), is something that we considered in my last contract, as opposed to Java applets. Last I checked, though it's been several months, the installation of the AIR runtime environment was fast and easy
Your best bet might be to write a custom application that interacts with your web application. For example, Dropbox lets you synchronize files across computers by use of a background application that watches a Dropbox-enabled folder. It also lets you view your Dropbox files online through a web browser. The Dropbox web application then allows you to delete/move/copy files which is echoed in your local filesystem.
In the demo of Google Wave...
http://www.youtube.com/watch?v=v_UyVmITiYQ&fmt=18
...at 15:30 in, a group of img files are drag-and-dropped from the file system to the browser. The functionality is attributed to Google Gears. This seems a bit different from what Daniel OCallaghan and the official documentation suggest is possible.
Anybody know what's actually possible w/ Google Gear and the local file system?