I am looking for a web based way of showing users tiff, pdf, doc(x), and xls(x) files. This is being required from a business standpoint and I don't have a whole lot of weight/control into the decision being made. The web application will be used by both internal and external customers, not publically available though.
Pricing is not such a big deal right now, the active stakeholders know this is extremely valuable and important. So to a point, pricing does not matter.
I was hoping somebody else's google-fu was better than mine, or knows of a good solution/product that doesn't necessarily have good search engine ranking.
Little more info
I do believe all we will need is a way to view the images. We will not be performing any redaction or annotations. It would be nice to have a thumbnail control to facilitate flipping through many pages (upwards around 100), but this is not required. There will be other controls on the page, so I'm looking for a minimalistic viewer. Being able to customize the navigation buttons/controls would be an added bonus as well. Also this will be developed/deployed using ASP.NET MVC2 on an IIS7 x64 platform.
A silverlight/flash control/solution would also be acceptable.
Current Findings
Previewing TIF documents on the Web (.Net C#) - Only directed at TIF images
http://www.accusoft.com/prizmviewerfeatures.htm - uses a browser plugin. This is not ideal, but a possibility.
http://www.atalasoft.com/products/dotimage - Does not seem to support MSFT Office formats, no mention of MVC support.
http://www.snowbound.com/viewer_inaction/viewerdemos.html - So far this one is coming out ahead, it supports many formats (pay for the formats you need/want). But again, no mention of MVC.
Google Docs API - From what I can tell in order to use Google's conversion, you need to put the documents on their server. This will not work for us because of sensitive information the documents have.
There's a partial solution for this that involves converting the various documents into HTML for display (or any other web-capable format) in a web browser. It doesn't satisfy all your requirements but may lead to something useful eventually.
JODConverter offers a server-side java-based solution that leverages OpenOffice.org's powerful converter to convert from any supported format to any other supported format.
From the website:
JODConverter, the Java OpenDocument
Converter, converts documents between
different office formats. It leverages
OpenOffice.org, which provides
arguably the best import/export
filters for OpenDocument and Microsoft
Office formats available today
I've used it successfully to convert documents from MSWord to HTML for display in the browser. Any format that OpenOffice supports is supported by JODConverter. So PDF, MS formats, TIFF and others are supported.
It's java so it's platform independent - I've used it on a Windows, Mac and Linux server.
There are a couple of other ones I have found:
http://www.eviewer.net : An HTML5 based viewer that has both .NET and Java backend.
http://www.ms-technology.com/viewing-solutions : They have Java Applet, Silverlight, Flash viewers that would fulfill your needs as well.
I hope this helps.
Related
Edit: I noticed that there have been 40 views, but no responses. Have I asked for too much? Does anyone have any thoughts or points that are responsive to part of what I am looking for?
I am looking for a software library (open source or commercial) for my company that meets the following specifications. A bit of background first.
My company provides cloud-based software that, among other things, allows users to create ad hoc database tables, similar to SharePoint lists, and store any type of data there. Assume, for the sake of argument, that the data can be accessed through a regular SQL query, against either a table or view.
We want to give our users the ability to visualize the data stored in these ad hoc tables by creating their own charts. Our end users will not have any technical abilities and no coding should be required to make this possible.
Our software uses java on the backend. Clients access the software thru a browser and typically no plug-ins or add-ons are required.
Here is what I am looking for:
A library that can create a very broad range of charts (pie, bar, etc.), not just 1 or 2 kinds, and fairly complex versions of those charts.
Whether the charts are created on the backend (in java) or on the front end (using javascript) does not matter.
The end user should be able to use a wizard to design the chart. This includes not just what type of chart and the various chart options (labels, colors, etc.), but also what data fields will be used to construct each part of the chart. For example, the end user might select a pie chart, then select a specific data source (e.g., Store Sales), and from the data source they can select the columns that will be used as the pie dimension (the slices) and the pie measure (the size of each slice). This does not necessarily require that the library have access to the data source, as the fields in the data source and the datatype of each could be sent to the library (be it in java or javascript).
Finally, assuming the data is stored as a regular table or can be accessed as a SQL view, once the fields have been selected and the various aggregations defined to create the chart, the library should write the actual SQL code that will be required to query the underlying data. The end users cannot be expected to write the SQL code themselves.
I believe there are some SharePoint add-ons that will write the necessary queries to pull data out of a SharePoint list to create the charts. Something similar to that, but not SharePoint-based.
Mark,
I'll try and answer this to the best of my knowledge (Disclosure: I'm the co-founder & CEO of FusionCharts - where we make JavaScript charting components).
I've split my answer into 2 parts:
How to find a charting component for your web application?
How to build the UI for end-users to modify the charts created by these libraries?
There are three ways to add charting capabilities to your web application.
Using server-side charting libraries
First is to use platform-specific charting libraries that accept data on server through their APIs, create images to represent the chart, and then stream these images. Examples of such components are Telerik (.NET, paid), Infragistics (.NET, paid), ComponentArt (.NET, paid), ChartFX (Java, .NET, paid), Steema (.NET, paid), pChart (PHP, free), jPGraph, and a whole bunch of them.
The advantage of using such components are:
Mature libraries offer a huge variety of chart types
Since the charts are generated as images, they work everywhere, including mobile devices
The look & feel always stays the same, again by the virtue of charts rendered as images
If just one or two charts are served per user across entire application, lesser bandwidth is used compared to client-side libraries which could range from 50-500KB in size, but get cached thereafter
Disadvantages are:
Considerable resources are used at server-side when generating charts as images. More so for applications that have many concurrent users
Interactivity and animation offered by the charts are very limited, as there's only so much you can do with images
They are technology specific. So if you're using a library for ASP.NET, if/when you move to Java, you'll have to switch to a different library, and hence the look, feel and featureset would differ.
Using hosted charting APIs
Second option is to use hosted charting libraries that take in data over querystring/REST API and return chart image back to your application. Examples would be old Google Charting API.
Advantages of this are:
You do not need to host the charting library, and hence all maintenance and upgrade issues are managed by them
When you change your technology stack, the charts are still delivered by the same service and hence look & feel are same
Disadvantages:
Such services do NOT offer a variety of chart types
Confidential data needs to be transferred over HTTP outside your servers to such providers
Limitations on amount of data that can be sent over querystring
Again, charts cannot be interactive, as they are images
Client-side charting using JavaScript, CSS, Flash, Silverlight or Java applets
The third and last option is to use client-side charting libraries written in either JavaScript/HTML5, Pure CSS, Flash, Java applets or Microsoft Silverlight. Considering the fact that iOS devices do not support and proprietary plugins, Flash, Java and Silverlight based plugins do not work on iPads and iPhones. So you can safely to ignore them. Pure CSS components are very light-weight and can be used for very basic visualizations.
That finally brings us to JavaScript/HTML5 based charting components. There are a whole bunch of JavaScript charting libraries, both free and paid. I've listed some of them below:
Paid: FusionCharts Suite XT (JavaScript), HighCharts, amcharts, AnyChart, Jqplot, ZingCharts, Wijmo, TeeChart, Sencha Touch Charts, RGpraph, Kendo UI DataViz, JSCharts, Arcadia Charts, jQChart, EJSChart, emprisejs, techoctave
Free: FusionCharts Free (Flash), Google Chart Tools, Yahoo UI components, Flot, Milkchart, Moochart, protovis, graphael, elycharts, smootiecharts, dhtmlxchart, grafico, canvasjs, dygraphs, thejit, awesomechartjs, jchartFX. More free components based on d3.js for data visualization: xcharts, nvd3, rickshaw, cubism.js, Dc.js, xkcd, graphene
Now, given the number of components available, the questions you need to ask yourself when narrowing done for a charting component should include:
What chart types would you need - now and in the future? If you need very basic charts like column, pie etc., most of these libraries fit the bill. But if you need even slightly advanced charts like Pareto or Funnel, most of the components do not offer such charts.
How important is for you to have the charts rendered on maximum number of devices and older browsers like IE6? Many open-source libraries just use SVG for rendering, thereby not having support for IE6,7,8 (which 6% of the world still uses).
Can you use the part of your product where you implement data visualization as a USP during demos? If yes, how important is the look & feel of the charting component to you?
Are you looking to spend considerable amount of time tweaking the charts for basic features? For example, many open-source libraries enable tool-tips upon writing additional code, or the fact that if you've >25 data points on chart, x-axis label overlapping needs to be taken care of by you. Or, do you want these capabilities out of the box, so that you can focus on your application and business logic?
How important is it for you to be able to customize each and every feature of the chart, including cosmetics? For example, do you need to be able to render the charts in 3D, customize how the number gets formatted, control gradients etc.?
Do you want a component with an exhaustive documentation and real-life business demos so that you can get started easily, or are you ok with minimal docs and learning by experimentation which could take a lot time?
Is it important for you to get personalized support when something doesn't work as expected, or are you ok with posting on public forums and not having an SLA for a reply/fix?
Hoping that this information would help you choose a charting component for your web application, let me address the second question: Is there a component that comes with a client-side wizard for end-users to design the chart?
For the client-side charting libraries, the short answer is NO. Because, it ties the client-side library to a particular server-side technology for data persistence, and secondly not many users have need for it.
Some server-side libraries (Dundas used to have this capability) do provide this capability, though not all features of the chart can be customized at client-side.
That being said, many developers have created such wizards for use by non technical users. For example, at FusionCharts, we have created wizard for SharePoint which is called Collabion (see www.collabion.com), and PowerPoint which is called oomfo (www.oomfo.com). While these are not open source, we would be happy to share code of these, if you find them relevant.
Another option is to use an open-source BI component (like Pentaho, JasperSoft etc.) that have charting components in-built and also provide a wizard for end-users. However, they could require considerable server resources per user, and are time-taking to install and maintain.
Hope I've been able to answer your questions.
This sounds like a "build vs. buy" question. I'm interested to know if you have looked into comprehensive business intelligence tool like Tableau, qlikview, jDashboard, or LogiAnalytics?
Of course buying a pre-built solution will come down to constraints- can your vendor work with you on these? Or allow you to build minimal add-ons to address them? This might achieve many of your application's goals but have a higher upfront licensing cost.
Purchasing a visualization library or downloading an open source lib would provide one of the many materials you need to build the application you've described. This would have lower licensing costs but require building out the rest of your requirements around it.
The decision you need to make is whether you have the patience and ability required to juggle multiple libraries and handle custom coding, or whether you would be willing to pay for a complete solution that satisfies most but not necessarily ALL of your requirements.
Your requirement seems to be two-fold from my perspective. I would share my views, though I am not sure if it will help you.
You need a charting component that is diverse in nature, easily configurable, robust to extreme tinkering by users and looks good even in worst case scenario. (I assumed many items here since it is evident that users would be creating charts and thus it can be highly far-fetched.)
A visual editor (preferably wizard-style), that can be used to create and configure every aspect of such charts from exiting data sources.
Since your application is for creating and store custom data sources (as far as I could figure,) using a BI tool as overlay makes less sense since the nature of data is too flexible to conform to any source standards.
If my basic analysis is correct, then the following is my advise on a respective bases:
For such a comprehensive requirement, you would need charting solution that specialises
in visualisation and is a visualisation component taking care of your charting needs.
The only component that I see that meets your requirement is
FusionCharts. The reason being that FusionCharts is designed to
cater to enterprise customers with high fault-tolerance on input and
yet look appealing. (I can elaborate with examples or you can lookup the website
http://www.fusioncharts.com/.)
Sadly, there is no such component that comes inherently paired with such a capable
visualisation front-end. This primarily because most charting solutions provider caters
to consumers whose use-cases involve the chart generation to be on their own end.
You do have Dundas Chart Builder - which IMHO is not web-based and
jsCharts chart editor - whose visualisation front-end is not as comprehensive as
your needs and I am not sure if they sell the editor.
Having said that, there is another product from FusionCharts called Collabion.
The product uses FusionCharts to render charts and connects SharePoint data sources.
The interesting part is the visual chart builder that it has. It allows you to fully
customise the appearance and functionalities of FusionCharts and configuration of
data sources. Visit http://www.collabion.com/ and you can check out the screenshots.
Collabion is primarily intended for deployment on MicroSoft stack (SharePoint), but
your requirement is on Java. IMHO, if you go to that length, you can run an instance
of SharePoint and communicate the process. (Just thinking aloud.)
Indeed, FusionchartXT matchs your requirement, but you need a web-based FusionchartXT editor too. It must allow your customers optionally configure their charts attributes, cosmetics, dateset, and trend lines, just like this: http://www.crossui.com/FCEditor/.
I have hundreds of thousands of PDFs that are presently stored in the filesystem. I have a custom application that, as an afterthought to its actual purpose, provides access to these PDFs. I would like to take the "storage & retrieval" part out of the custom application and use an OpenSource document storage backend.
Access to the PDF Store should be via a REST API, so that users would not need a custom client for basic document browsing and viewing. Programs that store PDFs should also be able to work via the REST API. They would provide the actual binary or ASCII data plus structured meta data, which could later be used in retrieval.
A typical query for retrieval would be "give me all documents that were created between days X and Y with document types A or B".
My research, whether such a storage backend exists, has come up empty. Do any of you know a system that provides these features? OpenSource preferred, reasonably priced systems considered.
I am not looking for advice on how to "roll my own" using available technologies. Rather, I'm trying to find out whether that can be avoided. Many thanks in advance.
What you describe sounds like a document management or asset management system of which there are many; and many work with PDF files. I have some fleeting experience with commercial offerings such as Xinet (http://www.northplains.com/xinet - now acquired apparently) or Elvis (http://www.elvisdam.com). Both might fit your requirements but they're probably too big and likely too expensive.
Have you looked at Alfresco? This is an open source alternative I came into contact with years ago while being on the board of a selection committee. As far as I remember it definitely goes in the direction of what you are looking for and it is open source so might fit that angle as well: http://www.alfresco.com.
We are done migrating a website from old CMS to SDL Tridion. We have thousands of clients out of which fewer than five are migrated. Now let's say we need to automate migrating the rest of the thousands clients, obviously we can not use manual effort. Is there a way to develop automated solution against SDL using any APIs it may provide? If yes where can we find documentation for APIs? Any Books or online tutorials for the same?
all very technical answers. Whatever route you choose you need to weigh up the option of not doing a technical migration (and trying to get that right) versus employing a load of students to copy and paste.
Regardless of the CMS, the complexity of a migration can be measured based on how organized is your content in the system you want to migrate from.
I categorize the migration into 3 types related to the Origin and Destination:
1--> CMS to CMS
2--> Database to CMS
3--> WebSite to CMS
If the original source is a database or another CMS typically the complexity is reduced, as the content is already structured.
You have to extract that and map the existing content with the structure that will have in the new system
If the goal is migrate an existing website into a CMS the complexity increases as the content is more disorganized that
having that in the CMS.
Again, if the content in the site is properly structured is still possible to automate that, but most of the cases are old sites
maintained manually.
There are commercial tools that crawl the content from the sites and apply patterns to identify common elements, common content, common metadata, structure
and are able to massage the original content and apply logic based on rules that allows to structure the content, however even the best tool has a hard
work to do when the source is disorganized.
Also I have seen migrations that cut the final html in pieces and put that in the CMS. That is an easy approach but of course a wrong one, as
you are not taking any advantage of the CMS
And 3 Types related the source type we migrate from and the source type we want to obtain
1--> Content to Content
2--> (HTML + Content All together) into (HTML) + (Content) separated
3--> (HTML + Content + Code All together) into (HTML) + (Content) +
(Code) separated
Content to Content Migration is less complex
Second option is of course more complex, as you have to Separate Content and HTML that will become templates
Third option is even more complex, as if you are extracting the html of the page (using an http client for instance as most of the commercial tools do),
you are not capturing the logic of the page. For this case you need to work at the file level
Try to do a very depth analysis before you enter in a migration, as things can turn complex.
Only if you have a very good knowledge of the original system and solid patterns to apply you can think in an automation
Tridion has extensive APIs and these are thoroughly documented. Your starting point for SDL Tridion 2011 is https://www.sdltridionworld.com/downloads/documentation/SDLTridion2011SP1/index.aspx
Automated migrations are perfectly possible, however API support is not the limiting factor here. Understanding your data in your source and target scenarios is much more important.
I would consider contacting Kapow or Vamosa who both specialize in crawling sites and then importing them to a CMS. They both have connectors for SDL Tridion. This may save your clients both time and money.
Every migration is different, unless you are migrating "thousands of" sites (assuming a client is a site) from same source type to same destination (SDL Tridion in this case) with extremely close data models. Several SDL Tridion partners are already solving this problem and built/building assisted migration automation tools. Get in touch with us if you need more information.
Is there any CMS such as expression engine or wordpress that allows a user to click a button and convert all the text to another language (it would have to be human generated otherwise it has too many mistakes probably).
I'd like to know if there are any good solutions out there that work for real world use, in like business company websites.
Tridion CMS is designed to assist in website translation. They even have translation services to help you through the process of translating your content. It is not a cheap solution but is a viable solution.
As noted above - this is a huge topic and not easily answered briefly. But here are some things to consider...
NO CMS on the market today elegantly interoperates, out of the box, with translation technology for use in real-world translation projects. Reports from clients we've worked with have even raised concerns about the SDL integration.
At best - a handful of CMS's either offer very light-weight features that "appear" to help (side-by-side editing that prevents use of TM) but don't scale or have modest oem connectors to captive translation providers (CQ5<>TDC).
If your needs are modest - these might work fine.
But if you're serious about localization and have a moderate to high volume of content and want to work with any translation provider - you need a proper, rich, scalable integration between your CMS and the TMS (translation management system) used by your Translation firm (LSP).
Regrettably - these are scarce. We do nothing BUT build these connectors and use a neutral platform to provide direct integration all sorts of translation providers and technologies, the full SDL suite included - and still we've only been able to build a few rich CMS plug-in connectors because they are very complicated and require substantial development effort - IF they are going to be useful.
But the CMS choice you make should be driven as much by your broader needs. Localization should only be one facet of the decision process.
I guess the harsh reality is that there is NO CMS that will do what you descibe without smoe modification or a connector.
RK
I would recoomend you to use Kentico CMS.
See the video on Multilingual support in Kentico CMS:
http://devnet.kentico.com/Blogs/Martin-Hejtmanek/March-2010/Webinar-5---Multilingual-support-in-Kentico-CMS.aspx
Kentico CMS offers multilingual functionality including Right-to-Left languages and Eastern languages. Please see some "live" examples:
Site in 10 languages (incl. Chinese) : http://www.chep.com
Site in 7 languages (incl. Japan, Korean): http://www.wayoutback.com
Arabic: http://www.scb.gov.sa/
Hebrew: http://www.medicsfile.co.il/
Chinese: http://www.royalcaribbean-asia.com/?lang=zh-CN
Hindi site: http://www.rajasthantourism.gov.in/
More details on multiple languages support:
http://www.kentico.com/cms-asp-net-features/Content-management/Multiple-languages.aspx
Kentico also offers Translation Management:
http://devnet.kentico.com/docs/devguide/index.html?translation_management_overview.htm
Especially the translation status overview makes it really easy to manage multilingual web sites. If only a part of web site is translated then you can set to combine the rest with the original language without adding the missing pages in it manually.
By default Hippo CMS utilizes Google Translate, but you can plugin your own translation engine / review process. See for more information: http://www.cmswire.com/cms/web-cms/hippo-cms-75-launched-introduces-drag-drop-layout-localization-channel-management-010391.php/
If your organization already uses SDL for translation services then using SDL Tridion is a natural choice because of the built-in connector to send Tridion content for translation using a right-click on the GUI item. After translation, it is updated in the CMS and the author is notified.
SDL Bought Tridion a few years ago and has been maturing this solution since then. Today it is available in the current release, Tridion 2011 SP1, and is compatible with both World Server and Translation Management Server.
This is all human translation and any solution that honestly recommends machine translation for final content is not serious about it.
Drupal 8 is the best option available for Multilingual capability... Although you have to wait a little bit for its release, You will get a good result. Also earlier versions of drupal including Drupal 7 supports multilingual functionality.
But Drupal 8 will have more features...With Drupal 8 multilingual functionality, it is possible to translate anything in the system.
The multilingual functionality provides language configuration, assignment and detection functionality. It also provides a user interface to the existing back-end support for automatic software translation. Now it’s more easier to translate contents with the build-in user interfaces.
Plz refer the link for more detailed info Drupal 8- What’s new and Expected Inside
Day Communique (CQ5 - now ADEP), in combination with a third-party translation vendor, can do this job.
In Communique/ADEP, you manage your pages in whatever native language you choose. Once they are done, you kick off a translations workflow. This will go to your translation vendor (of which there are several). The vendor will have a human translate it, and possibly also use software to speed up the translation process. It will come back to you for approval in the workflow, if you wish. Otherwise, it will just be published to your web site.
So yes, from the user's perspective, one click can indeed translate a page in multiple languages, and publish it to multiple web sites. Our company is doing this, only we are doing our own in-house translation.
I have not used this, but I looked into it awhile ago and this looks to be the best solutions I have seen.
http://umbraco.org/blog/2009/3/25/microsoft-translator-and-umbraco
That is not how major businesses do translation. It's good for quick and dirty, general idea translation, but it's not for anyone serious about messaging to multiple languages and cultures. Typically, businesses work with translation vendors and grow translation memories that help to guide content authors to creating a consistent message and to reuse content (keeping translation costs down).
This is a big subject, not a small one. Honestly, I'm kind of flabbergasted at how to answer this question, so I'll stop here.
I need to set up a CMS for our marketing dept. Basically they need a system that they can
sharing documents with multiple users
editing documents with multiple users
tracking changes
tracking/keeping multiple versions
storing and organizing files
The types of documents are : Illustrator, Photoshop, Pdf, MS word and Excel.
I am in the process of evaluating different CMS to use. Since we are a .Net shop so the first requirement is Windows based. I know we can use Windows SharePoint Services 3.0 or DotNetNuke.
Could anyone give me some suggestion? Thanks a lot!
I don't think you're looking for a CMS so much as a DMS (Document Management System). CMS are usually used for managing web-based content as opposed to documents, or if they do document management they usually do a poor job at it.
For basic management of Illustrator, Photoshop, Pdf, MS word and Excel documents I would look to something along the lines of SharePoint - it will suit your needs well for the PDF / Office documents, though I'm not sure how well it does with Illustration / Photoshop files - I'm sure it will store them but you might not have the full advantage of indexing provided by Sharepoint.
SiteCore is a tad bit on the expensive side, but for what it does it's well worth the investment. I've had a demo of the application and was very impressed with what SiteCore offers for end users. The application is developed in .net so any asp.net developers will be able to add, adjust and modify different items for you.
You've spoke about digital assest management, well here is Razuna, it's an open source digital assest management system that has several kinds of downloads to play with, one even being a pre-setup Virtual Image which can get you started right away. Take a look at it and see what you think.
Good luck on your search, and hope this helped some.
I'd consider Google Docs to begin with.
Otherwise, SharePoint can handle the office documents fairly well. If it's just for the marketing team, the 'free' Windows Sharepoint Services should suffice.
You may then want to look into Adobe Version Cue to handle the Adobe based art files.
An alternative thought would be to consider Version Control, so for example Subversion could work for storing changes, keeping track of changes, etc.
Percussion CMS is a GREAT marketing tool, someone recommended Document Management System for your applications you want to integrate and use with your CMS however; the key word is marketing tool. Percussion CMS is a great investment tool to help establish your online presence! With solutions like community marketing, personalization and web analytics these solutions are geared to generate a response from site users. Community marketing helps to engage socially with your visitors in facebook, twitter and community forums. Personalization helps with brand identity, features including product promotion and help your site's represent your company the way you want to be perceived. Lastly web analytics track users and report data back to marketers including information on bounce rates and geo-tracking. Reports showing whose visiting your site and their behaviors. Most importantly the Web CMS is fool proof. It is not code based or needs a webmaster to publish the content for your website. It's extremely user friendly.