Home Home Home
Options
 
 Newsletter
View our sponsorsClick here for a lightweight, fast, and flexible MFC Grid controlAdvertise on the CodeProject
Home Latest updates Submit your article About Us Advertise on the Code Project Contact us Discussion Forums
Navigation bar
Community
.NET
Controls
General
Libraries and Projects
Multimedia
Other Platforms
GUI
Internet
Miscellany
 
Submission Guidelines

New! You can now use the Article Submission Wizard to post your articles directly onto the site.

Introduction
Preparing Your Code
Submitting Your Code
The Article
The Zip File
Sourcecode Guide
Sample Project
Using Others Work
Code Posted Elsewhere
The Code Project Submission Template

Do you have some cool code you want to share?

Sharing code with others is a great way to not only help others, but also to become a better programmer. With many thousands of people downloading your code you will not only get a lot of positive feedback, but also bug fixes, free testing, and more often than not, suggestions on how to make the code even better. It also encourages others to share their code, which in turn gives you access to an even larger base of free source code.

If you post to CodeProject then you retain copyright of your article and code. You also give CodeProject permission to use it in a fair manner and also permit all developers to freely use the code in their own applications.

Note that we do not accept time limited or shareware contributions: All code that is available from our site must be available for use for free.

- top -

Preparing your code

If you have some great code, but do not make it easy for others to use it, then more often than not people will pass it by and not use it. We suggest:

  • Write a brief description of your code, including what it is, what it does, and how to use it in your projects (Download a template ASP file here, and read template instructions here)
  • Explain any tricky problems that you solved while developing the code. It makes great reading and helps others solve similar problems.
  • Comment your code
  • Include a small screen shot
  • Prepare a small app to demonstrate the code (only if appropriate)
- top -

Submitting your code

When submitting your code and article please check you have the following:

Package all this up into a single zip file and send it to submit@codeproject.com.

When emailing the article please state the title of the article in the subject line. Also if you think it neatly fits in one of the categories, please let us know.

- top -

The Article

First and foremost, we need some documentation. This doesn't have to be anything fancy, though we don't mind if it is, but if you think about answering the following questions then you should be off to a good start.

  • What does the code do?
  • How do I integrate it with my existing code or how do I use it?
  • If there is a similar article on CodeProject already, then how does this one differ? Why would someone want to use your version?
  • Is there some aspect of the code that is of particular interest that perhaps wants to be covered in the documentation and put on the web page?
  • Does the code work under Unicode? If not, is there a reason?
  • What version of MFC was this code built with?

The idea is to give the reader a clear of idea of the purpose of your code, instead of forcing them to download a project, build it and then hunt around to find out what the sample does.

The quickest way to get your code posted is to provide a simple HTML file. Our preferences on documentation are:

  1. A simple HTML or ASP file, edited by a plain text editor, using the template file provided,
  2. A plain ol' text file,
  3. Everything else.

Please try and avoid using MS Word to produce your HTML. Even plain text is better than this!

All the articles at CodeProject.com have the same look and feel which is achieved by only the most basic HTML features. If you send us a HTML file with different fonts and colors and fancy bits, chances are it will all be stripped out to make it conform to the CodeProject standard. All documentation is edited by hand, so it can be a real nightmare wading through masses of horrible HTML produced by such things as MS Word.

- top -

The Zip file

Please ensure that you zip all files up using maximum compression, and remove all unnecessary files (*.opt, *.ncb, *.obj, *.aps, *.plg, etc.) from the project folders. If possible, please keep submissions below 300Kb.

File naming convention: If your contribution comprises a HTML article, source code and an image, then to make life easy for us we ask that you follow the following filename conventions. Suppose your article is called coolcode.html. The filenames should be of the form:

coolcode.html The HTML documentation for your article
coolcode.zip The zipped source code for your article
coolcode.gif An image to accompany your article

Alternatively, if you have source code, a demo project and a number of images, then your filenames would be along the lines of:

coolcode.html The HTML documentation for your article
coolcode_src.zip The zipped source code for your article
coolcode_demo.zip The zipped demo project for your article
coolcode1.gif An image to accompany your article
coolcode2.gif A second image to accompany your article

BTW, don't use the name coolcode, try to find something more relevant :-)

- top -

Sourcecode Guidelines

First and foremost, does the code actually work? We do sometimes get code that, for one reason or another, just does not work. Please check that the source code you send compiles cleanly, and if part of a larger demo application, that the application itself runs OK.

We do ask that the general MFC guidelines be adhered to so that other programmers can understand your code easily. Conventions that help other programmers read your code are:

  • The use of Hungarian notation (e.g. Variable prefixes such as "n" for int, "d" for double etc.)
  • The "m_" prefix for member variables
  • The use of Win32/Visual C++ types such as UINT, LPCTSTR etc.

Also, does the code compile cleanly under the warning level 4?

- top -

Sample Project

Sample Executable: If providing a sample executable, please make sure it is linked with the release libraries (e.g. Make sure it is not linked with the Unicode or debug libraries). The whole point of a demo executable is to give developers a quick intro to your code. If they have to recompile in order to get the application to run on their system then there is no use in supplying the executable in the first place. Secondly try to conservative about just how big a sample you upload, a 4Mb sample just isn't going to interest a lot of people.

Sample Project:It is recommended that you also include a sample project. When creating a zip file for the sample project, please do not include either the Debug or the Release directories. They simply inflate the size of the ZIP file. Also, do not include the *.clw, *.ncb, *.opt and other such files that are automatically recreated.

- top -

Submitting an article based on another persons work

It is OK to use others code as a base as long as you make it totally clear that some/most of the code isn't yours. If you use someone else's code then DO NOT remove their copyright notices. There is a lot of code reuse here, that's the point after all.  As far as the articles that are being posted here we expect to see credit where credit's due, in the code and the HTML as appropriate.

If you are submitting a modification, extension or correction to another persons work then we ask that you attempt to contact the original author first and then try to liaise with him/her to produce an update to the original article.   This way we can retain continuity with the original article as well as reducing the number of completely new pages that need posting.

- top -

Submitting code already posted at another site

You are more than welcome to submit code that is already published at another site, provided you own the copyright on that article, and provided you have not given the other site exclusive rights to your article.

- top -

The Code Project Submission Template

The template zip file contains two templates for use when submitting articles to The Code Project. We recommend editing these files using DevStudio or some other text editor (Visual Interdev is excellent). All extraneous formatting will be removed.

You only need to fill in ONE of these files: If you are comfortable with editing ASP, then please use the .ASP template. If you wish to edit your articles in a way that allows you to preview the results, then use the .HTML template. The ASP template is better for us, but the HTML may be easier for you.

If you use the HTML template then it will not look like the final product - it has been formatted to allow the relevant information to be entered as quickly and easily as possible.

Using these templates will help us post your article sooner. We are using MS IIS and ASP pages on the server, allowing us to simplify the templates used to create the articles.

To fill in either of these templates, just follow the 3 easy steps below:

  1. Fill in the article description details
  2. Add links to your images and downloads
  3. Include the main article text

That's all there is to it! All formatting will be done by the ASP script engine.

- top -

View our sponsorsCodejock Software - Serious GUI CodeAdvertise on the CodeProject
last updated 5 Jul 2001
Advertise
Copyright © CodeProject, 1999-2001.
All Rights Reserved.