Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8853569
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T13:41:08+00:00 2026-06-14T13:41:08+00:00

Our company has a client/server product which we want to give the client out

  • 0

Our company has a client/server product which we want to give the client out to customers to try out, against a test server with dummy data where all users default to a single dummy account.

To summarize the product, in a real world situation the server would be deployed on the customer’s hosting environment, and the client app would be given out to the customer’s own users. The client app uses SOAP web services to communicate with the server and we use mercurial for version control of both client and server codebases.

My interests as a developer are preserving maintainability of both codebases. I also believe the behavior of the client should be identical whether it receives dummy or live data. I need to be able to push bugfixes from the live back into the demo system. However I need the demo version to have specific behavior (for example, using a dummy account on the server that is populated with dummy data).

In order to try to reconcile these interests have branched the server codebase with hardcoded settings to show only dummy data and to force all logins to use the dummy account. The demo server is deployed to the cloud. We then have a client that is configured in the installer to point to this cloud server instance, and this is available for download to prospective customers to try out.

I am not sure if this is the best approach. Some have suggested I should hardcode the demo functionality into the live server code, and have it configurable with a hidden flag – this would avoid the need for a branched codebase altogether.

The reasoning behind my approach is that adding hard-coded demo behavior in to the live codebase just for a single deployment seems to me like a code smell. The branched server allows us to continue developing the server platform on the “live” branch and pushing bug fixes into the “demo server” branch, and the web service contract and client codebase remain unchanged.

To me this seems like a good separation because the at a high level, I believe the behavior of the client should be identical regardless of whether it is receiving live or dummy data from the server.

My question is whether the wider dev community sees a problem with this approach or has a better strategy. Is my reasoning valid? What is best practice for managing the codebase for a demo system (with a dummy account/data) alongside a live system?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T13:41:09+00:00Added an answer on June 14, 2026 at 1:41 pm

    I unsderstand your point of view but branching will force you to merge branches to integrate changes in your demo.
    In my company we have several products using the same code base, a the beginning to save time we forked the codebases, but now we have trouble integrating evolutions and backporting evolutions in branches so instead we use compile time differenciation of the same code or runtime.
    So my advice (I m not the community 🙂 ) is to not branch

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Our company has a product which relies on local database to work (it allows
Our company has a web service which I want to send XML files (stored
Our company has a share point document server where the UNC looks something like
My company has a ClickOnce application that has been in use with our customers
In our company, a project begins it's life as a business development which has
My company has an Enterprise client/server application that runs on Android. I am adding
Our company has a product related to Human Resource Management developed in Asp.net and
My company's product will produce petabytes of data each year at our client sites.
our company has made a website for our client. The client hired a webs
Our company has recently been signed up with a franchise to provide their customers

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.