5,696,038 members and growing! (15,762 online)
Email Password   helpLost your password?
Announcements




BullFrog Power
Search    
Advanced Search
Sitemap

Submission Guidelines



Contents


Submit article 

Submit your articles directly using the Article Submission Wizard. Please make sure you read the guidelines below.

Please also read A Guide To Writing Articles For Code Project by Marc Clifton.

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 The Code Project then you retain copyright of your article and code. You also give The Code Project permission to use it in a fair manner and also permit other developers to use the source code associated with your articles in their own applications as long as they do not remove your copyright notices or try and take credit for your work.

Note that we do not accept time limited, shareware contributions or binary-only contributions. All code that is available from our site must be available for use without registration or licence fees and without time restrictions, and all applications or binaries submitted must contain source code. CodeProject is a place to share source code, not applications or components.

All code sent to us must be usable without the need of any third party products, except if those third party components are completely free and non-commercial (for instance, FxCop, NUnit) or if the component or product is something that a developer on this site will already have (Crystal Reports that is included in Visual Studio, MySQL etc).

Also note that source code associated with an article that was written by the author must be provided with the article. External links to the most up-to-date version (or online demo) are fine, but we still require at least a workable version to be submitted with your article to be made available on CodeProject. The reason for this is that 9 times out of 10 links to external downloads break within months due to any number of unavoidable factors. Having a local copy on CodeProject means at least some code will still be available.

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 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)

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.

Updating Your Code

If you posted your article using the Article Submission Wizard, and it's still in the 'Unedited Reader Contributions' section then you can edit the article yourself by clicking on the 'Modify this article' link at the top right of the article.

If you sent the article in to us via email at submit@codeproject.com, or the article has been edited and moved out of the unedited section, then follow these instructions

Updating the downloads or images

This is easy: simply send an email to submit@codeproject.com with the name of the article and its URL in the email body, and attach the files to your message as a zip file (for downloads) or GIF/JPEG for images. Obviously the smaller the better!

Updating the article text

We reformat each article that is submitted, and try our best to ensure that all grammar and spelling mistakes have been corrected. It is far, far easier for us if you edit the HTML for your article that we have posted. Logon to CodeProject and at the top right of your article will be a link 'Get Article's HTML'. Click on this and then save the HTML for your article using the File | Save menu in your browser. Ignore the stuff at the top and bottom of your page - you will see "Article Starts" and "Article Ends" tags in the HTML that point to where the actual text for your article is. Strip out everything above and below these markers and edit the HTML directly

If you only have a very small addition to make, or want to report spelling/grammar or link errors then you can just send these in as plain text.

Send all updates to us and remember to include the name of the article and its URL in the email body.

Syntax colorization

You don't need to worry about colorizing your articles. We have a colorizer written by Nick Hodapp, Microsoft's C++ Product Manager which takes care of this for you. If your article already contains colorization then don't worry - the colorizer cleans out all previous colorizing before recolorizing the entire article.

Advanced Colorizer Tip: To specify a language besides the default C++ colorization, add a 'Lang' attribute in the <pre> or <code> tag. eg:

<pre lang= cs>...</pre>

The currently supported languages are:

  • C++ (lang=c++, or just leave blank)
  • C# (lang=cs)
  • VBScript (lang=vbscript)
  • VB.NET (lang=vbnet)
  • XML (lang=xml)
  • HTML (lang=html)
  • Javascript (lang=jscript)
  • Plain Text (lang=text)

Other languages can be added on request.

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 The Code Project 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 should be covered in the article?
  • Are there any particulat environments the code is restricted to? (Windows 2000 or above, .NET SP1 etc)

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 edited by a plain text editor or good HTML editor, using the template file provided,
  2. A plain ol' text file,
  3. Everything else.

All the articles at The Code Project 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 The Code Project standard. All documentation is edited by hand, so it can be a real nightmare wading through masses of convoluted HTML.

The Zip file

Please ensure that you zip all files up using maximum compression, and remove all unnecessary files (*.opt, *.ncb, *.obj, *.aps, *.plg, .suo 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 :-)

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 conventions be adhered for your language to so that other programmers can understand your code easily. Conventions that help other programmers read your code are:

  • The use of Hungarian notation in MFC (e.g. Variable prefixes such as "n" for int, "d" for double etc.)
  • The use of Win32/Visual C++ types such as UINT, LPCTSTR etc.
  • Camel case in .NET code

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

Sample Project

Sample Executable: If providing a sample executable, please make sure it is linked with the release libraries (ie. 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.

Submitting an article based on another person's 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.

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.

The Code Project Submission Template

The template zip file contains a HTML template for use when submitting articles to The Code Project. We recommend editing this file using Microsoft Expression Web, Dreamweaver or your favourite text editor. Note that all extraneous formatting (crazy colours, absolute positioning etc) will be removed in order to maintain a uniform appearance and help our readers.

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 the template 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.


Last Updated 30 Jun 2007
Web13 | Advertise | Privacy
Copyright © CodeProject, 1999-2008
All Rights Reserved. Terms of Use