I am facing some issues with jquery-terminal while trying to build my own web terminal for my portfolio website - jquery-terminal

e.g. this.echo("Hospital Management System: Designed a full-fledged Hospital Management System Keeping in mind of all the necessary details and problems faced by the people. It was meticulously designed by keeping in mind of all the use cases involved. The system was implemented using HTML, Javascript, PHP, Mysql\n");
-The issue is that some of the words are broken in between by newline. So how to properly output the text without breaking the word
- The second issue is how to change the color of command in jquery-terminal

Related

Alternatives to ShellAPI to get file list and icons

I need to build a file/folder tree with associated file icons and special locations like network computers.
Currently I'm using Shell API to achieve it: SHGetFileInfo, IShellFolder.EnumObjects and other functions.
It works fine most of the time, but occasionally, on customer's machines it causes various errors like random access violations deep in system libraries. Analyzing bug reports, some of those seem to be a result of 3rd party shell extensions which are loaded to my app's address space when the Shell API is used.
I'm thinking to somehow avoid using Shell API and do the job another way. What are the other good approaches to build a folder tree?
If the problem really is due to faulty shell extensions then the only sensible approach, in my view, is to remove those shell extensions. Trying to work with the shell, but avoid using the shell API won't lead anywhere useful. In fact I think that the likely outcome is that your alternative code will be less functional. All for the sake of one user that won't fix their broken machine. That's a terrible trade off.
If explorer is also crashing then that is a clear indication that the problem is indeed due to shell extensions.
Having said all of that, you post makes me suspect that you have had bug reports from multiple clients. That makes your diagnosis much less plausible. The shell API is a complex beast and it is very plausible that your code is defective in some way. I suspect that you may be guilty of a case of diagnosis by wishful thinking. It's very easy, when facing a fault that is hard to reproduce and diagnose, to believe that your code is not to blame. If multiple clients are reporting problems then my bet is that the defect can be found in your code.

AsteriskNOW vs FreePBX. What is the easiest to customize?

I develop asterisk and GUI.
Asterisk GUI were exist several type.
FreePBX, AsteriskNOW, Elastix, Trixbox...
Finally, I have selected two type.
FreePBX and AsteriskNOW.
FreePBX is based on php, AsteriskNOW is based on java.
Almost people used FreePBX.
But I don't know that reason.
I have installed AsteriskNOW and asterisk from command line (apt-get install asterisk) to get the best and easiest startup time. All other versions are a pain in the a$$. I would go for apt-get install asterisk since this way takes care of upgrades.
Your question is valid, since there are very few forums and people who can / do help on asterisk. Any question on asterisk deserves a +1.
I have been using Asterisk for about ~10 years, and always compiled from source and always used CLI. Its simple, flexible, easy to maintain and "solid". For a brief period of time, I used Trixbox. It was nice and shiny for a while, with all the bells and whistles from an "out of the box" distro. But it wasn't long when the thing broke down. I don't know if it was my careless edit or something spooky, but it stopped working. As an emergency repair, I simply re-installed asterisk from source as usual (1.4 that time), using my own handcrafted config files. This setup is still in server as of Today (Sep 5, 2014).
just recently tried 'pbxinaflash' with 'incrediblepbx', mostly because of security ('fail2ban') and to try some other interesting features (such as google voice, and other call routings). Quickly after the installation, I got locked out by fail2ban firewall when I typed incorrect password twice. Finally when I reached the GUI, it looked good (as expected). Struggled with GUI menus for several hours to get some functionality to work. Finally had to resort to editing custom.conf files to get most of stuff in my .conf files replicated. Still was not able to setup trunk. Removed it in frustration. (Oh, the 'pbxinaflash' has lots hidden paid features that are installed on trial basis).
The main issue I have with all the GUIs is that they take control of your .conf files, splitting them into multiple sub files, and allow you to edit only a few of them. This hides a lot of simple stuff under multiple GUI menus. e.g if you need to enable tcp, you would need to edit 3 lines in sip.conf in raw asterisk. On GUI, that needs visiting about 2 menus and editing a config file. My ideal GUI would co-exist with plain .conf files, seamlessly co-existing with manual edits, and still allow easy GUI for things where GUI is really needed, such as call routing etc.
Anyway, I am now trying FreePBX and AsteriskNOW (both use same GUI), while my good old asterisk 1.4 is still quietly doing its job close by.
If anyone is interested I can post more updates.
Current Asterisk NOW(binary distro) use freepbx.org (web framework for asterisk control).
So your question have no real sence or choice.
Older asterisk now(javascript) now not supported and very buggy. Better not use that.
Elastix, Trixbox, PBX in a Flash(icnredible pbx) all different binary distros based on Freepbx.org
Freepbx is not best web in term of architecture, but it most common and stable.
If you question is which distro to use as base for your setup - use PBX in Flash or Elastix.
If you want DEVELOP web, you need have 5+ years extensive asterisk experience to do that.
You can try XiVO. It's based on Asterisk and distributed under the GPLv3 license

