You want to publish your open source software. There are generally two approaches to start:
The default should be to start a project, as you are the most flexible with that.
But if you just have some hacky code snippets, a prove of concept or just an experimental setup, a project might be too much. In those cases, just use the "Hacks Blog" to publish your stuff. You can:
To create a project you need to:
The login should be very streight forward, but what is a neighborood?
Neighborhoods can be seen like fix categories in which you create your project.
Technically they are special purpose projects which can also host documentation.
CODESYS Forge categorizes its projects into the following neighborhoods. Please take a look into the documentation of your choosen neighbourhood, to understand the rules which aply to it.
These are projects, realized with CODESYS. Some examples can be:
... or even industrial applications where the knowhow is lying more in the materials, physical parts or mechanics, and where the software is only a small part. Why shouldn't companies share such knowledge, which is far away from their main business?
CODESYS libraries are a special kind of a project, which can hold POUs, Visualizations, etc., which you want to share across various different applications and projects.
This neighbourhood consists of all kind of software, which enables CODESYS to access any kind of hardware or remote software stacks.
This neighbourhood should contain all kinds of tools on the host or the target, which are interacting with CODESYS or extending the functionality of CODESYS or one of its applications.
This is a public project, where everyone is welcome to post his little helper scripts and snippets. For this reason, the central element to maintain the code is not Git or SVN, but simply a blog.
CODESYS supports various open PLC platforms. This neighbourhood contains projects for all of those which are directly or indirectly supported. It's a place to collect hints, scripts, and documentation to operate those targets.
It's mainly a place to share valuable information about those targets.
Every project can be configured differently. As the mainainer of such a project it is up to you to decide which tools of CODESYS Forge you want to use. Each tool can be added multiple times to a project, with different names. This allows you for example to have one Wiki for your documentation, one as a replacement of a full website and one containg your releases.
By default multiple tools of the same type are grouped together. To avoid that, you have to:
We recommend to keep your project open by default. This way you make it easy for others to contribute.
To make it open, switch to the "Permissions" tab in tools and add "*authenticated" to the "Create" and "Edit" rights. This will allow every CODESYS Forge user to contribute to this project and this tool.
By default, you will be notified via E-Mail when s.o. contributes to your project.
Documentation might be the most important part of your project. It gives you the chance to explain your users what they can expect from your project and how it can be used.
The documentation is written in form of a Wiki, like it is best known from Wikipedia. You can insert as many of those wikis with different names as you want.
Before you start with your documentation you should have a look into projects of your neighbourhood. You might find plenty of good ideas there.
The following are hints for some good practices to document your project.
Your wiki will most likely grow and consist of different pages. It is generally a good idea to put some thoughts into the structure of your pages in advance.
A good practice is to do this in form of an own wiki page, which consists solely of links to the pages you planed. Maybe with an additional "table of content" of the current page.
* Installation
* [Install the package](InstallPackage)
* [Compile from source](InstallSource)
...
This page can for example be named IndexMain and be included in every other page which you start afterwards.
You can include a page like this:
[TOC]
[[include ref=IndexMain]]
Contributing to a project is not easy. You need to make yourself familar with the people behind the project, as well as the
To make it easier for your users to understand your rules, and for you to explain them, we collected a few process desciptions which might apply to you. You can link them on your own Contribution wiki page with the following link:
[General rules for contribution](forge:documentation:Contribution)
Please check the Terms of Service for more informations about the legal aspects of sharing code.
You can freely choose a license under which your project is published. While encourage you to choose the MIT or Apache license, as those are giving your users the most rights.
If some special constraints apply to your project, which are not covered by the general ToS, please add a documentation page for your users to clarify this.
Please check the documentation regarding Souce Code Management. There you'll find a detailed description of your options.
You can add as many code repositories to your project as you like and also name them as you like.
CODESYS Forge is featuring a minimalistic bug tracking system. Please check the documentation for a description of the ticket system.
To publish s.th. in the Hacks Blog, just visit the following link and create a new post:
To embed a video, you have to upload it to youtube first. The youtube link can then be embedded into your blog post.
E.g.:
...
I managed to get an amazon echo connected to my BBQ smoker. Check this out to see it in action:
[[embed url=http://www.youtube.com/watch?v=XYZ]]