seo - What are the best practices when shifting old legacy web applications to new ones (specially about broken links problem)?

Suppose you have an old legacy website, with an in-house php CMS.http://mysite.com/index.php?page=3&c=7Now, for some reason, you re-structured your website in Wordpress, with SEO friendly URL's, registered a Google Analytics account, and needs to update your system, so whenhttp://mysite.com/is set on the browser, now it points out to your new installed system.The problem is that your website is old and already well know by your clients. A lot of people have bookmarked a lot of links in your webpage, so just redirecting your domain for your ...Read more

What makes code legacy?

I have heard many developers refer to code as "legacy". Most of the time it is code that has been written by someone who no longer works on the project. What is it that makes code, legacy code?Update in response to:"Something handed down from an ancestor or a predecessor or from the past" http://www.thefreedictionary.com/legacy. Clearly you wanted to know something else. Could you clarify or expand your question? S.LottI am looking for the symptoms of legacy code that make it unusable or a nightmare to work with. When is it better to throw it a...Read more

How would you maintain legacy applications

How would you maintain the legacy applications that:Has no unit tests have big methodswith a lot of duplicated logic havehave No separation of concernhave a lot of quick hacks and hard codedstringshave Outdated and wrongdocumentationRequirements are not properly documented! This has actually resulted in disputes between the testers, developers and the clients in the past. Of course there are some non-functional requirements such as shouldn't be slow, don't clash and other business logics that are known to the application users. But beyond the m...Read more

Driving legacy interactive DOS application through scripts

I need to wrap an interactive DOS application with GUI. The DOS application does not accept any command line parameters. As such, all works have to be done interactively. The process to get a job done is as follow:1. Start the DOS application in DOS command prompt.2. A screen appears and we are asked to "Press any key to start"3. Pressing any key leads to "Menu 1" where we are presented with choices: [C] .. Create new file [L] .. Load existing file [Q] .. Quite Program4. Press 'L' will lead to another screen, that shows the default drive ...Read more

legacy - What's the best way to become familiar with a large codebase?

Joining an existing team with a large codebase already in place can be daunting. What's the best approach;Broad; try to get a general overview of how everything links together, from the codeNarrow; focus on small sections of code at a time, understanding how they work fullyPick a feature to develop and learn as you go alongTry to gain insight from class diagrams and uml, if available (and up to date)Something else entirely?I'm working on what is currently an approx 20k line C++ app & library (Edit: small in the grand scheme of things!). In ...Read more

legacy - Being pressured to GOTO the dark-side

We have a situation at work where developers working on a legacy (core) system are being pressured into using GOTO statements when adding new features into existing code that is already infected with spaghetti code.Now, I understand there may be arguments for using 'just one little GOTO' instead of spending the time on refactoring to a more maintainable solution. The issue is, this isolated 'just one little GOTO' isn't so isolated. At least once every week or so there is a new 'one little GOTO' to add. This codebase is already a horror to work ...Read more

How do you continue to develope large (long term) software systems with legacy and new code?

I work on a large code base with a large install base of users. The code was originally written in vb6 with a few c++ COM modules for low level work.It is completely infeasible to rewrite all of the code that is already written in vb6 and is being used by our customers every day, but we are also continuing to make improvements and customizations to the software (large and small).My solution so far is to write most of the new code in c# (winforms and even wpf now) and then use COM interop to call the modules from vb6.Does anyone out there have ...Read more

How do you start with FxCop on legacy code?

Does anyone have any experience of introducing FxCop to legacy code? We would like to have our build fail if anyone introduces code that violates rules. But for the time being, this is impossible, as the legacy code has over 9000 violations.The only way to suppress errors I know of is through the SuppressMessage attribute, but that only works on methods, and the GeneratedCodeAttribute. This last one could be used for classes and namespaces (if I recall correctly), but shouldn't be used for non-generated code (see here).Right now, we take some t...Read more

BigCommerce Legacy API Accounts bug

As of today (April 21st) I am having difficulties adding a Legacy API account to my BigCommerce store.The Legacy API account I created yesterday disappeared when I went to run my API call using Basic Authentication, and now when I'm trying to create a new Legacy API account it's creating a new Custom User instead of giving me the API key that I need. Since the new user's email is being created as {username}@{store-url}.bigcommerce.com instead of {username}@{store-alias}.com, I'm also not receiving any emails on behalf of this user.I'm shocked ...Read more

legacy - Dump all Raima db_VISTA Version 3.20 data to text

A friend has an old program that no longer works but he wants to recover the data. From the file's header I've found out that it's a legacy Raima db_VISTA Version 3.20 database.I've found this similar question How can I export data in a legacy DOS application when no export option is available?, but there's no answer that tell me how to dump the data to another format.I've tried contacting Raima, but the forums seams dead (My topic wasn't even posted by the moderator)Do you know a tool that can help me export the data?...Read more

legacy - what language was cybersyn/cyberstride implemented in?

I am aware that it was implemented on the IBM 360 mainframe architecture but does anyone know what language(s) were used in particular? Supposedly the bulk of it was programmed and deployed in 3-4 months - that is a pretty rapid turn-around for any project let alone one which had the capability to monitor an entire economy. I am partially thinking it may have been implemented in APL because of the IBM 360 connection and because it seems like it would lend itself well to the sort of abstractions required to rapidly develop such a system. Does an...Read more

legacy - One website, one domain, but two different technologies?

I need advice.I inherited a website that's been around a long time. The website gets a lot of organic traffic from Google. The business and website owner is upgrading the site to make the content more manageable. At the moment, a wordpress CMS powers half the site. Physical html pages make up the remainder of the site. Here's a summary:1) Guide section which consists of a php wordpress driven blog found at http://mysite.com/guide. Individual pages in the guide section have urls such as http://mysite.com/guide/4930-hello-world or http://m...Read more

facebook oauth - Legacy Connect Auth stopped working

I'm working with an application that was built and integrated to Facebook using the legacy connect auth:https://www.facebook.com/login.php?api_key={appkeyhere}Starting sometime the week of Oct 22, 2012, existing users who login to the app using the above URL get redirected to https://www.facebook.com/login.php?login_attempt=1 and have a blank white screen. New users signing up to the app for the first time get redirected back to the application site.I had the people who maintain the site check the deploy logs to see if there were breaking chang...Read more

Legacy code - when to move on

My team and support a large number of legacy applications all of which are currently functional but problematic to support and maintain. They all depend on code that the compiler manufacture has officially no support for. So the question is should we leave the code as is, and risk a new compiler breaking our code, or should we bite the bullet and update all the code?...Read more