Elektrozoider
Member
- Joined
- Jun 4, 2015
- Messages
- 114
- Reaction score
- 10
Hi everybody
I decided to start trying to contribute writting own plugins (very simple plugins because I'm starting to investigate about DB mechanism) and I have many questions to ask.
Before asking, I will introduce myself:
I have many years of experience under .Net platform specifically under Vb.Net language on WinForms technology.
On the other side, my C# knowledges are not in the same level, however, I can handle it putting a little bit more of time and effort (in essence are just the same with different keywords...leaving aside the limitations of both).
This is the biggest project I developed (alone, not with a dev. team), which is written in Vb.Net: https://github.com/ElektroStudios/ElektroKit/tree/master/Solution/v1.5
This is the first (and incomplete) plugin I wrote to use in DB, which is very simple so maybe it cannot be baptized as "plugin", but hey, I don't have enough "plugin developing" info to do it better by the moment: https://www.thebuddyforum.com/demon...uses-bot-allow-move-freely-4.html#post2190336
I have around 30 year old, and I'm as sexy as a fackin' goblin puppet of a troll of Mordor ;-).
Well, these are my starter questions:
1. Why there is not an sticky post at the top of the Community Developer Forum to introduce new devs. with all the required tools, steps and explanations to understand how to start from scratch developing a plugin?.
I'm missing a very important article telling all that or just doesn't exists any post about this?.
2. I tried to join the developers group but honestlly I'm not sure what is the meaning and beneffit to be part of this group (it's the staff of DB?), my intention is just to have some kind of access to the required tools to develop and provide you all an own plugin (and/or try to improve an existing one and help other developers of DB), I expected that when trying to join, but sorry if I bothered someone.
3. A plugin need to be written in C#, or I could develop the classes and other members in Vb.Net too?, I don't know how DB handles that, I imagine that DB uses the CodeDomCompiler classes to compile the projects at runtime, then, it can handle Vb.Net projects/classes too (or in other words, it is implemented in DB the Microsoft.VisualBasic.VBCodeProvider class)?.
Anyways, I suppose that to develop a plugin as a last resource I could write the 90% of logic in .Net assemblies written in Vb.Net, then write simple wrappers in the required C# class to call the members of my referenced Vb.Net lib. I'm right?.
4. The user control to design a settings window of a plugin, could be a Win32 window (WinForms), or need to be a Window element written in Xaml technology?, I have much doubts about this, because I taken some 3rd party plugins to analyze, and I see xaml files that seems they have the purpose to represent a (WPF) window element, I'm not understanding this, because I can't find any article that explains to understand how to develop a (configurable) plugin for DB and why the (settings)Xaml files.
5. If I try to load a C# project file in Visual Studio of an already made plugin of other developer just to analyze it, then I have a lot of missing references (GreyMagic, ZetaDia, etc), and I'm not sure where to find out there some of them (I searched in GitHub and other source-control repositories with no luck), also, something that really worries me is about the damn settings Xaml files, the files have something like this:
6. Well, now here goes the most asked question of all times, but I need to ask it, because if I use the forum searcher to investigate about this, then I only can get portions of information, some other portions that are obsolete/deprecated, some portions that are incomprehensible or incomplete without further details (just partial info), and +100 answers of people that only knows to say things like "search on the forum, this question is asked a lot of times" (or in other words, search for a problem just to find answers saying "search for it", you get it?), that is the hard way to try start understanding, that way can't help anybody to start learning the "How To" part of "How to develop a DB plugin" (be comprehensible with me, thanks.):
How to start developing a plugin for DemonBuddy?. A detailed introduction to this question would be very appreciated, starting with where to get the required 3rd party assemblies/dependencies.
EDIT:
Also note that some of the required assemblies to develop a plugin can be found inside the DM directory subfolders, however, those libraries are shipped without any kind of Xml documentation files for .Net developers, so it's a nightmare to try imagine by my own the purpose of their members without any specific documentation/intellisense provided, then I hope these libraries are hosted in a source-control server like GitHub, with Xml docs.
Thanks for read!.
I decided to start trying to contribute writting own plugins (very simple plugins because I'm starting to investigate about DB mechanism) and I have many questions to ask.
Before asking, I will introduce myself:
I have many years of experience under .Net platform specifically under Vb.Net language on WinForms technology.
On the other side, my C# knowledges are not in the same level, however, I can handle it putting a little bit more of time and effort (in essence are just the same with different keywords...leaving aside the limitations of both).
This is the biggest project I developed (alone, not with a dev. team), which is written in Vb.Net: https://github.com/ElektroStudios/ElektroKit/tree/master/Solution/v1.5
This is the first (and incomplete) plugin I wrote to use in DB, which is very simple so maybe it cannot be baptized as "plugin", but hey, I don't have enough "plugin developing" info to do it better by the moment: https://www.thebuddyforum.com/demon...uses-bot-allow-move-freely-4.html#post2190336
I have around 30 year old, and I'm as sexy as a fackin' goblin puppet of a troll of Mordor ;-).
Well, these are my starter questions:
1. Why there is not an sticky post at the top of the Community Developer Forum to introduce new devs. with all the required tools, steps and explanations to understand how to start from scratch developing a plugin?.
I'm missing a very important article telling all that or just doesn't exists any post about this?.
2. I tried to join the developers group but honestlly I'm not sure what is the meaning and beneffit to be part of this group (it's the staff of DB?), my intention is just to have some kind of access to the required tools to develop and provide you all an own plugin (and/or try to improve an existing one and help other developers of DB), I expected that when trying to join, but sorry if I bothered someone.
3. A plugin need to be written in C#, or I could develop the classes and other members in Vb.Net too?, I don't know how DB handles that, I imagine that DB uses the CodeDomCompiler classes to compile the projects at runtime, then, it can handle Vb.Net projects/classes too (or in other words, it is implemented in DB the Microsoft.VisualBasic.VBCodeProvider class)?.
Anyways, I suppose that to develop a plugin as a last resource I could write the 90% of logic in .Net assemblies written in Vb.Net, then write simple wrappers in the required C# class to call the members of my referenced Vb.Net lib. I'm right?.
4. The user control to design a settings window of a plugin, could be a Win32 window (WinForms), or need to be a Window element written in Xaml technology?, I have much doubts about this, because I taken some 3rd party plugins to analyze, and I see xaml files that seems they have the purpose to represent a (WPF) window element, I'm not understanding this, because I can't find any article that explains to understand how to develop a (configurable) plugin for DB and why the (settings)Xaml files.
5. If I try to load a C# project file in Visual Studio of an already made plugin of other developer just to analyze it, then I have a lot of missing references (GreyMagic, ZetaDia, etc), and I'm not sure where to find out there some of them (I searched in GitHub and other source-control repositories with no luck), also, something that really worries me is about the damn settings Xaml files, the files have something like this:
But in my case, the UserControl type is not found in any of the assembly references of the loaded project (the same for all the other types like Grid, WrapPanel, StackPanel, CheckBox, etc), I'm worried because I suspect I should have those types in the native WPF .Net framework class libraries, I recentlly upgraded to Windows 10 and installed VS2015 and now I think WPF related assemblies are broken under the GAC, yes, seems that the VS designer can't renderize a Window element of a new/empty WPF project... so instead of trying to reinstall VS or repair the GAC and/or .Net runtimes, I really would like to know whether is totally required to mess with Xaml to design a settings window of a plugin for DB.<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
6. Well, now here goes the most asked question of all times, but I need to ask it, because if I use the forum searcher to investigate about this, then I only can get portions of information, some other portions that are obsolete/deprecated, some portions that are incomprehensible or incomplete without further details (just partial info), and +100 answers of people that only knows to say things like "search on the forum, this question is asked a lot of times" (or in other words, search for a problem just to find answers saying "search for it", you get it?), that is the hard way to try start understanding, that way can't help anybody to start learning the "How To" part of "How to develop a DB plugin" (be comprehensible with me, thanks.):
How to start developing a plugin for DemonBuddy?. A detailed introduction to this question would be very appreciated, starting with where to get the required 3rd party assemblies/dependencies.
EDIT:
Also note that some of the required assemblies to develop a plugin can be found inside the DM directory subfolders, however, those libraries are shipped without any kind of Xml documentation files for .Net developers, so it's a nightmare to try imagine by my own the purpose of their members without any specific documentation/intellisense provided, then I hope these libraries are hosted in a source-control server like GitHub, with Xml docs.
Thanks for read!.
Last edited: