If you want to publish your open source software, there are generally three approaches to start:
The decission should be easy:
Despite of your choice, you can use the Wiki or Blog post to:
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.
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 your Blog, just use the link in your Dashboard.
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]]
Images can be directly attached to your post after you posted it. Sounds a bit strange, but you can only attach s.th. to the post after it exists.
So if you want to embed an image into your blog post, you have to follow the following steps:
Small Image:
[[img src="Layout_schem.png/thumb"]]
Full sized Image:
[[img src="Layout_schem.png"]]
Just use the file name of the image, or attach '/thumb' to get a smaller version of the image. The files can always be viewed by your users in full size by klicking on the attachment.
For us developers, it is often not easy to present our briliant ideas in a nice looking way. To make it a bit easier for you, we collected a few tips and tricks for an easy but nice looking presentation.
Drawing a hardware layout is already a difficult task. If you add some more attributes to the task, it becomes a tough job:
There is an open source tool, which enables everyone to create such neat sketches and layouts:
Fritzing
Fritzing already contains lots of parts in its default installation. But here are a few ressources, where you can find larger libraries of parts:
As most of us are no designers, we provide you some Logo Icons, which can be used freely. They are based on the famous "font-awesome" set of icons. But they are preprocessed, so that they can be directly used as a project logo.
You can find the icon set in this SVN repository
Some examples...
Building | Code-Branch | Code | User-Secret |
---|---|---|---|