Visual VoiceXML/VXML development tool?

Does anyone know of any tools out there that will let me run and debug a VXML application visually? There are a ton of VXML development tools, but they all require you to build your application within them.
I have an existing application that uses JSPs to generate VXML, and I'm looking for a way to navigate through and debug the rendered VXML in much the same way that Firebug allows one to do this with HTML. I have some proxy-like tools that let me inspect the rendered code as it is sent to the VXML browser, but there's a ton of JS, which makes traversing the code by hand rather difficult.
Has anyone worked with a product that allows for this?
Thanks!
IVR Avenger
There is JigSaw Test suite - has free trial license and reasonably priced.
There is IBM's debugger - part of WebSphere Voice Toolkit.
Many other products have debuggers - a very good summary is here
Disclaimer: I am the development manager for Voiyager (www.voiyager.com), a VoiceXML testing tool. It doesn't meet your criteria nor do I believe it is the type of tool you want, but I thought it was worth mentioning it.
As far as I know, there isn't such a test tool for VoiceXML. In fact there are very few VoiceXML tools on the market and hardly any of them test or analysis. The vendors that created development tools, have all been acquired by other companies. Some of them offered did offer various forms of debugging that were specific to their tool set or stayed at the Dialog (caller input) level. From your question, I'm assuming you need much lower level debugging capabilities.
I think the alternative paths are minimal and somewhat difficult. I believe your primary goal is to debug or rewrite an existing application, but you haven't provided any specific challenges beyond the JavaScript. Some thoughts or approaches that may help:
Isolate the JavaScript and place the code into a unit test harness. That will go a long way to understanding the logic of the application. Any encapsulation of the JavaScript you perform will probably go a long way towards better code maintainability.
Attempt to run the VoiceXML through a translation layer to HTML so you could use FireBug. The largest challenge would involve caller input (ie processing the SRGS grammars). You could probably cheat this by just having the form accept a JSON string the populates the field values. There are tools on the market to test grammars. Depending on the nature of your problems, you could take a simple and light approach and attempt this over just the trouble areas.
Plumb the application with a lot of logging. This can be done through the VoiceXML LOG element, or push the variable space back to the server. By adding intermediate forms, you may be able to provide a dump from each via the VoiceXML Data element.
See if your application will run in one of the open source VoiceXML browsers (not sure of the state of the open source browsers as we've built and bought for our various product lines). If you can get it mostly working, you can use the development debugger to provide some ability to step through the logic. However, it is probably one of the more difficult paths as you'll really need to understand the browser to know when and where to stick your breakpoints and to figure out how to expose the data you want.
Good luck on the challenge. If you find another approach, I would be interested in seeing it posted.
An alternative debug env is to use something like Asterisk with a voicexml browser plugin like the one from http://www.voiceglue.org/ or for a limited licence, i6net.
You can keep all the pieces separate(dynamic html and vxml application in php/jsp/j2ee/, tts processing, and optional asr processing as separate virtual machines with something like virtualbox. If the logic can be kept the same, then it is just a matter of changing the UI based on the channel.
A softphone is all you need to call a minimal asterisk machine, which has the voicexml browser with the url of the vxml in the call plan.
I just used Zend Framework as php is used in this environment, and changed view suffixes(phtml vs vxml) based on the user-agent string.
Flite for tts is fine for debugging, and when your app is ready you can either record phrases, and there was a page on the ubuntu forums with directions for how to increase flite quality with some additional sound files.
Do you have tried Eclipse VTP or InVision Studio?
Eclipse VTP
This is Eclipse plugin. But I feel that it is user-unfriendly a little (of Japanese viewpoint).
InVision Studio *Required create user account*
This is Convergys's IVR tool. It has to edit standard VXML mode. (Unfortunately, It's not exact matching.)
For just debugging vxml, I use Nuance Cafe's VoiceXML checker. It doesn't give you a visual tree or anything, but it's pretty good at spotting syntax errors and is free. I think they might also have more advanced debugging tools if you look into it, but I haven't had the need. (Note: I have no association with them)
http://cafe.bevocal.com/tools/vxmlchecker/vxmlchecker.jsp
I'm looking for the same problem that most of the links are down. I found a document where they propose an open source solution, which works as a plugin for Asterisk (https://www.researchgate.net/publication/228873959_Open_Source_VoiceXML_Interpreter_over_Asterisk_for_Use_in_IVR_Applications) and is available at https://sourceforge.net/projects/voxy/
I would like to know if there are current options to create a VXML structure graphically, like the next image.

Multilanguage Application UI

I have a small application that will be used by both spanish and english users. The application has about four webpages with various asp.net functions. The database backend is sound.
What is the best approach for the front end / UI? Two websites with the different languages ? A single website with all text in both EN, ES? Or a single website with text appearing in the language of their choosing?
EDIT: This is an ASP.NET application
Two websites with different languages is a lot of maintenance. Any modifications made will need to be done twice. For this reason, as a programmer, I dislike it. However, if the person maintaining the site prefers it this way, then by all means, go this route.
However, if you are looking to provide a proper bilingual solution, you would definitely be better off with a single website instance, with a multilingual data provider.
There is a pretty good one for Wordpress that I have been playing with lately, called LangSwitcher. I have no idea how you have your website setup, or what you are using to develop it. Just throwing out an idea for you.
I'm unsure how to do it specifically in .NET, but a solution is to store the text in a database, and select which language as the page is generated (ideally by either URL (like /en) or cookie setting). Any resources can be stored in "en" and "es" folders, which should use the same logic to select. Then, as long as you're consistent, your translators / graphics people can just look at the raw, un-translated files, translate, put in the proper folder / database location, and viola.
Any number of languages can be handled, easily extending in the future, and it can even handle most language-specific layouts if you do the same with your CSS files. You should be using CSS to do all layout / styling anyway, in part for reasons just like this.
No matter what, you need more than one of every kind of language-specific data, so you're best off using as much text as possible so your graphics people don't have to pull double-duty in addition to the translators. Using CSS to put the text over the image lets you use a single image for any number of languages, and you can do some pretty impressive stuff with just CSS styling of text. If you want to get tricky, and don't mind breaking the site for older browsers, consider rendering things with the <canvas>. Just pull in the language-specific text & definition with Javascript.
In the meantime, there are a bunch of website widgets to do automatic translation, though they obviously don't touch images (another reason to stick with text wherever possible: anyone using a translation tool will be able to read it). I'm personally a fan of Google's: http://translate.google.com/translate_tools
None are perfect, but it's better than nothing.

Windows Help files - what are the options?

Back in the old days, Help was not trivial but possible: generate some funky .rtf file with special tags, run it through a compiler, and you got a WinHelp file (.hlp) that actually works really well.
Then, Microsoft decided that WinHelp was not hip and cool anymore and switched to CHM, up to the point they actually axed WinHelp from Vista.
Now, CHM maybe nice, but everyone that tried to open a .chm file on the Network will know the nice "Navigation to the webpage was canceled" screen that is caused by security restrictions.
While there are ways to make CHM work off the network, this is hardly a good choice, because when a user presses the Help Button he wants help and not have to make some funky settings.
Bottom Line: I find CHM absolutely unusable. But with WinHelp not being an option anymore either, I wonder what the alternatives are, especially when it comes to integrate with my Application (i.e. for WinHelp and CHM there are functions that allow you to directly jump to a topic)?
PDF has the disadvantage of requiring the Adobe Reader (or one of the more lightweight ones that not many people use). I could live with that seeing as this is kind of standard nowadays, but can you tell it reliably to jump to a given page/anchor?
HTML files seem to be the best choice, you then just have to deal with different browsers (CSS and stuff).
Edit: I am looking to create my own Help Files. As I am a fan of the "No Setup, Just Extract and Run" Philosophy, i had that problem many times in the past because many of my users will run it off the network, which causes exactly this problem.
So i am looking for a more robust and future-proof way to provide help to my users without having to code a different help system for each application i make.
CHM is a really nice format, but that Security Stuff makes it unusable, as a Help system is supposed to provide help to the user, not to generate even more problems.
HTML would be the next best choice, ONLY IF you would serve them from a public web server. If you tried to bundle it with your app, all the files (and images (and stylesheets (and ...) ) ) would make CHM look like a gift from gods.
That said, when actually bundled in the installation package, (instead of being served over the network), I found the CHM files to work nicely.
OTOH, another pitfall about CHM files: Even if you try to open a CHM file on a local disk, you may bump into the security block if you initially downloaded it from somewhere, because the file could be marked as "came from external source" when it was obtained.
I don't like the html option, and actually moved from plain HTML to CHM by compressing and indexing them. Even use them on a handful of non-Windows customers even.
It simply solved the constant little breakage of people putting it on the network (nesting depth limited, strange locking effects), antivirus that died in directories with 30000 html files, and 20 minutes decompression time while installing on an older system, browser safety zones and features, miscalculations of needed space in the installer etc.
And then I don't even include the people that start "correcting" them, 3rd party product with faulty "integration" attempts etc, complaints about slowliness (browser start-up)
We all had waited years for the problems to go away as OSes and hardware improved, but the problems kept recurring in a bedazzling number of varieties and enough was enough. We found chmlib, and decided we could forever use something based on this as escape with a simple external reader, if the OS provided ones stopped working and switched.
Meanwhile we also have an own compiler, so we are MS free future-proof. That doesn't mean we never will change (solutions with local web-servers seem favourite nowadays), but at least we have a choice.
Our software is both distributed locally to the clients and served from a network share. We opted for generating both a CHM file and a set of HTML files for serving from the network. Users starting the program locally use the CHM file, and users getting their program served from a network share has to use the HTML files.
We use Help and Manual and can thus easily produce both types of output from the same source project. The HTML files also contain searching capabilities and doesn't require a web server, so though it isn't an optimal solution, works fine.
So far all the single-file types for Windows seems broken in one way or another:
WinHelp - obsoleted
HtmlHelp (CHM) - obsoleted on Vista, doesn't work from network share, other than that works really nice
Microsoft Help 2 (HXS) - this seems to work right up until the point when it doesn't, corrupted indexes or similar, this is used by Visual Studio 2005 and above, as an example
If you don't want to use an installer and you don't want the user to perform any extra steps to allow CHM files over the network, why not fall back to WinHelp? Vista does not include WinHlp32.exe out of the box, but it is freely available as a download for both Vista and Server 2008.
It depends on how import the online documentation is to your product, a good documentation infrastructure can be complex to establish but once done it pays off. Here is how we do it -
Help source DITA compilant XML, stored in SCC (ClearCase).
Help editing XMetal
Help compilation, customized Open DITA Toolkit, with custom Perl/Java preprocessing
Help source cross references applications resources at compile time, .RC files etc
Help deliverables from single source, PDF, CHM, Eclipse Help, HTML.
Single source repository produces help for multiple products 10+ with thousands of shared topics.
From what you describe I would look at Eclipse Help, its not simple to integrate into .NET or MFC applications, you basically have to do the help mapping to resolve the request to a URL then fire the URL to Eclipse Help wrapper or a browser.
Is the question how to generate your own help files, or what is the best help file format?
Personally, I find CHM to be excellent. One of the first things I do when setting up a machine is to download the PHP Manual in CHM format (http://www.php.net/download-docs.php) and add a hotkey to it in Crimson Editor. So when I press F1 it loads the CHM and performs a search for the word my cursor is on (great for quick function reference).
If you are doing "just extract and run", you are going to run in security issues. This is especially true if you are users are running Vista (or later). is there a reason why you wanted to avoid packaging your applications inside an installer? Using an installer would alleviate the "external source" problem. You would be able to use .chm files without any problems.
We use InstallAware to create our install packages. It's not cheap, but is very good. If cost is your concern, WIX is open source and pretty robust. WIX does have a learning curve, but it's easy to work with.
PDF has the disadvantage of requiring the Adobe Reader
I use Foxit Reader on Windows at home and at work. A lot smaller and very quick to open. Very handy when you are wondering what exactly a80000326.pdf is and why it is clogging up your documents folder.
I think the solution we're going to end up going with for our application is hosting the help files ourselves. This gives us immediate access to the files and the ability to keep them up to date.
What I plan is to have the content loaded into a huge series of XML files, each one containing help for a specific item. This XML would contain links to other XML files. We would use XSLT to display the contents as necessary.
Depending on the licensing, we may build a client-specific XSLT file in order to tailor the look and feel to what they need. We may need to be able to only show help for particular versions of our product as well and that can be done by filtering out stuff in the XSLT.
I use a commercial package called AuthorIT that can generate a number of different formats, such as chm, html, pdf, word, windows help, xml, xhtml, and some others I have never heard of (does dita ring a bell?).
It is a content management system oriented towards the needs of technical documentation writers.
The advantage is that you can use and re-use the same content to build a set of guides, and then generate them in different formats.
So the bottom line relative to the question of choosing chm or html or whatever is that if you are using this you are not locked into a given format, but you can provide several among which the user can choose, and you can even add more formats as you go along, at no extra cost.
If you just have one guide to create it won't be worth your while, but if you have a documentation set to manage then it is the best to my knowledge. Their support is very helpful also.

Resources